Sha256: cccacff511f4a00913b3d754626aeed66512a96afd97fea56e6dfb57169633d4
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
export const findItemById = ( items: { [key: string]: any }[], id: string ): any => { for (const item of items) { if (item.id === id) { return item; } if (item.children) { const found = findItemById(item.children, id); if (found) { return found; } } } return null; }; export const checkIt = ( foundItem: { [key: string]: any }, selectedItems: any[], setSelectedItems: Function, expand: boolean ) => { if (!foundItem) { return; } foundItem.checked = true; foundItem.expanded = expand; selectedItems.push(foundItem); if (foundItem.children) { foundItem.children.map((x: any) => { checkIt(x, selectedItems, setSelectedItems, expand); }); } setSelectedItems([...selectedItems]); }; export const unCheckIt = ( foundItem: { [key: string]: any }, selectedItems: any, setSelectedItems: any, expand: boolean ) => { if (!foundItem) { return; } foundItem.checked = false; foundItem.expanded = false; const newSelectedItems = selectedItems.filter( (item: any) => item.id !== foundItem.id ); if (foundItem.children) { foundItem.children.map((x: any) => { unCheckIt(x, selectedItems, setSelectedItems, expand); }); } setSelectedItems([...newSelectedItems]); };
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
playbook_ui-12.18.0.pre.alpha.play786multilevelselectimprovements613 | app/pb_kits/playbook/pb_multi_level_select/helper_functions.ts |