message: Add better error blank slate for istio object details
diff: @@ -39,9 +39,12 @@ import {
  } from '@patternfly/react-core';
  import { dicIstioType } from '../../types/IstioConfigList';
  import { showInMessageCenter } from '../../utils/IstioValidationUtils';
  +
  +import { EmptyState, EmptyStateTitle, EmptyStateIcon, EmptyStateInfo } from 'patternfly-react';
  import { PfColors } from '../../components/Pf/PfColors';
  import IstioObjectLink from '../../components/Link/IstioObjectLink';
  +
  const rightToolbarStyle = style({
  position: 'absolute',
  right: '20px',
  @@ -66,6 +69,12 @@ const paramToTab: { [key: string]: number } = {
  overview: 0,
  yaml: 1
  };
  +const emptyStateStyle = style({
  + height: '98%',
  + marginRight: 5,
  + marginBottom: 10,
  + marginTop: 10
  +});
  class IstioConfigDetailsPage extends React.Component<RouteComponentProps<IstioConfigId>, IstioConfigDetailsState> {
  aceEditorRef: React.RefObject<AceEditor>;
  @@ -430,8 +439,18 @@ class IstioConfigDetailsPage extends React.Component<RouteComponentProps<IstioCo
  );
  }
  } else {
  - // In theory it shouldn't enter here
  - return <div>{this.props.match.params.object} has not been loaded</div>;
  + // In theory it shouldn't enter here, but we show a nice error page anyway.
  +
  + return (
  + <EmptyState className={emptyStateStyle}>
  + <EmptyStateIcon name="error-circle-o" />
  + <EmptyStateTitle>Error loading object `{this.props.match.params.object}`</EmptyStateTitle>
  + <EmptyStateInfo>
  + This might mean the resource is not ready yet or has been deleted and the cluster has not finished
  + propagating the changes.
  + </EmptyStateInfo>
  + </EmptyState>
  + );
  }
  };
  