X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/890c0889fffd420a8ccf59c652d83e4fd1a06e6b..89059eace676f0855ca66aa0a66d6110223b1d7e:/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 295818a2..78777be1 100644 --- a/src/store/resource-type-filters/resource-type-filters.ts +++ b/src/store/resource-type-filters/resource-type-filters.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import { difference, pipe, values, includes, __ } from 'lodash/fp'; -import { createTree, setNode, TreeNodeStatus, TreeNode } from '~/models/tree'; +import { createTree, setNode, TreeNodeStatus, TreeNode, Tree } from '~/models/tree'; import { DataTableFilterItem, DataTableFilters } from '~/components/data-table-filters/data-table-filters-tree'; import { ResourceKind } from '~/models/resource'; import { FilterBuilder } from '~/services/api/filter-builder'; @@ -35,6 +35,13 @@ const initFilter = (name: string, parent = '') => status: TreeNodeStatus.LOADED, }); +export const getSimpleObjectTypeFilters = pipe( + (): DataTableFilters => createTree(), + initFilter(ObjectTypeFilter.PROJECT), + initFilter(ObjectTypeFilter.PROCESS), + initFilter(ObjectTypeFilter.COLLECTION), +); + export const getInitialResourceTypeFilters = pipe( (): DataTableFilters => createTree(), initFilter(ObjectTypeFilter.PROJECT), @@ -109,8 +116,8 @@ const NON_GENERAL_COLLECTION_TYPES = difference(COLLECTION_TYPES, [CollectionTyp const COLLECTION_PROPERTIES_PREFIX = `${GroupContentsResourcePrefix.COLLECTION}.properties`; -const buildCollectiomTypeFilters = ({ fb, filters}: { fb: FilterBuilder, filters: CollectionType[] }) => { - switch(true){ +const buildCollectiomTypeFilters = ({ fb, filters }: { fb: FilterBuilder, filters: CollectionType[] }) => { + switch (true) { case filters.length === 0 || filters.length === COLLECTION_TYPES.length: return fb; case includes(CollectionType.GENERAL, filters): @@ -126,3 +133,9 @@ export const serializeResourceTypeFilters = pipe( serializeCollectionTypeFilters, ({ fb }) => fb.getFilters(), ); + +export const serializeSimpleObjectTypeFilters = (filters: Tree) => { + return getSelectedNodes(filters) + .map(f => f.id) + .map(objectTypeToResourceKind); +};