Advance Tables

Falcon uses List.Js for advance table. List.Js is a Tiny, invisible and simple, yet powerful and incredibly fast vanilla JavaScript library that adds search, sort, filters and flexibility to plain HTML lists, tables, or anything.

Documentation for List.js
Table Example
Name Email Age
Anna 18
Homer 35
Oscar 52
Emily 30
Jara 25
Clark 39
Jennifer 52
Tony 30
Tom 25
Michael 39
Antony 39
Raymond 52
Marie 30
Cohen 25
Rowen 39
<div id="tableExample" data-list='{"valueNames":["name","email","age"],"page":5,"pagination":true}'>
  <div class="table-responsive scrollbar">
    <table class="table table-bordered table-striped fs--1 mb-0">
      <thead class="bg-200 text-900">
        <tr>
          <th class="sort" data-sort="name">Name</th>
          <th class="sort" data-sort="email">Email</th>
          <th class="sort" data-sort="age">Age</th>
        </tr>
      </thead>
      <tbody class="list">
        <tr>
          <td class="name">Anna</td>
          <td class="email">anna@example.com</td>
          <td class="age">18</td>
        </tr>
        <tr>
          <td class="name">Homer</td>
          <td class="email">homer@example.com</td>
          <td class="age">35</td>
        </tr>
        <tr>
          <td class="name">Oscar</td>
          <td class="email">oscar@example.com</td>
          <td class="age">52</td>
        </tr>
        <tr>
          <td class="name">Emily</td>
          <td class="email">emily@example.com</td>
          <td class="age">30</td>
        </tr>
        <tr>
          <td class="name">Jara</td>
          <td class="email">jara@example.com</td>
          <td class="age">25</td>
        </tr>
        <tr>
          <td class="name">Clark</td>
          <td class="email">clark@example.com</td>
          <td class="age">39</td>
        </tr>
        <tr>
          <td class="name">Jennifer</td>
          <td class="email">jennifer@example.com</td>
          <td class="age">52</td>
        </tr>
        <tr>
          <td class="name">Tony</td>
          <td class="email">tony@example.com</td>
          <td class="age">30</td>
        </tr>
        <tr>
          <td class="name">Tom</td>
          <td class="email">tom@example.com</td>
          <td class="age">25</td>
        </tr>
        <tr>
          <td class="name">Michael</td>
          <td class="email">michael@example.com</td>
          <td class="age">39</td>
        </tr>
        <tr>
          <td class="name">Antony</td>
          <td class="email">antony@example.com</td>
          <td class="age">39</td>
        </tr>
        <tr>
          <td class="name">Raymond</td>
          <td class="email">raymond@example.com</td>
          <td class="age">52</td>
        </tr>
        <tr>
          <td class="name">Marie</td>
          <td class="email">marie@example.com</td>
          <td class="age">30</td>
        </tr>
        <tr>
          <td class="name">Cohen</td>
          <td class="email">cohen@example.com</td>
          <td class="age">25</td>
        </tr>
        <tr>
          <td class="name">Rowen</td>
          <td class="email">rowen@example.com</td>
          <td class="age">39</td>
        </tr>
      </tbody>
    </table>
  </div>
  <div class="row align-items-center mt-3">
    <div class="pagination d-none"></div>
    <div class="col">
      <p class="mb-0 fs--1">
        <span class="d-none d-sm-inline-block" data-list-info="data-list-info"></span>
        <span class="d-none d-sm-inline-block"> &mdash;</span>
        <a class="fw-semi-bold" href="#!" data-list-view="*">View all<span class="fas fa-angle-right ms-1" data-fa-transform="down-1"></span></a><a class="fw-semi-bold d-none" href="#!" data-list-view="less">View Less<span class="fas fa-angle-right ms-1" data-fa-transform="down-1"></span></a>
      </p>
    </div>
    <div class="col-auto d-flex">
      <button class="btn btn-sm btn-primary" type="button" data-list-pagination="prev"><span>Previous</span></button>
      <button class="btn btn-sm btn-primary px-4 ms-2" type="button" data-list-pagination="next"><span>Next</span></button>
    </div>
  </div>
</div>
Pagination with numbering

Add pagination class for enable number pagination. The following structure will enable number pagination with next and previous button.

Name Email Age
Anna 18
Homer 35
Oscar 52
Emily 30
Jara 25
Clark 39
Jennifer 52
Tony 30
Tom 25
Michael 39
Antony 39
Raymond 52
Marie 30
Cohen 25
Rowen 39
    <div id="tableExample2" data-list='{"valueNames":["name","email","age"],"page":5,"pagination":true}'>
      <div class="table-responsive scrollbar">
        <table class="table table-bordered table-striped fs--1 mb-0">
          <thead class="bg-200 text-900">
            <tr>
              <th class="sort" data-sort="name">Name</th>
              <th class="sort" data-sort="email">Email</th>
              <th class="sort" data-sort="age">Age</th>
            </tr>
          </thead>
          <tbody class="list">
            <tr>
              <td class="name">Anna</td>
              <td class="email">anna@example.com</td>
              <td class="age">18</td>
            </tr>
            <tr>
              <td class="name">Homer</td>
              <td class="email">homer@example.com</td>
              <td class="age">35</td>
            </tr>
            <tr>
              <td class="name">Oscar</td>
              <td class="email">oscar@example.com</td>
              <td class="age">52</td>
            </tr>
            <tr>
              <td class="name">Emily</td>
              <td class="email">emily@example.com</td>
              <td class="age">30</td>
            </tr>
            <tr>
              <td class="name">Jara</td>
              <td class="email">jara@example.com</td>
              <td class="age">25</td>
            </tr>
            <tr>
              <td class="name">Clark</td>
              <td class="email">clark@example.com</td>
              <td class="age">39</td>
            </tr>
            <tr>
              <td class="name">Jennifer</td>
              <td class="email">jennifer@example.com</td>
              <td class="age">52</td>
            </tr>
            <tr>
              <td class="name">Tony</td>
              <td class="email">tony@example.com</td>
              <td class="age">30</td>
            </tr>
            <tr>
              <td class="name">Tom</td>
              <td class="email">tom@example.com</td>
              <td class="age">25</td>
            </tr>
            <tr>
              <td class="name">Michael</td>
              <td class="email">michael@example.com</td>
              <td class="age">39</td>
            </tr>
            <tr>
              <td class="name">Antony</td>
              <td class="email">antony@example.com</td>
              <td class="age">39</td>
            </tr>
            <tr>
              <td class="name">Raymond</td>
              <td class="email">raymond@example.com</td>
              <td class="age">52</td>
            </tr>
            <tr>
              <td class="name">Marie</td>
              <td class="email">marie@example.com</td>
              <td class="age">30</td>
            </tr>
            <tr>
              <td class="name">Cohen</td>
              <td class="email">cohen@example.com</td>
              <td class="age">25</td>
            </tr>
            <tr>
              <td class="name">Rowen</td>
              <td class="email">rowen@example.com</td>
              <td class="age">39</td>
            </tr>
          </tbody>
        </table>
      </div>
      <div class="d-flex justify-content-center mt-3">
        <button class="btn btn-sm btn-falcon-default me-1" type="button" title="Previous" data-list-pagination="prev"><span class="fas fa-chevron-left"></span></button>
        <ul class="pagination mb-0"></ul>
        <button class="btn btn-sm btn-falcon-default ms-1" type="button" title="Next" data-list-pagination="next"><span class="fas fa-chevron-right"></span></button>
      </div>
    </div>
    Search Example

    Add search class for enable data searching. The following structure will enable search feature.

    Name Email Age
    Anna 18
    Homer 35
    Oscar 52
    Emily 30
    Jara 25
    Clark 39
    Jennifer 52
    Tony 30
    Tom 25
    Michael 39
    Antony 39
    Raymond 52
    Marie 30
    Cohen 25
    Rowen 39
      <div id="tableExample3" data-list='{"valueNames":["name","email","age"],"page":5,"pagination":true}'>
        <div class="row justify-content-end g-0">
          <div class="col-auto col-sm-5 mb-3">
            <form>
              <div class="input-group">
                <input class="form-control form-control-sm shadow-none search" type="search" placeholder="Search..." aria-label="search" />
                <div class="input-group-text bg-transparent"><span class="fa fa-search fs--1 text-600"></span></div>
              </div>
            </form>
          </div>
        </div>
        <div class="table-responsive scrollbar">
          <table class="table table-bordered table-striped fs--1 mb-0">
            <thead class="bg-200 text-900">
              <tr>
                <th class="sort" data-sort="name">Name</th>
                <th class="sort" data-sort="email">Email</th>
                <th class="sort" data-sort="age">Age</th>
              </tr>
            </thead>
            <tbody class="list">
              <tr>
                <td class="name">Anna</td>
                <td class="email">anna@example.com</td>
                <td class="age">18</td>
              </tr>
              <tr>
                <td class="name">Homer</td>
                <td class="email">homer@example.com</td>
                <td class="age">35</td>
              </tr>
              <tr>
                <td class="name">Oscar</td>
                <td class="email">oscar@example.com</td>
                <td class="age">52</td>
              </tr>
              <tr>
                <td class="name">Emily</td>
                <td class="email">emily@example.com</td>
                <td class="age">30</td>
              </tr>
              <tr>
                <td class="name">Jara</td>
                <td class="email">jara@example.com</td>
                <td class="age">25</td>
              </tr>
              <tr>
                <td class="name">Clark</td>
                <td class="email">clark@example.com</td>
                <td class="age">39</td>
              </tr>
              <tr>
                <td class="name">Jennifer</td>
                <td class="email">jennifer@example.com</td>
                <td class="age">52</td>
              </tr>
              <tr>
                <td class="name">Tony</td>
                <td class="email">tony@example.com</td>
                <td class="age">30</td>
              </tr>
              <tr>
                <td class="name">Tom</td>
                <td class="email">tom@example.com</td>
                <td class="age">25</td>
              </tr>
              <tr>
                <td class="name">Michael</td>
                <td class="email">michael@example.com</td>
                <td class="age">39</td>
              </tr>
              <tr>
                <td class="name">Antony</td>
                <td class="email">antony@example.com</td>
                <td class="age">39</td>
              </tr>
              <tr>
                <td class="name">Raymond</td>
                <td class="email">raymond@example.com</td>
                <td class="age">52</td>
              </tr>
              <tr>
                <td class="name">Marie</td>
                <td class="email">marie@example.com</td>
                <td class="age">30</td>
              </tr>
              <tr>
                <td class="name">Cohen</td>
                <td class="email">cohen@example.com</td>
                <td class="age">25</td>
              </tr>
              <tr>
                <td class="name">Rowen</td>
                <td class="email">rowen@example.com</td>
                <td class="age">39</td>
              </tr>
            </tbody>
          </table>
        </div>
        <div class="d-flex justify-content-center mt-3">
          <button class="btn btn-sm btn-falcon-default me-1" type="button" title="Previous" data-list-pagination="prev"><span class="fas fa-chevron-left"></span></button>
          <ul class="pagination mb-0"></ul>
          <button class="btn btn-sm btn-falcon-default ms-1" type="button" title="Next" data-list-pagination="next"><span class="fas fa-chevron-right"> </span></button>
        </div>
      </div>
      Filter Example
      Customer Email Payment
      Sylvia Plath Success
      Homer Pending
      Edgar Allan Poe Blocked
      William Butler Yeats Success
      Rabindranath Tagore Pending
      Emily Dickinson Blocked
      Giovanni Boccaccio Pending
      Oscar Wilde Success
      John Doe Success
      Emma Watson Pending
      <div id="tableExample4" data-list='{"valueNames":["name","email","payment"],"filter":{"key":"payment"}}'>
        <div class="row justify-content-end g-0">
          <div class="col-auto px-3">
            <select class="form-select form-select-sm mb-3" aria-label="Bulk actions" data-list-filter="data-list-filter">
              <option selected="" value="">Select payment status</option>
              <option value="Pending">Pending</option>
              <option value="Success">Success</option>
              <option value="Blocked">Blocked</option>
            </select>
          </div>
        </div>
        <div class="table-responsive scrollbar">
          <table class="table table-sm table-striped fs--1 mb-0 overflow-hidden">
            <thead class="bg-200 text-900">
              <tr>
                <th class="sort pe-1 align-middle white-space-nowrap" data-sort="name">Customer</th>
                <th class="sort pe-1 align-middle white-space-nowrap" data-sort="email">Email</th>
                <th class="sort align-middle white-space-nowrap text-end pe-4" data-sort="payment">Payment</th>
              </tr>
            </thead>
            <tbody class="list" id="table-purchase-body">
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Sylvia Plath</a></th>
                <td class="align-middle white-space-nowrap email">john@gmail.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-success">Success<span class="ms-1 fas fa-check" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Homer</a></th>
                <td class="align-middle white-space-nowrap email">sylvia@mail.ru</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-warning">Pending<span class="ms-1 fas fa-stream" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Edgar Allan Poe</a></th>
                <td class="align-middle white-space-nowrap email">edgar@yahoo.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-secondary">Blocked<span class="ms-1 fas fa-ban" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">William Butler Yeats</a></th>
                <td class="align-middle white-space-nowrap email">william@gmail.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-success">Success<span class="ms-1 fas fa-check" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Rabindranath Tagore</a></th>
                <td class="align-middle white-space-nowrap email">tagore@twitter.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-warning">Pending<span class="ms-1 fas fa-stream" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Emily Dickinson</a></th>
                <td class="align-middle white-space-nowrap email">emily@gmail.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-secondary">Blocked<span class="ms-1 fas fa-ban" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Giovanni Boccaccio</a></th>
                <td class="align-middle white-space-nowrap email">giovanni@outlook.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-warning">Pending<span class="ms-1 fas fa-stream" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Oscar Wilde</a></th>
                <td class="align-middle white-space-nowrap email">oscar@hotmail.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-success">Success<span class="ms-1 fas fa-check" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">John Doe</a></th>
                <td class="align-middle white-space-nowrap email">doe@gmail.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-success">Success<span class="ms-1 fas fa-check" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
              <tr class="btn-reveal-trigger">
                <th class="align-middle white-space-nowrap name"><a href="../../app/e-commerce/customer-details.html">Emma Watson</a></th>
                <td class="align-middle white-space-nowrap email">emma@gmail.com</td>
                <td class="align-middle text-end fs-0 white-space-nowrap payment"><span class="badge badge rounded-pill badge-soft-warning">Pending<span class="ms-1 fas fa-stream" data-fa-transform="shrink-2"></span></span>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      Docs

      Integrate List in Falcon by following these easy steps:

      • Set unique ID and adddata-listattribute to the wrapper element and list your column invalueNamesproperty.
        <div id="tableExample" data-list='{"valueNames":["name","email","age"]}'>
        
          <!-- Your list content will go here-->
        </div>
      • To enable sorting in your column, adddata-sortattribute and assign column name to the attribute.
        <th class="sort" data-sort="name">Customer</th>
      • Addlistclass to the content wrapper element.
        <tbody class="list">
        
          <!-- Your value will go here-->
        </tbody>
      • Then wrap your value with column name as a class. For example, if your column name isnamethen the value will be look like this:
        <td class="name">John Doe</td>
      • To add pagination add.paginationclass inside your wrapper element
      • To enable button pagination adddata-list-pagination='prev'anddata-list-pagination='next'to the "Prev" and "Next" buttons respectively.
      • To enable search feature add search class in input tag.
      • To see the list info, add data-list-info attribute to a DOM element inside your wrapper element.
      Javascript
      <script src="vendors/list.js/list.min.js"></script>

      Thank you for creating with Falcon |
      2022 © Themewagon

      v3.14.0

      Settings

      Set your own customized style

      Color Scheme

      Choose the perfect color mode for your app.


      RTL Mode

      Switch your language direction

      RTL Documentation

      Fluid Layout

      Toggle container layout system

      Fluid Documentation

      Navigation Position

      Select a suitable navigation system for your web application


      Vertical Navbar Style

      Switch between styles for your vertical navbar

      See Documentation

      Like What You See?

      Get Falcon now and create beautiful dashboards with hundreds of widgets.

      Purchase
      customize