-interface IsSelectionVisibleParams {
- rootItemSelection?: boolean;
- projectsSelection?: boolean;
- collectionsSelection?: boolean;
- filesSelection?: boolean;
-}
-const isSelectionVisible = (params: IsSelectionVisibleParams) =>
- ({ data, status }: TreeItem<ProjectsTreePickerItem>) => {
- if ('kind' in data) {
- switch (data.kind) {
- case ResourceKind.COLLECTION:
- return !!params.collectionsSelection;
- default:
- return !!params.projectsSelection;
+
+const isSelectionVisible = (shouldBeVisible?: boolean) =>
+ ({ status, items }: TreeItem<ProjectsTreePickerItem>): boolean => {
+ if (shouldBeVisible) {
+ if (items && items.length > 0) {
+ return items.every(isSelectionVisible(shouldBeVisible));