Private
Public Access
1
0
Files
power-apps-codeapps-blog-part2/node_modules/@fluentui/react-tree/lib/components/Tree/useNestedControllableCheckedItems.js

24 lines
739 B
JavaScript

'use client';
import * as React from 'react';
import { ImmutableMap } from '../../utils/ImmutableMap';
import { createCheckedItems } from '../../utils/createCheckedItems';
export function useNestedCheckedItems(props) {
return React.useMemo(()=>createCheckedItems(props.checkedItems), [
props.checkedItems
]);
}
export function createNextNestedCheckedItems(data, previousCheckedItems) {
if (data.selectionMode === 'single') {
return ImmutableMap.from([
[
data.value,
data.checked
]
]);
}
if (data.selectionMode === 'multiselect') {
return previousCheckedItems.set(data.value, data.checked);
}
return previousCheckedItems;
}