X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/640e9ba2d458a1bdaadea09dfe2c92816601709d..f9d1c360e059ed07909abd7bc83a61fcd3e2746d:/src/views/search-results-panel/search-results-panel-view.tsx diff --git a/src/views/search-results-panel/search-results-panel-view.tsx b/src/views/search-results-panel/search-results-panel-view.tsx index 8cd25a5e..45181410 100644 --- a/src/views/search-results-panel/search-results-panel-view.tsx +++ b/src/views/search-results-panel/search-results-panel-view.tsx @@ -2,30 +2,34 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import { SortDirection } from '~/components/data-table/data-column'; -import { DataColumns } from '~/components/data-table/data-table'; -import { DataTableFilterItem } from '~/components/data-table-filters/data-table-filters'; -import { ResourceKind } from '~/models/resource'; -import { ContainerRequestState } from '~/models/container-request'; -import { SEARCH_RESULTS_PANEL_ID } from '~/store/search-results-panel/search-results-panel-actions'; -import { DataExplorer } from '~/views-components/data-explorer/data-explorer'; +import React from 'react'; +import { SortDirection } from 'components/data-table/data-column'; +import { DataColumns } from 'components/data-table/data-table'; +import { DataTableFilterItem } from 'components/data-table-filters/data-table-filters'; +import { ResourceKind } from 'models/resource'; +import { ContainerRequestState } from 'models/container-request'; +import { SEARCH_RESULTS_PANEL_ID } from 'store/search-results-panel/search-results-panel-actions'; +import { DataExplorer } from 'views-components/data-explorer/data-explorer'; import { - ProcessStatus, ResourceCluster, + ResourceCluster, ResourceFileSize, ResourceLastModifiedDate, ResourceName, - ResourceOwner, + ResourceOwnerWithName, + ResourceStatus, ResourceType -} from '~/views-components/data-explorer/renderers'; -import { createTree } from '~/models/tree'; -import { getInitialResourceTypeFilters } from '~/store/resource-type-filters/resource-type-filters'; +} from 'views-components/data-explorer/renderers'; +import { createTree } from 'models/tree'; +import { getInitialResourceTypeFilters } from 'store/resource-type-filters/resource-type-filters'; import { SearchResultsPanelProps } from "./search-results-panel"; +import { Routes } from 'routes/routes'; +import { Link } from 'react-router-dom'; +import { StyleRulesCallback, withStyles, WithStyles } from '@material-ui/core'; +import { ArvadosTheme } from 'common/custom-theme'; export enum SearchResultsPanelColumnNames { CLUSTER = "Cluster", NAME = "Name", - PROJECT = "Project", STATUS = "Status", TYPE = 'Type', OWNER = "Owner", @@ -33,6 +37,15 @@ export enum SearchResultsPanelColumnNames { LAST_MODIFIED = "Last modified" } +export type CssRules = 'siteManagerLink'; + +const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ + siteManagerLink: { + marginRight: theme.spacing.unit * 2, + float: 'right' + } +}); + export interface WorkflowPanelFilter extends DataTableFilterItem { type: ResourceKind | ContainerRequestState; } @@ -53,19 +66,12 @@ export const searchResultsPanelColumns: DataColumns = [ filters: createTree(), render: (uuid: string) => }, - { - name: SearchResultsPanelColumnNames.PROJECT, - selected: true, - configurable: true, - filters: createTree(), - render: uuid => - }, { name: SearchResultsPanelColumnNames.STATUS, selected: true, configurable: true, filters: createTree(), - render: uuid => + render: uuid => }, { name: SearchResultsPanelColumnNames.TYPE, @@ -79,7 +85,7 @@ export const searchResultsPanelColumns: DataColumns = [ selected: true, configurable: true, filters: createTree(), - render: uuid => + render: uuid => }, { name: SearchResultsPanelColumnNames.FILE_SIZE, @@ -98,20 +104,28 @@ export const searchResultsPanelColumns: DataColumns = [ } ]; -export const SearchResultsPanelView = (props: SearchResultsPanelProps) => { - const homeCluster = props.user.uuid.substr(0, 5); - const loggedIn = props.sessions.filter((ss) => ss.loggedIn); - return Searching local cluster {props.localCluster} only. To search multiple clusters, start from your home Workbench. : -
Searching clusters: {loggedIn.map((ss) => {ss.clusterId})}
- } - />; -}; +export const SearchResultsPanelView = withStyles(styles, { withTheme: true })( + (props: SearchResultsPanelProps & WithStyles) => { + const homeCluster = props.user.uuid.substring(0, 5); + const loggedIn = props.sessions.filter((ss) => ss.loggedIn && ss.userIsActive); + return + {loggedIn.length === 1 ? + Searching local cluster + : Searching clusters: {loggedIn.map((ss) => + + )}} + {loggedIn.length === 1 && props.localCluster !== homeCluster ? + To search multiple clusters, start from your home Workbench. + : Use Site Manager to manage which clusters will be searched.} + + } + />; + });