diff --git a/frontend/public/components/cluster-settings/cluster-settings.tsx b/frontend/public/components/cluster-settings/cluster-settings.tsx index 84e2eb7483..30c9d4b958 100644 --- a/frontend/public/components/cluster-settings/cluster-settings.tsx +++ b/frontend/public/components/cluster-settings/cluster-settings.tsx @@ -3,6 +3,7 @@ import * as _ from 'lodash-es'; import { Helmet } from 'react-helmet'; import { Button } from 'patternfly-react'; import { Link } from 'react-router-dom'; +import { Tooltip } from '@patternfly/react-core'; import { AddCircleOIcon, ArrowCircleUpIcon, @@ -40,6 +41,7 @@ import { resourcePathFromModel, SectionHeading, Timestamp, + truncateMiddle, } from '../utils'; import { GreenCheckCircleIcon, @@ -60,16 +62,16 @@ export const CurrentChannel: React.SFC = ({cv}) => -; +; -const UpdatesAvailableMessage: React.SFC = ({cv}) => +const UpdatesAvailableMessage: React.SFC = ({cv}) => <>
Update available
@@ -78,26 +80,38 @@ const UpdatesAvailableMessage: React.SFC = ({cv}) => -
; +; const UpdatingMessage: React.SFC = ({cv}) => { const updatingCondition = getClusterVersionCondition(cv, ClusterVersionConditionType.Progressing, K8sResourceConditionStatus.True); - return + return <> {updatingCondition.message &&
{updatingCondition.message}
} View details -
; + ; }; -const ErrorRetrievingMessage: React.SFC<{}> = () =>
- Error retrieving -
; +const ErrorRetrievingMessage: React.SFC = ({cv}) => { + const retrievedUpdatesCondition = getClusterVersionCondition(cv, ClusterVersionConditionType.RetrievedUpdates, K8sResourceConditionStatus.False); + return retrievedUpdatesCondition.reason === 'NoChannel' + ? No update channel selected + : ( + + Error retrieving + + ); +}; -const FailingMessage: React.SFC<{}> = () => -
- Failing -
- View details -
; +const FailingMessage: React.SFC = ({cv}) => { + const failingCondition = getClusterVersionCondition(cv, ClusterVersionConditionType.Failing, K8sResourceConditionStatus.True); + return <> +
+ + Failing + +
+ View details + ; +}; const UpToDateMessage: React.SFC<{}> = () => Up to date @@ -113,9 +127,9 @@ export const UpdateStatus: React.SFC = ({cv}) => { case ClusterUpdateStatus.Updating: return ; case ClusterUpdateStatus.ErrorRetrieving: - return ; + return ; case ClusterUpdateStatus.Failing: - return ; + return ; default: return ; } @@ -129,29 +143,31 @@ export const CurrentVersion: React.SFC = ({cv}) => { if (status === ClusterUpdateStatus.UpToDate || status === ClusterUpdateStatus.UpdatesAvailable) { return desiredVersion ? {desiredVersion} - :  Unknown; + : <> Unknown; } - return {lastVersion || 'None'}; + return lastVersion + ? {lastVersion} + : <>None; }; export const UpdateLink: React.SFC = ({cv}) => { const status = getClusterUpdateStatus(cv); const updatesAvailable = !_.isEmpty(getAvailableClusterUpdates(cv)); - return + return <> { updatesAvailable && (status === ClusterUpdateStatus.ErrorRetrieving || status === ClusterUpdateStatus.Failing || status === ClusterUpdateStatus.Updating) ? : null } - ; + ; }; export const CurrentVersionHeader: React.SFC = ({cv}) => { const status = getClusterUpdateStatus(cv); - return + return <> { status === ClusterUpdateStatus.UpToDate || status === ClusterUpdateStatus.UpdatesAvailable ? 'Current Version' : 'Last Completed Version' } - ; + ; }; export const ClusterVersionDetailsTable: React.SFC = ({obj: cv, autoscalers}) => { @@ -162,7 +178,7 @@ export const ClusterVersionDetailsTable: React.SFC + return <>
@@ -206,7 +222,7 @@ export const ClusterVersionDetailsTable: React.SFCDesired Release Image
{imageParts.length === 2 - ? {imageParts[0]}@{imageParts[1]} + ? <>{imageParts[0]}@{imageParts[1]} : desiredImage || '-'}
Cluster Version Configuration
@@ -252,7 +268,7 @@ export const ClusterVersionDetailsTable: React.SFC }
- ; + ; }; export const ClusterOperatorTabPage: React.SFC = ({obj: cv}) => ; @@ -278,7 +294,7 @@ export const ClusterSettingsPage: React.SFC = ({match} {kind: clusterAutoscalerReference, isList: true, prop: 'autoscalers', optional: true}, ]; const resourceKeys = _.map(resources, 'prop'); - return + return <> {title} @@ -288,7 +304,7 @@ export const ClusterSettingsPage: React.SFC = ({match} - ; + ; }; type UpdateStatusProps = {