Plugins
List
Tiny, invisible and simple, yet powerful and incredibly fast vanilla JavaScript that adds search, sort, filters and flexibility to plain HTML lists, tables, or anything.
Requirements
<script src="js/vendor/list.js"></script>
Example
Javascript
var existingHtmlList = new List('existingHtmlList', {valueNames: ['name', 'position']});
Html
<div class="card">
<div class="card-body mb-n2" id="existingHtmlList">
<!-- class="search" automagically makes the input a search field. -->
<div class="search-input-container border border-separator rounded-md bg-foreground mb-4">
<input class="form-control search" type="text" autocomplete="off" placeholder="Search" />
<span class="search-magnifier-icon">
<i data-acorn-icon="search"></i>
</span>
</div>
<!-- Child elements of container with class="list" becomes list items -->
<div class="list">
<div class="row g-0 sh-6 mb-2">
<div class="col-auto">
<img src="img/profile/profile-1.webp" class="card-img rounded-xl sh-6 sw-6" alt="thumb" />
</div>
<div class="col">
<div class="card-body d-flex flex-row pt-0 pb-0 ps-3 pe-0 h-100 align-items-center justify-content-between">
<div class="d-flex flex-column">
<!-- class="name" and class="position" provides the data -->
<div class="name">Blaine Cottrell</div>
<div class="text-small text-muted position">Project Manager</div>
</div>
<div class="d-flex">
<button type="button" class="btn btn-outline-primary btn-sm ms-1">Follow</button>
</div>
</div>
</div>
</div>
<div class="row g-0 sh-6 mb-2">
<div class="col-auto">
<img src="img/profile/profile-2.webp" class="card-img rounded-xl sh-6 sw-6" alt="thumb" />
</div>
<div class="col">
<div class="card-body d-flex flex-row pt-0 pb-0 ps-3 pe-0 h-100 align-items-center justify-content-between">
<div class="d-flex flex-column">
<div class="name">Cherish Kerr</div>
<div class="text-small text-muted position">Development Lead</div>
</div>
<div class="d-flex">
<button type="button" class="btn btn-outline-primary btn-sm ms-1">Follow</button>
</div>
</div>
</div>
</div>
<div class="row g-0 sh-6 mb-2">
<div class="col-auto">
<img src="img/profile/profile-3.webp" class="card-img rounded-xl sh-6 sw-6" alt="thumb" />
</div>
<div class="col">
<div class="card-body d-flex flex-row pt-0 pb-0 ps-3 pe-0 h-100 align-items-center justify-content-between">
<div class="d-flex flex-column">
<div class="name">Kirby Peters</div>
<div class="text-small text-muted position">Accounting</div>
</div>
<div class="d-flex">
<button type="button" class="btn btn-outline-primary btn-sm ms-1">Follow</button>
</div>
</div>
</div>
</div>
<div class="row g-0 sh-6 mb-2">
<div class="col-auto">
<img src="img/profile/profile-4.webp" class="card-img rounded-xl sh-6 sw-6" alt="thumb" />
</div>
<div class="col">
<div class="card-body d-flex flex-row pt-0 pb-0 ps-3 pe-0 h-100 align-items-center justify-content-between">
<div class="d-flex flex-column">
<div class="name">Olli Hawkins</div>
<div class="text-small text-muted position">Client Relations Lead</div>
</div>
<div class="d-flex">
<button type="button" class="btn btn-outline-primary btn-sm ms-1">Follow</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
More Examples
You may find more examples in
Interface.Plugins.List.html
file which is initialized by js/plugins/list.js.