react-native-tree-multi-select 0.8.5 → 0.8.7
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 +6 -1
- package/lib/commonjs/TreeView.js +4 -4
- package/lib/commonjs/TreeView.js.map +1 -1
- package/lib/commonjs/components/NodeList.js +7 -11
- package/lib/commonjs/components/NodeList.js.map +1 -1
- package/lib/commonjs/helpers/toggleCheckbox.helper.js +3 -3
- package/lib/commonjs/helpers/toggleCheckbox.helper.js.map +1 -1
- package/lib/commonjs/store/global.store.js +1 -35
- package/lib/commonjs/store/global.store.js.map +1 -1
- package/lib/module/TreeView.js +4 -4
- package/lib/module/TreeView.js.map +1 -1
- package/lib/module/components/NodeList.js +7 -9
- package/lib/module/components/NodeList.js.map +1 -1
- package/lib/module/helpers/toggleCheckbox.helper.js +3 -3
- package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
- package/lib/module/store/global.store.js +1 -35
- package/lib/module/store/global.store.js.map +1 -1
- package/lib/typescript/components/NodeList.d.ts.map +1 -1
- package/lib/typescript/store/global.store.d.ts +1 -1
- package/lib/typescript/store/global.store.d.ts.map +1 -1
- package/lib/typescript/types/treeView.types.d.ts +7 -11
- package/lib/typescript/types/treeView.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/TreeView.tsx +5 -5
- package/src/components/NodeList.tsx +7 -10
- package/src/helpers/toggleCheckbox.helper.ts +3 -3
- package/src/store/global.store.ts +3 -38
- package/src/types/treeView.types.ts +8 -12
- package/ios/TreeMultiSelect.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
- package/ios/TreeMultiSelect.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/TreeMultiSelect.xcodeproj/project.xcworkspace/xcuserdata/guest_jj.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/TreeMultiSelect.xcodeproj/xcuserdata/guest_jj.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
package/README.md
CHANGED
|
@@ -50,13 +50,18 @@ export function MyAppScreen(){
|
|
|
50
50
|
treeViewRef.current?.setSearchText(text, ["name"]);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
// Callback functions for check and expand state changes
|
|
53
54
|
const handleSelectionChange = (checkedIds: string[]) => {
|
|
54
55
|
// NOTE: Do something with updated checkedIds here
|
|
55
56
|
};
|
|
56
57
|
const handleExpanded = (expandedIds: string[]) => {
|
|
57
58
|
// NOTE: Do something with updated expandedIds here
|
|
58
59
|
};
|
|
59
|
-
|
|
60
|
+
|
|
61
|
+
// Expand collapse calls using ref
|
|
62
|
+
const expandAllPress = () => treeViewRef.current?.expandAll?.();
|
|
63
|
+
const collapseAllPress = () => treeViewRef.current?.collapseAll?.();
|
|
64
|
+
|
|
60
65
|
// Multi-selection function calls using ref
|
|
61
66
|
const onSelectAllPress = () => treeViewRef.current?.selectAll?.();
|
|
62
67
|
const onUnselectAllPress = () => treeViewRef.current?.unselectAll?.();
|
package/lib/commonjs/TreeView.js
CHANGED
|
@@ -23,7 +23,6 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
23
23
|
ExpandCollapseTouchableComponent
|
|
24
24
|
} = props;
|
|
25
25
|
const {
|
|
26
|
-
cleanUpGlobalSignals,
|
|
27
26
|
expanded,
|
|
28
27
|
updateExpanded,
|
|
29
28
|
globalData,
|
|
@@ -31,7 +30,8 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
31
30
|
searchText,
|
|
32
31
|
updatedSearchText,
|
|
33
32
|
updatedSearchKeys,
|
|
34
|
-
checked
|
|
33
|
+
checked,
|
|
34
|
+
cleanUpGlobalStore
|
|
35
35
|
} = (0, _global.useStore)();
|
|
36
36
|
_react.default.useImperativeHandle(ref, () => ({
|
|
37
37
|
selectAll: _helpers.selectAll,
|
|
@@ -77,9 +77,9 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
|
|
|
77
77
|
}, [getIds, globalData, searchText, updateExpanded]);
|
|
78
78
|
_react.default.useEffect(() => {
|
|
79
79
|
return () => {
|
|
80
|
-
|
|
80
|
+
cleanUpGlobalStore();
|
|
81
81
|
};
|
|
82
|
-
}, [
|
|
82
|
+
}, [cleanUpGlobalStore]);
|
|
83
83
|
return /*#__PURE__*/_react.default.createElement(_NodeList.default, {
|
|
84
84
|
treeFlashListProps: treeFlashListProps,
|
|
85
85
|
checkBoxViewStyleProps: checkBoxViewStyleProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_NodeList","_helpers","_global","_reactNative","obj","__esModule","default","_TreeView","React","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","treeFlashListProps","checkBoxViewStyleProps","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_NodeList","_helpers","_global","_reactNative","obj","__esModule","default","_TreeView","React","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","treeFlashListProps","checkBoxViewStyleProps","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","expanded","updateExpanded","globalData","updateGlobalData","searchText","updatedSearchText","updatedSearchKeys","checked","cleanUpGlobalStore","useStore","useImperativeHandle","selectAll","unselectAll","selectAllFiltered","unselectAllFiltered","expandAll","collapseAll","setSearchText","text","keys","arguments","length","undefined","useEffect","initializeNodeMaps","getIds","useCallback","node","children","id","flatMap","item","Array","from","InteractionManager","runAfterInteractions","Set","createElement","TreeView","memo","exports"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _react =
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _flashList = require("@shopify/flash-list");
|
|
10
10
|
var _global = require("../store/global.store");
|
|
@@ -12,8 +12,6 @@ var _helpers = require("../helpers");
|
|
|
12
12
|
var _CheckboxView = require("./CheckboxView");
|
|
13
13
|
var _CustomExpandCollapseIcon = _interopRequireDefault(require("./CustomExpandCollapseIcon"));
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
15
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
16
|
const NodeList = /*#__PURE__*/_react.default.memo(_NodeList);
|
|
19
17
|
var _default = NodeList;
|
|
@@ -33,9 +31,9 @@ function _NodeList(props) {
|
|
|
33
31
|
searchKeys,
|
|
34
32
|
searchText
|
|
35
33
|
} = (0, _global.useStore)();
|
|
36
|
-
const [filteredTree, setFilteredTree] =
|
|
37
|
-
const [flattenedFilteredNodes, setFlattenedFilteredNodes] =
|
|
38
|
-
|
|
34
|
+
const [filteredTree, setFilteredTree] = _react.default.useState([]);
|
|
35
|
+
const [flattenedFilteredNodes, setFlattenedFilteredNodes] = _react.default.useState([]);
|
|
36
|
+
_react.default.useEffect(() => {
|
|
39
37
|
const searchTrimmed = searchText.trim().toLowerCase();
|
|
40
38
|
const filterTreeData = _nodes => {
|
|
41
39
|
let filtered = [];
|
|
@@ -78,7 +76,7 @@ function _NodeList(props) {
|
|
|
78
76
|
const tempFlattenTreeData = flattenTreeData(filteredTree);
|
|
79
77
|
setFlattenedFilteredNodes(tempFlattenTreeData);
|
|
80
78
|
}, [filteredTree, expanded]);
|
|
81
|
-
|
|
79
|
+
_react.default.useEffect(() => {
|
|
82
80
|
const allLeafIds = [];
|
|
83
81
|
const getLeafNodes = _nodes => {
|
|
84
82
|
for (let node of _nodes) {
|
|
@@ -105,7 +103,6 @@ function _NodeList(props) {
|
|
|
105
103
|
ExpandCollapseTouchableComponent: ExpandCollapseTouchableComponent
|
|
106
104
|
});
|
|
107
105
|
}, [CheckboxComponent, ExpandCollapseIconComponent, ExpandCollapseTouchableComponent, checkBoxViewStyleProps]);
|
|
108
|
-
const keyExtractor = _react.default.useCallback(item => item.id, []);
|
|
109
106
|
return /*#__PURE__*/_react.default.createElement(_flashList.FlashList, _extends({
|
|
110
107
|
estimatedItemSize: 36,
|
|
111
108
|
removeClippedSubviews: true,
|
|
@@ -113,7 +110,6 @@ function _NodeList(props) {
|
|
|
113
110
|
drawDistance: 50,
|
|
114
111
|
data: flattenedFilteredNodes,
|
|
115
112
|
renderItem: nodeRenderer,
|
|
116
|
-
keyExtractor: keyExtractor,
|
|
117
113
|
ListHeaderComponent: /*#__PURE__*/_react.default.createElement(HeaderFooterView, null),
|
|
118
114
|
ListFooterComponent: /*#__PURE__*/_react.default.createElement(HeaderFooterView, null)
|
|
119
115
|
}, treeFlashListProps));
|
|
@@ -152,8 +148,8 @@ function _Node(props) {
|
|
|
152
148
|
const isChecked = checked.has(node.id);
|
|
153
149
|
const isIndeterminate = indeterminate.has(node.id);
|
|
154
150
|
const isExpanded = expanded.has(node.id);
|
|
155
|
-
const [value, setValue] =
|
|
156
|
-
|
|
151
|
+
const [value, setValue] = _react.default.useState(getValue(isChecked, isIndeterminate));
|
|
152
|
+
_react.default.useEffect(() => {
|
|
157
153
|
setValue(getValue(isChecked, isIndeterminate));
|
|
158
154
|
}, [isChecked, isIndeterminate]);
|
|
159
155
|
const _onToggleExpand = _react.default.useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_flashList","_global","_helpers","_CheckboxView","_CustomExpandCollapseIcon","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","NodeList","React","memo","_NodeList","_default","exports","props","treeFlashListProps","checkBoxViewStyleProps","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","expanded","globalData","updatedInnerMostChildrenIds","searchKeys","searchText","useStore","filteredTree","setFilteredTree","useState","flattenedFilteredNodes","setFlattenedFilteredNodes","useEffect","searchTrimmed","trim","toLowerCase","filterTreeData","_nodes","filtered","node","doesNodeContainSearchTerm","push","children","childMatches","tempFilterTree","flattenTreeData","level","undefined","flattened","has","id","tempFlattenTreeData","allLeafIds","getLeafNodes","nodeRenderer","useCallback","_ref","item","createElement","Node","FlashList","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","data","renderItem","ListHeaderComponent","HeaderFooterView","ListFooterComponent","View","style","styles","defaultHeaderFooter","getValue","isChecked","isIndeterminate","_Node","_node$children","CustomExpandCollapseIcon","CheckboxView","TouchableOpacity","checked","indeterminate","isExpanded","value","setValue","_onToggleExpand","handleToggleExpand","_onCheck","toggleCheckboxes","nodeParentView","marginLeft","nodeCheckboxAndArrowRow","text","name","onValueChange","nodeExpandableArrowTouchable","onPress","StyleSheet","create","padding","flex","flexDirection","alignItems","minWidth"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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"}
|
|
@@ -115,15 +115,15 @@ function toggleCheckboxes(ids, forceCheck) {
|
|
|
115
115
|
*/
|
|
116
116
|
const updateNodeAndAncestorsState = nodeId => {
|
|
117
117
|
const node = nodeMap.get(nodeId);
|
|
118
|
-
const hasOnlyOneChild = (node === null || node === void 0 ? void 0 : node.children) && node.children.length === 1;
|
|
119
118
|
|
|
120
119
|
// Update the node's state based on the state of its descendants.
|
|
121
120
|
if (areAllDescendantsChecked(nodeId)) {
|
|
122
121
|
tempChecked.add(nodeId);
|
|
123
122
|
tempIndeterminate.delete(nodeId);
|
|
124
123
|
} else if (areAnyDescendantsChecked(nodeId)) {
|
|
125
|
-
if
|
|
126
|
-
|
|
124
|
+
// Condition to check if all direct children and all descendants are checked.
|
|
125
|
+
if (node !== null && node !== void 0 && node.children && node.children.every(childNode => areAllDescendantsChecked(childNode.id))) {
|
|
126
|
+
// If a node's all direct children and all descendants are checked,
|
|
127
127
|
// remove this node from both checked and indeterminate sets.
|
|
128
128
|
tempChecked.delete(nodeId);
|
|
129
129
|
tempIndeterminate.delete(nodeId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_global","require","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","useStore","getState","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","toggleNodeAndChildren","nodeId","isChecked","_node$children","add","delete","node","get","children","forEach","childNode","id","areAllDescendantsChecked","has","allChecked","set","areAnyDescendantsChecked","anyChecked","updateNodeAndAncestorsState","
|
|
1
|
+
{"version":3,"names":["_global","require","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","useStore","getState","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","toggleNodeAndChildren","nodeId","isChecked","_node$children","add","delete","node","get","children","forEach","childNode","id","areAllDescendantsChecked","has","allChecked","set","areAnyDescendantsChecked","anyChecked","updateNodeAndAncestorsState","every","undefined","currentNodeId"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ const useStore = (0, _zustand.create)(set => ({
|
|
|
42
42
|
updatedInnerMostChildrenIds: innerMostChildrenIds => set({
|
|
43
43
|
innerMostChildrenIds
|
|
44
44
|
}),
|
|
45
|
-
|
|
45
|
+
cleanUpGlobalStore: () => set({
|
|
46
46
|
checked: new Set(),
|
|
47
47
|
indeterminate: new Set(),
|
|
48
48
|
expanded: new Set(),
|
|
@@ -54,39 +54,5 @@ const useStore = (0, _zustand.create)(set => ({
|
|
|
54
54
|
innerMostChildrenIds: []
|
|
55
55
|
})
|
|
56
56
|
}));
|
|
57
|
-
|
|
58
|
-
// export const state = signal<__CheckBoxState__>({
|
|
59
|
-
// checked: new Set(),
|
|
60
|
-
// indeterminate: new Set(),
|
|
61
|
-
// });
|
|
62
|
-
// export const expanded = signal(new Set<string>());
|
|
63
|
-
|
|
64
|
-
// export const globalData = signal<TreeNode[]>([]);
|
|
65
|
-
|
|
66
|
-
// export const nodeMap = signal(new Map<string, TreeNode>());
|
|
67
|
-
// export const childToParentMap = signal(new Map<string, string>());
|
|
68
|
-
|
|
69
|
-
// export const searchText = signal("");
|
|
70
|
-
// export const searchKeys = signal<string[]>([""]);
|
|
71
|
-
|
|
72
|
-
// export const innerMostChildrenIds = signal<string[]>([]);
|
|
73
|
-
|
|
74
|
-
// export function cleanUpGlobalSignals() {
|
|
75
|
-
// state.value = ({
|
|
76
|
-
// checked: new Set(),
|
|
77
|
-
// indeterminate: new Set(),
|
|
78
|
-
// });
|
|
79
|
-
// expanded.value = new Set<string>();
|
|
80
|
-
|
|
81
|
-
// globalData.value = [];
|
|
82
|
-
|
|
83
|
-
// nodeMap.value = new Map<string, TreeNode>();
|
|
84
|
-
// childToParentMap.value = new Map<string, string>();
|
|
85
|
-
|
|
86
|
-
// searchText.value = "";
|
|
87
|
-
// searchKeys.value = [];
|
|
88
|
-
|
|
89
|
-
// innerMostChildrenIds.value = [];
|
|
90
|
-
// }
|
|
91
57
|
exports.useStore = useStore;
|
|
92
58
|
//# sourceMappingURL=global.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_zustand","require","useStore","create","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","globalData","updateGlobalData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updatedSearchText","searchKeys","updatedSearchKeys","innerMostChildrenIds","updatedInnerMostChildrenIds","
|
|
1
|
+
{"version":3,"names":["_zustand","require","useStore","create","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","globalData","updateGlobalData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updatedSearchText","searchKeys","updatedSearchKeys","innerMostChildrenIds","updatedInnerMostChildrenIds","cleanUpGlobalStore","exports"],"sourceRoot":"../../../src","sources":["store/global.store.ts"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAiCO,MAAMC,QAAQ,GAAG,IAAAC,eAAM,EAAeC,GAAG,KAAM;EAClDC,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,UAAU,EAAE,EAAE;EACdC,gBAAgB,EAAGD,UAAsB,IAAKR,GAAG,CAAC;IAAEQ;EAAW,CAAC,CAAC;EAEjEE,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,iBAAiB,EAAGD,UAAkB,IAAKf,GAAG,CAAC;IAAEe;EAAW,CAAC,CAAC;EAE9DE,UAAU,EAAE,CAAC,EAAE,CAAC;EAChBC,iBAAiB,EAAGD,UAAoB,IAAKjB,GAAG,CAAC;IAAEiB;EAAW,CAAC,CAAC;EAEhEE,oBAAoB,EAAE,EAAE;EACxBC,2BAA2B,EAAGD,oBAA8B,IAAKnB,GAAG,CAAC;IAAEmB;EAAqB,CAAC,CAAC;EAE9FE,kBAAkB,EAAEA,CAAA,KAChBrB,GAAG,CAAC;IACAC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;IAClBE,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;IACxBI,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;IAC3BM,UAAU,EAAE,EAAE;IACdE,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;EAC1B,CAAC;AACT,CAAC,CAAC,CAAC;AAACG,OAAA,CAAAxB,QAAA,GAAAA,QAAA"}
|
package/lib/module/TreeView.js
CHANGED
|
@@ -16,7 +16,6 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
16
16
|
ExpandCollapseTouchableComponent
|
|
17
17
|
} = props;
|
|
18
18
|
const {
|
|
19
|
-
cleanUpGlobalSignals,
|
|
20
19
|
expanded,
|
|
21
20
|
updateExpanded,
|
|
22
21
|
globalData,
|
|
@@ -24,7 +23,8 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
24
23
|
searchText,
|
|
25
24
|
updatedSearchText,
|
|
26
25
|
updatedSearchKeys,
|
|
27
|
-
checked
|
|
26
|
+
checked,
|
|
27
|
+
cleanUpGlobalStore
|
|
28
28
|
} = useStore();
|
|
29
29
|
React.useImperativeHandle(ref, () => ({
|
|
30
30
|
selectAll,
|
|
@@ -70,9 +70,9 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
70
70
|
}, [getIds, globalData, searchText, updateExpanded]);
|
|
71
71
|
React.useEffect(() => {
|
|
72
72
|
return () => {
|
|
73
|
-
|
|
73
|
+
cleanUpGlobalStore();
|
|
74
74
|
};
|
|
75
|
-
}, [
|
|
75
|
+
}, [cleanUpGlobalStore]);
|
|
76
76
|
return /*#__PURE__*/React.createElement(NodeList, {
|
|
77
77
|
treeFlashListProps: treeFlashListProps,
|
|
78
78
|
checkBoxViewStyleProps: checkBoxViewStyleProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","useStore","InteractionManager","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","treeFlashListProps","checkBoxViewStyleProps","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","
|
|
1
|
+
{"version":3,"names":["React","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","useStore","InteractionManager","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","treeFlashListProps","checkBoxViewStyleProps","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","expanded","updateExpanded","globalData","updateGlobalData","searchText","updatedSearchText","updatedSearchKeys","checked","cleanUpGlobalStore","useImperativeHandle","setSearchText","text","keys","arguments","length","undefined","useEffect","getIds","useCallback","node","children","id","flatMap","item","Array","from","runAfterInteractions","Set","createElement","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
import React
|
|
2
|
+
import React from "react";
|
|
3
3
|
import { View, StyleSheet, TouchableOpacity } from "react-native";
|
|
4
4
|
import { FlashList } from "@shopify/flash-list";
|
|
5
5
|
import { useStore } from "../store/global.store";
|
|
@@ -23,9 +23,9 @@ function _NodeList(props) {
|
|
|
23
23
|
searchKeys,
|
|
24
24
|
searchText
|
|
25
25
|
} = useStore();
|
|
26
|
-
const [filteredTree, setFilteredTree] = useState([]);
|
|
27
|
-
const [flattenedFilteredNodes, setFlattenedFilteredNodes] = useState([]);
|
|
28
|
-
useEffect(() => {
|
|
26
|
+
const [filteredTree, setFilteredTree] = React.useState([]);
|
|
27
|
+
const [flattenedFilteredNodes, setFlattenedFilteredNodes] = React.useState([]);
|
|
28
|
+
React.useEffect(() => {
|
|
29
29
|
const searchTrimmed = searchText.trim().toLowerCase();
|
|
30
30
|
const filterTreeData = _nodes => {
|
|
31
31
|
let filtered = [];
|
|
@@ -68,7 +68,7 @@ function _NodeList(props) {
|
|
|
68
68
|
const tempFlattenTreeData = flattenTreeData(filteredTree);
|
|
69
69
|
setFlattenedFilteredNodes(tempFlattenTreeData);
|
|
70
70
|
}, [filteredTree, expanded]);
|
|
71
|
-
useEffect(() => {
|
|
71
|
+
React.useEffect(() => {
|
|
72
72
|
const allLeafIds = [];
|
|
73
73
|
const getLeafNodes = _nodes => {
|
|
74
74
|
for (let node of _nodes) {
|
|
@@ -95,7 +95,6 @@ function _NodeList(props) {
|
|
|
95
95
|
ExpandCollapseTouchableComponent: ExpandCollapseTouchableComponent
|
|
96
96
|
});
|
|
97
97
|
}, [CheckboxComponent, ExpandCollapseIconComponent, ExpandCollapseTouchableComponent, checkBoxViewStyleProps]);
|
|
98
|
-
const keyExtractor = React.useCallback(item => item.id, []);
|
|
99
98
|
return /*#__PURE__*/React.createElement(FlashList, _extends({
|
|
100
99
|
estimatedItemSize: 36,
|
|
101
100
|
removeClippedSubviews: true,
|
|
@@ -103,7 +102,6 @@ function _NodeList(props) {
|
|
|
103
102
|
drawDistance: 50,
|
|
104
103
|
data: flattenedFilteredNodes,
|
|
105
104
|
renderItem: nodeRenderer,
|
|
106
|
-
keyExtractor: keyExtractor,
|
|
107
105
|
ListHeaderComponent: /*#__PURE__*/React.createElement(HeaderFooterView, null),
|
|
108
106
|
ListFooterComponent: /*#__PURE__*/React.createElement(HeaderFooterView, null)
|
|
109
107
|
}, treeFlashListProps));
|
|
@@ -142,8 +140,8 @@ function _Node(props) {
|
|
|
142
140
|
const isChecked = checked.has(node.id);
|
|
143
141
|
const isIndeterminate = indeterminate.has(node.id);
|
|
144
142
|
const isExpanded = expanded.has(node.id);
|
|
145
|
-
const [value, setValue] = useState(getValue(isChecked, isIndeterminate));
|
|
146
|
-
useEffect(() => {
|
|
143
|
+
const [value, setValue] = React.useState(getValue(isChecked, isIndeterminate));
|
|
144
|
+
React.useEffect(() => {
|
|
147
145
|
setValue(getValue(isChecked, isIndeterminate));
|
|
148
146
|
}, [isChecked, isIndeterminate]);
|
|
149
147
|
const _onToggleExpand = React.useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","View","StyleSheet","TouchableOpacity","FlashList","useStore","doesNodeContainSearchTerm","handleToggleExpand","toggleCheckboxes","CheckboxView","CustomExpandCollapseIcon","NodeList","memo","_NodeList","props","treeFlashListProps","checkBoxViewStyleProps","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","expanded","globalData","updatedInnerMostChildrenIds","searchKeys","searchText","filteredTree","setFilteredTree","useState","flattenedFilteredNodes","setFlattenedFilteredNodes","useEffect","searchTrimmed","trim","toLowerCase","filterTreeData","_nodes","filtered","node","push","children","childMatches","length","tempFilterTree","flattenTreeData","level","arguments","undefined","flattened","has","id","tempFlattenTreeData","allLeafIds","getLeafNodes","nodeRenderer","useCallback","_ref","item","createElement","Node","_extends","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","data","renderItem","ListHeaderComponent","HeaderFooterView","ListFooterComponent","style","styles","defaultHeaderFooter","getValue","isChecked","isIndeterminate","_Node","_node$children","checked","indeterminate","isExpanded","value","setValue","_onToggleExpand","_onCheck","nodeParentView","marginLeft","nodeCheckboxAndArrowRow","text","name","onValueChange","nodeExpandableArrowTouchable","onPress","create","padding","flex","flexDirection","alignItems","minWidth"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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"}
|
|
@@ -110,15 +110,15 @@ export function toggleCheckboxes(ids, forceCheck) {
|
|
|
110
110
|
*/
|
|
111
111
|
const updateNodeAndAncestorsState = nodeId => {
|
|
112
112
|
const node = nodeMap.get(nodeId);
|
|
113
|
-
const hasOnlyOneChild = (node === null || node === void 0 ? void 0 : node.children) && node.children.length === 1;
|
|
114
113
|
|
|
115
114
|
// Update the node's state based on the state of its descendants.
|
|
116
115
|
if (areAllDescendantsChecked(nodeId)) {
|
|
117
116
|
tempChecked.add(nodeId);
|
|
118
117
|
tempIndeterminate.delete(nodeId);
|
|
119
118
|
} else if (areAnyDescendantsChecked(nodeId)) {
|
|
120
|
-
if
|
|
121
|
-
|
|
119
|
+
// Condition to check if all direct children and all descendants are checked.
|
|
120
|
+
if (node !== null && node !== void 0 && node.children && node.children.every(childNode => areAllDescendantsChecked(childNode.id))) {
|
|
121
|
+
// If a node's all direct children and all descendants are checked,
|
|
122
122
|
// remove this node from both checked and indeterminate sets.
|
|
123
123
|
tempChecked.delete(nodeId);
|
|
124
124
|
tempIndeterminate.delete(nodeId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useStore","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","getState","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","toggleNodeAndChildren","nodeId","isChecked","_node$children","add","delete","node","get","children","forEach","childNode","id","areAllDescendantsChecked","has","allChecked","set","areAnyDescendantsChecked","anyChecked","updateNodeAndAncestorsState","
|
|
1
|
+
{"version":3,"names":["useStore","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","getState","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","toggleNodeAndChildren","nodeId","isChecked","_node$children","add","delete","node","get","children","forEach","childNode","id","areAllDescendantsChecked","has","allChecked","set","areAnyDescendantsChecked","anyChecked","updateNodeAndAncestorsState","every","undefined","currentNodeId"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ export const useStore = create(set => ({
|
|
|
36
36
|
updatedInnerMostChildrenIds: innerMostChildrenIds => set({
|
|
37
37
|
innerMostChildrenIds
|
|
38
38
|
}),
|
|
39
|
-
|
|
39
|
+
cleanUpGlobalStore: () => set({
|
|
40
40
|
checked: new Set(),
|
|
41
41
|
indeterminate: new Set(),
|
|
42
42
|
expanded: new Set(),
|
|
@@ -48,38 +48,4 @@ export const useStore = create(set => ({
|
|
|
48
48
|
innerMostChildrenIds: []
|
|
49
49
|
})
|
|
50
50
|
}));
|
|
51
|
-
|
|
52
|
-
// export const state = signal<__CheckBoxState__>({
|
|
53
|
-
// checked: new Set(),
|
|
54
|
-
// indeterminate: new Set(),
|
|
55
|
-
// });
|
|
56
|
-
// export const expanded = signal(new Set<string>());
|
|
57
|
-
|
|
58
|
-
// export const globalData = signal<TreeNode[]>([]);
|
|
59
|
-
|
|
60
|
-
// export const nodeMap = signal(new Map<string, TreeNode>());
|
|
61
|
-
// export const childToParentMap = signal(new Map<string, string>());
|
|
62
|
-
|
|
63
|
-
// export const searchText = signal("");
|
|
64
|
-
// export const searchKeys = signal<string[]>([""]);
|
|
65
|
-
|
|
66
|
-
// export const innerMostChildrenIds = signal<string[]>([]);
|
|
67
|
-
|
|
68
|
-
// export function cleanUpGlobalSignals() {
|
|
69
|
-
// state.value = ({
|
|
70
|
-
// checked: new Set(),
|
|
71
|
-
// indeterminate: new Set(),
|
|
72
|
-
// });
|
|
73
|
-
// expanded.value = new Set<string>();
|
|
74
|
-
|
|
75
|
-
// globalData.value = [];
|
|
76
|
-
|
|
77
|
-
// nodeMap.value = new Map<string, TreeNode>();
|
|
78
|
-
// childToParentMap.value = new Map<string, string>();
|
|
79
|
-
|
|
80
|
-
// searchText.value = "";
|
|
81
|
-
// searchKeys.value = [];
|
|
82
|
-
|
|
83
|
-
// innerMostChildrenIds.value = [];
|
|
84
|
-
// }
|
|
85
51
|
//# sourceMappingURL=global.store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","useStore","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","globalData","updateGlobalData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updatedSearchText","searchKeys","updatedSearchKeys","innerMostChildrenIds","updatedInnerMostChildrenIds","
|
|
1
|
+
{"version":3,"names":["create","useStore","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","globalData","updateGlobalData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updatedSearchText","searchKeys","updatedSearchKeys","innerMostChildrenIds","updatedInnerMostChildrenIds","cleanUpGlobalStore"],"sourceRoot":"../../../src","sources":["store/global.store.ts"],"mappings":"AAEA,SAASA,MAAM,QAAQ,SAAS;AAiChC,OAAO,MAAMC,QAAQ,GAAGD,MAAM,CAAeE,GAAG,KAAM;EAClDC,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,UAAU,EAAE,EAAE;EACdC,gBAAgB,EAAGD,UAAsB,IAAKR,GAAG,CAAC;IAAEQ;EAAW,CAAC,CAAC;EAEjEE,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,iBAAiB,EAAGD,UAAkB,IAAKf,GAAG,CAAC;IAAEe;EAAW,CAAC,CAAC;EAE9DE,UAAU,EAAE,CAAC,EAAE,CAAC;EAChBC,iBAAiB,EAAGD,UAAoB,IAAKjB,GAAG,CAAC;IAAEiB;EAAW,CAAC,CAAC;EAEhEE,oBAAoB,EAAE,EAAE;EACxBC,2BAA2B,EAAGD,oBAA8B,IAAKnB,GAAG,CAAC;IAAEmB;EAAqB,CAAC,CAAC;EAE9FE,kBAAkB,EAAEA,CAAA,KAChBrB,GAAG,CAAC;IACAC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;IAClBE,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;IACxBI,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;IAC3BM,UAAU,EAAE,EAAE;IACdE,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;EAC1B,CAAC;AACT,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKH,KAAK,qBAAqB,EAC7B,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACR,iBAAiB,EAIjB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EAEpB,MAAM,yBAAyB,CAAC;AAWjC,UAAU,aAAa;IACnB,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAEhD,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;CACjF;AAED,QAAA,MAAM,QAAQ,6CAAwB,CAAC;AACvC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,KAAK,EAAE,aAAa,qBAwHtC"}
|
|
@@ -18,7 +18,7 @@ export type GlobalState = {
|
|
|
18
18
|
updatedSearchKeys: (searchKeys: string[]) => void;
|
|
19
19
|
innerMostChildrenIds: string[];
|
|
20
20
|
updatedInnerMostChildrenIds: (innerMostChildrenIds: string[]) => void;
|
|
21
|
-
|
|
21
|
+
cleanUpGlobalStore: () => void;
|
|
22
22
|
};
|
|
23
23
|
export declare const useStore: import("zustand").UseBoundStore<import("zustand").StoreApi<GlobalState>>;
|
|
24
24
|
//# sourceMappingURL=global.store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.store.d.ts","sourceRoot":"","sources":["../../../src/store/global.store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE9C,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE1D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAEhD,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,gBAAgB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAEnD,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;IAExD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAExE,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAElD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,2BAA2B,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEtE,
|
|
1
|
+
{"version":3,"file":"global.store.d.ts","sourceRoot":"","sources":["../../../src/store/global.store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE9C,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE1D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAEhD,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,gBAAgB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAEnD,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;IAExD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAExE,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAElD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,2BAA2B,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEtE,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,QAAQ,0EAwClB,CAAC"}
|
|
@@ -12,14 +12,10 @@ export interface TreeNode {
|
|
|
12
12
|
children?: TreeNode[];
|
|
13
13
|
[key: string]: any;
|
|
14
14
|
}
|
|
15
|
-
export interface __FlattenedTreeNode__ {
|
|
16
|
-
id: string;
|
|
17
|
-
name: string;
|
|
18
|
-
children?: TreeNode[];
|
|
15
|
+
export interface __FlattenedTreeNode__ extends TreeNode {
|
|
19
16
|
level?: number;
|
|
20
|
-
[key: string]: any;
|
|
21
17
|
}
|
|
22
|
-
export type TreeFlatListProps<ItemT = any> = Omit<FlashListProps<ItemT>, "data" | "renderItem"
|
|
18
|
+
export type TreeFlatListProps<ItemT = any> = Omit<FlashListProps<ItemT>, "data" | "renderItem">;
|
|
23
19
|
export interface TreeViewProps {
|
|
24
20
|
data: TreeNode[];
|
|
25
21
|
onCheck?: (checkedIds: string[]) => void;
|
|
@@ -32,11 +28,6 @@ export interface TreeViewProps {
|
|
|
32
28
|
ExpandCollapseTouchableComponent?: React.ComponentType<TouchableOpacityProps>;
|
|
33
29
|
}
|
|
34
30
|
type CheckboxProps = Omit<RNPaperCheckboxAndroidProps, "onPress" | "status">;
|
|
35
|
-
export interface CheckBoxViewProps extends CheckBoxViewStyleProps {
|
|
36
|
-
value: CheckboxValueType;
|
|
37
|
-
onValueChange: (value: boolean) => void;
|
|
38
|
-
text: string;
|
|
39
|
-
}
|
|
40
31
|
export interface CheckBoxViewStyleProps {
|
|
41
32
|
outermostParentViewStyle?: StyleProp<ViewStyle> | {};
|
|
42
33
|
checkboxParentViewStyle?: StyleProp<ViewStyle> | {};
|
|
@@ -44,6 +35,11 @@ export interface CheckBoxViewStyleProps {
|
|
|
44
35
|
checkboxProps?: CheckboxProps;
|
|
45
36
|
textProps?: TextProps;
|
|
46
37
|
}
|
|
38
|
+
export interface CheckBoxViewProps extends CheckBoxViewStyleProps {
|
|
39
|
+
value: CheckboxValueType;
|
|
40
|
+
onValueChange: (value: boolean) => void;
|
|
41
|
+
text: string;
|
|
42
|
+
}
|
|
47
43
|
export interface TreeViewRef {
|
|
48
44
|
selectAll: () => void;
|
|
49
45
|
unselectAll: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../src/types/treeView.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3F,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,
|
|
1
|
+
{"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../src/types/treeView.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3F,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,aAAa;IAC1B,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEjB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;IACvC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAEhD,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;CACjF;AAED,KAAK,aAAa,GAAG,IAAI,CAAC,2BAA2B,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IAEnC,wBAAwB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IACrD,uBAAuB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IACpD,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IAG/C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC7D,KAAK,EAAE,iBAAiB,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAEhC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtE"}
|
package/package.json
CHANGED
package/src/TreeView.tsx
CHANGED
|
@@ -36,8 +36,6 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
36
36
|
} = props;
|
|
37
37
|
|
|
38
38
|
const {
|
|
39
|
-
cleanUpGlobalSignals,
|
|
40
|
-
|
|
41
39
|
expanded,
|
|
42
40
|
updateExpanded,
|
|
43
41
|
|
|
@@ -49,7 +47,9 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
49
47
|
|
|
50
48
|
updatedSearchKeys,
|
|
51
49
|
|
|
52
|
-
checked
|
|
50
|
+
checked,
|
|
51
|
+
|
|
52
|
+
cleanUpGlobalStore,
|
|
53
53
|
} = useStore();
|
|
54
54
|
|
|
55
55
|
React.useImperativeHandle(ref, () => ({
|
|
@@ -110,9 +110,9 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
|
|
|
110
110
|
|
|
111
111
|
React.useEffect(() => {
|
|
112
112
|
return () => {
|
|
113
|
-
|
|
113
|
+
cleanUpGlobalStore();
|
|
114
114
|
};
|
|
115
|
-
}, [
|
|
115
|
+
}, [cleanUpGlobalStore]);
|
|
116
116
|
|
|
117
117
|
return (
|
|
118
118
|
<NodeList
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import {
|
|
3
3
|
View,
|
|
4
4
|
StyleSheet,
|
|
@@ -58,11 +58,11 @@ function _NodeList(props: NodeListProps) {
|
|
|
58
58
|
searchText
|
|
59
59
|
} = useStore();
|
|
60
60
|
|
|
61
|
-
const [filteredTree, setFilteredTree] = useState<TreeNode[]>([]);
|
|
61
|
+
const [filteredTree, setFilteredTree] = React.useState<TreeNode[]>([]);
|
|
62
62
|
const [flattenedFilteredNodes, setFlattenedFilteredNodes]
|
|
63
|
-
= useState<__FlattenedTreeNode__[]>([]);
|
|
63
|
+
= React.useState<__FlattenedTreeNode__[]>([]);
|
|
64
64
|
|
|
65
|
-
useEffect(() => {
|
|
65
|
+
React.useEffect(() => {
|
|
66
66
|
const searchTrimmed = searchText.trim().toLowerCase();
|
|
67
67
|
|
|
68
68
|
const filterTreeData = (_nodes: TreeNode[]): TreeNode[] => {
|
|
@@ -108,7 +108,7 @@ function _NodeList(props: NodeListProps) {
|
|
|
108
108
|
setFlattenedFilteredNodes(tempFlattenTreeData);
|
|
109
109
|
}, [filteredTree, expanded]);
|
|
110
110
|
|
|
111
|
-
useEffect(() => {
|
|
111
|
+
React.useEffect(() => {
|
|
112
112
|
const allLeafIds: string[] = [];
|
|
113
113
|
const getLeafNodes = (_nodes: TreeNode[]) => {
|
|
114
114
|
for (let node of _nodes) {
|
|
@@ -147,8 +147,6 @@ function _NodeList(props: NodeListProps) {
|
|
|
147
147
|
checkBoxViewStyleProps
|
|
148
148
|
]);
|
|
149
149
|
|
|
150
|
-
const keyExtractor = React.useCallback((item: TreeNode) => item.id, []);
|
|
151
|
-
|
|
152
150
|
return (
|
|
153
151
|
<FlashList
|
|
154
152
|
estimatedItemSize={36}
|
|
@@ -157,7 +155,6 @@ function _NodeList(props: NodeListProps) {
|
|
|
157
155
|
drawDistance={50}
|
|
158
156
|
data={flattenedFilteredNodes}
|
|
159
157
|
renderItem={nodeRenderer}
|
|
160
|
-
keyExtractor={keyExtractor}
|
|
161
158
|
ListHeaderComponent={<HeaderFooterView />}
|
|
162
159
|
ListFooterComponent={<HeaderFooterView />}
|
|
163
160
|
{...treeFlashListProps}
|
|
@@ -214,9 +211,9 @@ function _Node(props: NodeProps) {
|
|
|
214
211
|
const isIndeterminate = indeterminate.has(node.id);
|
|
215
212
|
const isExpanded = expanded.has(node.id);
|
|
216
213
|
|
|
217
|
-
const [value, setValue] = useState(getValue(isChecked, isIndeterminate));
|
|
214
|
+
const [value, setValue] = React.useState(getValue(isChecked, isIndeterminate));
|
|
218
215
|
|
|
219
|
-
useEffect(() => {
|
|
216
|
+
React.useEffect(() => {
|
|
220
217
|
setValue(getValue(isChecked, isIndeterminate));
|
|
221
218
|
}, [isChecked, isIndeterminate]);
|
|
222
219
|
|
|
@@ -113,15 +113,15 @@ export function toggleCheckboxes(ids: string[], forceCheck?: boolean) {
|
|
|
113
113
|
*/
|
|
114
114
|
const updateNodeAndAncestorsState = (nodeId: string) => {
|
|
115
115
|
const node = nodeMap.get(nodeId);
|
|
116
|
-
const hasOnlyOneChild = node?.children && node.children.length === 1;
|
|
117
116
|
|
|
118
117
|
// Update the node's state based on the state of its descendants.
|
|
119
118
|
if (areAllDescendantsChecked(nodeId)) {
|
|
120
119
|
tempChecked.add(nodeId);
|
|
121
120
|
tempIndeterminate.delete(nodeId);
|
|
122
121
|
} else if (areAnyDescendantsChecked(nodeId)) {
|
|
123
|
-
if
|
|
124
|
-
|
|
122
|
+
// Condition to check if all direct children and all descendants are checked.
|
|
123
|
+
if (node?.children && node.children.every(childNode => areAllDescendantsChecked(childNode.id))) {
|
|
124
|
+
// If a node's all direct children and all descendants are checked,
|
|
125
125
|
// remove this node from both checked and indeterminate sets.
|
|
126
126
|
tempChecked.delete(nodeId);
|
|
127
127
|
tempIndeterminate.delete(nodeId);
|
|
@@ -30,7 +30,7 @@ export type GlobalState = {
|
|
|
30
30
|
innerMostChildrenIds: string[];
|
|
31
31
|
updatedInnerMostChildrenIds: (innerMostChildrenIds: string[]) => void;
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
cleanUpGlobalStore: () => void;
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
export const useStore = create<GlobalState>((set) => ({
|
|
@@ -61,7 +61,7 @@ export const useStore = create<GlobalState>((set) => ({
|
|
|
61
61
|
innerMostChildrenIds: [],
|
|
62
62
|
updatedInnerMostChildrenIds: (innerMostChildrenIds: string[]) => set({ innerMostChildrenIds }),
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
cleanUpGlobalStore: () =>
|
|
65
65
|
set({
|
|
66
66
|
checked: new Set(),
|
|
67
67
|
indeterminate: new Set(),
|
|
@@ -73,39 +73,4 @@ export const useStore = create<GlobalState>((set) => ({
|
|
|
73
73
|
searchKeys: [""],
|
|
74
74
|
innerMostChildrenIds: [],
|
|
75
75
|
}),
|
|
76
|
-
}));
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// export const state = signal<__CheckBoxState__>({
|
|
80
|
-
// checked: new Set(),
|
|
81
|
-
// indeterminate: new Set(),
|
|
82
|
-
// });
|
|
83
|
-
// export const expanded = signal(new Set<string>());
|
|
84
|
-
|
|
85
|
-
// export const globalData = signal<TreeNode[]>([]);
|
|
86
|
-
|
|
87
|
-
// export const nodeMap = signal(new Map<string, TreeNode>());
|
|
88
|
-
// export const childToParentMap = signal(new Map<string, string>());
|
|
89
|
-
|
|
90
|
-
// export const searchText = signal("");
|
|
91
|
-
// export const searchKeys = signal<string[]>([""]);
|
|
92
|
-
|
|
93
|
-
// export const innerMostChildrenIds = signal<string[]>([]);
|
|
94
|
-
|
|
95
|
-
// export function cleanUpGlobalSignals() {
|
|
96
|
-
// state.value = ({
|
|
97
|
-
// checked: new Set(),
|
|
98
|
-
// indeterminate: new Set(),
|
|
99
|
-
// });
|
|
100
|
-
// expanded.value = new Set<string>();
|
|
101
|
-
|
|
102
|
-
// globalData.value = [];
|
|
103
|
-
|
|
104
|
-
// nodeMap.value = new Map<string, TreeNode>();
|
|
105
|
-
// childToParentMap.value = new Map<string, string>();
|
|
106
|
-
|
|
107
|
-
// searchText.value = "";
|
|
108
|
-
// searchKeys.value = [];
|
|
109
|
-
|
|
110
|
-
// innerMostChildrenIds.value = [];
|
|
111
|
-
// }
|
|
76
|
+
}));
|
|
@@ -17,19 +17,15 @@ export interface TreeNode {
|
|
|
17
17
|
[key: string]: any;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export interface __FlattenedTreeNode__ {
|
|
21
|
-
id: string;
|
|
22
|
-
name: string;
|
|
23
|
-
children?: TreeNode[];
|
|
20
|
+
export interface __FlattenedTreeNode__ extends TreeNode {
|
|
24
21
|
level?: number;
|
|
25
|
-
[key: string]: any;
|
|
26
22
|
}
|
|
27
23
|
|
|
24
|
+
// Remove non-modifiable keys
|
|
28
25
|
export type TreeFlatListProps<ItemT = any> = Omit<
|
|
29
26
|
FlashListProps<ItemT>,
|
|
30
27
|
"data"
|
|
31
28
|
| "renderItem"
|
|
32
|
-
| "keyExtractor"
|
|
33
29
|
>;
|
|
34
30
|
|
|
35
31
|
export interface TreeViewProps {
|
|
@@ -50,12 +46,6 @@ export interface TreeViewProps {
|
|
|
50
46
|
|
|
51
47
|
type CheckboxProps = Omit<RNPaperCheckboxAndroidProps, "onPress" | "status">;
|
|
52
48
|
|
|
53
|
-
export interface CheckBoxViewProps extends CheckBoxViewStyleProps {
|
|
54
|
-
value: CheckboxValueType;
|
|
55
|
-
onValueChange: (value: boolean) => void;
|
|
56
|
-
text: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
49
|
export interface CheckBoxViewStyleProps {
|
|
60
50
|
// Optional style modifiers
|
|
61
51
|
outermostParentViewStyle?: StyleProp<ViewStyle> | {};
|
|
@@ -67,6 +57,12 @@ export interface CheckBoxViewStyleProps {
|
|
|
67
57
|
textProps?: TextProps;
|
|
68
58
|
}
|
|
69
59
|
|
|
60
|
+
export interface CheckBoxViewProps extends CheckBoxViewStyleProps {
|
|
61
|
+
value: CheckboxValueType;
|
|
62
|
+
onValueChange: (value: boolean) => void;
|
|
63
|
+
text: string;
|
|
64
|
+
}
|
|
65
|
+
|
|
70
66
|
export interface TreeViewRef {
|
|
71
67
|
selectAll: () => void;
|
|
72
68
|
unselectAll: () => void;
|
|
Binary file
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>SchemeUserState</key>
|
|
6
|
-
<dict>
|
|
7
|
-
<key>TreeMultiSelect.xcscheme_^#shared#^_</key>
|
|
8
|
-
<dict>
|
|
9
|
-
<key>orderHint</key>
|
|
10
|
-
<integer>0</integer>
|
|
11
|
-
</dict>
|
|
12
|
-
</dict>
|
|
13
|
-
</dict>
|
|
14
|
-
</plist>
|