react-native-tree-multi-select 1.5.0 → 1.6.0-beta.1
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/lib/commonjs/TreeView.js +22 -17
- package/lib/commonjs/TreeView.js.map +1 -1
- package/lib/commonjs/components/NodeList.js +10 -7
- package/lib/commonjs/components/NodeList.js.map +1 -1
- package/lib/commonjs/constants/tests.constants.js +8 -0
- package/lib/commonjs/constants/tests.constants.js.map +1 -0
- package/lib/commonjs/helpers/expandCollapse.helper.js +15 -10
- package/lib/commonjs/helpers/expandCollapse.helper.js.map +1 -1
- package/lib/commonjs/helpers/selectAll.helper.js +16 -12
- package/lib/commonjs/helpers/selectAll.helper.js.map +1 -1
- package/lib/commonjs/helpers/toggleCheckbox.helper.js +3 -2
- package/lib/commonjs/helpers/toggleCheckbox.helper.js.map +1 -1
- package/lib/commonjs/helpers/treeNode.helper.js +3 -2
- package/lib/commonjs/helpers/treeNode.helper.js.map +1 -1
- package/lib/commonjs/store/treeView.store.js +77 -65
- package/lib/commonjs/store/treeView.store.js.map +1 -1
- package/lib/module/TreeView.js +20 -17
- package/lib/module/TreeView.js.map +1 -1
- package/lib/module/components/NodeList.js +10 -7
- package/lib/module/components/NodeList.js.map +1 -1
- package/lib/module/constants/tests.constants.js +4 -0
- package/lib/module/constants/tests.constants.js.map +1 -0
- package/lib/module/helpers/expandCollapse.helper.js +16 -11
- package/lib/module/helpers/expandCollapse.helper.js.map +1 -1
- package/lib/module/helpers/selectAll.helper.js +17 -13
- package/lib/module/helpers/selectAll.helper.js.map +1 -1
- package/lib/module/helpers/toggleCheckbox.helper.js +4 -3
- package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
- package/lib/module/helpers/treeNode.helper.js +4 -3
- package/lib/module/helpers/treeNode.helper.js.map +1 -1
- package/lib/module/store/treeView.store.js +75 -64
- package/lib/module/store/treeView.store.js.map +1 -1
- package/lib/typescript/TreeView.d.ts.map +1 -1
- package/lib/typescript/components/NodeList.d.ts.map +1 -1
- package/lib/typescript/constants/tests.constants.d.ts +2 -0
- package/lib/typescript/constants/tests.constants.d.ts.map +1 -0
- package/lib/typescript/helpers/expandCollapse.helper.d.ts +5 -5
- package/lib/typescript/helpers/expandCollapse.helper.d.ts.map +1 -1
- package/lib/typescript/helpers/selectAll.helper.d.ts +4 -4
- package/lib/typescript/helpers/selectAll.helper.d.ts.map +1 -1
- package/lib/typescript/helpers/toggleCheckbox.helper.d.ts +1 -1
- package/lib/typescript/helpers/toggleCheckbox.helper.d.ts.map +1 -1
- package/lib/typescript/helpers/treeNode.helper.d.ts +1 -1
- package/lib/typescript/helpers/treeNode.helper.d.ts.map +1 -1
- package/lib/typescript/store/treeView.store.d.ts +3 -1
- package/lib/typescript/store/treeView.store.d.ts.map +1 -1
- package/lib/typescript/types/treeView.types.d.ts +3 -1
- package/lib/typescript/types/treeView.types.d.ts.map +1 -1
- package/package.json +14 -9
- package/src/TreeView.tsx +22 -17
- package/src/components/NodeList.tsx +13 -6
- package/src/constants/tests.constants.ts +1 -0
- package/src/helpers/expandCollapse.helper.ts +16 -11
- package/src/helpers/selectAll.helper.ts +17 -14
- package/src/helpers/toggleCheckbox.helper.ts +8 -3
- package/src/helpers/treeNode.helper.ts +4 -3
- package/src/store/treeView.store.ts +61 -46
- package/src/types/treeView.types.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getTreeViewStore","toggleCheckboxes","storeId","ids","forceCheck","treeViewStore","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","selectionPropagation","getState","toChildren","toParents","tempChecked","Set","tempIndeterminate","affectedNodes","nodeDepths","Map","forEach","id","node","get","isChecked","has","newCheckedState","undefined","add","delete","updateChildrenIteratively","nodesToUpdate","currentNodeId","parentNodeId","size","sortedNodes","Array","from","sort","a","b","getNodeDepth","nodeId","updateNodeState","rootId","childrenChecked","stack","length","pop","children","childNode","push","depth","set","allChildrenChecked","anyChildCheckedOrIndeterminate","child","isIndeterminate"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { getTreeViewStore } from "../store/treeView.store";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Initialize the maps for tracking tree nodes and their parent-child relationships.
|
|
@@ -11,11 +11,12 @@ import { useTreeViewStore } from "../store/treeView.store";
|
|
|
11
11
|
* @param initialData - An array of TreeNode objects that represent the initial tree structure.
|
|
12
12
|
* @param preselectedIds - An optional array of TreeNode IDs that should be preselected.
|
|
13
13
|
*/
|
|
14
|
-
export function initializeNodeMaps(initialData) {
|
|
14
|
+
export function initializeNodeMaps(storeId, initialData) {
|
|
15
|
+
const treeViewStore = getTreeViewStore(storeId);
|
|
15
16
|
const {
|
|
16
17
|
updateNodeMap,
|
|
17
18
|
updateChildToParentMap
|
|
18
|
-
} =
|
|
19
|
+
} = treeViewStore.getState();
|
|
19
20
|
const tempNodeMap = new Map();
|
|
20
21
|
;
|
|
21
22
|
const tempChildToParentMap = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getTreeViewStore","initializeNodeMaps","storeId","initialData","treeViewStore","updateNodeMap","updateChildToParentMap","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/treeNode.helper.ts"],"mappings":";;AACA,SACIA,gBAAgB,QACb,yBAAyB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,OAAe,EAAEC,WAAuB,EAAE;EACzE,MAAMC,aAAa,GAAGJ,gBAAgB,CAACE,OAAO,CAAC;EAC/C,MAAM;IACFG,aAAa;IACbC;EACJ,CAAC,GAAGF,aAAa,CAACG,QAAQ,CAAC,CAAC;EAE5B,MAAMC,WAAkC,GAAG,IAAIC,GAAG,CAAC,CAAC;EAAC;EACrD,MAAMC,oBAAyC,GAAG,IAAID,GAAG,CAAC,CAAC;EAAC;;EAE5D;AACJ;AACA;AACA;AACA;AACA;EACI,MAAME,YAAY,GAAGA,CACjBC,KAAiB,EACjBC,QAAuB,GAAG,IAAI,KAC7B;IACDD,KAAK,CAACE,OAAO,CAAEC,IAAI,IAAK;MACpB;MACAP,WAAW,CAACQ,GAAG,CAACD,IAAI,CAACE,EAAE,EAAEF,IAAI,CAAC;MAC9B;MACA,IAAIF,QAAQ,EAAEH,oBAAoB,CAACM,GAAG,CAACD,IAAI,CAACE,EAAE,EAAEJ,QAAQ,CAAC;MACzD;MACA,IAAIE,IAAI,CAACG,QAAQ,EAAEP,YAAY,CAACI,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACE,EAAE,CAAC;IAC3D,CAAC,CAAC;EACN,CAAC;;EAED;EACAN,YAAY,CAACR,WAAW,CAAC;EAEzBE,aAAa,CAACG,WAAW,CAAC;EAC1BF,sBAAsB,CAACI,oBAAoB,CAAC;AAChD","ignoreList":[]}
|
|
@@ -1,68 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { create } from 'zustand';
|
|
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
|
-
|
|
4
|
+
// Map to store individual tree view stores by id
|
|
5
|
+
const treeViewStores = new Map();
|
|
6
|
+
export function getTreeViewStore(id) {
|
|
7
|
+
if (!treeViewStores.has(id)) {
|
|
8
|
+
const store = create(set => ({
|
|
9
|
+
checked: new Set(),
|
|
10
|
+
updateChecked: checked => set({
|
|
11
|
+
checked
|
|
12
|
+
}),
|
|
13
|
+
indeterminate: new Set(),
|
|
14
|
+
updateIndeterminate: indeterminate => set({
|
|
15
|
+
indeterminate
|
|
16
|
+
}),
|
|
17
|
+
expanded: new Set(),
|
|
18
|
+
updateExpanded: expanded => set({
|
|
19
|
+
expanded
|
|
20
|
+
}),
|
|
21
|
+
initialTreeViewData: [],
|
|
22
|
+
updateInitialTreeViewData: initialTreeViewData => set({
|
|
23
|
+
initialTreeViewData
|
|
24
|
+
}),
|
|
25
|
+
nodeMap: new Map(),
|
|
26
|
+
updateNodeMap: nodeMap => set({
|
|
27
|
+
nodeMap
|
|
28
|
+
}),
|
|
29
|
+
childToParentMap: new Map(),
|
|
30
|
+
updateChildToParentMap: childToParentMap => set({
|
|
31
|
+
childToParentMap
|
|
32
|
+
}),
|
|
33
|
+
searchText: "",
|
|
34
|
+
updateSearchText: searchText => set({
|
|
35
|
+
searchText
|
|
36
|
+
}),
|
|
37
|
+
searchKeys: [""],
|
|
38
|
+
updateSearchKeys: searchKeys => set({
|
|
39
|
+
searchKeys
|
|
40
|
+
}),
|
|
41
|
+
innerMostChildrenIds: [],
|
|
42
|
+
updateInnerMostChildrenIds: innerMostChildrenIds => set({
|
|
43
|
+
innerMostChildrenIds
|
|
44
|
+
}),
|
|
45
|
+
selectionPropagation: {
|
|
46
|
+
toChildren: true,
|
|
47
|
+
toParents: true
|
|
48
|
+
},
|
|
49
|
+
setSelectionPropagation: selectionPropagation => set({
|
|
50
|
+
selectionPropagation: {
|
|
51
|
+
// Default selection propagation for parent and children to true if not specified
|
|
52
|
+
toChildren: selectionPropagation.toChildren ?? true,
|
|
53
|
+
toParents: selectionPropagation.toParents ?? true
|
|
54
|
+
}
|
|
55
|
+
}),
|
|
56
|
+
cleanUpTreeViewStore: () => set({
|
|
57
|
+
checked: new Set(),
|
|
58
|
+
indeterminate: new Set(),
|
|
59
|
+
expanded: new Set(),
|
|
60
|
+
initialTreeViewData: [],
|
|
61
|
+
nodeMap: new Map(),
|
|
62
|
+
childToParentMap: new Map(),
|
|
63
|
+
searchText: "",
|
|
64
|
+
searchKeys: [""],
|
|
65
|
+
innerMostChildrenIds: [],
|
|
66
|
+
selectionPropagation: {
|
|
67
|
+
toChildren: true,
|
|
68
|
+
toParents: true
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
}));
|
|
72
|
+
treeViewStores.set(id, store);
|
|
73
|
+
}
|
|
74
|
+
return treeViewStores.get(id);
|
|
75
|
+
}
|
|
76
|
+
export function useTreeViewStore(id) {
|
|
77
|
+
return getTreeViewStore(id);
|
|
78
|
+
}
|
|
68
79
|
//# sourceMappingURL=treeView.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","
|
|
1
|
+
{"version":3,"names":["create","treeViewStores","Map","getTreeViewStore","id","has","store","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","selectionPropagation","toChildren","toParents","setSelectionPropagation","cleanUpTreeViewStore","get","useTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":";;AACA,SAASA,MAAM,QAAiC,SAAS;AAgDzD;AACA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAiD,CAAC;AAEhF,OAAO,SAASC,gBAAgBA,CAACC,EAAU,EAA0C;EACjF,IAAI,CAACH,cAAc,CAACI,GAAG,CAACD,EAAE,CAAC,EAAE;IACzB,MAAME,KAAK,GAAGN,MAAM,CAAiBO,GAAG,KAAM;MAC1CC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;MAClBC,aAAa,EAAGF,OAAoB,IAAKD,GAAG,CAAC;QAAEC;MAAQ,CAAC,CAAC;MAEzDG,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;MACxBG,mBAAmB,EAAGD,aAA0B,IAAKJ,GAAG,CAAC;QAAEI;MAAc,CAAC,CAAC;MAE3EE,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;MAC3BK,cAAc,EAAGD,QAAqB,IAAKN,GAAG,CAAC;QAAEM;MAAS,CAAC,CAAC;MAE5DE,mBAAmB,EAAE,EAAE;MACvBC,yBAAyB,EAAGD,mBAA+B,IAAKR,GAAG,CAAC;QAChEQ;MACJ,CAAC,CAAC;MAEFE,OAAO,EAAE,IAAIf,GAAG,CAAmB,CAAC;MACpCgB,aAAa,EAAGD,OAA8B,IAAKV,GAAG,CAAC;QAAEU;MAAQ,CAAC,CAAC;MAEnEE,gBAAgB,EAAE,IAAIjB,GAAG,CAAiB,CAAC;MAC3CkB,sBAAsB,EAAGD,gBAAqC,IAAKZ,GAAG,CAAC;QACnEY;MACJ,CAAC,CAAC;MAEFE,UAAU,EAAE,EAAE;MACdC,gBAAgB,EAAGD,UAAkB,IAAKd,GAAG,CAAC;QAAEc;MAAW,CAAC,CAAC;MAE7DE,UAAU,EAAE,CAAC,EAAE,CAAC;MAChBC,gBAAgB,EAAGD,UAAoB,IAAKhB,GAAG,CAAC;QAAEgB;MAAW,CAAC,CAAC;MAE/DE,oBAAoB,EAAE,EAAE;MACxBC,0BAA0B,EAAGD,oBAA8B,IAAKlB,GAAG,CAAC;QAChEkB;MACJ,CAAC,CAAC;MAEFE,oBAAoB,EAAE;QAAEC,UAAU,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAK,CAAC;MAC3DC,uBAAuB,EAAGH,oBAAoB,IAAKpB,GAAG,CAAC;QACnDoB,oBAAoB,EAAE;UAClB;UACAC,UAAU,EAAED,oBAAoB,CAACC,UAAU,IAAI,IAAI;UACnDC,SAAS,EAAEF,oBAAoB,CAACE,SAAS,IAAI;QACjD;MACJ,CAAC,CAAC;MAEFE,oBAAoB,EAAEA,CAAA,KAClBxB,GAAG,CAAC;QACAC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;QAClBE,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;QACxBI,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;QAC3BM,mBAAmB,EAAE,EAAE;QACvBE,OAAO,EAAE,IAAIf,GAAG,CAAmB,CAAC;QACpCiB,gBAAgB,EAAE,IAAIjB,GAAG,CAAiB,CAAC;QAC3CmB,UAAU,EAAE,EAAE;QACdE,UAAU,EAAE,CAAC,EAAE,CAAC;QAChBE,oBAAoB,EAAE,EAAE;QACxBE,oBAAoB,EAAE;UAAEC,UAAU,EAAE,IAAI;UAAEC,SAAS,EAAE;QAAK;MAC9D,CAAC;IACT,CAAC,CAAC,CAAC;IAEH5B,cAAc,CAACM,GAAG,CAACH,EAAE,EAAEE,KAAK,CAAC;EACjC;EACA,OAAOL,cAAc,CAAC+B,GAAG,CAAC5B,EAAE,CAAC;AACjC;AAEA,OAAO,SAAS6B,gBAAgBA,CAAC7B,EAAU,EAAE;EACzC,OAAOD,gBAAgB,CAACC,EAAE,CAAC;AAC/B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAuMhC,eAAO,MAAM,QAAQ,8GAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAGR,aAAa,EAEhB,MAAM,yBAAyB,CAAC;AAejC,QAAA,MAAM,QAAQ,6CAAwB,CAAC;AACvC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAGR,aAAa,EAEhB,MAAM,yBAAyB,CAAC;AAejC,QAAA,MAAM,QAAQ,6CAAwB,CAAC;AACvC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,KAAK,EAAE,aAAa,qBA6FtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tests.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/tests.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,kBAAkB,CAAC"}
|
|
@@ -6,25 +6,25 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @param id - The ID of the tree node to toggle.
|
|
8
8
|
*/
|
|
9
|
-
export declare function handleToggleExpand(id: string): void;
|
|
9
|
+
export declare function handleToggleExpand(storeId: string, id: string): void;
|
|
10
10
|
/**
|
|
11
11
|
* Expand all nodes in the tree.
|
|
12
12
|
*/
|
|
13
|
-
export declare function expandAll(): void;
|
|
13
|
+
export declare function expandAll(storeId: string): void;
|
|
14
14
|
/**
|
|
15
15
|
* Collapse all nodes in the tree.
|
|
16
16
|
*/
|
|
17
|
-
export declare function collapseAll(): void;
|
|
17
|
+
export declare function collapseAll(storeId: string): void;
|
|
18
18
|
/**
|
|
19
19
|
* Expand tree nodes of given ids. If the id is of a child, it also expands
|
|
20
20
|
* its ancestors up to the root.
|
|
21
21
|
* @param ids - Ids of nodes to expand.
|
|
22
22
|
*/
|
|
23
|
-
export declare function expandNodes(ids: string[]): void;
|
|
23
|
+
export declare function expandNodes(storeId: string, ids: string[]): void;
|
|
24
24
|
/**
|
|
25
25
|
* Collapse tree nodes of given ids. If the id is of a parent, it also collapses
|
|
26
26
|
* its descendants.
|
|
27
27
|
* @param ids - Ids of nodes to collapse.
|
|
28
28
|
*/
|
|
29
|
-
export declare function collapseNodes(ids: string[]): void;
|
|
29
|
+
export declare function collapseNodes(storeId: string, ids: string[]): void;
|
|
30
30
|
//# sourceMappingURL=expandCollapse.helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAoC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAMxC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAK1C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAgBzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QA6B3D"}
|
|
@@ -4,25 +4,25 @@ import { TreeNode } from "../types/treeView.types";
|
|
|
4
4
|
*
|
|
5
5
|
* If there is no search text, then it selects all nodes; otherwise, it selects all visible nodes.
|
|
6
6
|
*/
|
|
7
|
-
export declare function selectAllFiltered(): void;
|
|
7
|
+
export declare function selectAllFiltered(storeId: string): void;
|
|
8
8
|
/**
|
|
9
9
|
* Unselects all nodes that are currently visible due to the applied filter.
|
|
10
10
|
*
|
|
11
11
|
* If there is no search text, then it unselects all nodes; otherwise, it unselects all visible nodes.
|
|
12
12
|
*/
|
|
13
|
-
export declare function unselectAllFiltered(): void;
|
|
13
|
+
export declare function unselectAllFiltered(storeId: string): void;
|
|
14
14
|
/**
|
|
15
15
|
* Selects all nodes in the tree.
|
|
16
16
|
*
|
|
17
17
|
* This function selects all nodes by adding all node ids to the checked set and clearing the indeterminate set.
|
|
18
18
|
*/
|
|
19
|
-
export declare function selectAll(): void;
|
|
19
|
+
export declare function selectAll(storeId: string): void;
|
|
20
20
|
/**
|
|
21
21
|
* Unselects all nodes in the tree.
|
|
22
22
|
*
|
|
23
23
|
* This function unselects all nodes by clearing both the checked and indeterminate sets.
|
|
24
24
|
*/
|
|
25
|
-
export declare function unselectAll(): void;
|
|
25
|
+
export declare function unselectAll(storeId: string): void;
|
|
26
26
|
/**
|
|
27
27
|
* Get the ids of the innermost children in the tree
|
|
28
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectAll.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/selectAll.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD;;;;GAIG;AACH,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"selectAll.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/selectAll.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,QAWhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,QAWlD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAcxC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAO1C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,iBAAiB,EAAE,QAAQ,EAAE,GAC9B,MAAM,EAAE,CAgBV"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* @param {boolean} [forceCheck] - Optional. If provided, will force the check state of the nodes to be this value.
|
|
6
6
|
* If not provided, the check state will be toggled based on the current state.
|
|
7
7
|
*/
|
|
8
|
-
export declare function toggleCheckboxes(ids: string[], forceCheck?: boolean): void;
|
|
8
|
+
export declare function toggleCheckboxes(storeId: string, ids: string[], forceCheck?: boolean): void;
|
|
9
9
|
//# sourceMappingURL=toggleCheckbox.helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggleCheckbox.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/toggleCheckbox.helper.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"toggleCheckbox.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/toggleCheckbox.helper.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EAAE,EACb,UAAU,CAAC,EAAE,OAAO,QA6LvB"}
|
|
@@ -8,5 +8,5 @@ import type { TreeNode } from "../types/treeView.types";
|
|
|
8
8
|
* @param initialData - An array of TreeNode objects that represent the initial tree structure.
|
|
9
9
|
* @param preselectedIds - An optional array of TreeNode IDs that should be preselected.
|
|
10
10
|
*/
|
|
11
|
-
export declare function initializeNodeMaps(initialData: TreeNode[]): void;
|
|
11
|
+
export declare function initializeNodeMaps(storeId: string, initialData: TreeNode[]): void;
|
|
12
12
|
//# sourceMappingURL=treeNode.helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeNode.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/treeNode.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"treeNode.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/treeNode.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAmC1E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SelectionPropagation, TreeNode } from "src/types/treeView.types";
|
|
2
|
+
import { StoreApi, UseBoundStore } from 'zustand';
|
|
2
3
|
export type TreeViewState = {
|
|
3
4
|
checked: Set<string>;
|
|
4
5
|
updateChecked: (checked: Set<string>) => void;
|
|
@@ -22,5 +23,6 @@ export type TreeViewState = {
|
|
|
22
23
|
setSelectionPropagation: (selectionPropagation: SelectionPropagation) => void;
|
|
23
24
|
cleanUpTreeViewStore: () => void;
|
|
24
25
|
};
|
|
25
|
-
export declare
|
|
26
|
+
export declare function getTreeViewStore(id: string): UseBoundStore<StoreApi<TreeViewState>>;
|
|
27
|
+
export declare function useTreeViewStore(id: string): UseBoundStore<StoreApi<TreeViewState>>;
|
|
26
28
|
//# sourceMappingURL=treeView.store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeView.store.d.ts","sourceRoot":"","sources":["../../../src/store/treeView.store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"treeView.store.d.ts","sourceRoot":"","sources":["../../../src/store/treeView.store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAU,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAExB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAG9C,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAG1D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAGhD,mBAAmB,EAAE,QAAQ,EAAE,CAAC;IAChC,yBAAyB,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAGrE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;IAGxD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAGxE,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAGjD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,0BAA0B,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAErE,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,uBAAuB,EAAE,CACrB,oBAAoB,EAAE,oBAAoB,KACzC,IAAI,CAAC;IAGV,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAKF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CA+DnF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,0CAE1C"}
|
|
@@ -34,11 +34,13 @@ export interface TreeItemCustomizations {
|
|
|
34
34
|
export interface NodeProps extends TreeItemCustomizations {
|
|
35
35
|
node: __FlattenedTreeNode__;
|
|
36
36
|
level: number;
|
|
37
|
+
storeId: string;
|
|
37
38
|
}
|
|
38
39
|
export interface NodeListProps extends TreeItemCustomizations {
|
|
39
40
|
treeFlashListProps?: TreeFlatListProps;
|
|
41
|
+
storeId: string;
|
|
40
42
|
}
|
|
41
|
-
export interface TreeViewProps extends NodeListProps {
|
|
43
|
+
export interface TreeViewProps extends Omit<NodeListProps, "storeId"> {
|
|
42
44
|
data: TreeNode[];
|
|
43
45
|
onCheck?: (checkedIds: string[], indeterminateIds: string[]) => void;
|
|
44
46
|
onExpand?: (expandedIds: string[]) => void;
|
|
@@ -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;
|
|
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,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tree-multi-select",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
5
|
-
"main": "lib/commonjs/index",
|
|
6
|
-
"module": "lib/module/index",
|
|
3
|
+
"version": "1.6.0-beta.1",
|
|
4
|
+
"description": "A super-fast, customizable tree view component for React Native with multi-selection, checkboxes, and search filtering capabilities.",
|
|
5
|
+
"main": "lib/commonjs/index.js",
|
|
6
|
+
"module": "lib/module/index.js",
|
|
7
7
|
"types": "lib/typescript/index.d.ts",
|
|
8
|
-
"react-native": "src/index",
|
|
9
|
-
"source": "src/index",
|
|
8
|
+
"react-native": "src/index.tsx",
|
|
9
|
+
"source": "src/index.tsx",
|
|
10
10
|
"files": [
|
|
11
11
|
"src",
|
|
12
12
|
"lib",
|
|
@@ -66,11 +66,15 @@
|
|
|
66
66
|
"expo",
|
|
67
67
|
"web"
|
|
68
68
|
],
|
|
69
|
-
"repository":
|
|
70
|
-
|
|
69
|
+
"repository": {
|
|
70
|
+
"type": "git",
|
|
71
|
+
"url": "https://github.com/JairajJangle/react-native-tree-multi-select.git"
|
|
72
|
+
},
|
|
73
|
+
"author": "Jairaj Jangle <reachout.jairaj.jangle@gmail.com> (https://github.com/JairajJangle)",
|
|
71
74
|
"license": "MIT",
|
|
72
75
|
"bugs": {
|
|
73
|
-
"url": "https://github.com/JairajJangle/react-native-tree-multi-select/issues"
|
|
76
|
+
"url": "https://github.com/JairajJangle/react-native-tree-multi-select/issues",
|
|
77
|
+
"email": "reachout.jairaj.jangle@gmail.com"
|
|
74
78
|
},
|
|
75
79
|
"homepage": "https://github.com/JairajJangle/react-native-tree-multi-select#readme",
|
|
76
80
|
"publishConfig": {
|
|
@@ -204,6 +208,7 @@
|
|
|
204
208
|
]
|
|
205
209
|
},
|
|
206
210
|
"dependencies": {
|
|
211
|
+
"react-native-uuid": "^2.0.3",
|
|
207
212
|
"zustand": "^4.5.5"
|
|
208
213
|
},
|
|
209
214
|
"funding": [
|
package/src/TreeView.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
2
|
import { InteractionManager } from 'react-native';
|
|
3
3
|
import type {
|
|
4
4
|
TreeNode,
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
import { useTreeViewStore } from './store/treeView.store';
|
|
22
22
|
import usePreviousState from './utils/usePreviousState';
|
|
23
23
|
import { useShallow } from "zustand/react/shallow";
|
|
24
|
+
import uuid from "react-native-uuid";
|
|
24
25
|
|
|
25
26
|
const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
26
27
|
(props, ref) => {
|
|
@@ -47,6 +48,8 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
47
48
|
CustomNodeRowComponent,
|
|
48
49
|
} = props;
|
|
49
50
|
|
|
51
|
+
const storeId = useMemo(() => uuid.v4(), []);
|
|
52
|
+
|
|
50
53
|
const {
|
|
51
54
|
expanded,
|
|
52
55
|
updateExpanded,
|
|
@@ -65,7 +68,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
65
68
|
setSelectionPropagation,
|
|
66
69
|
|
|
67
70
|
cleanUpTreeViewStore,
|
|
68
|
-
} = useTreeViewStore(useShallow(
|
|
71
|
+
} = useTreeViewStore(storeId)(useShallow(
|
|
69
72
|
state => ({
|
|
70
73
|
expanded: state.expanded,
|
|
71
74
|
updateExpanded: state.updateExpanded,
|
|
@@ -88,20 +91,20 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
88
91
|
));
|
|
89
92
|
|
|
90
93
|
React.useImperativeHandle(ref, () => ({
|
|
91
|
-
selectAll,
|
|
92
|
-
unselectAll,
|
|
94
|
+
selectAll: () => selectAll(storeId),
|
|
95
|
+
unselectAll: () => unselectAll(storeId),
|
|
93
96
|
|
|
94
|
-
selectAllFiltered,
|
|
95
|
-
unselectAllFiltered,
|
|
97
|
+
selectAllFiltered: () => selectAllFiltered(storeId),
|
|
98
|
+
unselectAllFiltered: () => unselectAllFiltered(storeId),
|
|
96
99
|
|
|
97
|
-
expandAll,
|
|
98
|
-
collapseAll,
|
|
100
|
+
expandAll: () => expandAll(storeId),
|
|
101
|
+
collapseAll: () => collapseAll(storeId),
|
|
99
102
|
|
|
100
|
-
expandNodes,
|
|
101
|
-
collapseNodes,
|
|
103
|
+
expandNodes: (ids: string[]) => expandNodes(storeId, ids),
|
|
104
|
+
collapseNodes: (ids: string[]) => collapseNodes(storeId, ids),
|
|
102
105
|
|
|
103
|
-
selectNodes,
|
|
104
|
-
unselectNodes,
|
|
106
|
+
selectNodes: (ids: string[]) => selectNodes(ids),
|
|
107
|
+
unselectNodes: (ids: string[]) => unselectNodes(ids),
|
|
105
108
|
|
|
106
109
|
setSearchText
|
|
107
110
|
}));
|
|
@@ -114,22 +117,22 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
114
117
|
if (selectionPropagation)
|
|
115
118
|
setSelectionPropagation(selectionPropagation);
|
|
116
119
|
|
|
117
|
-
initializeNodeMaps(data);
|
|
120
|
+
initializeNodeMaps(storeId, data);
|
|
118
121
|
|
|
119
122
|
// Check any pre-selected nodes
|
|
120
|
-
toggleCheckboxes(preselectedIds, true);
|
|
123
|
+
toggleCheckboxes(storeId, preselectedIds, true);
|
|
121
124
|
|
|
122
125
|
// Expand pre-expanded nodes
|
|
123
|
-
expandNodes(preExpandedIds);
|
|
126
|
+
expandNodes(storeId, preExpandedIds);
|
|
124
127
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
125
128
|
}, []);
|
|
126
129
|
|
|
127
130
|
function selectNodes(ids: string[]) {
|
|
128
|
-
toggleCheckboxes(ids, true);
|
|
131
|
+
toggleCheckboxes(storeId, ids, true);
|
|
129
132
|
}
|
|
130
133
|
|
|
131
134
|
function unselectNodes(ids: string[]) {
|
|
132
|
-
toggleCheckboxes(ids, false);
|
|
135
|
+
toggleCheckboxes(storeId, ids, false);
|
|
133
136
|
}
|
|
134
137
|
|
|
135
138
|
function setSearchText(text: string, keys: string[] = ["name"]) {
|
|
@@ -184,6 +187,8 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
184
187
|
|
|
185
188
|
return (
|
|
186
189
|
<NodeList
|
|
190
|
+
storeId={storeId}
|
|
191
|
+
|
|
187
192
|
treeFlashListProps={treeFlashListProps}
|
|
188
193
|
checkBoxViewStyleProps={checkBoxViewStyleProps}
|
|
189
194
|
indentationMultiplier={indentationMultiplier}
|
|
@@ -32,6 +32,8 @@ export default NodeList;
|
|
|
32
32
|
|
|
33
33
|
function _NodeList(props: NodeListProps) {
|
|
34
34
|
const {
|
|
35
|
+
storeId,
|
|
36
|
+
|
|
35
37
|
treeFlashListProps,
|
|
36
38
|
checkBoxViewStyleProps,
|
|
37
39
|
indentationMultiplier,
|
|
@@ -48,7 +50,7 @@ function _NodeList(props: NodeListProps) {
|
|
|
48
50
|
updateInnerMostChildrenIds,
|
|
49
51
|
searchKeys,
|
|
50
52
|
searchText
|
|
51
|
-
} = useTreeViewStore(useShallow(
|
|
53
|
+
} = useTreeViewStore(storeId)(useShallow(
|
|
52
54
|
state => ({
|
|
53
55
|
expanded: state.expanded,
|
|
54
56
|
initialTreeViewData: state.initialTreeViewData,
|
|
@@ -84,6 +86,8 @@ function _NodeList(props: NodeListProps) {
|
|
|
84
86
|
) => {
|
|
85
87
|
return (
|
|
86
88
|
<Node
|
|
89
|
+
storeId={storeId}
|
|
90
|
+
|
|
87
91
|
node={item}
|
|
88
92
|
level={item.level || 0}
|
|
89
93
|
|
|
@@ -97,6 +101,7 @@ function _NodeList(props: NodeListProps) {
|
|
|
97
101
|
/>
|
|
98
102
|
);
|
|
99
103
|
}, [
|
|
104
|
+
storeId,
|
|
100
105
|
CheckboxComponent,
|
|
101
106
|
ExpandCollapseIconComponent,
|
|
102
107
|
ExpandCollapseTouchableComponent,
|
|
@@ -142,6 +147,8 @@ function getValue(
|
|
|
142
147
|
const Node = React.memo(_Node);
|
|
143
148
|
function _Node(props: NodeProps) {
|
|
144
149
|
const {
|
|
150
|
+
storeId,
|
|
151
|
+
|
|
145
152
|
node,
|
|
146
153
|
level,
|
|
147
154
|
|
|
@@ -157,7 +164,7 @@ function _Node(props: NodeProps) {
|
|
|
157
164
|
const {
|
|
158
165
|
isExpanded,
|
|
159
166
|
value,
|
|
160
|
-
} = useTreeViewStore(useShallow(
|
|
167
|
+
} = useTreeViewStore(storeId)(useShallow(
|
|
161
168
|
state => ({
|
|
162
169
|
isExpanded: state.expanded.has(node.id),
|
|
163
170
|
value: getValue(
|
|
@@ -168,12 +175,12 @@ function _Node(props: NodeProps) {
|
|
|
168
175
|
));
|
|
169
176
|
|
|
170
177
|
const _onToggleExpand = React.useCallback(() => {
|
|
171
|
-
handleToggleExpand(node.id);
|
|
172
|
-
}, [node.id]);
|
|
178
|
+
handleToggleExpand(storeId, node.id);
|
|
179
|
+
}, [storeId, node.id]);
|
|
173
180
|
|
|
174
181
|
const _onCheck = React.useCallback(() => {
|
|
175
|
-
toggleCheckboxes([node.id]);
|
|
176
|
-
}, [node.id]);
|
|
182
|
+
toggleCheckboxes(storeId, [node.id]);
|
|
183
|
+
}, [storeId, node.id]);
|
|
177
184
|
|
|
178
185
|
if (!CustomNodeRowComponent) {
|
|
179
186
|
return (
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const testStoreId = 'test-store-id';
|