https://github.com/shy2850/node-picker
unlimited-deepth node picker
https://github.com/shy2850/node-picker
autocomplete preact schools selectors
Last synced: 22 days ago
JSON representation
unlimited-deepth node picker
- Host: GitHub
- URL: https://github.com/shy2850/node-picker
- Owner: shy2850
- License: apache-2.0
- Created: 2018-05-11T09:27:21.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-15T11:59:36.000Z (about 8 years ago)
- Last Synced: 2025-08-31T10:29:57.294Z (9 months ago)
- Topics: autocomplete, preact, schools, selectors
- Language: JavaScript
- Homepage: https://shy2850.github.io/node-picker/
- Size: 284 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-picker
unlimited-deepth node picker
based on [preact](https://preactjs.com/)
see demos [https://shy2850.github.io/node-picker/](https://shy2850.github.io/node-picker/)
## useage
$ npm i node-picker
``` tsx
import { render, h } from 'preact'
import NodePicker, { PNode } from "node-picker"
const tree: PNode[]
const app = document.getElementById('app')
render(, app)
```
## interface
``` ts
import { Component } from 'preact';
export interface PNode {
id: number;
name: string;
children?: PNode[];
}
export interface NodePickerProps {
name?: string;
placeholder?: string;
title?: string;
tree: PNode[];
isLastParent?: {
(node: PNode): boolean;
};
onChange?: {
(node: PNode): void;
};
}
export interface NodePickerState {
paths?: number[];
node?: PNode;
active: boolean;
keywords?: string;
}
export default class extends Component {
isLastParent: (node: PNode) => boolean;
init: (paths?: any[]) => void;
componentWillReceiveProps(nextProps: any): void;
state: NodePickerState;
constructor(props: NodePickerProps);
changeParent: (target: any, deepth: any) => void;
toggleActive: () => void;
onChange: (node: PNode) => void;
changeKeywords: (e: any) => void;
render(): JSX.Element;
}
```