react-native-tree-multi-select 1.4.0 → 1.5.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/README.md +13 -2
- package/lib/commonjs/TreeView.js +9 -4
- package/lib/commonjs/TreeView.js.map +1 -1
- package/lib/commonjs/components/CheckboxView.js +20 -13
- package/lib/commonjs/components/CheckboxView.js.map +1 -1
- package/lib/commonjs/components/CustomExpandCollapseIcon.js +3 -2
- package/lib/commonjs/components/CustomExpandCollapseIcon.js.map +1 -1
- package/lib/commonjs/components/NodeList.js +26 -23
- package/lib/commonjs/components/NodeList.js.map +1 -1
- package/lib/commonjs/constants/treeView.constants.js.map +1 -1
- package/lib/commonjs/helpers/expandCollapse.helper.js +13 -2
- package/lib/commonjs/helpers/expandCollapse.helper.js.map +1 -1
- package/lib/commonjs/helpers/flattenTree.helper.js +2 -2
- package/lib/commonjs/helpers/flattenTree.helper.js.map +1 -1
- package/lib/commonjs/helpers/index.js.map +1 -1
- package/lib/commonjs/helpers/search.helper.js +1 -1
- package/lib/commonjs/helpers/search.helper.js.map +1 -1
- package/lib/commonjs/helpers/selectAll.helper.js.map +1 -1
- package/lib/commonjs/helpers/toggleCheckbox.helper.js +82 -74
- package/lib/commonjs/helpers/toggleCheckbox.helper.js.map +1 -1
- package/lib/commonjs/helpers/treeNode.helper.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/jest.setup.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/store/treeView.store.js +16 -1
- package/lib/commonjs/store/treeView.store.js.map +1 -1
- package/lib/commonjs/types/treeView.types.js.map +1 -1
- package/lib/commonjs/utils/usePreviousState.js.map +1 -1
- package/lib/module/TreeView.js +10 -3
- package/lib/module/TreeView.js.map +1 -1
- package/lib/module/components/CheckboxView.js +21 -12
- package/lib/module/components/CheckboxView.js.map +1 -1
- package/lib/module/components/CustomExpandCollapseIcon.js +4 -1
- package/lib/module/components/CustomExpandCollapseIcon.js.map +1 -1
- package/lib/module/components/NodeList.js +27 -22
- package/lib/module/components/NodeList.js.map +1 -1
- package/lib/module/constants/treeView.constants.js +2 -0
- package/lib/module/constants/treeView.constants.js.map +1 -1
- package/lib/module/helpers/expandCollapse.helper.js +15 -2
- package/lib/module/helpers/expandCollapse.helper.js.map +1 -1
- package/lib/module/helpers/flattenTree.helper.js +4 -2
- package/lib/module/helpers/flattenTree.helper.js.map +1 -1
- package/lib/module/helpers/index.js +2 -0
- package/lib/module/helpers/index.js.map +1 -1
- package/lib/module/helpers/search.helper.js +3 -1
- package/lib/module/helpers/search.helper.js.map +1 -1
- package/lib/module/helpers/selectAll.helper.js +2 -0
- package/lib/module/helpers/selectAll.helper.js.map +1 -1
- package/lib/module/helpers/toggleCheckbox.helper.js +84 -74
- package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
- package/lib/module/helpers/treeNode.helper.js +2 -0
- package/lib/module/helpers/treeNode.helper.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/jest.setup.js +2 -0
- package/lib/module/jest.setup.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/store/treeView.store.js +18 -1
- package/lib/module/store/treeView.store.js.map +1 -1
- package/lib/module/types/treeView.types.js +2 -0
- package/lib/module/types/treeView.types.js.map +1 -1
- package/lib/module/utils/usePreviousState.js +2 -0
- package/lib/module/utils/usePreviousState.js.map +1 -1
- package/lib/typescript/TreeView.d.ts.map +1 -1
- package/lib/typescript/helpers/expandCollapse.helper.d.ts.map +1 -1
- package/lib/typescript/helpers/flattenTree.helper.d.ts +1 -1
- package/lib/typescript/helpers/toggleCheckbox.helper.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/index.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 +5 -1
- package/lib/typescript/types/treeView.types.d.ts.map +1 -1
- package/package.json +21 -22
- package/src/TreeView.tsx +9 -0
- package/src/components/NodeList.tsx +1 -1
- package/src/helpers/expandCollapse.helper.ts +13 -0
- package/src/helpers/flattenTree.helper.ts +2 -2
- package/src/helpers/toggleCheckbox.helper.ts +82 -74
- package/src/index.tsx +4 -2
- package/src/store/treeView.store.ts +18 -1
- package/src/types/treeView.types.ts +7 -0
|
@@ -19,8 +19,13 @@ function toggleCheckboxes(ids, forceCheck) {
|
|
|
19
19
|
indeterminate,
|
|
20
20
|
updateIndeterminate,
|
|
21
21
|
nodeMap,
|
|
22
|
-
childToParentMap
|
|
22
|
+
childToParentMap,
|
|
23
|
+
selectionPropagationBehavior
|
|
23
24
|
} = _treeView.useTreeViewStore.getState();
|
|
25
|
+
const {
|
|
26
|
+
toChildren,
|
|
27
|
+
toParents
|
|
28
|
+
} = selectionPropagationBehavior;
|
|
24
29
|
|
|
25
30
|
// Create new sets for checked and indeterminate state so as not to mutate the original state.
|
|
26
31
|
const tempChecked = new Set(checked);
|
|
@@ -30,29 +35,6 @@ function toggleCheckboxes(ids, forceCheck) {
|
|
|
30
35
|
const memoAllDescendantsChecked = new Map();
|
|
31
36
|
const memoAnyDescendantsChecked = new Map();
|
|
32
37
|
|
|
33
|
-
/**
|
|
34
|
-
* Recursive function to check/uncheck a node and all its children.
|
|
35
|
-
* @param {string} nodeId - The id of the node to be checked or unchecked.
|
|
36
|
-
* @param {boolean} isChecked - Whether the node should be checked or unchecked.
|
|
37
|
-
*/
|
|
38
|
-
const toggleNodeAndChildren = (nodeId, isChecked) => {
|
|
39
|
-
var _node$children;
|
|
40
|
-
// Set or unset this node in the checked set, and remove it from the indeterminate set.
|
|
41
|
-
if (isChecked) {
|
|
42
|
-
tempChecked.add(nodeId);
|
|
43
|
-
tempIndeterminate.delete(nodeId);
|
|
44
|
-
} else {
|
|
45
|
-
tempChecked.delete(nodeId);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Get the node from the node map and recursively apply the same state to all its children.
|
|
49
|
-
const node = nodeMap.get(nodeId);
|
|
50
|
-
node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 || _node$children.forEach(childNode => {
|
|
51
|
-
if (isChecked) tempIndeterminate.delete(childNode.id);
|
|
52
|
-
toggleNodeAndChildren(childNode.id, isChecked);
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
|
|
56
38
|
/**
|
|
57
39
|
* Recursive function to check if all descendants of a node are checked.
|
|
58
40
|
* It uses memoization to avoid redundant calculations.
|
|
@@ -66,7 +48,7 @@ function toggleCheckboxes(ids, forceCheck) {
|
|
|
66
48
|
}
|
|
67
49
|
const node = nodeMap.get(nodeId);
|
|
68
50
|
let allChecked = true;
|
|
69
|
-
if (node
|
|
51
|
+
if (node?.children) {
|
|
70
52
|
// If the node has children, recursively check all children.
|
|
71
53
|
for (const childNode of node.children) {
|
|
72
54
|
allChecked = allChecked && areAllDescendantsChecked(childNode.id);
|
|
@@ -82,8 +64,8 @@ function toggleCheckboxes(ids, forceCheck) {
|
|
|
82
64
|
};
|
|
83
65
|
|
|
84
66
|
/**
|
|
85
|
-
*
|
|
86
|
-
* It uses memoization to avoid redundant calculations.
|
|
67
|
+
* Updated function to check if any descendants of a node are checked.
|
|
68
|
+
* It uses memoization to avoid redundant calculations and avoids unnecessarily deep recursion.
|
|
87
69
|
* @param {string} nodeId - The id of the node to be checked.
|
|
88
70
|
* @returns {boolean} - Whether any descendants of the node are checked.
|
|
89
71
|
*/
|
|
@@ -94,10 +76,13 @@ function toggleCheckboxes(ids, forceCheck) {
|
|
|
94
76
|
}
|
|
95
77
|
const node = nodeMap.get(nodeId);
|
|
96
78
|
let anyChecked = false;
|
|
97
|
-
if (node
|
|
98
|
-
//
|
|
79
|
+
if (node?.children) {
|
|
80
|
+
// Check if any direct child is checked, without requiring all descendants.
|
|
99
81
|
for (const childNode of node.children) {
|
|
100
|
-
|
|
82
|
+
if (tempChecked.has(childNode.id) || areAnyDescendantsChecked(childNode.id)) {
|
|
83
|
+
anyChecked = true;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
101
86
|
}
|
|
102
87
|
} else {
|
|
103
88
|
// If the node has no children, its state is equal to whether it is in the checked set.
|
|
@@ -109,58 +94,81 @@ function toggleCheckboxes(ids, forceCheck) {
|
|
|
109
94
|
return anyChecked;
|
|
110
95
|
};
|
|
111
96
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
tempChecked.add(nodeId);
|
|
122
|
-
tempIndeterminate.delete(nodeId);
|
|
123
|
-
} else if (areAnyDescendantsChecked(nodeId)) {
|
|
124
|
-
// Condition to check if all direct children and all descendants are checked.
|
|
125
|
-
|
|
126
|
-
/*
|
|
127
|
-
istanbul ignore next
|
|
128
|
-
|
|
129
|
-
NOTE: Below 2 lines in the condition are not covered in unit test
|
|
130
|
-
This condition will only be true if for some reason areAllDescendantsChecked(nodeId)
|
|
131
|
-
is false, while node?.children && node.children.every(childNode => areAllDescendantsChecked(childNode.id))
|
|
132
|
-
is true. Given the current logic of areAllDescendantsChecked,
|
|
133
|
-
this scenario is very unlikely to occur.
|
|
134
|
-
*/
|
|
135
|
-
if (node !== null && node !== void 0 && node.children && node.children.every(childNode => areAllDescendantsChecked(childNode.id))) {
|
|
136
|
-
// If a node's all direct children and all descendants are checked,
|
|
137
|
-
// remove this node from both checked and indeterminate sets.
|
|
138
|
-
tempChecked.delete(nodeId);
|
|
139
|
-
tempIndeterminate.delete(nodeId);
|
|
140
|
-
} else {
|
|
141
|
-
tempChecked.delete(nodeId);
|
|
142
|
-
tempIndeterminate.add(nodeId);
|
|
97
|
+
// Toggle the clicked nodes and their children.
|
|
98
|
+
ids.forEach(id => {
|
|
99
|
+
const isChecked = tempChecked.has(id);
|
|
100
|
+
const newCheckedState = forceCheck === undefined ? !isChecked : forceCheck;
|
|
101
|
+
if (newCheckedState) {
|
|
102
|
+
tempChecked.add(id);
|
|
103
|
+
tempIndeterminate.delete(id);
|
|
104
|
+
if (toChildren) {
|
|
105
|
+
recursivelyUpdateChildren(id, true);
|
|
143
106
|
}
|
|
144
107
|
} else {
|
|
145
|
-
tempChecked.delete(
|
|
146
|
-
tempIndeterminate.delete(
|
|
108
|
+
tempChecked.delete(id);
|
|
109
|
+
tempIndeterminate.delete(id);
|
|
110
|
+
if (toChildren) {
|
|
111
|
+
recursivelyUpdateChildren(id, false);
|
|
112
|
+
}
|
|
147
113
|
}
|
|
148
|
-
};
|
|
149
114
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
115
|
+
// Skip updating parent nodes if toParents is false
|
|
116
|
+
if (toParents) {
|
|
117
|
+
updateParentNodes(id);
|
|
118
|
+
}
|
|
154
119
|
});
|
|
155
120
|
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
121
|
+
// Function to recursively update children nodes as per childrenChecked value
|
|
122
|
+
function recursivelyUpdateChildren(nodeId, childrenChecked) {
|
|
123
|
+
const node = nodeMap.get(nodeId);
|
|
124
|
+
if (node && node.children) {
|
|
125
|
+
node.children.forEach(childNode => {
|
|
126
|
+
if (childrenChecked) {
|
|
127
|
+
tempChecked.add(childNode.id);
|
|
128
|
+
tempIndeterminate.delete(childNode.id);
|
|
129
|
+
} else {
|
|
130
|
+
tempChecked.delete(childNode.id);
|
|
131
|
+
tempIndeterminate.delete(childNode.id);
|
|
132
|
+
}
|
|
133
|
+
recursivelyUpdateChildren(childNode.id, childrenChecked);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Function to update parent nodes
|
|
139
|
+
function updateParentNodes(nodeId) {
|
|
140
|
+
let currentNodeId = nodeId;
|
|
159
141
|
while (currentNodeId) {
|
|
160
|
-
|
|
161
|
-
|
|
142
|
+
const parentNodeId = childToParentMap.get(currentNodeId);
|
|
143
|
+
if (parentNodeId) {
|
|
144
|
+
if (tempChecked.has(parentNodeId)) {
|
|
145
|
+
// If the parent node is currently checked, but not all child nodes are checked,
|
|
146
|
+
// move the parent node to an indeterminate state
|
|
147
|
+
if (!areAllDescendantsChecked(parentNodeId)) {
|
|
148
|
+
tempChecked.delete(parentNodeId);
|
|
149
|
+
tempIndeterminate.add(parentNodeId);
|
|
150
|
+
}
|
|
151
|
+
} else if (tempIndeterminate.has(parentNodeId)) {
|
|
152
|
+
// If the parent node is currently in an indeterminate state,
|
|
153
|
+
// then check if all descendants are checked
|
|
154
|
+
if (areAllDescendantsChecked(parentNodeId)) {
|
|
155
|
+
tempIndeterminate.delete(parentNodeId);
|
|
156
|
+
tempChecked.add(parentNodeId);
|
|
157
|
+
} else if (!areAnyDescendantsChecked(parentNodeId)) {
|
|
158
|
+
// If no descendants are checked, remove from indeterminate set
|
|
159
|
+
tempIndeterminate.delete(parentNodeId);
|
|
160
|
+
}
|
|
161
|
+
} else {
|
|
162
|
+
// If the parent node is not checked or indeterminate,
|
|
163
|
+
// check if any descendants are checked and update appropriately
|
|
164
|
+
if (areAnyDescendantsChecked(parentNodeId)) {
|
|
165
|
+
tempIndeterminate.add(parentNodeId);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
currentNodeId = parentNodeId;
|
|
162
170
|
}
|
|
163
|
-
}
|
|
171
|
+
}
|
|
164
172
|
|
|
165
173
|
// Update the state object with the new checked and indeterminate sets.
|
|
166
174
|
updateChecked(tempChecked);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_treeView","require","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","useTreeViewStore","getState","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","
|
|
1
|
+
{"version":3,"names":["_treeView","require","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","selectionPropagationBehavior","useTreeViewStore","getState","toChildren","toParents","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","areAllDescendantsChecked","nodeId","has","get","node","allChecked","children","childNode","id","set","areAnyDescendantsChecked","anyChecked","forEach","isChecked","newCheckedState","undefined","add","delete","recursivelyUpdateChildren","updateParentNodes","childrenChecked","currentNodeId","parentNodeId"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_treeView","require","initializeNodeMaps","initialData","updateNodeMap","updateChildToParentMap","useTreeViewStore","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/treeNode.helper.ts"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,WAAuB,EAAE;EACxD,MAAM;IACFC,aAAa;IACbC;EACJ,CAAC,GAAGC,0BAAgB,CAACC,QAAQ,CAAC,CAAC;EAE/B,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;EAEzBC,aAAa,CAACI,WAAW,CAAC;EAC1BH,sBAAsB,CAACK,oBAAoB,CAAC;AAChD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_treeView","require","initializeNodeMaps","initialData","updateNodeMap","updateChildToParentMap","useTreeViewStore","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/treeNode.helper.ts"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,WAAuB,EAAE;EACxD,MAAM;IACFC,aAAa;IACbC;EACJ,CAAC,GAAGC,0BAAgB,CAACC,QAAQ,CAAC,CAAC;EAE/B,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;EAEzBC,aAAa,CAACI,WAAW,CAAC;EAC1BH,sBAAsB,CAACK,oBAAoB,CAAC;AAChD","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_TreeView","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CheckboxView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"names":["_TreeView","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CheckboxView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAaA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require"],"sourceRoot":"../../src","sources":["jest.setup.ts"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["require"],"sourceRoot":"../../src","sources":["jest.setup.ts"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -42,6 +42,17 @@ const useTreeViewStore = exports.useTreeViewStore = (0, _zustand.create)(set =>
|
|
|
42
42
|
updateInnerMostChildrenIds: innerMostChildrenIds => set({
|
|
43
43
|
innerMostChildrenIds
|
|
44
44
|
}),
|
|
45
|
+
selectionPropagationBehavior: {
|
|
46
|
+
toChildren: true,
|
|
47
|
+
toParents: true
|
|
48
|
+
},
|
|
49
|
+
setSelectionPropagationBehavior: selectionPropagationBehavior => set({
|
|
50
|
+
selectionPropagationBehavior: {
|
|
51
|
+
// Default selection propagation for parent and children to true if not mentioned
|
|
52
|
+
toChildren: selectionPropagationBehavior.toChildren ?? true,
|
|
53
|
+
toParents: selectionPropagationBehavior.toParents ?? true
|
|
54
|
+
}
|
|
55
|
+
}),
|
|
45
56
|
cleanUpTreeViewStore: () => set({
|
|
46
57
|
checked: new Set(),
|
|
47
58
|
indeterminate: new Set(),
|
|
@@ -51,7 +62,11 @@ const useTreeViewStore = exports.useTreeViewStore = (0, _zustand.create)(set =>
|
|
|
51
62
|
childToParentMap: new Map(),
|
|
52
63
|
searchText: "",
|
|
53
64
|
searchKeys: [""],
|
|
54
|
-
innerMostChildrenIds: []
|
|
65
|
+
innerMostChildrenIds: [],
|
|
66
|
+
selectionPropagationBehavior: {
|
|
67
|
+
toChildren: true,
|
|
68
|
+
toParents: true
|
|
69
|
+
}
|
|
55
70
|
})
|
|
56
71
|
}));
|
|
57
72
|
//# sourceMappingURL=treeView.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_zustand","require","useTreeViewStore","exports","create","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","cleanUpTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_zustand","require","useTreeViewStore","exports","create","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","selectionPropagationBehavior","toChildren","toParents","setSelectionPropagationBehavior","cleanUpTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAgDO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,eAAM,EAAiBC,GAAG,KAAM;EAC5DC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;EAClBC,aAAa,EAAGF,OAAoB,IAAKD,GAAG,CAAC;IAAEC;EAAQ,CAAC,CAAC;EAEzDG,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;EACxBG,mBAAmB,EAAGD,aAA0B,IAAKJ,GAAG,CAAC;IAAEI;EAAc,CAAC,CAAC;EAE3EE,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;EAC3BK,cAAc,EAAGD,QAAqB,IAAKN,GAAG,CAAC;IAAEM;EAAS,CAAC,CAAC;EAE5DE,mBAAmB,EAAE,EAAE;EACvBC,yBAAyB,EAAGD,mBAA+B,IAAKR,GAAG,CAAC;IAChEQ;EACJ,CAAC,CAAC;EAEFE,OAAO,EAAE,IAAIC,GAAG,CAAmB,CAAC;EACpCC,aAAa,EAAGF,OAA8B,IAAKV,GAAG,CAAC;IAAEU;EAAQ,CAAC,CAAC;EAEnEG,gBAAgB,EAAE,IAAIF,GAAG,CAAiB,CAAC;EAC3CG,sBAAsB,EAAGD,gBAAqC,IAAKb,GAAG,CAAC;IAAEa;EAAiB,CAAC,CAAC;EAE5FE,UAAU,EAAE,EAAE;EACdC,gBAAgB,EAAGD,UAAkB,IAAKf,GAAG,CAAC;IAAEe;EAAW,CAAC,CAAC;EAE7DE,UAAU,EAAE,CAAC,EAAE,CAAC;EAChBC,gBAAgB,EAAGD,UAAoB,IAAKjB,GAAG,CAAC;IAAEiB;EAAW,CAAC,CAAC;EAE/DE,oBAAoB,EAAE,EAAE;EACxBC,0BAA0B,EAAGD,oBAA8B,IAAKnB,GAAG,CAAC;IAAEmB;EAAqB,CAAC,CAAC;EAE7FE,4BAA4B,EAAE;IAAEC,UAAU,EAAE,IAAI;IAAEC,SAAS,EAAE;EAAK,CAAC;EACnEC,+BAA+B,EAAGH,4BAA4B,IAAKrB,GAAG,CAClE;IACIqB,4BAA4B,EAAE;MAC1B;MACAC,UAAU,EAAED,4BAA4B,CAACC,UAAU,IAAI,IAAI;MAC3DC,SAAS,EAAEF,4BAA4B,CAACE,SAAS,IAAI;IACzD;EACJ,CACJ,CAAC;EAEDE,oBAAoB,EAAEA,CAAA,KAClBzB,GAAG,CAAC;IACAC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;IAClBE,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;IACxBI,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;IAC3BM,mBAAmB,EAAE,EAAE;IACvBE,OAAO,EAAE,IAAIC,GAAG,CAAmB,CAAC;IACpCE,gBAAgB,EAAE,IAAIF,GAAG,CAAiB,CAAC;IAC3CI,UAAU,EAAE,EAAE;IACdE,UAAU,EAAE,CAAC,EAAE,CAAC;IAChBE,oBAAoB,EAAE,EAAE;IACxBE,4BAA4B,EAAE;MAAEC,UAAU,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAK;EACtE,CAAC;AACT,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/treeView.types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/treeView.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","usePreviousState","value","ref","useRef","useEffect","current"],"sourceRoot":"../../../src","sources":["utils/usePreviousState.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACe,SAASC,gBAAgBA,CAAIC,KAAQ,EAAE;EACpD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAI,CAAC;EAEvB,IAAAC,gBAAS,EAAC,MAAM;IACdF,GAAG,CAACG,OAAO,GAAGJ,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACG,OAAO;AACpB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","usePreviousState","value","ref","useRef","useEffect","current"],"sourceRoot":"../../../src","sources":["utils/usePreviousState.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACe,SAASC,gBAAgBA,CAAIC,KAAQ,EAAE;EACpD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAI,CAAC;EAEvB,IAAAC,gBAAS,EAAC,MAAM;IACdF,GAAG,CAACG,OAAO,GAAGJ,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACG,OAAO;AACpB","ignoreList":[]}
|
package/lib/module/TreeView.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import React from 'react';
|
|
2
4
|
import { InteractionManager } from 'react-native';
|
|
3
5
|
import NodeList from './components/NodeList';
|
|
@@ -5,11 +7,13 @@ import { selectAll, selectAllFiltered, unselectAll, unselectAllFiltered, initial
|
|
|
5
7
|
import { useTreeViewStore } from './store/treeView.store';
|
|
6
8
|
import usePreviousState from './utils/usePreviousState';
|
|
7
9
|
import { useShallow } from "zustand/react/shallow";
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
11
|
const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
9
12
|
const {
|
|
10
13
|
data,
|
|
11
14
|
onCheck,
|
|
12
15
|
onExpand,
|
|
16
|
+
selectionPropagationBehavior,
|
|
13
17
|
preselectedIds = [],
|
|
14
18
|
preExpandedIds = [],
|
|
15
19
|
treeFlashListProps,
|
|
@@ -30,6 +34,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
30
34
|
updateSearchKeys,
|
|
31
35
|
checked,
|
|
32
36
|
indeterminate,
|
|
37
|
+
setSelectionPropagationBehavior,
|
|
33
38
|
cleanUpTreeViewStore
|
|
34
39
|
} = useTreeViewStore(useShallow(state => ({
|
|
35
40
|
expanded: state.expanded,
|
|
@@ -41,6 +46,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
41
46
|
updateSearchKeys: state.updateSearchKeys,
|
|
42
47
|
checked: state.checked,
|
|
43
48
|
indeterminate: state.indeterminate,
|
|
49
|
+
setSelectionPropagationBehavior: state.setSelectionPropagationBehavior,
|
|
44
50
|
cleanUpTreeViewStore: state.cleanUpTreeViewStore
|
|
45
51
|
})));
|
|
46
52
|
React.useImperativeHandle(ref, () => ({
|
|
@@ -59,6 +65,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
59
65
|
const prevSearchText = usePreviousState(searchText);
|
|
60
66
|
React.useEffect(() => {
|
|
61
67
|
updateInitialTreeViewData(data);
|
|
68
|
+
if (selectionPropagationBehavior) setSelectionPropagationBehavior(selectionPropagationBehavior);
|
|
62
69
|
initializeNodeMaps(data);
|
|
63
70
|
|
|
64
71
|
// Check any pre-selected nodes
|
|
@@ -86,10 +93,10 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
86
93
|
}
|
|
87
94
|
}, []);
|
|
88
95
|
React.useEffect(() => {
|
|
89
|
-
onCheck
|
|
96
|
+
onCheck?.(Array.from(checked), Array.from(indeterminate));
|
|
90
97
|
}, [onCheck, checked, indeterminate]);
|
|
91
98
|
React.useEffect(() => {
|
|
92
|
-
onExpand
|
|
99
|
+
onExpand?.(Array.from(expanded));
|
|
93
100
|
}, [onExpand, expanded]);
|
|
94
101
|
React.useEffect(() => {
|
|
95
102
|
if (searchText) {
|
|
@@ -109,7 +116,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
109
116
|
cleanUpTreeViewStore();
|
|
110
117
|
};
|
|
111
118
|
}, [cleanUpTreeViewStore]);
|
|
112
|
-
return /*#__PURE__*/
|
|
119
|
+
return /*#__PURE__*/_jsx(NodeList, {
|
|
113
120
|
treeFlashListProps: treeFlashListProps,
|
|
114
121
|
checkBoxViewStyleProps: checkBoxViewStyleProps,
|
|
115
122
|
indentationMultiplier: indentationMultiplier,
|
|
@@ -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","indeterminate","cleanUpTreeViewStore","state","useImperativeHandle","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","
|
|
1
|
+
{"version":3,"names":["React","InteractionManager","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","toggleCheckboxes","expandNodes","collapseNodes","useTreeViewStore","usePreviousState","useShallow","jsx","_jsx","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","selectionPropagationBehavior","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","indeterminate","setSelectionPropagationBehavior","cleanUpTreeViewStore","state","useImperativeHandle","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
2
3
|
import React from "react";
|
|
3
4
|
import { Platform, StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
4
5
|
import { Checkbox } from 'react-native-paper';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
7
|
function arePropsEqual(prevProps, nextProps) {
|
|
6
8
|
return prevProps.value === nextProps.value && prevProps.text === nextProps.text;
|
|
7
9
|
}
|
|
@@ -35,17 +37,24 @@ function _CheckboxView(props) {
|
|
|
35
37
|
// If the previous state was 'indeterminate', set checked to true
|
|
36
38
|
if (value === 'indeterminate') onValueChange(true);else onValueChange(!value);
|
|
37
39
|
}, [onValueChange, value]);
|
|
38
|
-
return /*#__PURE__*/
|
|
39
|
-
style: outermostParentViewStyle
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
40
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
41
|
+
style: outermostParentViewStyle,
|
|
42
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
43
|
+
style: checkboxParentViewStyle,
|
|
44
|
+
children: /*#__PURE__*/_jsx(Checkbox.Android, {
|
|
45
|
+
...checkboxProps,
|
|
46
|
+
status: customCheckboxValueTypeToRNPaperType(value),
|
|
47
|
+
onPress: onValueChangeModifier
|
|
48
|
+
})
|
|
49
|
+
}), text ? /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
50
|
+
style: textTouchableStyle,
|
|
51
|
+
onPress: onValueChangeModifier,
|
|
52
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
53
|
+
...textProps,
|
|
54
|
+
children: text
|
|
55
|
+
})
|
|
56
|
+
}) : null]
|
|
57
|
+
});
|
|
49
58
|
}
|
|
50
59
|
export const defaultCheckboxViewStyles = StyleSheet.create({
|
|
51
60
|
mainView: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","StyleSheet","Text","TouchableOpacity","View","Checkbox","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","useCallback","customCheckboxValueType","onValueChangeModifier","
|
|
1
|
+
{"version":3,"names":["React","Platform","StyleSheet","Text","TouchableOpacity","View","Checkbox","jsx","_jsx","jsxs","_jsxs","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","useCallback","customCheckboxValueType","onValueChangeModifier","children","Android","status","onPress","create","alignSelf","alignItems","flexDirection","marginEnd","marginStart","transform","scale","color","marginTop","OS","undefined"],"sourceRoot":"../../../src","sources":["components/CheckboxView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QACD,cAAc;AAErB,SAASC,QAAQ,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM9C,SAASC,aAAaA,CAClBC,SAAmC,EACnCC,SAAmC,EACrC;EACE,OACID,SAAS,CAACE,KAAK,KAAKD,SAAS,CAACC,KAAK,IACnCF,SAAS,CAACG,IAAI,KAAKF,SAAS,CAACE,IAAI;AAEzC;AAEA,OAAO,MAAMC,YAAY,gBAAGhB,KAAK,CAACiB,IAAI,CAACC,aAAa,EAAEP,aAAa,CAAC;AAEpE,SAASO,aAAaA,CAACC,KAA+B,EAAE;EACpD,MAAM;IACFL,KAAK;IACLM,aAAa;IACbL,IAAI;IAEJM,wBAAwB,GAAGC,yBAAyB,CAACC,QAAQ;IAC7DC,uBAAuB,GAAGF,yBAAyB,CAACG,YAAY;IAChEC,kBAAkB;IAElBC,aAAa;IACbC,SAAS,GAAG;MACRC,KAAK,EAAEP,yBAAyB,CAACQ,iBAAiB;MAClDC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;IACnB;EACJ,CAAC,GAAGb,KAAK;EAET,MAAMc,oCAAoC,GAAGjC,KAAK,CAACkC,WAAW,CAC1DC,uBAA0C,IACzC;IACD,OAAOA,uBAAuB,KAAK,eAAe,GAC5C,eAAe,GACfA,uBAAuB,GACnB,SAAS,GACT,WAAW;EACzB,CAAC,EAAE,EAAE,CAAC;;EAEN;AACJ;AACA;AACA;AACA;AACA;EACI,MAAMC,qBAAqB,GAAGpC,KAAK,CAACkC,WAAW,CAAC,MAAM;IAClD;IACA,IAAIpB,KAAK,KAAK,eAAe,EAAEM,aAAa,CAAC,IAAI,CAAC,CAAC,KAC9CA,aAAa,CAAC,CAACN,KAAK,CAAC;EAC9B,CAAC,EAAE,CAACM,aAAa,EAAEN,KAAK,CAAC,CAAC;EAE1B,oBACIJ,KAAA,CAACL,IAAI;IACDwB,KAAK,EAAER,wBAAyB;IAAAgB,QAAA,gBAChC7B,IAAA,CAACH,IAAI;MACDwB,KAAK,EAAEL,uBAAwB;MAAAa,QAAA,eAC/B7B,IAAA,CAACF,QAAQ,CAACgC,OAAO;QAAA,GACTX,aAAa;QACjBY,MAAM,EAAEN,oCAAoC,CAACnB,KAAK,CAAE;QACpD0B,OAAO,EAAEJ;MAAsB,CAAE;IAAC,CACpC,CAAC,EAENrB,IAAI,gBACDP,IAAA,CAACJ,gBAAgB;MACbyB,KAAK,EAAEH,kBAAmB;MAC1Bc,OAAO,EAAEJ,qBAAsB;MAAAC,QAAA,eAC/B7B,IAAA,CAACL,IAAI;QAAA,GACGyB,SAAS;QAAAS,QAAA,EACZtB;MAAI,CACH;IAAC,CACO,CAAC,GACnB,IAAI;EAAA,CACN,CAAC;AAEf;AAEA,OAAO,MAAMO,yBAAyB,GAAGpB,UAAU,CAACuC,MAAM,CAAC;EACvDlB,QAAQ,EAAE;IACNmB,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IAEpBC,SAAS,EAAE;EACf,CAAC;EACDpB,YAAY,EAAE;IACVqB,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAC9B,CAAC;EACDlB,iBAAiB,EAAE;IACfmB,KAAK,EAAE,OAAO;IACdC,SAAS,EAAEjD,QAAQ,CAACkD,EAAE,KAAK,SAAS,GAAG,CAAC,GAAGC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import React from "react";
|
|
2
4
|
import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
6
|
export const CustomExpandCollapseIcon = /*#__PURE__*/React.memo(_CustomExpandCollapseIcon);
|
|
4
7
|
function _CustomExpandCollapseIcon(props) {
|
|
5
8
|
const {
|
|
6
9
|
isExpanded
|
|
7
10
|
} = props;
|
|
8
|
-
return /*#__PURE__*/
|
|
11
|
+
return /*#__PURE__*/_jsx(FontAwesomeIcon, {
|
|
9
12
|
name: isExpanded ? 'caret-down' : 'caret-right',
|
|
10
13
|
size: 20,
|
|
11
14
|
color: "black"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","FontAwesomeIcon","CustomExpandCollapseIcon","memo","_CustomExpandCollapseIcon","props","isExpanded","
|
|
1
|
+
{"version":3,"names":["React","FontAwesomeIcon","jsx","_jsx","CustomExpandCollapseIcon","memo","_CustomExpandCollapseIcon","props","isExpanded","name","size","color"],"sourceRoot":"../../../src","sources":["components/CustomExpandCollapseIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,uCAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIpE,OAAO,MAAMC,wBAAwB,gBAAGJ,KAAK,CAACK,IAAI,CAC9CC,yBACJ,CAAC;AAED,SAASA,yBAAyBA,CAACC,KAAsB,EAAE;EACvD,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAE5B,oBACIJ,IAAA,CAACF,eAAe;IACZQ,IAAI,EACAD,UAAU,GACJ,YAAY,GACZ,aACT;IACDE,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC;EAAO,CAChB,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
2
3
|
import React from "react";
|
|
3
4
|
import { View, StyleSheet, TouchableOpacity } from "react-native";
|
|
4
5
|
import { FlashList } from "@shopify/flash-list";
|
|
@@ -8,6 +9,7 @@ import { CheckboxView } from "./CheckboxView";
|
|
|
8
9
|
import { CustomExpandCollapseIcon } from "./CustomExpandCollapseIcon";
|
|
9
10
|
import { defaultIndentationMultiplier } from "../constants/treeView.constants";
|
|
10
11
|
import { useShallow } from 'zustand/react/shallow';
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
13
|
const NodeList = /*#__PURE__*/React.memo(_NodeList);
|
|
12
14
|
export default NodeList;
|
|
13
15
|
function _NodeList(props) {
|
|
@@ -37,7 +39,7 @@ function _NodeList(props) {
|
|
|
37
39
|
// First we filter the tree as per the search term and keys
|
|
38
40
|
const filteredTree = React.useMemo(() => getFilteredTreeData(initialTreeViewData, searchText.trim().toLowerCase(), searchKeys), [initialTreeViewData, searchText, searchKeys]);
|
|
39
41
|
|
|
40
|
-
// Then we flatten the
|
|
42
|
+
// Then we flatten the tree to make it "render-compatible" in a "flat" list
|
|
41
43
|
const flattenedFilteredNodes = React.useMemo(() => getFlattenedTreeData(filteredTree, expanded), [filteredTree, expanded]);
|
|
42
44
|
|
|
43
45
|
// And update the innermost children id -> required to un/select filtered tree
|
|
@@ -48,7 +50,7 @@ function _NodeList(props) {
|
|
|
48
50
|
const nodeRenderer = React.useCallback(({
|
|
49
51
|
item
|
|
50
52
|
}) => {
|
|
51
|
-
return /*#__PURE__*/
|
|
53
|
+
return /*#__PURE__*/_jsx(Node, {
|
|
52
54
|
node: item,
|
|
53
55
|
level: item.level || 0,
|
|
54
56
|
checkBoxViewStyleProps: checkBoxViewStyleProps,
|
|
@@ -59,20 +61,21 @@ function _NodeList(props) {
|
|
|
59
61
|
CustomNodeRowComponent: CustomNodeRowComponent
|
|
60
62
|
});
|
|
61
63
|
}, [CheckboxComponent, ExpandCollapseIconComponent, ExpandCollapseTouchableComponent, CustomNodeRowComponent, checkBoxViewStyleProps, indentationMultiplier]);
|
|
62
|
-
return /*#__PURE__*/
|
|
64
|
+
return /*#__PURE__*/_jsx(FlashList, {
|
|
63
65
|
estimatedItemSize: 36,
|
|
64
66
|
removeClippedSubviews: true,
|
|
65
67
|
keyboardShouldPersistTaps: "handled",
|
|
66
68
|
drawDistance: 50,
|
|
67
69
|
data: flattenedFilteredNodes,
|
|
68
70
|
renderItem: nodeRenderer,
|
|
69
|
-
ListHeaderComponent: /*#__PURE__*/
|
|
70
|
-
ListFooterComponent: /*#__PURE__*/
|
|
71
|
-
|
|
71
|
+
ListHeaderComponent: /*#__PURE__*/_jsx(HeaderFooterView, {}),
|
|
72
|
+
ListFooterComponent: /*#__PURE__*/_jsx(HeaderFooterView, {}),
|
|
73
|
+
...treeFlashListProps
|
|
74
|
+
});
|
|
72
75
|
}
|
|
73
76
|
;
|
|
74
77
|
function HeaderFooterView() {
|
|
75
|
-
return /*#__PURE__*/
|
|
78
|
+
return /*#__PURE__*/_jsx(View, {
|
|
76
79
|
style: styles.defaultHeaderFooter
|
|
77
80
|
});
|
|
78
81
|
}
|
|
@@ -114,23 +117,25 @@ function _Node(props) {
|
|
|
114
117
|
toggleCheckboxes([node.id]);
|
|
115
118
|
}, [node.id]);
|
|
116
119
|
if (!CustomNodeRowComponent) {
|
|
117
|
-
|
|
118
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
120
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
119
121
|
style: [styles.nodeCheckboxAndArrowRow, {
|
|
120
122
|
paddingStart: level * indentationMultiplier
|
|
121
|
-
}]
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
123
|
+
}],
|
|
124
|
+
children: [/*#__PURE__*/_jsx(CheckboxComponent, {
|
|
125
|
+
text: node.name,
|
|
126
|
+
onValueChange: _onCheck,
|
|
127
|
+
value: value,
|
|
128
|
+
...checkBoxViewStyleProps
|
|
129
|
+
}), node.children?.length ? /*#__PURE__*/_jsx(ExpandCollapseTouchableComponent, {
|
|
130
|
+
style: styles.nodeExpandableArrowTouchable,
|
|
131
|
+
onPress: _onToggleExpand,
|
|
132
|
+
children: /*#__PURE__*/_jsx(ExpandCollapseIconComponent, {
|
|
133
|
+
isExpanded: isExpanded
|
|
134
|
+
})
|
|
135
|
+
}) : null]
|
|
136
|
+
});
|
|
132
137
|
} else {
|
|
133
|
-
return /*#__PURE__*/
|
|
138
|
+
return /*#__PURE__*/_jsx(CustomNodeRowComponent, {
|
|
134
139
|
node: node,
|
|
135
140
|
level: level,
|
|
136
141
|
checkedValue: value,
|