diff --git a/public/components/preview_panel/index.tsx b/public/components/preview_panel/index.tsx
index 47b26ea5..406dda5e 100644
--- a/public/components/preview_panel/index.tsx
+++ b/public/components/preview_panel/index.tsx
@@ -15,12 +15,15 @@ import {
EuiDescriptionListDescription,
EuiSpacer,
EuiTextColor,
+ EuiFlexGroup,
+ EuiFlexItem,
} from '@elastic/eui';
import { APIProvider } from '../../apis/api_provider';
import { useFetcher } from '../../hooks/use_fetcher';
import { NodesTable } from './nodes_table';
import { CopyableText } from '../common';
import { ModelDeploymentProfile } from '../../apis/profile';
+import { ConnectorDetails } from './connector_details';
export interface INode {
id: string;
@@ -60,33 +63,45 @@ export const PreviewPanel = ({ onClose, model }: Props) => {
const respondingStatus = useMemo(() => {
if (loading) {
- return (
-
- Loading...
-
- );
+ return {
+ overall: (
+
+ Loading...
+
+ ),
+ nodes: 'Loading...',
+ };
}
const deployedNodesNum = nodes.filter(({ deployed }) => deployed).length;
const targetNodesNum = nodes.length;
if (deployedNodesNum === 0) {
- return (
-
- Not responding on {targetNodesNum} of {targetNodesNum} nodes
-
- );
+ return {
+ overall: (
+
+ Not responding
+
+ ),
+ nodes: `Not responding on ${targetNodesNum} of ${targetNodesNum} nodes`,
+ };
}
if (deployedNodesNum < targetNodesNum) {
- return (
-
- Partially responding on {deployedNodesNum} of {targetNodesNum} nodes
-
- );
+ return {
+ overall: (
+
+ Partially responding
+
+ ),
+ nodes: `Responding on ${deployedNodesNum} of ${targetNodesNum} nodes`,
+ };
}
- return (
-
- Responding on {deployedNodesNum} of {targetNodesNum} nodes
-
- );
+ return {
+ overall: (
+
+ Responding
+
+ ),
+ nodes: `Responding on ${deployedNodesNum} of ${targetNodesNum} nodes`,
+ };
}, [nodes, loading]);
const onCloseFlyout = useCallback(() => {
@@ -95,26 +110,54 @@ export const PreviewPanel = ({ onClose, model }: Props) => {
return (
-
-
- {name}
+
+
+ {name}
- Model ID
+
+
+
+
+ Status
+
+
+
+ {respondingStatus.overall}
+
+
+
+
+
+ Source
+
+
+
+ {connector ? 'External' : 'Local'}
+
+
+
+
+
+
+ Model ID
+
+
- Source
-
- {connector ? 'External' : 'Local'}
-
- Model status by node
- {respondingStatus}
-
-
+ {connector ? (
+
+ ) : (
+
+ )}
);