20225: Add subdirectory selection support to directory array picker
authorStephen Smith <stephen@curii.com>
Fri, 22 Sep 2023 14:12:42 +0000 (10:12 -0400)
committerStephen Smith <stephen@curii.com>
Fri, 22 Sep 2023 14:37:09 +0000 (10:37 -0400)
commit95bfd77307f5d4571bbcf01565361ec991bc6575
tree8ce353337d6e243c1923a4c0bb4eb6366d8b0d6b
parent4c34de655fc7f8839b205b48f460a168f302dd63
20225: Add subdirectory selection support to directory array picker

Adds cascade flag to tree picker to disable recursive directory selection

Reworks initProjectsTreePicker to support initializing multiple selections.
Loads each selection's ancestor tree in parallel, combines updates to same tree
pickers before inserting the ancestor tree, then loads necessary collections in
parallel

Changes checkbox visibility logic to show collection selection checkbox even
when collection is not loaded/expanded when cascade mode is off - since the
selection won't cascade there is no need to require the collection to be opened

Arvados-DCO-1.1-Signed-off-by: Stephen Smith <stephen@curii.com>
14 files changed:
src/components/data-table-filters/data-table-filters-tree.tsx
src/models/tree.ts
src/store/resource-type-filters/resource-type-filters.test.ts
src/store/tree-picker/tree-picker-actions.ts
src/store/tree-picker/tree-picker-reducer.test.ts
src/store/tree-picker/tree-picker-reducer.ts
src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx
src/views-components/projects-tree-picker/projects-tree-picker.tsx
src/views-components/projects-tree-picker/tree-picker-field.tsx
src/views/run-process-panel/inputs/directory-array-input.tsx
src/views/run-process-panel/inputs/directory-input.tsx
src/views/run-process-panel/inputs/file-array-input.tsx
src/views/run-process-panel/inputs/file-input.tsx
src/views/run-process-panel/inputs/project-input.tsx