diff --git a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/bottom_bar/bottom_bar.tsx b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/bottom_bar/bottom_bar.tsx deleted file mode 100644 index b19c02669f8188..00000000000000 --- a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/bottom_bar/bottom_bar.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React, { FC } from 'react'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { - EuiBottomBar, - EuiButton, - EuiButtonEmpty, - EuiFlexGroup, - EuiFlexItem, - EuiToolTip, -} from '@elastic/eui'; - -import { MODE as DATAVISUALIZER_MODE } from '../file_data_visualizer_view/constants'; - -interface BottomBarProps { - mode: DATAVISUALIZER_MODE; - onChangeMode: (mode: DATAVISUALIZER_MODE) => void; - onCancel: () => void; - disableImport?: boolean; -} - -/** - * Bottom bar component for Data Visualizer page. - */ -export const BottomBar: FC = ({ mode, onChangeMode, onCancel, disableImport }) => { - if (mode === DATAVISUALIZER_MODE.READ) { - return ( - - - - - ) : null - } - > - onChangeMode(DATAVISUALIZER_MODE.IMPORT)} - data-test-subj="dataVisualizerFileOpenImportPageButton" - > - - - - - - onCancel()}> - - - - - - ); - } else { - return ( - - - - onChangeMode(DATAVISUALIZER_MODE.READ)}> - - - - - onCancel()}> - - - - - - ); - } -}; diff --git a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/bottom_bar/index.ts b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/bottom_bar/index.ts deleted file mode 100644 index 5291268824a628..00000000000000 --- a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/bottom_bar/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -export { BottomBar } from './bottom_bar'; diff --git a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/file_data_visualizer_view/file_data_visualizer_view.js b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/file_data_visualizer_view/file_data_visualizer_view.js index b1378769efc92a..dfa98a3713130e 100644 --- a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/file_data_visualizer_view/file_data_visualizer_view.js +++ b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/file_data_visualizer_view/file_data_visualizer_view.js @@ -13,7 +13,6 @@ import { EuiSpacer } from '@elastic/eui'; import { isEqual } from 'lodash'; import { AboutPanel, LoadingPanel } from '../about_panel'; -import { BottomBar } from '../bottom_bar'; import { ResultsView } from '../results_view'; import { FileCouldNotBeRead, @@ -54,7 +53,6 @@ export class FileDataVisualizerView extends Component { mode: MODE.READ, isEditFlyoutVisible: false, isExplanationFlyoutVisible: false, - bottomBarVisible: false, hasPermissionToImport: false, fileCouldNotBeReadPermissionError: false, }; @@ -85,7 +83,6 @@ export class FileDataVisualizerView extends Component { this.setState( { loading: files.length > 0, - bottomBarVisible: files.length > 0, loaded: false, fileName: '', fileContents: '', @@ -213,30 +210,18 @@ export class FileDataVisualizerView extends Component { closeEditFlyout = () => { this.setState({ isEditFlyoutVisible: false }); - this.showBottomBar(); }; showEditFlyout = () => { this.setState({ isEditFlyoutVisible: true }); - this.hideBottomBar(); }; closeExplanationFlyout = () => { this.setState({ isExplanationFlyoutVisible: false }); - this.showBottomBar(); }; showExplanationFlyout = () => { this.setState({ isExplanationFlyoutVisible: true }); - this.hideBottomBar(); - }; - - showBottomBar = () => { - this.setState({ bottomBarVisible: true }); - }; - - hideBottomBar = () => { - this.setState({ bottomBarVisible: false }); }; setOverrides = (overrides) => { @@ -282,7 +267,6 @@ export class FileDataVisualizerView extends Component { mode, isEditFlyoutVisible, isExplanationFlyoutVisible, - bottomBarVisible, hasPermissionToImport, fileCouldNotBeReadPermissionError, } = this.state; @@ -333,6 +317,9 @@ export class FileDataVisualizerView extends Component { showEditFlyout={this.showEditFlyout} showExplanationFlyout={this.showExplanationFlyout} disableButtons={isEditFlyoutVisible || isExplanationFlyoutVisible} + onChangeMode={this.changeMode} + onCancel={this.onCancel} + disableImport={hasPermissionToImport === false} /> )} )} - - {bottomBarVisible && loaded && ( - <> - - - - )} )} {mode === MODE.IMPORT && ( @@ -369,23 +344,13 @@ export class FileDataVisualizerView extends Component { fileContents={fileContents} data={data} dataViewsContract={this.props.dataViewsContract} - showBottomBar={this.showBottomBar} - hideBottomBar={this.hideBottomBar} fileUpload={this.props.fileUpload} getAdditionalLinks={this.props.getAdditionalLinks} capabilities={this.props.capabilities} + mode={mode} + onChangeMode={this.changeMode} + onCancel={this.onCancel} /> - - {bottomBarVisible && ( - <> - - - - )} )} @@ -393,14 +358,3 @@ export class FileDataVisualizerView extends Component { ); } } - -function BottomPadding() { - // padding for the BottomBar - return ( - <> - - - - - ); -} diff --git a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/import_view/import_view.js b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/import_view/import_view.js index eb42fde664850e..db6929c7d4a66c 100644 --- a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/import_view/import_view.js +++ b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/import_view/import_view.js @@ -10,12 +10,14 @@ import React, { Component } from 'react'; import { EuiButton, - EuiPage, EuiPageBody, EuiPageContentHeader_Deprecated as EuiPageContentHeader, EuiPanel, EuiSpacer, EuiTitle, + EuiFlexGroup, + EuiFlexItem, + EuiButtonEmpty, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -32,6 +34,7 @@ import { addCombinedFieldsToMappings, getDefaultCombinedFields, } from '../../../common/components/combined_fields'; +import { MODE as DATAVISUALIZER_MODE } from '../file_data_visualizer_view/constants'; const DEFAULT_TIME_FIELD = '@timestamp'; const DEFAULT_INDEX_SETTINGS = { number_of_shards: 1 }; @@ -98,7 +101,7 @@ export class ImportView extends Component { // TODO - sort this function out. it's a mess async import() { - const { data, results, dataViewsContract, showBottomBar, fileUpload } = this.props; + const { data, results, dataViewsContract, fileUpload } = this.props; const { format } = results; let { timeFieldName } = this.state; @@ -149,7 +152,6 @@ export class ImportView extends Component { permissionCheckStatus: IMPORT_STATUS.COMPLETE, }, () => { - this.props.hideBottomBar(); setTimeout(async () => { let success = true; const createPipeline = pipelineString !== ''; @@ -309,8 +311,6 @@ export class ImportView extends Component { } } - showBottomBar(); - this.setState({ importing: false, imported: success, @@ -408,12 +408,10 @@ export class ImportView extends Component { showFilebeatFlyout = () => { this.setState({ isFilebeatFlyoutVisible: true }); - this.props.hideBottomBar(); }; closeFilebeatFlyout = () => { this.setState({ isFilebeatFlyoutVisible: false }); - this.props.showBottomBar(); }; async loadDataViewNames() { @@ -482,128 +480,172 @@ export class ImportView extends Component { checkingValidIndex === true; return ( - - - - -

{this.props.fileName}

-
-
+ + + +

{this.props.fileName}

+
+
+ + + +

+ +

+
+ + + - - -

- -

-
- - - + {(initialized === false || importing === true) && ( + + + + + + + + this.props.onChangeMode(DATAVISUALIZER_MODE.READ)} + isDisabled={importing} + > + + + + + this.props.onCancel()} isDisabled={importing}> + + + + + )} - {(initialized === false || importing === true) && ( - - - - )} - - {initialized === true && importing === false && ( - - - - )} -
- - {initialized === true && ( - - - - - - - {imported === true && ( - - - - + {initialized === true && importing === false && ( + + + + + + + + this.props.onChangeMode(DATAVISUALIZER_MODE.READ)} + isDisabled={importing} + > + + + + + this.props.onCancel()} isDisabled={importing}> + + + + + )} + - + {initialized === true && ( + + - + + + {imported === true && ( + + + + + + + + + + {isFilebeatFlyoutVisible && ( + + )} + + )} +
+ + )} + {errors.length > 0 && ( + + - {isFilebeatFlyoutVisible && ( - - )} - - )} - - - )} - {errors.length > 0 && ( - - - - - - )} -
-
+ + + )} + ); } } diff --git a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/results_view/results_view.tsx b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/results_view/results_view.tsx index 69771149546527..26a727a7a922e0 100644 --- a/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/results_view/results_view.tsx +++ b/x-pack/plugins/data_visualizer/public/application/file_data_visualizer/components/results_view/results_view.tsx @@ -12,7 +12,6 @@ import { EuiButton, EuiButtonEmpty, EuiPageBody, - EuiPageContentHeader_Deprecated as EuiPageContentHeader, EuiPanel, EuiSpacer, EuiTitle, @@ -24,6 +23,7 @@ import { FindFileStructureResponse } from '@kbn/file-upload-plugin/common'; import { FileContents } from '../file_contents'; import { AnalysisSummary } from '../analysis_summary'; import { FieldsStatsGrid } from '../../../common/components/fields_stats_grid'; +import { MODE as DATAVISUALIZER_MODE } from '../file_data_visualizer_view/constants'; interface Props { data: string; @@ -32,6 +32,9 @@ interface Props { showEditFlyout(): void; showExplanationFlyout(): void; disableButtons: boolean; + onChangeMode: (mode: DATAVISUALIZER_MODE) => void; + onCancel: () => void; + disableImport?: boolean; } export const ResultsView: FC = ({ @@ -41,14 +44,32 @@ export const ResultsView: FC = ({ showEditFlyout, showExplanationFlyout, disableButtons, + onChangeMode, + onCancel, + disableImport, }) => { return ( - - -

{fileName}

-
-
+ + + +

{fileName}

+
+
+ + + + + +
+
@@ -67,6 +88,19 @@ export const ResultsView: FC = ({ + + onChangeMode(DATAVISUALIZER_MODE.IMPORT)} + data-test-subj="dataVisualizerFileOpenImportPageButton" + > + + + showEditFlyout()} disabled={disableButtons}>