import { DataTableFilterItem } from '~/components/data-table-filters/data-table-filters';
import { ResourceKind } from '~/models/resource';
import { ContainerRequestState } from '~/models/container-request';
-import { SearchBarAdvanceFormData } from '~/models/search-bar';
import { SEARCH_RESULTS_PANEL_ID } from '~/store/search-results-panel/search-results-panel-actions';
import { DataExplorer } from '~/views-components/data-explorer/data-explorer';
import {
} 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";
export enum SearchResultsPanelColumnNames {
CLUSTER = "Cluster",
LAST_MODIFIED = "Last modified"
}
-export interface SearchResultsPanelDataProps {
- data: SearchBarAdvanceFormData;
-}
-
-export interface SearchResultsPanelActionProps {
- onItemClick: (item: string) => void;
- onContextMenu: (event: React.MouseEvent<HTMLElement>, item: string) => void;
- onDialogOpen: (ownerUuid: string) => void;
- onItemDoubleClick: (item: string) => void;
-}
-
-export type SearchResultsPanelProps = SearchResultsPanelDataProps & SearchResultsPanelActionProps;
-
export interface WorkflowPanelFilter extends DataTableFilterItem {
type: ResourceKind | ContainerRequestState;
}
name: SearchResultsPanelColumnNames.NAME,
selected: true,
configurable: true,
- sortDirection: SortDirection.ASC,
+ sortDirection: SortDirection.NONE,
filters: createTree(),
render: (uuid: string) => <ResourceName uuid={uuid} />
},
name: SearchResultsPanelColumnNames.LAST_MODIFIED,
selected: true,
configurable: true,
- sortDirection: SortDirection.NONE,
+ sortDirection: SortDirection.DESC,
filters: createTree(),
render: uuid => <ResourceLastModifiedDate uuid={uuid} />
}
];
export const SearchResultsPanelView = (props: SearchResultsPanelProps) => {
+ const homeCluster = props.user.uuid.substr(0, 5);
return <DataExplorer
id={SEARCH_RESULTS_PANEL_ID}
onRowClick={props.onItemClick}
onRowDoubleClick={props.onItemDoubleClick}
onContextMenu={props.onContextMenu}
- contextMenuColumn={true} />;
+ contextMenuColumn={false}
+ hideSearchInput
+ title={
+ props.localCluster === homeCluster ?
+ <div>Searching clusters: {props.sessions.filter((ss) => ss.loggedIn).map((ss) => <span key={ss.clusterId}> {ss.clusterId}</span>)}</div> :
+ <div>Searching local cluster {props.localCluster} only. To search multiple clusters, <a href={props.remoteHostsConfig[homeCluster] && props.remoteHostsConfig[homeCluster].workbench2Url}> start from your home Workbench.</a></div>
+ }
+ />;
};