X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/bf6ffb898a38a806ea0dd98daca7b3801923b62f..bc80b56b75691f7571e3b86f3bb50cc26ce9d5b0:/src/store/resource-type-filters/resource-type-filters.ts diff --git a/src/store/resource-type-filters/resource-type-filters.ts b/src/store/resource-type-filters/resource-type-filters.ts index 64a391ca..e1448f64 100644 --- a/src/store/resource-type-filters/resource-type-filters.ts +++ b/src/store/resource-type-filters/resource-type-filters.ts @@ -25,9 +25,9 @@ export enum ProcessStatusFilter { export enum ObjectTypeFilter { PROJECT = 'Project', - PROCESS = 'Process', - COLLECTION = 'Data collection', WORKFLOW = 'Workflow', + COLLECTION = 'Data collection', + DEFINITION = 'Definition', } export enum GroupTypeFilter { @@ -43,11 +43,11 @@ export enum CollectionTypeFilter { } export enum ProcessTypeFilter { - MAIN_PROCESS = 'Main', - CHILD_PROCESS = 'Child', + MAIN_PROCESS = 'Runs', + CHILD_PROCESS = 'Intermediate Steps', } -const initFilter = (name: string, parent = '', isSelected?: boolean) => +const initFilter = (name: string, parent = '', isSelected?: boolean, isExpanded?: boolean) => setNode({ id: name, value: { name }, @@ -55,16 +55,17 @@ const initFilter = (name: string, parent = '', isSelected?: boolean) => children: [], active: false, selected: isSelected !== undefined ? isSelected : true, - expanded: false, + initialState: isSelected !== undefined ? isSelected : true, + expanded: isExpanded !== undefined ? isExpanded : false, status: TreeNodeStatus.LOADED, }); export const getSimpleObjectTypeFilters = pipe( (): DataTableFilters => createTree(), initFilter(ObjectTypeFilter.PROJECT), - initFilter(ObjectTypeFilter.PROCESS), - initFilter(ObjectTypeFilter.COLLECTION), initFilter(ObjectTypeFilter.WORKFLOW), + initFilter(ObjectTypeFilter.COLLECTION), + initFilter(ObjectTypeFilter.DEFINITION), ); // Using pipe() with more than 7 arguments makes the return type be 'any', @@ -72,23 +73,23 @@ export const getSimpleObjectTypeFilters = pipe( export const getInitialResourceTypeFilters = pipe( (): DataTableFilters => createTree(), pipe( - initFilter(ObjectTypeFilter.PROJECT), + initFilter(ObjectTypeFilter.PROJECT, '', true, true), initFilter(GroupTypeFilter.PROJECT, ObjectTypeFilter.PROJECT), initFilter(GroupTypeFilter.FILTER_GROUP, ObjectTypeFilter.PROJECT), ), pipe( - initFilter(ObjectTypeFilter.PROCESS), - initFilter(ProcessTypeFilter.MAIN_PROCESS, ObjectTypeFilter.PROCESS), - initFilter(ProcessTypeFilter.CHILD_PROCESS, ObjectTypeFilter.PROCESS) + initFilter(ObjectTypeFilter.WORKFLOW, '', false, true), + initFilter(ProcessTypeFilter.MAIN_PROCESS, ObjectTypeFilter.WORKFLOW), + initFilter(ProcessTypeFilter.CHILD_PROCESS, ObjectTypeFilter.WORKFLOW, false), + initFilter(ObjectTypeFilter.DEFINITION, ObjectTypeFilter.WORKFLOW), ), pipe( - initFilter(ObjectTypeFilter.COLLECTION), + initFilter(ObjectTypeFilter.COLLECTION, '', true, true), initFilter(CollectionTypeFilter.GENERAL_COLLECTION, ObjectTypeFilter.COLLECTION), initFilter(CollectionTypeFilter.OUTPUT_COLLECTION, ObjectTypeFilter.COLLECTION), - initFilter(CollectionTypeFilter.INTERMEDIATE_COLLECTION, ObjectTypeFilter.COLLECTION), - initFilter(CollectionTypeFilter.LOG_COLLECTION, ObjectTypeFilter.COLLECTION), + initFilter(CollectionTypeFilter.INTERMEDIATE_COLLECTION, ObjectTypeFilter.COLLECTION, false), + initFilter(CollectionTypeFilter.LOG_COLLECTION, ObjectTypeFilter.COLLECTION, false), ), - initFilter(ObjectTypeFilter.WORKFLOW) ); @@ -133,11 +134,11 @@ const objectTypeToResourceKind = (type: ObjectTypeFilter) => { switch (type) { case ObjectTypeFilter.PROJECT: return ResourceKind.PROJECT; - case ObjectTypeFilter.PROCESS: + case ObjectTypeFilter.WORKFLOW: return ResourceKind.PROCESS; case ObjectTypeFilter.COLLECTION: return ResourceKind.COLLECTION; - case ObjectTypeFilter.WORKFLOW: + case ObjectTypeFilter.DEFINITION: return ResourceKind.WORKFLOW; } }; @@ -155,7 +156,7 @@ const serializeObjectTypeFilters = ({ fb, selectedFilters }: ReturnType processFilters.length > 0 - ? set.add(ObjectTypeFilter.PROCESS) + ? set.add(ObjectTypeFilter.WORKFLOW) : set, set => Array.from(set) )(); @@ -163,7 +164,7 @@ const serializeObjectTypeFilters = ({ fb, selectedFilters }: ReturnType 0 ? fb.addIsA('uuid', typeFilters.map(objectTypeToResourceKind)) - : fb, + : fb.addIsA('uuid', ResourceKind.NONE), selectedFilters, }; }; @@ -305,7 +306,7 @@ export const buildProcessStatusFilters = (fb: FilterBuilder, activeStatusFilter: break; } case ProcessStatusFilter.QUEUED: { - fb.addEqual('container.state', ContainerState.QUEUED, resourcePrefix); + fb.addIn('container.state', [ContainerState.QUEUED, ContainerState.LOCKED], resourcePrefix); fb.addDistinct('priority', '0', resourcePrefix); break; }