What is this?
List.js is a JavaScript library that adds search, sort, filters, and pagination to existing HTML lists and tables without requiring a rebuild of your markup.
Is it a framework or a lightweight library?
It's a small, dependency-free library meant to be invisible and layered on top of HTML you already have, not a framework that dictates your markup.
How do I add it to a project?
Install it via NPM, Bower, CDNJS, or download the compressed/uncompressed list.js file directly and drop it into your page.
Do I need any other libraries to use it?
No, List.js has no dependencies; the project itself only depends on string-natural-compare internally for sorting.
Does it work on any list or table element?
It works on lists, tables, and 'almost anything else,' as long as you use its simple templating system to mark up items for add/edit/remove operations.
Which browsers does it support?
It supports Chrome, Safari, Firefox, and IE9 and above.
What can I search or filter with List.js?
It supports regular search, fuzzy search, filtering by range, searching in a specific column, and showing a custom message when results are empty.
Can I add or remove items dynamically?
Yes, its templating system lets you add, edit, and remove items from the list at runtime, as shown in its 'Add, get, remove' demo.
Does it support pagination?
Yes, pagination is one of its core features, demonstrated in the official examples.
What are similar projects?
flowy, flatpickr, bootstrap-table, Sortable, masonry, qrcodejs, medium-editor, not-paid
Which topics is it in?
pagination, sort, fuzzy-search, vanilla-javascript, no-dependencies, search, javascript-library, html, ui, npm, frontend, library
