react-finderjs v0.1.6
react-finderjs
React componet wrapper for https://mynameistechno.github.io/finderjs/ javascript component
Installation
npm install --save react-finderjsUsage
import * as ReactFinder from "react-finderjs";
const data = [
{
id: 1,
label: 'Label A'
children: [
{
id: 10,
label: 'Label A1'
},
{
id: 11,
label: 'Label A2'
}
]
}, {
id: 2,
label: 'Label B'
}
];
<ReactFinder
className = ""
data = {data} />| Parameter | Type | Description |
|---|---|---|
| className | string | Custom class name for the wrapping div |
| createItemContent | Function | Define how each item is rendered. Parameters (config, item). The first parameter passed in is the config object and the second is the item object that is currently being iterated on. It should return an HTML Element. |
| data | Array | Data source is a array of objects |
| disableAutoScroll | Boolean | Disable automatically scrolling to newly created column on parent click (default: false) |
| onItemSelected | Function | Callback function when item selected. Parameters: (item, domItem) |
| onLeafSelected | Function | Callback function when leaf node selected. Parameters: (item) |
| onColumnCreated | Function | Callback function when column is created. Parameters: (domColumn) |
| value | Object | Currently selected value. The id property is required for data lookup. |
Data
Each item in the array itself should be an object. Each object that doesn't contain a children property is considered a leaf node. When a leaf node is selected, the onLeafSelected event will be emitted. When present, the value of the children property should be an array. When a node has children and it is selected, it will use the children to populate the next column.
Notes
If an object has a url property it will be treated slightly differently: the anchor tag that wraps the item will have the href attribute assigned to it. Upon selection of this item the browser will be redirected to the provided URL.
Events
react-finderjs has a few events you can provide callbacks for, as well as some public methods to trigger events in the native finderjs library:
| Property Callback | Description |
|---|---|
onItemSelected | An item was selected (clicked or keyboard arrow) |
onLeafSelected | A leaf node was selected |
onColumnCreated | A column was appended to the container |
| Public Event | Description |
|---|---|
createColumn | Append a column to the container |
navigate | Navigate the finder by going up, down, right, or left |
Project commands
| Command | Description |
|---|---|
npm run build | Build /dist finderjs |
npm run clean | Deletes /dist folder for build |
npm run publish | Run clean & build commands |
npm run test | Run test (not completed) |
npm run watch | Run watch for file changes |