projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
show-link-to-process-which-created-a-collection
[arvados-workbench2.git]
/
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 295818a29962a5bc4816c28284e63aa08dca5a0e..78777be10941a0e34d8b46a186fed8a8f6bfbd4f 100644
(file)
--- 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';
// 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';
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,
});
status: TreeNodeStatus.LOADED,
});
+export const getSimpleObjectTypeFilters = pipe(
+ (): DataTableFilters => createTree<DataTableFilterItem>(),
+ initFilter(ObjectTypeFilter.PROJECT),
+ initFilter(ObjectTypeFilter.PROCESS),
+ initFilter(ObjectTypeFilter.COLLECTION),
+);
+
export const getInitialResourceTypeFilters = pipe(
(): DataTableFilters => createTree<DataTableFilterItem>(),
initFilter(ObjectTypeFilter.PROJECT),
export const getInitialResourceTypeFilters = pipe(
(): DataTableFilters => createTree<DataTableFilterItem>(),
initFilter(ObjectTypeFilter.PROJECT),
@@
-109,8
+116,8
@@
const NON_GENERAL_COLLECTION_TYPES = difference(COLLECTION_TYPES, [CollectionTyp
const COLLECTION_PROPERTIES_PREFIX = `${GroupContentsResourcePrefix.COLLECTION}.properties`;
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):
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(),
);
serializeCollectionTypeFilters,
({ fb }) => fb.getFilters(),
);
+
+export const serializeSimpleObjectTypeFilters = (filters: Tree<DataTableFilterItem>) => {
+ return getSelectedNodes(filters)
+ .map(f => f.id)
+ .map(objectTypeToResourceKind);
+};