UNPKG

data-filter

Version:

Data engine is small data management lib for some sort and filter.

100 lines (71 loc) 2.09 kB
# FILTER Filter engine for array of objects. Filter will not work with plain array. # Installation ``` npm install --save data-filter ``` # Example Usage ```javascript import Filter, { Sort, FilterValue } from 'data-engine'; var Filter = require('data-filter'); ``` ## Example data ```javascript const a = [ { 'column1': 1, 'column2': false, 'column3': 'test', }, { 'column1': 2, 'column2': true, 'column3': 'test2', } ] ``` ## Constructor Creating new Filter instance ```javascript const filter = new Filter({ data: [] }); const filter2 = new Filter({ sortEngine: new Sort() }); ``` ## Data ```javascript // Setter filter.Data = []; filter.setData([]); filter.Data = undefined; // Will set data to empty array // Getter const originalData = sort.Data; const filteredData = sort.FilteredData; const filteredData = sort.getFilteredData(); ``` ## Adding filter value You can add or create new filterValue, it is possible to add multiple FilterValues and once with update function. ```javascript const filtered = filter.addFilter(name, value, type); const filtered = filter.update(filterValue1, filterValue2, ...); ``` ## Removing filter value You can remove filter by its name or you can pass filterValue instance ```javascript const filtered = filter.removeFilters('Name of filter', filterValue); const filtered = filter.removeFilters('Name of filter'); ``` ## Clear filters ```javascript const filtered = filter.clearFilters(); ``` ## Getting filter ```javascript const filter = filter.getFilter('Name of filter'); ``` ## Sort engine It is possible to pass sort engine object to filter, this will always return filtered and sorted data by criteria added to filter and sort. ```javascript filter.SortEngine = new Sort(); const sortEngine = filter.SortEngine; // See: sort-engine filter.SortEngine.sortBy('name') ```