rowsPerPage, rowsPerPageOptions, onColumnToggle, searchValue, onSearch,
items, itemsAvailable, onRowClick, onRowDoubleClick, classes,
dataTableDefaultView, hideColumnSelector, actions, paperProps, hideSearchInput,
- paperKey
+ paperKey, fetchMode
} = this.props;
return <Paper className={classes.root} {...paperProps} key={paperKey}>
- <Toolbar className={classes.toolbar}>
+ {(!hideColumnSelector || !hideSearchInput) && <Toolbar className={classes.toolbar}>
<Grid container justify="space-between" wrap="nowrap" alignItems="center">
{!hideSearchInput && <div className={classes.searchBox}>
<SearchInput
return <Typography>{JSON.stringify(data, null, 4)}</Typography>;
};
+const clusterColors = [
+ ['#f44336', '#fff'],
+ ['#2196f3', '#fff'],
+ ['#009688', '#fff'],
+ ['#cddc39', '#fff'],
+ ['#ff9800', '#fff']
+];
+
+export const ResourceCluster = (props: { uuid: string }) => {
+ const p = props.uuid.indexOf('-');
+ const clusterId = p >= 5 ? props.uuid.substr(0, p) : '';
+ const ci = p >= 5 ? (props.uuid.charCodeAt(0) + props.uuid.charCodeAt(1)) % clusterColors.length : 0;
+ return <Typography>
+ <div style={{
+ backgroundColor: clusterColors[ci][0],
+ color: clusterColors[ci][1],
+ padding: "2px 7px",
+ borderRadius: 3
+ }}>{clusterId}</div>
+ </Typography>;
+};
+
export const ComputeNodeInfo = withResourceData('info', renderNodeInfo);
- export const ComputeNodeUuid = withResourceData('uuid', renderNodeData);
-
- export const ComputeNodeDomain = withResourceData('domain', renderNodeData);
+ export const ComputeNodeDomain = withResourceData('domain', renderCommonData);
- export const ComputeNodeFirstPingAt = withResourceData('firstPingAt', renderNodeDate);
+ export const ComputeNodeFirstPingAt = withResourceData('firstPingAt', renderCommonDate);
- export const ComputeNodeHostname = withResourceData('hostname', renderNodeData);
+ export const ComputeNodeHostname = withResourceData('hostname', renderCommonData);
- export const ComputeNodeIpAddress = withResourceData('ipAddress', renderNodeData);
+ export const ComputeNodeIpAddress = withResourceData('ipAddress', renderCommonData);
- export const ComputeNodeJobUuid = withResourceData('jobUuid', renderNodeData);
+ export const ComputeNodeJobUuid = withResourceData('jobUuid', renderCommonData);
- export const ComputeNodeLastPingAt = withResourceData('lastPingAt', renderNodeDate);
+ export const ComputeNodeLastPingAt = withResourceData('lastPingAt', renderCommonDate);
// Links Resources
const renderLinkName = (item: { name: string }) =>
import { DataExplorer } from '~/views-components/data-explorer/data-explorer';
import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view';
import { COMPUTE_NODE_PANEL_ID } from '~/store/compute-nodes/compute-nodes-actions';
-import { DataColumns } from '~/components/data-table/data-table';
+import { DataColumns, DataTableFetchMode } from '~/components/data-table/data-table';
import { SortDirection } from '~/components/data-table/data-column';
import { createTree } from '~/models/tree';
-import {
- CommonUuid, ComputeNodeInfo, ComputeNodeDomain, ComputeNodeHostname, ComputeNodeJobUuid,
+import {
- ComputeNodeUuid, ComputeNodeInfo, ComputeNodeDomain, ComputeNodeHostname, ComputeNodeJobUuid,
++ ComputeUuid, ComputeNodeInfo, ComputeNodeDomain, ComputeNodeHostname, ComputeNodeJobUuid,
ComputeNodeFirstPingAt, ComputeNodeLastPingAt, ComputeNodeIpAddress
} from '~/views-components/data-explorer/renderers';
import { ResourcesState } from '~/store/resources/resources';