Skip to content

Commit d223a19

Browse files
checkbox fixes
1 parent c7998fe commit d223a19

File tree

1 file changed

+10
-1
lines changed
  • frontend/src/components/Popups/DeletePopUpForOrphanNodes

1 file changed

+10
-1
lines changed

frontend/src/components/Popups/DeletePopUpForOrphanNodes/index.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export default function DeletePopUpForOrphanNodes({
2323
}) {
2424
const [orphanNodes, setOrphanNodes] = useState<orphanNodeProps[]>([]);
2525
const [selectedOrphanNodesForDeletion, setselectedOrphanNodesForDeletion] = useState<string[]>([]);
26+
const [selectedAll, setselectedAll] = useState<boolean>(false)
2627
const [isLoading, setLoading] = useState<boolean>(false);
2728
const { userCredentials } = useCredentials();
2829

@@ -37,6 +38,7 @@ export default function DeletePopUpForOrphanNodes({
3738
setOrphanNodes(apiresponse.data.data);
3839
}
3940
} catch (error) {
41+
setLoading(false)
4042
console.log(error);
4143
}
4244
})();
@@ -46,8 +48,11 @@ export default function DeletePopUpForOrphanNodes({
4648
const onChangeHandler = useCallback((isChecked: boolean, id: string) => {
4749
if (isChecked) {
4850
setselectedOrphanNodesForDeletion((prev) => [...prev, id]);
51+
setOrphanNodes((prev) => prev.map((n) => ({ ...n, checked: n.e.elementId === id ? true : n.checked })));
4952
} else {
53+
setselectedAll(false)
5054
setselectedOrphanNodesForDeletion((prev) => prev.filter((s) => s === id));
55+
setOrphanNodes((prev) => prev.map((n) => ({ ...n, checked: n.e.elementId === id ? false : n.checked })));
5156
}
5257
}, []);
5358

@@ -73,11 +78,14 @@ export default function DeletePopUpForOrphanNodes({
7378
<Checkbox
7479
label='Select All Nodes'
7580
className='ml-4'
81+
checked={selectedAll}
7682
onChange={(e) => {
7783
if (e.target.checked) {
84+
setselectedAll(true)
7885
setOrphanNodes((prev) => prev.map((n) => ({ ...n, checked: true })));
7986
setselectedOrphanNodesForDeletion(orphanNodes.map((n) => n.e.elementId));
8087
} else {
88+
setselectedAll(false)
8189
setOrphanNodes((prev) => prev.map((n) => ({ ...n, checked: false })));
8290
setselectedOrphanNodesForDeletion([]);
8391
}
@@ -95,7 +103,7 @@ export default function DeletePopUpForOrphanNodes({
95103
<ListItemIcon>
96104
<Checkbox
97105
aria-label='selection checkbox'
98-
checked={selectedOrphanNodesForDeletion.includes(n.e.elementId)}
106+
checked={n.checked}
99107
onChange={(e) => onChangeHandler(e.target.checked, n.e.elementId)}
100108
tabIndex={-1}
101109
/>
@@ -148,6 +156,7 @@ export default function DeletePopUpForOrphanNodes({
148156
<Button
149157
fill='outlined'
150158
size='large'
159+
disabled={loading}
151160
onClick={() => {
152161
deleteCloseHandler();
153162
setselectedOrphanNodesForDeletion([]);

0 commit comments

Comments
 (0)