react-native-tree-multi-select 1.3.3 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/lib/commonjs/TreeView.js +5 -3
- package/lib/commonjs/TreeView.js.map +1 -1
- package/lib/module/TreeView.js +5 -3
- package/lib/module/TreeView.js.map +1 -1
- package/lib/typescript/TreeView.d.ts.map +1 -1
- package/lib/typescript/types/treeView.types.d.ts +1 -1
- package/lib/typescript/types/treeView.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TreeView.tsx +5 -3
- package/src/types/treeView.types.ts +1 -1
package/README.md
CHANGED
|
@@ -57,8 +57,11 @@ export function TreeViewUsageExample(){
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
// Callback functions for check and expand state changes:
|
|
60
|
-
const handleSelectionChange = (
|
|
61
|
-
|
|
60
|
+
const handleSelectionChange = (
|
|
61
|
+
_checkedIds: string[],
|
|
62
|
+
_indeterminateIds: string[]
|
|
63
|
+
) => {
|
|
64
|
+
// NOTE: Handle _checkedIds and _indeterminateIds here
|
|
62
65
|
};
|
|
63
66
|
const handleExpanded = (expandedIds: string[]) => {
|
|
64
67
|
// NOTE: Do something with updated expandedIds here
|
|
@@ -103,7 +106,7 @@ export function TreeViewUsageExample(){
|
|
|
103
106
|
| Property | Type | Required | Description |
|
|
104
107
|
| ---------------------------------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
|
|
105
108
|
| `data` | [TreeNode](#treenode) | Yes | An array of `TreeNode` objects |
|
|
106
|
-
| `onCheck` | `(checkedIds: string[]) => void`
|
|
109
|
+
| `onCheck` | `(checkedIds: string[], indeterminateIds: string[]) => void` | No | Callback when a checkbox state changes |
|
|
107
110
|
| `onExpand` | `(expandedIds: string[]) => void` | No | Callback when a node is expanded |
|
|
108
111
|
| `preselectedIds` | `string[]` | No | An array of `id`s that should be pre-selected |
|
|
109
112
|
| `preExpandedIds` | `string[]` | No | An array of `id`s that should be pre-expanded |
|
|
@@ -115,6 +118,8 @@ export function TreeViewUsageExample(){
|
|
|
115
118
|
| `ExpandCollapseTouchableComponent` | `ComponentType<`[TouchableOpacityProps](https://reactnative.dev/docs/touchableopacity#props)`>` | No | A custom expand/collapse touchable component |
|
|
116
119
|
| `CustomNodeRowComponent` | `React.ComponentType<`[NodeRowProps](#noderowprops)`>` | No | Custom row item component |
|
|
117
120
|
|
|
121
|
+
ℹ️ `data` prop is not stateful! You will need to update the `key` prop to force `TreeView` to re-render.
|
|
122
|
+
|
|
118
123
|
ℹ️ If `CustomNodeRowComponent` is provided then below props are not applied:
|
|
119
124
|
|
|
120
125
|
1. `indentationMultiplier`
|
package/lib/commonjs/TreeView.js
CHANGED
|
@@ -36,6 +36,7 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
36
36
|
updateSearchText,
|
|
37
37
|
updateSearchKeys,
|
|
38
38
|
checked,
|
|
39
|
+
indeterminate,
|
|
39
40
|
cleanUpTreeViewStore
|
|
40
41
|
} = (0, _treeView.useTreeViewStore)((0, _shallow.useShallow)(state => ({
|
|
41
42
|
expanded: state.expanded,
|
|
@@ -46,6 +47,7 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
46
47
|
updateSearchText: state.updateSearchText,
|
|
47
48
|
updateSearchKeys: state.updateSearchKeys,
|
|
48
49
|
checked: state.checked,
|
|
50
|
+
indeterminate: state.indeterminate,
|
|
49
51
|
cleanUpTreeViewStore: state.cleanUpTreeViewStore
|
|
50
52
|
})));
|
|
51
53
|
_react.default.useImperativeHandle(ref, () => ({
|
|
@@ -91,10 +93,10 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
91
93
|
}
|
|
92
94
|
}, []);
|
|
93
95
|
_react.default.useEffect(() => {
|
|
94
|
-
onCheck
|
|
95
|
-
}, [onCheck, checked]);
|
|
96
|
+
onCheck === null || onCheck === void 0 || onCheck(Array.from(checked), Array.from(indeterminate));
|
|
97
|
+
}, [onCheck, checked, indeterminate]);
|
|
96
98
|
_react.default.useEffect(() => {
|
|
97
|
-
onExpand
|
|
99
|
+
onExpand === null || onExpand === void 0 || onExpand(Array.from(expanded));
|
|
98
100
|
}, [onExpand, expanded]);
|
|
99
101
|
_react.default.useEffect(() => {
|
|
100
102
|
if (searchText) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_NodeList","_helpers","_treeView","_usePreviousState","_shallow","obj","__esModule","default","_TreeView","React","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","cleanUpTreeViewStore","useTreeViewStore","useShallow","state","useImperativeHandle","selectAll","unselectAll","selectAllFiltered","unselectAllFiltered","expandAll","collapseAll","expandNodes","collapseNodes","selectNodes","unselectNodes","setSearchText","prevSearchText","usePreviousState","useEffect","initializeNodeMaps","toggleCheckboxes","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","InteractionManager","runAfterInteractions","Set","createElement","TreeView","exports","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAYA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAAmD,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnD,MAAMG,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAChC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;IACJC,IAAI;IAEJC,OAAO;IACPC,QAAQ;IAERC,cAAc,GAAG,EAAE;IAEnBC,cAAc,GAAG,EAAE;IAEnBC,kBAAkB;IAClBC,sBAAsB;IACtBC,qBAAqB;IAErBC,iBAAiB;IACjBC,2BAA2B;IAC3BC,gCAAgC;IAEhCC;EACF,CAAC,GAAGb,KAAK;EAET,MAAM;IACJc,QAAQ;IACRC,cAAc;IAEdC,mBAAmB;IACnBC,yBAAyB;IAEzBC,UAAU;IACVC,gBAAgB;IAEhBC,gBAAgB;IAEhBC,OAAO;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_NodeList","_helpers","_treeView","_usePreviousState","_shallow","obj","__esModule","default","_TreeView","React","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","indeterminate","cleanUpTreeViewStore","useTreeViewStore","useShallow","state","useImperativeHandle","selectAll","unselectAll","selectAllFiltered","unselectAllFiltered","expandAll","collapseAll","expandNodes","collapseNodes","selectNodes","unselectNodes","setSearchText","prevSearchText","usePreviousState","useEffect","initializeNodeMaps","toggleCheckboxes","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","InteractionManager","runAfterInteractions","Set","createElement","TreeView","exports","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/TreeView.js
CHANGED
|
@@ -29,6 +29,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
29
29
|
updateSearchText,
|
|
30
30
|
updateSearchKeys,
|
|
31
31
|
checked,
|
|
32
|
+
indeterminate,
|
|
32
33
|
cleanUpTreeViewStore
|
|
33
34
|
} = useTreeViewStore(useShallow(state => ({
|
|
34
35
|
expanded: state.expanded,
|
|
@@ -39,6 +40,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
39
40
|
updateSearchText: state.updateSearchText,
|
|
40
41
|
updateSearchKeys: state.updateSearchKeys,
|
|
41
42
|
checked: state.checked,
|
|
43
|
+
indeterminate: state.indeterminate,
|
|
42
44
|
cleanUpTreeViewStore: state.cleanUpTreeViewStore
|
|
43
45
|
})));
|
|
44
46
|
React.useImperativeHandle(ref, () => ({
|
|
@@ -84,10 +86,10 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
84
86
|
}
|
|
85
87
|
}, []);
|
|
86
88
|
React.useEffect(() => {
|
|
87
|
-
onCheck
|
|
88
|
-
}, [onCheck, checked]);
|
|
89
|
+
onCheck === null || onCheck === void 0 || onCheck(Array.from(checked), Array.from(indeterminate));
|
|
90
|
+
}, [onCheck, checked, indeterminate]);
|
|
89
91
|
React.useEffect(() => {
|
|
90
|
-
onExpand
|
|
92
|
+
onExpand === null || onExpand === void 0 || onExpand(Array.from(expanded));
|
|
91
93
|
}, [onExpand, expanded]);
|
|
92
94
|
React.useEffect(() => {
|
|
93
95
|
if (searchText) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","InteractionManager","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","toggleCheckboxes","expandNodes","collapseNodes","useTreeViewStore","usePreviousState","useShallow","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","cleanUpTreeViewStore","state","useImperativeHandle","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","createElement","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,kBAAkB,QAAQ,cAAc;AAMjD,OAAOC,QAAQ,MAAM,uBAAuB;AAC5C,SACEC,SAAS,EACTC,iBAAiB,EACjBC,WAAW,EACXC,mBAAmB,EACnBC,kBAAkB,EAClBC,SAAS,EACTC,WAAW,EACXC,gBAAgB,EAChBC,WAAW,EACXC,aAAa,QACR,WAAW;AAClB,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,OAAOC,gBAAgB,MAAM,0BAA0B;AACvD,SAASC,UAAU,QAAQ,uBAAuB;AAElD,MAAMC,SAAS,gBAAGhB,KAAK,CAACiB,UAAU,CAChC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;IACJC,IAAI;IAEJC,OAAO;IACPC,QAAQ;IAERC,cAAc,GAAG,EAAE;IAEnBC,cAAc,GAAG,EAAE;IAEnBC,kBAAkB;IAClBC,sBAAsB;IACtBC,qBAAqB;IAErBC,iBAAiB;IACjBC,2BAA2B;IAC3BC,gCAAgC;IAEhCC;EACF,CAAC,GAAGb,KAAK;EAET,MAAM;IACJc,QAAQ;IACRC,cAAc;IAEdC,mBAAmB;IACnBC,yBAAyB;IAEzBC,UAAU;IACVC,gBAAgB;IAEhBC,gBAAgB;IAEhBC,OAAO;
|
|
1
|
+
{"version":3,"names":["React","InteractionManager","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","toggleCheckboxes","expandNodes","collapseNodes","useTreeViewStore","usePreviousState","useShallow","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","indeterminate","cleanUpTreeViewStore","state","useImperativeHandle","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","createElement","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAyLhC,eAAO,MAAM,QAAQ,8GAAwB,CAAC"}
|
|
@@ -41,7 +41,7 @@ export interface NodeListProps extends TreeItemCustomizations {
|
|
|
41
41
|
}
|
|
42
42
|
export interface TreeViewProps extends NodeListProps {
|
|
43
43
|
data: TreeNode[];
|
|
44
|
-
onCheck?: (checkedIds: string[]) => void;
|
|
44
|
+
onCheck?: (checkedIds: string[], indeterminateIds: string[]) => void;
|
|
45
45
|
onExpand?: (expandedIds: string[]) => void;
|
|
46
46
|
preselectedIds?: string[];
|
|
47
47
|
preExpandedIds?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../src/types/treeView.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,SAAS,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACH,KAAK,KAAK,IAAI,2BAA2B,EAC5C,MAAM,4DAA4D,CAAC;AAEpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,eAAe,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,CAC7C,cAAc,CAAC,KAAK,CAAC,EACrB,MAAM,GACJ,YAAY,CACjB,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IAEd,YAAY,EAAE,iBAAiB,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IAEpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACnC,sBAAsB,CAAC,EAAE,6BAA6B,CAAC;IAEvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3D,2BAA2B,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACnE,gCAAgC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAE9E,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,SAAU,SAAQ,sBAAsB;IACrD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,sBAAsB;IACzD,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;CAC1C;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEjB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../src/types/treeView.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tree-multi-select",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Super-fast Tree view with multi-selection capabilities, using checkboxes and search filtering.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
package/src/TreeView.tsx
CHANGED
|
@@ -58,6 +58,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
58
58
|
updateSearchKeys,
|
|
59
59
|
|
|
60
60
|
checked,
|
|
61
|
+
indeterminate,
|
|
61
62
|
|
|
62
63
|
cleanUpTreeViewStore,
|
|
63
64
|
} = useTreeViewStore(useShallow(
|
|
@@ -74,6 +75,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
74
75
|
updateSearchKeys: state.updateSearchKeys,
|
|
75
76
|
|
|
76
77
|
checked: state.checked,
|
|
78
|
+
indeterminate: state.indeterminate,
|
|
77
79
|
|
|
78
80
|
cleanUpTreeViewStore: state.cleanUpTreeViewStore,
|
|
79
81
|
})
|
|
@@ -135,11 +137,11 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
135
137
|
}, []);
|
|
136
138
|
|
|
137
139
|
React.useEffect(() => {
|
|
138
|
-
onCheck
|
|
139
|
-
}, [onCheck, checked]);
|
|
140
|
+
onCheck?.(Array.from(checked), Array.from(indeterminate));
|
|
141
|
+
}, [onCheck, checked, indeterminate]);
|
|
140
142
|
|
|
141
143
|
React.useEffect(() => {
|
|
142
|
-
onExpand
|
|
144
|
+
onExpand?.(Array.from(expanded));
|
|
143
145
|
}, [onExpand, expanded]);
|
|
144
146
|
|
|
145
147
|
React.useEffect(() => {
|
|
@@ -68,7 +68,7 @@ export interface NodeListProps extends TreeItemCustomizations {
|
|
|
68
68
|
export interface TreeViewProps extends NodeListProps {
|
|
69
69
|
data: TreeNode[];
|
|
70
70
|
|
|
71
|
-
onCheck?: (checkedIds: string[]) => void;
|
|
71
|
+
onCheck?: (checkedIds: string[], indeterminateIds: string[]) => void;
|
|
72
72
|
onExpand?: (expandedIds: string[]) => void;
|
|
73
73
|
|
|
74
74
|
preselectedIds?: string[];
|