playbook_ui 12.26.0.pre.alpha.multiselectfixes798 → 12.26.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 885259e20b787892699275c0691bde8b5e63bf0b010d7e447e51e945fc5f23f8
4
- data.tar.gz: 8ca06c90d70b8d2e5822a4be0b1882d7e22e847c72e0bb28d8afd4e520d6b00b
3
+ metadata.gz: f05ba004408818dfcba9bd10157c3c88af1dd4d310795c061f333b5945fc4f5a
4
+ data.tar.gz: e0634afd89ddd77122ed2a6fedf1a0af05dbc0a07e93dccae55b1e2227303cbc
5
5
  SHA512:
6
- metadata.gz: cfc65879ed3c5beb563456c3bc791a8ad1335292b5448ecdfbcb90b8c72bbe1d2d9a275c11ecccea51309d9ccd727a2f09f29120468d9f646f76c7948f35377b
7
- data.tar.gz: 0b41fb441055d6619d7d8ff5391a4e1f979df876a0ad04ec3ee350f8a883ae6ae8ca223fd0ca9c39a41f2e2aa7e6cc82136affd88922d9e956140f64f61b6b4b
6
+ metadata.gz: d9c746e3c5e9e738c378c47f109c3c7ac8f069da5d04fca517dc58128053d6b02a75b0ba2d244d1f070348f856d8348438721f59708afd9b9be90ba82f66267f
7
+ data.tar.gz: '050496ad839d51a4fc1e6440d9356f578cb3613b788770ffbd703b99c1f1f14d1e060e6dd7b7bc1fb878c61f5f1a697b0a8df3ddb55b8f0ee4085d047a6be9a8'
@@ -210,22 +210,3 @@ export const removeChildrenIfParentChecked = (
210
210
  );
211
211
  setDefaultReturn([...filteredDefaultArray, items]);
212
212
  };
213
-
214
- export const areAllCheckedFalse = (data:any) => {
215
- if (!Array.isArray(data)) {
216
- return;
217
- }
218
- for (const item of data) {
219
- if (item.checked !== false) {
220
- return false; // Return false if any item is not checked: false
221
- }
222
-
223
- if (item.children && item.children.length > 0) {
224
- if (!areAllCheckedFalse(item.children)) {
225
- return false; // Return false if any nested item is not checked: false
226
- }
227
- }
228
- }
229
-
230
- return true; // Return true if all items are checked: false
231
- };
@@ -18,7 +18,6 @@ import {
18
18
  recursiveReturnOnlyParent,
19
19
  removeChildrenIfParentChecked,
20
20
  getChildIds,
21
- areAllCheckedFalse
22
21
  } from "./_helper_functions";
23
22
 
24
23
  type MultiLevelSelectProps = {
@@ -59,7 +58,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
59
58
  //this is essentially the return that the user will get when they use the kit
60
59
  const [returnedArray, setReturnedArray] = useState([]);
61
60
  //formattedData with checked and parent_id added
62
- const [formattedData, setFormattedData] = useState([]);
61
+ const [formattedData, setFormattedData] = useState(treeData);
63
62
  //toggle chevron in dropdown
64
63
  //@ts-ignore
65
64
  const [isToggled, setIsToggled] = useState<{ [id: number]: boolean }>({});
@@ -85,33 +84,26 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
85
84
  }, [returnedArray, defaultReturn]);
86
85
 
87
86
  useEffect(() => {
88
- console.log("TREEDATA", treeData)
89
87
  //Create new formattedData array for use
90
88
  setFormattedData(addCheckedAndParentProperty(treeData));
91
- //if any items already checked in first render, set return accordingly
92
- const initialChecked = getCheckedItems(treeData)
93
- console.log("INITIAl CHECKED", initialChecked)
94
- const initialUnchecked = areAllCheckedFalse(treeData)
95
- console.log("INIITAL UNCHECKED", initialUnchecked)
96
- initialChecked && returnAllSelected && setReturnedArray(initialChecked)
97
- initialChecked && !returnAllSelected && setDefaultReturn(initialChecked)
98
-
99
- }, [treeData]);
100
-
101
- useEffect(()=> {
102
89
  // Function to handle clicks outside the dropdown
103
90
  const handleClickOutside = (event: any) => {
104
91
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
105
92
  setIsClosed(true);
106
93
  }
107
94
  };
108
- // Attach the event listener
109
- window.addEventListener("click", handleClickOutside);
110
- // Clean up the event listener on unmount
111
- return () => {
112
- window.removeEventListener("click", handleClickOutside);
113
- };
114
- },[])
95
+ //if any items already checked in first render, set return accordingly
96
+ const initialChecked = getCheckedItems(treeData)
97
+ initialChecked && returnAllSelected && setReturnedArray(initialChecked)
98
+ initialChecked && !returnAllSelected && setDefaultReturn(initialChecked)
99
+
100
+ // Attach the event listener
101
+ window.addEventListener("click", handleClickOutside);
102
+ // Clean up the event listener on unmount
103
+ return () => {
104
+ window.removeEventListener("click", handleClickOutside);
105
+ };
106
+ }, []);
115
107
 
116
108
  //function to map over data and add parent_id + depth property to each item
117
109
  const addCheckedAndParentProperty = (