forked from dowjones/react-dropdown-tree-select
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
84 lines (76 loc) · 3.01 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import React, { PureComponent } from 'react'
import Checkbox from './Checkbox'
import DropdownTreeSelect from '../../../../src'
import './index.css'
import data from './data.json'
class WithOptions extends PureComponent {
constructor(props) {
super(props)
this.state = {
clearSearchOnChange: false,
keepTreeOnSearch: false,
simpleSelect: false,
showPartiallySelected: false,
disabled: false,
readOnly: false,
hierarchical: false,
enableKeyboardNavigation: false
}
}
onChange = (curNode, selectedNodes) => {
console.log('onChange::', curNode, selectedNodes)
}
onAction = ({ action, id }) => {
console.log(`onAction:: [${action}]`, id)
}
onNodeToggle = curNode => {
console.log('onNodeToggle::', curNode)
}
onOptionsChange = value => {
this.setState({ [value]: !this.state[value] })
}
render() {
const { clearSearchOnChange, keepTreeOnSearch, simpleSelect, showPartiallySelected,
disabled, readOnly, hierarchical, enableKeyboardNavigation } = this.state
return (
<div>
<h1>Options playground</h1>
<p>Toggle different options to see its effect on the dropdown.</p>
<div
style={{
border: '1px solid #ccc',
borderRadius: '4px',
marginBottom: '20px',
padding: 10
}}
>
<Checkbox label="Clear search on selection" value="clearSearchOnChange" checked={clearSearchOnChange} onChange={this.onOptionsChange} />
<Checkbox label="Keep tree on search" value="keepTreeOnSearch" checked={keepTreeOnSearch} onChange={this.onOptionsChange} />
<Checkbox label="Simple Select" value="simpleSelect" checked={simpleSelect} onChange={this.onOptionsChange} />
<Checkbox label="Show Partially Selected" value="showPartiallySelected" checked={showPartiallySelected} onChange={this.onOptionsChange} />
<Checkbox label="Disabled" value="disabled" checked={disabled} onChange={this.onOptionsChange} />
<Checkbox label="Read Only" value="readOnly" checked={readOnly} onChange={this.onOptionsChange} />
<Checkbox label="Hierarchical" value="hierarchical" checked={hierarchical} onChange={this.onOptionsChange} />
<Checkbox label="Enable keyboard navigation" value="enableKeyboardNavigation" checked={enableKeyboardNavigation} onChange={this.onOptionsChange} />
</div>
<div>
<DropdownTreeSelect
data={data}
onChange={this.onChange}
onAction={this.onAction}
onNodeToggle={this.onNodeToggle}
clearSearchOnChange={clearSearchOnChange}
keepTreeOnSearch={keepTreeOnSearch}
simpleSelect={simpleSelect}
showPartiallySelected={showPartiallySelected}
disabled={disabled}
readOnly={readOnly}
hierarchical={hierarchical}
enableKeyboardNavigation={enableKeyboardNavigation}
/>
</div>
</div>
)
}
}
export default WithOptions