data-sort
Version:
Data engine is small data management lib for some sort and filter.
85 lines (64 loc) • 1.77 kB
Markdown
# SORT
Sort engine for array of object, this sort will not work with plain array.
Sort has some criterias like `primary key`, `default direction`, `custom sort function`.
This criteria can be changed in runtime. All criteria are optional, but can significantly change how sort will look like.
# Installation
```
npm install --save data-sort
```
# Example Usage
```javascript
var Filter = require('data-sort');
```
## Example data
```javascript
const a = [
{
'column1': 1,
'column2': false,
'column3': 'test',
}, {
'column1': 2,
'column2': true,
'column3': 'test2',
}
]
```
## Constructor
Creating new Sort
```javascript
const sort = new Sort({ data: [] });
const sort2 = new Sort({ primaryKey: 'Primary key'});
const sort3 = new Sort({ sortFunction: (a, b) => (a > b? 1 : -1)});
const sort3 = new Sort({ direction: true});
```
## Data
```javascript
// Setter
sort.Data = [];
sort.setData([], false);
// Getter
const sortedData = sort.Data;
const sortedData = sort.getData();
```
## Sorting
```javascript
// Sorting by collumn name
const sorted = sort.sortBy('Column name');
// Calling this function again with same argument will cause revere
const reversed = sort.sortBy('Column name');
```
## Custom sort function
```javascript
// Setting your own comparing function
sort.SortFunction = (a, b) => (a > b? 1: -1);
// Setting default sort
sort.setDefaultSort();
```
## Primary key
```javascript
// Setting primary - fallback key
sort.PrimaryKey = 'column name';
// Removing primary key
sort.removePrimaryKey();
```