From 8a551e7707e459f650b89b994afb6a2d63cecb19 Mon Sep 17 00:00:00 2001 From: Melissa Alvarez Date: Tue, 12 Nov 2019 14:22:40 -0500 Subject: [PATCH] Ensure create flyout can be open when no jobs exist --- .../analytics_list/analytics_list.tsx | 4 +++ .../create_analytics_button.tsx | 13 ++------ .../create_analytics_flyout_wrapper.tsx | 32 +++++++++++++++++++ .../create_analytics_flyout_wrapper/index.ts | 7 ++++ 4 files changed, 46 insertions(+), 10 deletions(-) create mode 100644 x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/create_analytics_flyout_wrapper.tsx create mode 100644 x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/index.ts diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx index 8e044327610df8..7cc356638600ff 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx @@ -43,6 +43,7 @@ import { AnalyticStatsBarStats, StatsBar } from '../../../../../components/stats import { RefreshAnalyticsListButton } from '../refresh_analytics_list_button'; import { CreateAnalyticsButton } from '../create_analytics_button'; import { CreateAnalyticsFormProps } from '../../hooks/use_create_analytics_form'; +import { CreateAnalyticsFlyoutWrapper } from '../create_analytics_flyout_wrapper'; function getItemIdToExpandedRowMap( itemIds: DataFrameAnalyticsId[], @@ -242,6 +243,9 @@ export const DataFrameAnalyticsList: FC = ({ } data-test-subj="mlNoDataFrameAnalyticsFound" /> + {!isManagementTable && createAnalyticsForm && ( + + )} ); } diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_button/create_analytics_button.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_button/create_analytics_button.tsx index fba37c48305d1b..6ce5de4fb0c52b 100644 --- a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_button/create_analytics_button.tsx +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_button/create_analytics_button.tsx @@ -14,12 +14,10 @@ import { createPermissionFailureMessage } from '../../../../../privilege/check_p import { CreateAnalyticsFormProps } from '../../hooks/use_create_analytics_form'; -import { CreateAnalyticsAdvancedEditor } from '../create_analytics_advanced_editor'; -import { CreateAnalyticsForm } from '../create_analytics_form'; -import { CreateAnalyticsFlyout } from '../create_analytics_flyout'; +import { CreateAnalyticsFlyoutWrapper } from '../create_analytics_flyout_wrapper'; export const CreateAnalyticsButton: FC = props => { - const { disabled, isAdvancedEditorEnabled, isModalVisible } = props.state; + const { disabled } = props.state; const { openModal } = props.actions; const button = ( @@ -51,12 +49,7 @@ export const CreateAnalyticsButton: FC = props => { return ( {button} - {isModalVisible && ( - - {isAdvancedEditorEnabled === false && } - {isAdvancedEditorEnabled === true && } - - )} + ); }; diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/create_analytics_flyout_wrapper.tsx b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/create_analytics_flyout_wrapper.tsx new file mode 100644 index 00000000000000..9c110379e96eb1 --- /dev/null +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/create_analytics_flyout_wrapper.tsx @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React, { Fragment, FC } from 'react'; + +import { CreateAnalyticsFormProps } from '../../hooks/use_create_analytics_form'; + +import { CreateAnalyticsAdvancedEditor } from '../create_analytics_advanced_editor'; +import { CreateAnalyticsForm } from '../create_analytics_form'; +import { CreateAnalyticsFlyout } from '../create_analytics_flyout'; + +export const CreateAnalyticsFlyoutWrapper: FC = props => { + const { isAdvancedEditorEnabled, isModalVisible } = props.state; + + if (isModalVisible === false) { + return null; + } + + return ( + + {isModalVisible && ( + + {isAdvancedEditorEnabled === false && } + {isAdvancedEditorEnabled === true && } + + )} + + ); +}; diff --git a/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/index.ts b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/index.ts new file mode 100644 index 00000000000000..c8e7a958f6d42f --- /dev/null +++ b/x-pack/legacy/plugins/ml/public/data_frame_analytics/pages/analytics_management/components/create_analytics_flyout_wrapper/index.ts @@ -0,0 +1,7 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export { CreateAnalyticsFlyoutWrapper } from './create_analytics_flyout_wrapper';