diff --git a/x-pack/legacy/plugins/ml/public/jobs/jobs_list/components/node_available_warning/index.ts b/x-pack/legacy/plugins/ml/public/components/node_available_warning/index.ts similarity index 100% rename from x-pack/legacy/plugins/ml/public/jobs/jobs_list/components/node_available_warning/index.ts rename to x-pack/legacy/plugins/ml/public/components/node_available_warning/index.ts diff --git a/x-pack/legacy/plugins/ml/public/jobs/jobs_list/components/node_available_warning/node_available_warning.tsx b/x-pack/legacy/plugins/ml/public/components/node_available_warning/node_available_warning.tsx similarity index 95% rename from x-pack/legacy/plugins/ml/public/jobs/jobs_list/components/node_available_warning/node_available_warning.tsx rename to x-pack/legacy/plugins/ml/public/components/node_available_warning/node_available_warning.tsx index c4684f356fdafc..f9f9ee347fd7fe 100644 --- a/x-pack/legacy/plugins/ml/public/jobs/jobs_list/components/node_available_warning/node_available_warning.tsx +++ b/x-pack/legacy/plugins/ml/public/components/node_available_warning/node_available_warning.tsx @@ -8,8 +8,8 @@ import React, { Fragment, FC } from 'react'; import { EuiCallOut, EuiLink, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { mlNodesAvailable, permissionToViewMlNodeCount } from '../../../../ml_nodes_check'; -import { getCloudDeploymentId, isCloud } from '../../../../services/ml_server_info'; +import { mlNodesAvailable, permissionToViewMlNodeCount } from '../../ml_nodes_check'; +import { getCloudDeploymentId, isCloud } from '../../services/ml_server_info'; export const NodeAvailableWarning: FC = () => { if (mlNodesAvailable() === true || permissionToViewMlNodeCount() === false) { diff --git a/x-pack/legacy/plugins/ml/public/components/upgrade/index.js b/x-pack/legacy/plugins/ml/public/components/upgrade/index.ts similarity index 99% rename from x-pack/legacy/plugins/ml/public/components/upgrade/index.js rename to x-pack/legacy/plugins/ml/public/components/upgrade/index.ts index 2b248fef39923f..219d5aa76e8121 100644 --- a/x-pack/legacy/plugins/ml/public/components/upgrade/index.js +++ b/x-pack/legacy/plugins/ml/public/components/upgrade/index.ts @@ -4,5 +4,4 @@ * you may not use this file except in compliance with the Elastic License. */ - export { UpgradeWarning } from './upgrade_warning'; diff --git a/x-pack/legacy/plugins/ml/public/components/upgrade/upgrade_warning.js b/x-pack/legacy/plugins/ml/public/components/upgrade/upgrade_warning.tsx similarity index 76% rename from x-pack/legacy/plugins/ml/public/components/upgrade/upgrade_warning.js rename to x-pack/legacy/plugins/ml/public/components/upgrade/upgrade_warning.tsx index 30008265bea5f5..ce3b7e44131825 100644 --- a/x-pack/legacy/plugins/ml/public/components/upgrade/upgrade_warning.js +++ b/x-pack/legacy/plugins/ml/public/components/upgrade/upgrade_warning.tsx @@ -4,26 +4,24 @@ * you may not use this file except in compliance with the Elastic License. */ +import React, { FC } from 'react'; -import React from 'react'; - -import { - EuiCallOut, - EuiSpacer, -} from '@elastic/eui'; +import { EuiCallOut, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { isUpgradeInProgress } from '../../services/upgrade_service'; -export function UpgradeWarning() { +export const UpgradeWarning: FC = () => { if (isUpgradeInProgress() === true) { return ( )} + title={ + + } color="warning" iconType="alert" > @@ -45,4 +43,4 @@ export function UpgradeWarning() { } return null; -} +}; diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts index bce0a800098fdc..fb97f562ea680f 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/hooks/use_create_analytics_form/state.ts @@ -6,6 +6,7 @@ import { DeepPartial } from '../../../../../../common/types/common'; import { checkPermission } from '../../../../../privilege/check_privilege'; +import { mlNodesAvailable } from '../../../../../ml_nodes_check/check_ml_nodes'; import { DataFrameAnalyticsId, DataFrameAnalyticsConfig } from '../../../../common'; @@ -102,6 +103,7 @@ export const getInitialState = (): State => ({ }, jobConfig: {}, disabled: + !mlNodesAvailable() || !checkPermission('canCreateDataFrameAnalytics') || !checkPermission('canStartStopDataFrameAnalytics'), indexNames: [], diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/page.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/page.tsx index 9d5502569687cc..4c8039009767f5 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/page.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/page.tsx @@ -22,6 +22,8 @@ import { NavigationMenu } from '../../../components/navigation_menu'; import { DataFrameAnalyticsList } from './components/analytics_list'; import { useRefreshInterval } from './components/analytics_list/use_refresh_interval'; import { useCreateAnalyticsForm } from './hooks/use_create_analytics_form'; +import { NodeAvailableWarning } from '../../../components/node_available_warning'; +import { UpgradeWarning } from '../../../components/upgrade'; export const Page: FC = () => { const [blockRefresh, setBlockRefresh] = useState(false); @@ -62,6 +64,10 @@ export const Page: FC = () => { + + + + { const disableCreateAnomalyDetectionJob = !checkPermission('canCreateJob') || !mlNodesAvailable(); const disableCreateAnalyticsButton = + !mlNodesAvailable() || !checkPermission('canCreateDataFrameAnalytics') || !checkPermission('canStartStopDataFrameAnalytics'); return ( @@ -22,6 +25,9 @@ export const OverviewPage: FC = () => { + + +