From 98d1b780b15d9995ec5ef6cae25c0663702ede4f Mon Sep 17 00:00:00 2001 From: Pawel Kowalczyk Date: Wed, 8 May 2019 14:14:35 +0200 Subject: [PATCH] data-table-columns-change Feature #15020 Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk --- src/store/workbench/workbench-actions.ts | 3 +- .../data-explorer/renderers.tsx | 1 + .../collection-content-address-panel.tsx | 38 ++++++++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/store/workbench/workbench-actions.ts b/src/store/workbench/workbench-actions.ts index 25852cbf..2363b579 100644 --- a/src/store/workbench/workbench-actions.ts +++ b/src/store/workbench/workbench-actions.ts @@ -94,6 +94,7 @@ import { DataTableFetchMode } from "~/components/data-table/data-table"; import { loadPublicFavoritePanel, publicFavoritePanelActions } from '~/store/public-favorites-panel/public-favorites-action'; import { publicFavoritePanelColumns } from '~/views/public-favorites-panel/public-favorites-panel'; import { loadCollectionsContentAddressPanel, collectionsContentAddressActions } from '~/store/collections-content-address-panel/collections-content-address-panel-actions'; +import { collectionContentAddressPanelColumns } from '~/views/collection-content-address-panel/collection-content-address-panel'; export const WORKBENCH_LOADING_SCREEN = 'workbenchLoadingScreen'; @@ -133,7 +134,7 @@ export const loadWorkbench = () => dispatch(linkPanelActions.SET_COLUMNS({ columns: linkPanelColumns })); dispatch(computeNodesActions.SET_COLUMNS({ columns: computeNodePanelColumns })); dispatch(apiClientAuthorizationsActions.SET_COLUMNS({ columns: apiClientAuthorizationPanelColumns })); - dispatch(collectionsContentAddressActions.SET_COLUMNS({ columns: projectPanelColumns })); + dispatch(collectionsContentAddressActions.SET_COLUMNS({ columns: collectionContentAddressPanelColumns })); dispatch(initSidePanelTree()); if (router.location) { diff --git a/src/views-components/data-explorer/renderers.tsx b/src/views-components/data-explorer/renderers.tsx index 5dc1e02a..52760cb4 100644 --- a/src/views-components/data-explorer/renderers.tsx +++ b/src/views-components/data-explorer/renderers.tsx @@ -26,6 +26,7 @@ import { toggleIsActive, toggleIsAdmin } from '~/store/users/users-actions'; import { LinkResource } from '~/models/link'; import { navigateTo } from '~/store/navigation/navigation-action'; import { withResourceData } from '~/views-components/data-explorer/with-resources'; +import { extractUuidKind } from '~/models/resource'; const renderName = (item: { name: string; uuid: string, kind: string }) => diff --git a/src/views/collection-content-address-panel/collection-content-address-panel.tsx b/src/views/collection-content-address-panel/collection-content-address-panel.tsx index 009e16c7..5ca392fe 100644 --- a/src/views/collection-content-address-panel/collection-content-address-panel.tsx +++ b/src/views/collection-content-address-panel/collection-content-address-panel.tsx @@ -10,7 +10,6 @@ import { import { CollectionIcon } from '~/components/icon/icon'; import { ArvadosTheme } from '~/common/custom-theme'; import { BackIcon } from '~/components/icon/icon'; -import { CollectionResource } from '~/models/collection'; import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view'; import { COLLECTIONS_CONTENT_ADDRESS_PANEL_ID } from '~/store/collections-content-address-panel/collections-content-address-panel-actions'; import { DataExplorer } from "~/views-components/data-explorer/data-explorer"; @@ -19,8 +18,12 @@ import { getIsAdmin } from '~/store/public-favorites/public-favorites-actions'; import { resourceKindToContextMenuKind, openContextMenu } from '~/store/context-menu/context-menu-actions'; import { ResourceKind } from '~/models/resource'; import { loadDetailsPanel } from '~/store/details-panel/details-panel-action'; -import { connect, DispatchProp } from 'react-redux'; +import { connect } from 'react-redux'; import { navigateTo } from '~/store/navigation/navigation-action'; +import { DataColumns } from '~/components/data-table/data-table'; +import { SortDirection } from '~/components/data-table/data-column'; +import { createTree } from '~/models/tree'; +import { ResourceName, ResourceOwner, ResourceLastModifiedDate } from '~/views-components/data-explorer/renderers'; type CssRules = 'backLink' | 'backIcon' | 'card' | 'title' | 'iconHeader' | 'link'; @@ -57,6 +60,37 @@ const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ } }); +enum CollectionContentAddressPanelColumnNames { + COLLECTION_WITH_THIS_ADDRESS = "Collection with this address", + OWNER = "Owner", + LAST_MODIFIED = "Last modified" +} + +export const collectionContentAddressPanelColumns: DataColumns = [ + { + name: CollectionContentAddressPanelColumnNames.COLLECTION_WITH_THIS_ADDRESS, + selected: true, + configurable: true, + sortDirection: SortDirection.NONE, + filters: createTree(), + render: uuid => + }, + { + name: CollectionContentAddressPanelColumnNames.OWNER, + selected: true, + configurable: true, + filters: createTree(), + render: uuid => + }, + { + name: CollectionContentAddressPanelColumnNames.LAST_MODIFIED, + selected: true, + configurable: true, + sortDirection: SortDirection.DESC, + filters: createTree(), + render: uuid => + } +]; export interface CollectionContentAddressMainCardActionProps { onContextMenu: (event: React.MouseEvent, uuid: string) => void; -- 2.30.2