From ae8c4df43e4871cb21e05b7a46d5760645f25d85 Mon Sep 17 00:00:00 2001 From: sulemanof Date: Thu, 2 Apr 2020 11:49:29 +0300 Subject: [PATCH 01/10] Move visualize plugin to np --- src/legacy/core_plugins/kibana/index.js | 1 - .../core_plugins/kibana/public/kibana.js | 1 - .../kibana/public/visualize/_index.scss | 2 - .../kibana/public/visualize/legacy.ts | 28 -------- .../kibana/public/visualize/legacy_imports.ts | 36 ---------- .../public/default_editor.tsx | 2 +- .../public/default_editor_controller.tsx | 2 +- src/legacy/ui/public/_index.scss | 6 -- src/plugins/dashboard/public/index.ts | 1 + src/plugins/visualize/kibana.json | 17 +++++ .../public/application}/application.ts | 8 ++- .../public/application}/breadcrumbs.ts | 0 .../public/application}/editor/_editor.scss | 0 .../public/application}/editor/_index.scss | 0 .../public/application}/editor/editor.html | 0 .../public/application}/editor/editor.js | 23 +++---- .../public/application}/editor/lib/index.ts | 0 .../application}/editor/lib/make_stateful.ts | 4 +- .../editor/lib/migrate_app_state.ts | 0 .../editor/lib/url_helper.test.ts | 9 --- .../application}/editor/lib/url_helper.ts | 3 +- .../editor/lib/visualize_app_state.ts | 2 +- .../application}/editor/visualization.js | 0 .../editor/visualization_editor.js | 0 .../application}/help_menu/help_menu_util.js | 0 .../visualize/public/application/index.scss} | 0 .../public/application}/legacy_app.js | 4 +- .../public/application}/listing/_index.scss | 0 .../public/application}/listing/_listing.scss | 0 .../listing/visualize_listing.html | 0 .../application}/listing/visualize_listing.js | 2 +- .../listing/visualize_listing_table.js | 2 +- .../visualize/public/application/types.ts} | 11 ++- .../public/application}/visualize_app.ts | 0 .../application}/visualize_constants.ts | 0 .../visualize/public}/index.ts | 5 +- .../visualize/public}/kibana_services.ts | 23 ++++--- .../visualize/public}/plugin.ts | 67 +++++++++---------- .../dashboard/create_and_add_embeddables.js | 2 +- .../apps/dashboard/panel_controls.js | 2 +- .../functional/page_objects/visualize_page.ts | 2 +- .../feature_controls/visualize_spaces.ts | 2 +- 42 files changed, 97 insertions(+), 170 deletions(-) delete mode 100644 src/legacy/core_plugins/kibana/public/visualize/_index.scss delete mode 100644 src/legacy/core_plugins/kibana/public/visualize/legacy.ts delete mode 100644 src/legacy/core_plugins/kibana/public/visualize/legacy_imports.ts create mode 100644 src/plugins/visualize/kibana.json rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/application.ts (95%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/breadcrumbs.ts (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/_editor.scss (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/_index.scss (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/editor.html (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/editor.js (97%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/lib/index.ts (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/lib/make_stateful.ts (91%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/lib/migrate_app_state.ts (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/lib/url_helper.test.ts (88%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/lib/url_helper.ts (92%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/lib/visualize_app_state.ts (98%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/visualization.js (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/editor/visualization_editor.js (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/help_menu/help_menu_util.js (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready/_index.scss => plugins/visualize/public/application/index.scss} (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/legacy_app.js (98%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/listing/_index.scss (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/listing/_listing.scss (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/listing/visualize_listing.html (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/listing/visualize_listing.js (98%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/listing/visualize_listing_table.js (98%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready/types.d.ts => plugins/visualize/public/application/types.ts} (84%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/visualize_app.ts (100%) rename src/{legacy/core_plugins/kibana/public/visualize/np_ready => plugins/visualize/public/application}/visualize_constants.ts (100%) rename src/{legacy/core_plugins/kibana/public/visualize => plugins/visualize/public}/index.ts (82%) rename src/{legacy/core_plugins/kibana/public/visualize => plugins/visualize/public}/kibana_services.ts (77%) rename src/{legacy/core_plugins/kibana/public/visualize => plugins/visualize/public}/plugin.ts (77%) diff --git a/src/legacy/core_plugins/kibana/index.js b/src/legacy/core_plugins/kibana/index.js index cac9ef30fba4f5..0c0734626c4e1a 100644 --- a/src/legacy/core_plugins/kibana/index.js +++ b/src/legacy/core_plugins/kibana/index.js @@ -57,7 +57,6 @@ export default function(kibana) { hacks: [ 'plugins/kibana/discover/legacy', 'plugins/kibana/dev_tools', - 'plugins/kibana/visualize/legacy', 'plugins/kibana/dashboard/legacy', ], app: { diff --git a/src/legacy/core_plugins/kibana/public/kibana.js b/src/legacy/core_plugins/kibana/public/kibana.js index df6b08ef765569..b789d3ef90887f 100644 --- a/src/legacy/core_plugins/kibana/public/kibana.js +++ b/src/legacy/core_plugins/kibana/public/kibana.js @@ -43,7 +43,6 @@ import 'uiExports/interpreter'; import 'ui/autoload/all'; import './discover/legacy'; -import './visualize/legacy'; import './dashboard/legacy'; import './management'; import './dev_tools'; diff --git a/src/legacy/core_plugins/kibana/public/visualize/_index.scss b/src/legacy/core_plugins/kibana/public/visualize/_index.scss deleted file mode 100644 index 0632831578bd01..00000000000000 --- a/src/legacy/core_plugins/kibana/public/visualize/_index.scss +++ /dev/null @@ -1,2 +0,0 @@ -// Visualize plugin styles -@import 'np_ready/index'; diff --git a/src/legacy/core_plugins/kibana/public/visualize/legacy.ts b/src/legacy/core_plugins/kibana/public/visualize/legacy.ts deleted file mode 100644 index 4ef2c936897141..00000000000000 --- a/src/legacy/core_plugins/kibana/public/visualize/legacy.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { PluginInitializerContext } from 'kibana/public'; -import { npSetup, npStart } from 'ui/new_platform'; -import { plugin } from './index'; - -const instance = plugin({ - env: npSetup.plugins.kibanaLegacy.env, -} as PluginInitializerContext); -instance.setup(npSetup.core, npSetup.plugins); -instance.start(npStart.core, npStart.plugins); diff --git a/src/legacy/core_plugins/kibana/public/visualize/legacy_imports.ts b/src/legacy/core_plugins/kibana/public/visualize/legacy_imports.ts deleted file mode 100644 index 6a2034d9a62e43..00000000000000 --- a/src/legacy/core_plugins/kibana/public/visualize/legacy_imports.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/** - * The imports in this file are static functions and types which still live in legacy folders and are used - * within dashboard. To consolidate them all in one place, they are re-exported from this file. Eventually - * this list should become empty. Imports from the top level of shimmed or moved plugins can be imported - * directly where they are needed. - */ - -export { DashboardConstants } from '../dashboard/np_ready/dashboard_constants'; -export { - VisSavedObject, - VISUALIZE_EMBEDDABLE_TYPE, -} from '../../../../../plugins/visualizations/public/'; -export { - configureAppAngularModule, - migrateLegacyQuery, - subscribeWithScope, -} from '../../../../../plugins/kibana_legacy/public'; diff --git a/src/legacy/core_plugins/vis_default_editor/public/default_editor.tsx b/src/legacy/core_plugins/vis_default_editor/public/default_editor.tsx index 899b9c1b5fd6eb..a7213387085b78 100644 --- a/src/legacy/core_plugins/vis_default_editor/public/default_editor.tsx +++ b/src/legacy/core_plugins/vis_default_editor/public/default_editor.tsx @@ -19,7 +19,7 @@ import React, { useEffect, useRef, useState, useCallback } from 'react'; -import { EditorRenderProps } from '../../kibana/public/visualize/np_ready/types'; +import { EditorRenderProps } from 'src/plugins/visualize/public'; import { PanelsContainer, Panel } from '../../../../plugins/kibana_react/public'; import './vis_type_agg_filter'; diff --git a/src/legacy/core_plugins/vis_default_editor/public/default_editor_controller.tsx b/src/legacy/core_plugins/vis_default_editor/public/default_editor_controller.tsx index 58e67b5064da51..c92e7171ada5fa 100644 --- a/src/legacy/core_plugins/vis_default_editor/public/default_editor_controller.tsx +++ b/src/legacy/core_plugins/vis_default_editor/public/default_editor_controller.tsx @@ -22,7 +22,7 @@ import { render, unmountComponentAtNode } from 'react-dom'; import { i18n } from '@kbn/i18n'; import { EventEmitter } from 'events'; -import { EditorRenderProps } from 'src/legacy/core_plugins/kibana/public/visualize/np_ready/types'; +import { EditorRenderProps } from 'src/plugins/visualize/public'; import { Vis, VisualizeEmbeddableContract } from '../../../../plugins/visualizations/public'; import { Storage } from '../../../../plugins/kibana_utils/public'; import { KibanaContextProvider } from '../../../../plugins/kibana_react/public'; diff --git a/src/legacy/ui/public/_index.scss b/src/legacy/ui/public/_index.scss index 87006d9347de49..aaed52f8b120a9 100644 --- a/src/legacy/ui/public/_index.scss +++ b/src/legacy/ui/public/_index.scss @@ -17,9 +17,3 @@ @import './field_editor/index'; @import './style_compile/index'; @import '../../../plugins/management/public/components/index'; - -// The following are prefixed with "vis" - -// Can't import vis folder here because of cascading issues, it's imported in core_plugins/kibana -// @import './vis/index'; -@import './visualize/index'; diff --git a/src/plugins/dashboard/public/index.ts b/src/plugins/dashboard/public/index.ts index 070e437ce52ef4..efc8c79392f2e3 100644 --- a/src/plugins/dashboard/public/index.ts +++ b/src/plugins/dashboard/public/index.ts @@ -38,6 +38,7 @@ export { DashboardDocPre700, } from './bwc'; +export { DashboardConstants } from './dashboard_constants'; export {} from './types'; export {} from './actions'; export { diff --git a/src/plugins/visualize/kibana.json b/src/plugins/visualize/kibana.json new file mode 100644 index 00000000000000..2e82882d111731 --- /dev/null +++ b/src/plugins/visualize/kibana.json @@ -0,0 +1,17 @@ +{ + "id": "visualize", + "version": "kibana", + "server": false, + "ui": true, + "requiredPlugins": [ + "data", + "embeddable", + "navigation", + "savedObjects", + "visualizations" + ], + "optionalPlugins": [ + "home", + "share" + ] +} diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/application.ts b/src/plugins/visualize/public/application/application.ts similarity index 95% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/application.ts rename to src/plugins/visualize/public/application/application.ts index 241397884c8fe5..9d8a1b98ef023d 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/application.ts +++ b/src/plugins/visualize/public/application/application.ts @@ -17,16 +17,18 @@ * under the License. */ +import './index.scss'; + import angular, { IModule } from 'angular'; import { i18nDirective, i18nFilter, I18nProvider } from '@kbn/i18n/angular'; import { AppMountContext } from 'kibana/public'; -import { configureAppAngularModule } from '../legacy_imports'; -import { NavigationPublicPluginStart as NavigationStart } from '../../../../../../plugins/navigation/public'; +import { NavigationPublicPluginStart as NavigationStart } from 'src/plugins/navigation/public'; import { + configureAppAngularModule, createTopNavDirective, createTopNavHelper, -} from '../../../../../../plugins/kibana_legacy/public'; +} from '../../../kibana_legacy/public'; // @ts-ignore import { initVisualizeApp } from './legacy_app'; diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/breadcrumbs.ts b/src/plugins/visualize/public/application/breadcrumbs.ts similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/breadcrumbs.ts rename to src/plugins/visualize/public/application/breadcrumbs.ts diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/_editor.scss b/src/plugins/visualize/public/application/editor/_editor.scss similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/_editor.scss rename to src/plugins/visualize/public/application/editor/_editor.scss diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/_index.scss b/src/plugins/visualize/public/application/editor/_index.scss similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/_index.scss rename to src/plugins/visualize/public/application/editor/_index.scss diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/editor.html b/src/plugins/visualize/public/application/editor/editor.html similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/editor.html rename to src/plugins/visualize/public/application/editor/editor.html diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/editor.js b/src/plugins/visualize/public/application/editor/editor.js similarity index 97% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/editor.js rename to src/plugins/visualize/public/application/editor/editor.js index 9ccd45dfc1b458..ded049b3de25d2 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/editor.js +++ b/src/plugins/visualize/public/application/editor/editor.js @@ -31,22 +31,19 @@ import { VisualizeConstants } from '../visualize_constants'; import { getEditBreadcrumbs } from '../breadcrumbs'; import { addHelpMenuToAppChrome } from '../help_menu/help_menu_util'; -import { unhashUrl, removeQueryParam } from '../../../../../../../plugins/kibana_utils/public'; -import { MarkdownSimple, toMountPoint } from '../../../../../../../plugins/kibana_react/public'; -import { addFatalError } from '../../../../../../../plugins/kibana_legacy/public'; +import { unhashUrl, removeQueryParam } from '../../../../kibana_utils/public'; +import { MarkdownSimple, toMountPoint } from '../../../../kibana_react/public'; import { - SavedObjectSaveModal, - showSaveModal, -} from '../../../../../../../plugins/saved_objects/public'; -import { - esFilters, - connectToQueryState, - syncQueryStateWithUrl, -} from '../../../../../../../plugins/data/public'; + addFatalError, + subscribeWithScope, + migrateLegacyQuery, +} from '../../../../kibana_legacy/public'; +import { SavedObjectSaveModal, showSaveModal } from '../../../../saved_objects/public'; +import { esFilters, connectToQueryState, syncQueryStateWithUrl } from '../../../../data/public'; +import { DashboardConstants } from '../../../../dashboard/public'; import { initVisEditorDirective } from './visualization_editor'; import { initVisualizationDirective } from './visualization'; -import { subscribeWithScope, migrateLegacyQuery, DashboardConstants } from '../../legacy_imports'; import { getServices } from '../../kibana_services'; @@ -252,6 +249,8 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState isDirty: hasUnappliedChanges || hasUnsavedChanges, }); }, + // disable the Share button if no action specified + disableButton: !share, }, { id: 'inspector', diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/index.ts b/src/plugins/visualize/public/application/editor/lib/index.ts similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/index.ts rename to src/plugins/visualize/public/application/editor/lib/index.ts diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/make_stateful.ts b/src/plugins/visualize/public/application/editor/lib/make_stateful.ts similarity index 91% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/make_stateful.ts rename to src/plugins/visualize/public/application/editor/lib/make_stateful.ts index 8384585108a594..d071df314d99c4 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/make_stateful.ts +++ b/src/plugins/visualize/public/application/editor/lib/make_stateful.ts @@ -17,8 +17,8 @@ * under the License. */ -import { PersistedState } from '../../../../../../../../plugins/visualizations/public'; -import { ReduxLikeStateContainer } from '../../../../../../../../plugins/kibana_utils/public'; +import { PersistedState } from '../../../../../visualizations/public'; +import { ReduxLikeStateContainer } from '../../../../../kibana_utils/public'; import { VisualizeAppState, VisualizeAppStateTransitions } from '../../types'; /** diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/migrate_app_state.ts b/src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/migrate_app_state.ts rename to src/plugins/visualize/public/application/editor/lib/migrate_app_state.ts diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/url_helper.test.ts b/src/plugins/visualize/public/application/editor/lib/url_helper.test.ts similarity index 88% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/url_helper.test.ts rename to src/plugins/visualize/public/application/editor/lib/url_helper.test.ts index e6974af9af8322..09609e3d7e3620 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/url_helper.test.ts +++ b/src/plugins/visualize/public/application/editor/lib/url_helper.test.ts @@ -19,15 +19,6 @@ import { addEmbeddableToDashboardUrl } from './url_helper'; -jest.mock('../../../legacy_imports', () => ({ - DashboardConstants: { - ADD_EMBEDDABLE_ID: 'addEmbeddableId', - ADD_EMBEDDABLE_TYPE: 'addEmbeddableType', - CREATE_NEW_DASHBOARD_URL: '/dashboard', - }, - VISUALIZE_EMBEDDABLE_TYPE: 'visualization', -})); - describe('', () => { it('addEmbeddableToDashboardUrl when dashboard is not saved', () => { const id = '123eb456cd'; diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/url_helper.ts b/src/plugins/visualize/public/application/editor/lib/url_helper.ts similarity index 92% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/url_helper.ts rename to src/plugins/visualize/public/application/editor/lib/url_helper.ts index c7937c856184a8..84e1ef9687cd0f 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/url_helper.ts +++ b/src/plugins/visualize/public/application/editor/lib/url_helper.ts @@ -18,7 +18,8 @@ */ import { parseUrl, stringify } from 'query-string'; -import { DashboardConstants, VISUALIZE_EMBEDDABLE_TYPE } from '../../../legacy_imports'; +import { DashboardConstants } from '../../../../../dashboard/public'; +import { VISUALIZE_EMBEDDABLE_TYPE } from '../../../../../visualizations/public'; /** * * Returns relative dashboard URL with added embeddableType and embeddableId query params diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/visualize_app_state.ts b/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts similarity index 98% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/visualize_app_state.ts rename to src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts index 86f39ea76dd3a0..fe2a19b7315c32 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/lib/visualize_app_state.ts +++ b/src/plugins/visualize/public/application/editor/lib/visualize_app_state.ts @@ -24,7 +24,7 @@ import { createStateContainer, syncState, IKbnUrlStateStorage, -} from '../../../../../../../../plugins/kibana_utils/public'; +} from '../../../../../kibana_utils/public'; import { PureVisState, VisualizeAppState, VisualizeAppStateTransitions } from '../../types'; const STATE_STORAGE_KEY = '_a'; diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/visualization.js b/src/plugins/visualize/public/application/editor/visualization.js similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/visualization.js rename to src/plugins/visualize/public/application/editor/visualization.js diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/visualization_editor.js b/src/plugins/visualize/public/application/editor/visualization_editor.js similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/editor/visualization_editor.js rename to src/plugins/visualize/public/application/editor/visualization_editor.js diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/help_menu/help_menu_util.js b/src/plugins/visualize/public/application/help_menu/help_menu_util.js similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/help_menu/help_menu_util.js rename to src/plugins/visualize/public/application/help_menu/help_menu_util.js diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/_index.scss b/src/plugins/visualize/public/application/index.scss similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/_index.scss rename to src/plugins/visualize/public/application/index.scss diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/legacy_app.js b/src/plugins/visualize/public/application/legacy_app.js similarity index 98% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/legacy_app.js rename to src/plugins/visualize/public/application/legacy_app.js index d1bf4411cac2a7..9b9e84dbf28d62 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/legacy_app.js +++ b/src/plugins/visualize/public/application/legacy_app.js @@ -25,7 +25,8 @@ import { createKbnUrlStateStorage, redirectWhenMissing, ensureDefaultIndexPattern, -} from '../../../../../../plugins/kibana_utils/public'; +} from '../../../kibana_utils/public'; +import { createSavedSearchesLoader } from '../../../discover/public'; import editorTemplate from './editor/editor.html'; import visualizeListingTemplate from './listing/visualize_listing.html'; @@ -40,7 +41,6 @@ import { getCreateBreadcrumbs, getEditBreadcrumbs, } from './breadcrumbs'; -import { createSavedSearchesLoader } from '../../../../../../plugins/discover/public'; const getResolvedResults = deps => { const { core, data, visualizations } = deps; diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/_index.scss b/src/plugins/visualize/public/application/listing/_index.scss similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/_index.scss rename to src/plugins/visualize/public/application/listing/_index.scss diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/_listing.scss b/src/plugins/visualize/public/application/listing/_listing.scss similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/_listing.scss rename to src/plugins/visualize/public/application/listing/_listing.scss diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing.html b/src/plugins/visualize/public/application/listing/visualize_listing.html similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing.html rename to src/plugins/visualize/public/application/listing/visualize_listing.html diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing.js b/src/plugins/visualize/public/application/listing/visualize_listing.js similarity index 98% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing.js rename to src/plugins/visualize/public/application/listing/visualize_listing.js index 098633d0460627..256b0b712d0ef1 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing.js +++ b/src/plugins/visualize/public/application/listing/visualize_listing.js @@ -24,7 +24,7 @@ import { VisualizeConstants } from '../visualize_constants'; import { i18n } from '@kbn/i18n'; import { getServices } from '../../kibana_services'; -import { syncQueryStateWithUrl } from '../../../../../../../plugins/data/public'; +import { syncQueryStateWithUrl } from '../../../../data/public'; export function initListingDirective(app, I18nContext) { app.directive('visualizeListingTable', reactDirective => diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing_table.js b/src/plugins/visualize/public/application/listing/visualize_listing_table.js similarity index 98% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing_table.js rename to src/plugins/visualize/public/application/listing/visualize_listing_table.js index 932ac8996e97ef..0ac1b02bf96eea 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/listing/visualize_listing_table.js +++ b/src/plugins/visualize/public/application/listing/visualize_listing_table.js @@ -21,7 +21,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; -import { TableListView } from '../../../../../../../plugins/kibana_react/public'; +import { TableListView } from '../../../../kibana_react/public'; import { EuiIcon, EuiBetaBadge, EuiLink, EuiButton, EuiEmptyPrompt } from '@elastic/eui'; diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/types.d.ts b/src/plugins/visualize/public/application/types.ts similarity index 84% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/types.d.ts rename to src/plugins/visualize/public/application/types.ts index e376b4f2bbacfe..6c8245ec0dc44b 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/np_ready/types.d.ts +++ b/src/plugins/visualize/public/application/types.ts @@ -24,12 +24,9 @@ import { DataPublicPluginStart, SavedQuery, } from 'src/plugins/data/public'; -import { EmbeddableStart } from 'src/plugins/embeddable/public'; -import { PersistedState } from 'src/plugins/visualizations/public'; -import { LegacyCoreStart } from 'kibana/public'; -import { VisSavedObject } from '../legacy_imports'; -import { SavedVisState } from '../../../../../../plugins/visualizations/public'; -import { SavedSearch } from '../../../../../../plugins/discover/public'; +import { PersistedState, SavedVisState, VisSavedObject } from 'src/plugins/visualizations/public'; +import { CoreStart } from 'kibana/public'; +import { SavedSearch } from 'src/plugins/discover/public'; export type PureVisState = SavedVisState; @@ -59,7 +56,7 @@ export interface VisualizeAppStateTransitions { } export interface EditorRenderProps { - core: LegacyCoreStart; + core: CoreStart; data: DataPublicPluginStart; filters: Filter[]; timeRange: TimeRange; diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_app.ts b/src/plugins/visualize/public/application/visualize_app.ts similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_app.ts rename to src/plugins/visualize/public/application/visualize_app.ts diff --git a/src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_constants.ts b/src/plugins/visualize/public/application/visualize_constants.ts similarity index 100% rename from src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_constants.ts rename to src/plugins/visualize/public/application/visualize_constants.ts diff --git a/src/legacy/core_plugins/kibana/public/visualize/index.ts b/src/plugins/visualize/public/index.ts similarity index 82% rename from src/legacy/core_plugins/kibana/public/visualize/index.ts rename to src/plugins/visualize/public/index.ts index c3ae39d9fde255..f7bbcb1456da4b 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/index.ts +++ b/src/plugins/visualize/public/index.ts @@ -20,10 +20,9 @@ import { PluginInitializerContext } from 'kibana/public'; import { VisualizePlugin } from './plugin'; -export * from './np_ready/visualize_constants'; -export { VisualizeConstants, createVisualizeEditUrl } from './np_ready/visualize_constants'; +export { EditorRenderProps } from './application/types'; +export { VisualizeConstants, createVisualizeEditUrl } from './application/visualize_constants'; -// Core will be looking for this when loading our plugin in the new platform export const plugin = (context: PluginInitializerContext) => { return new VisualizePlugin(context); }; diff --git a/src/legacy/core_plugins/kibana/public/visualize/kibana_services.ts b/src/plugins/visualize/public/kibana_services.ts similarity index 77% rename from src/legacy/core_plugins/kibana/public/visualize/kibana_services.ts rename to src/plugins/visualize/public/kibana_services.ts index 2ed7e3d43168c8..1ff4a3dd0ac23a 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/kibana_services.ts +++ b/src/plugins/visualize/public/kibana_services.ts @@ -27,16 +27,17 @@ import { PluginInitializerContext, } from 'kibana/public'; -import { NavigationPublicPluginStart as NavigationStart } from '../../../../../plugins/navigation/public'; -import { Storage } from '../../../../../plugins/kibana_utils/public'; -import { EmbeddableStart } from '../../../../../plugins/embeddable/public'; -import { SharePluginStart } from '../../../../../plugins/share/public'; -import { DataPublicPluginStart, IndexPatternsContract } from '../../../../../plugins/data/public'; -import { VisualizationsStart } from '../../../../../plugins/visualizations/public'; -import { SavedVisualizations } from './np_ready/types'; -import { UsageCollectionSetup } from '../../../../../plugins/usage_collection/public'; -import { KibanaLegacyStart } from '../../../../../plugins/kibana_legacy/public'; -import { DefaultEditorController } from '../../../vis_default_editor/public'; +import { NavigationPublicPluginStart as NavigationStart } from '../../navigation/public'; +import { Storage } from '../../kibana_utils/public'; +import { EmbeddableStart } from '../../embeddable/public'; +import { SharePluginStart } from '../../share/public'; +import { DataPublicPluginStart, IndexPatternsContract } from '../../data/public'; +import { VisualizationsStart } from '../../visualizations/public'; +import { SavedVisualizations } from './application/types'; +import { UsageCollectionSetup } from '../../usage_collection/public'; +import { KibanaLegacyStart } from '../../kibana_legacy/public'; +// the vis_default_editor is about to be moved to NP, this import will be adjusted +import { DefaultEditorController } from '../../../legacy/core_plugins/vis_default_editor/public'; export interface VisualizeKibanaServices { pluginInitializerContext: PluginInitializerContext; @@ -52,7 +53,7 @@ export interface VisualizeKibanaServices { savedObjectsClient: SavedObjectsClientContract; savedQueryService: DataPublicPluginStart['query']['savedQueries']; savedVisualizations: SavedVisualizations; - share: SharePluginStart; + share?: SharePluginStart; uiSettings: IUiSettingsClient; config: KibanaLegacyStart['config']; visualizeCapabilities: any; diff --git a/src/legacy/core_plugins/kibana/public/visualize/plugin.ts b/src/plugins/visualize/public/plugin.ts similarity index 77% rename from src/legacy/core_plugins/kibana/public/visualize/plugin.ts rename to src/plugins/visualize/public/plugin.ts index 6d32579f5c5412..15a21527846cea 100644 --- a/src/legacy/core_plugins/kibana/public/visualize/plugin.ts +++ b/src/plugins/visualize/public/plugin.ts @@ -30,39 +30,30 @@ import { SavedObjectsClientContract, } from 'kibana/public'; -import { Storage, createKbnUrlTracker } from '../../../../../plugins/kibana_utils/public'; -import { - DataPublicPluginStart, - DataPublicPluginSetup, - esFilters, -} from '../../../../../plugins/data/public'; -import { EmbeddableStart } from '../../../../../plugins/embeddable/public'; -import { NavigationPublicPluginStart as NavigationStart } from '../../../../../plugins/navigation/public'; -import { SharePluginStart } from '../../../../../plugins/share/public'; -import { - KibanaLegacySetup, - AngularRenderedAppUpdater, -} from '../../../../../plugins/kibana_legacy/public'; -import { VisualizationsStart } from '../../../../../plugins/visualizations/public'; -import { VisualizeConstants } from './np_ready/visualize_constants'; +import { Storage, createKbnUrlTracker } from '../../kibana_utils/public'; +import { DataPublicPluginStart, DataPublicPluginSetup, esFilters } from '../../data/public'; +import { EmbeddableStart } from '../../embeddable/public'; +import { NavigationPublicPluginStart as NavigationStart } from '../../navigation/public'; +import { SharePluginStart } from '../../share/public'; +import { KibanaLegacySetup, AngularRenderedAppUpdater } from '../../kibana_legacy/public'; +import { VisualizationsStart } from '../../visualizations/public'; +import { VisualizeConstants } from './application/visualize_constants'; import { setServices, VisualizeKibanaServices } from './kibana_services'; -import { - FeatureCatalogueCategory, - HomePublicPluginSetup, -} from '../../../../../plugins/home/public'; -import { UsageCollectionSetup } from '../../../../../plugins/usage_collection/public'; -import { DefaultEditorController } from '../../../vis_default_editor/public'; +import { FeatureCatalogueCategory, HomePublicPluginSetup } from '../../home/public'; +import { UsageCollectionSetup } from '../../usage_collection/public'; +// the vis_default_editor is about to be moved to NP, this import will be adjusted +import { DefaultEditorController } from '../../../legacy/core_plugins/vis_default_editor/public'; export interface VisualizePluginStartDependencies { data: DataPublicPluginStart; embeddable: EmbeddableStart; navigation: NavigationStart; - share: SharePluginStart; + share?: SharePluginStart; visualizations: VisualizationsStart; } export interface VisualizePluginSetupDependencies { - home: HomePublicPluginSetup; + home?: HomePublicPluginSetup; kibanaLegacy: KibanaLegacySetup; usageCollection?: UsageCollectionSetup; data: DataPublicPluginSetup; @@ -74,7 +65,7 @@ export class VisualizePlugin implements Plugin { embeddable: EmbeddableStart; navigation: NavigationStart; savedObjectsClient: SavedObjectsClientContract; - share: SharePluginStart; + share?: SharePluginStart; visualizations: VisualizationsStart; } | null = null; private appStateUpdater = new BehaviorSubject(() => ({})); @@ -159,7 +150,7 @@ export class VisualizePlugin implements Plugin { }; setServices(deps); - const { renderApp } = await import('./np_ready/application'); + const { renderApp } = await import('./application/application'); const unmount = renderApp(params.element, params.appBasePath, deps); return () => { unmount(); @@ -168,18 +159,20 @@ export class VisualizePlugin implements Plugin { }, }); - home.featureCatalogue.register({ - id: 'visualize', - title: 'Visualize', - description: i18n.translate('kbn.visualize.visualizeDescription', { - defaultMessage: - 'Create visualizations and aggregate data stores in your Elasticsearch indices.', - }), - icon: 'visualizeApp', - path: `/app/kibana#${VisualizeConstants.LANDING_PAGE_PATH}`, - showOnHomePage: true, - category: FeatureCatalogueCategory.DATA, - }); + if (home) { + home.featureCatalogue.register({ + id: 'visualize', + title: 'Visualize', + description: i18n.translate('kbn.visualize.visualizeDescription', { + defaultMessage: + 'Create visualizations and aggregate data stores in your Elasticsearch indices.', + }), + icon: 'visualizeApp', + path: `/app/kibana#${VisualizeConstants.LANDING_PAGE_PATH}`, + showOnHomePage: true, + category: FeatureCatalogueCategory.DATA, + }); + } } public start( diff --git a/test/functional/apps/dashboard/create_and_add_embeddables.js b/test/functional/apps/dashboard/create_and_add_embeddables.js index 3ce8e353e61fc7..410acdcb5680d2 100644 --- a/test/functional/apps/dashboard/create_and_add_embeddables.js +++ b/test/functional/apps/dashboard/create_and_add_embeddables.js @@ -19,7 +19,7 @@ import expect from '@kbn/expect'; -import { VisualizeConstants } from '../../../../src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_constants'; +import { VisualizeConstants } from '../../../../src/plugins/visualize/public/application/visualize_constants'; export default function({ getService, getPageObjects }) { const retry = getService('retry'); diff --git a/test/functional/apps/dashboard/panel_controls.js b/test/functional/apps/dashboard/panel_controls.js index f30f58913bd970..52c4a11360355b 100644 --- a/test/functional/apps/dashboard/panel_controls.js +++ b/test/functional/apps/dashboard/panel_controls.js @@ -24,7 +24,7 @@ import { AREA_CHART_VIS_NAME, LINE_CHART_VIS_NAME, } from '../../page_objects/dashboard_page'; -import { VisualizeConstants } from '../../../../src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_constants'; +import { VisualizeConstants } from '../../../../src/plugins/visualize/public/application/visualize_constants'; export default function({ getService, getPageObjects }) { const browser = getService('browser'); diff --git a/test/functional/page_objects/visualize_page.ts b/test/functional/page_objects/visualize_page.ts index 3b63fa68d71ee9..220c2d8f6b3633 100644 --- a/test/functional/page_objects/visualize_page.ts +++ b/test/functional/page_objects/visualize_page.ts @@ -18,7 +18,7 @@ */ import { FtrProviderContext } from '../ftr_provider_context'; -import { VisualizeConstants } from '../../../src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_constants'; +import { VisualizeConstants } from '../../../src/plugins/visualize/public/application/visualize_constants'; export function VisualizePageProvider({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); diff --git a/x-pack/test/functional/apps/visualize/feature_controls/visualize_spaces.ts b/x-pack/test/functional/apps/visualize/feature_controls/visualize_spaces.ts index 4f12dd16247f62..cbd03110b0f145 100644 --- a/x-pack/test/functional/apps/visualize/feature_controls/visualize_spaces.ts +++ b/x-pack/test/functional/apps/visualize/feature_controls/visualize_spaces.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import expect from '@kbn/expect'; -import { VisualizeConstants } from '../../../../../../src/legacy/core_plugins/kibana/public/visualize/np_ready/visualize_constants'; +import { VisualizeConstants } from '../../../../../../src/plugins/visualize/public/application/visualize_constants'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function({ getPageObjects, getService }: FtrProviderContext) { From 2ce021cc4fbcd56b4961e8c5de620a6d1c9b0b04 Mon Sep 17 00:00:00 2001 From: sulemanof Date: Thu, 2 Apr 2020 12:23:32 +0300 Subject: [PATCH 02/10] Refactor plugin services --- .../public/application/editor/editor.js | 9 +-- .../public/application/legacy_app.js | 2 +- .../application/listing/visualize_listing.js | 3 +- .../listing/visualize_listing_table.js | 4 +- .../visualize/public/kibana_services.ts | 12 +--- src/plugins/visualize/public/plugin.ts | 67 ++++--------------- 6 files changed, 22 insertions(+), 75 deletions(-) diff --git a/src/plugins/visualize/public/application/editor/editor.js b/src/plugins/visualize/public/application/editor/editor.js index ded049b3de25d2..16edb33f6deb91 100644 --- a/src/plugins/visualize/public/application/editor/editor.js +++ b/src/plugins/visualize/public/application/editor/editor.js @@ -62,16 +62,13 @@ export function initEditorDirective(app, deps) { function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlStateStorage, history) { const { - indexPatterns, localStorage, visualizeCapabilities, share, - data: { query: queryService }, + data: { query: queryService, indexPatterns }, toastNotifications, chrome, - core: { docLinks, fatalErrors }, - savedQueryService, - uiSettings, + core: { docLinks, fatalErrors, uiSettings }, I18nContext, setActiveUrl, visualizations, @@ -369,7 +366,7 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState return; } - savedQueryService.getSavedQuery(savedQueryId).then(savedQuery => { + queryService.savedQueries.getSavedQuery(savedQueryId).then(savedQuery => { $scope.$evalAsync(() => { $scope.updateSavedQuery(savedQuery); }); diff --git a/src/plugins/visualize/public/application/legacy_app.js b/src/plugins/visualize/public/application/legacy_app.js index 9b9e84dbf28d62..544ee51f61b1e6 100644 --- a/src/plugins/visualize/public/application/legacy_app.js +++ b/src/plugins/visualize/public/application/legacy_app.js @@ -92,7 +92,7 @@ export function initVisualizeApp(app, deps) { app.factory('kbnUrlStateStorage', history => createKbnUrlStateStorage({ history, - useHash: deps.uiSettings.get('state:storeInSessionStorage'), + useHash: deps.core.uiSettings.get('state:storeInSessionStorage'), }) ); diff --git a/src/plugins/visualize/public/application/listing/visualize_listing.js b/src/plugins/visualize/public/application/listing/visualize_listing.js index 256b0b712d0ef1..c0e3f2d133052c 100644 --- a/src/plugins/visualize/public/application/listing/visualize_listing.js +++ b/src/plugins/visualize/public/application/listing/visualize_listing.js @@ -40,9 +40,8 @@ export function VisualizeListingController($scope, createNewVis, kbnUrlStateStor savedVisualizations, data: { query }, toastNotifications, - uiSettings, visualizations, - core: { docLinks, savedObjects }, + core: { docLinks, savedObjects, uiSettings }, } = getServices(); // syncs `_g` portion of url with query services diff --git a/src/plugins/visualize/public/application/listing/visualize_listing_table.js b/src/plugins/visualize/public/application/listing/visualize_listing_table.js index 0ac1b02bf96eea..12af8911d588b7 100644 --- a/src/plugins/visualize/public/application/listing/visualize_listing_table.js +++ b/src/plugins/visualize/public/application/listing/visualize_listing_table.js @@ -33,7 +33,7 @@ class VisualizeListingTable extends Component { } render() { - const { visualizeCapabilities, uiSettings, toastNotifications } = getServices(); + const { visualizeCapabilities, core, toastNotifications } = getServices(); return ( ); } diff --git a/src/plugins/visualize/public/kibana_services.ts b/src/plugins/visualize/public/kibana_services.ts index 1ff4a3dd0ac23a..b5bd728c66e570 100644 --- a/src/plugins/visualize/public/kibana_services.ts +++ b/src/plugins/visualize/public/kibana_services.ts @@ -22,8 +22,6 @@ import { CoreStart, SavedObjectsClientContract, ToastsStart, - IUiSettingsClient, - I18nStart, PluginInitializerContext, } from 'kibana/public'; @@ -31,11 +29,9 @@ import { NavigationPublicPluginStart as NavigationStart } from '../../navigation import { Storage } from '../../kibana_utils/public'; import { EmbeddableStart } from '../../embeddable/public'; import { SharePluginStart } from '../../share/public'; -import { DataPublicPluginStart, IndexPatternsContract } from '../../data/public'; +import { DataPublicPluginStart } from '../../data/public'; import { VisualizationsStart } from '../../visualizations/public'; import { SavedVisualizations } from './application/types'; -import { UsageCollectionSetup } from '../../usage_collection/public'; -import { KibanaLegacyStart } from '../../kibana_legacy/public'; // the vis_default_editor is about to be moved to NP, this import will be adjusted import { DefaultEditorController } from '../../../legacy/core_plugins/vis_default_editor/public'; @@ -46,20 +42,14 @@ export interface VisualizeKibanaServices { core: CoreStart; data: DataPublicPluginStart; embeddable: EmbeddableStart; - indexPatterns: IndexPatternsContract; localStorage: Storage; navigation: NavigationStart; toastNotifications: ToastsStart; savedObjectsClient: SavedObjectsClientContract; - savedQueryService: DataPublicPluginStart['query']['savedQueries']; savedVisualizations: SavedVisualizations; share?: SharePluginStart; - uiSettings: IUiSettingsClient; - config: KibanaLegacyStart['config']; visualizeCapabilities: any; visualizations: VisualizationsStart; - usageCollection?: UsageCollectionSetup; - I18nContext: I18nStart['Context']; setActiveUrl: (newUrl: string) => void; DefaultVisualizationEditor: typeof DefaultEditorController; } diff --git a/src/plugins/visualize/public/plugin.ts b/src/plugins/visualize/public/plugin.ts index 15a21527846cea..71811758e6196e 100644 --- a/src/plugins/visualize/public/plugin.ts +++ b/src/plugins/visualize/public/plugin.ts @@ -27,7 +27,6 @@ import { CoreStart, Plugin, PluginInitializerContext, - SavedObjectsClientContract, } from 'kibana/public'; import { Storage, createKbnUrlTracker } from '../../kibana_utils/public'; @@ -40,7 +39,6 @@ import { VisualizationsStart } from '../../visualizations/public'; import { VisualizeConstants } from './application/visualize_constants'; import { setServices, VisualizeKibanaServices } from './kibana_services'; import { FeatureCatalogueCategory, HomePublicPluginSetup } from '../../home/public'; -import { UsageCollectionSetup } from '../../usage_collection/public'; // the vis_default_editor is about to be moved to NP, this import will be adjusted import { DefaultEditorController } from '../../../legacy/core_plugins/vis_default_editor/public'; @@ -55,27 +53,20 @@ export interface VisualizePluginStartDependencies { export interface VisualizePluginSetupDependencies { home?: HomePublicPluginSetup; kibanaLegacy: KibanaLegacySetup; - usageCollection?: UsageCollectionSetup; data: DataPublicPluginSetup; } -export class VisualizePlugin implements Plugin { - private startDependencies: { - data: DataPublicPluginStart; - embeddable: EmbeddableStart; - navigation: NavigationStart; - savedObjectsClient: SavedObjectsClientContract; - share?: SharePluginStart; - visualizations: VisualizationsStart; - } | null = null; +export class VisualizePlugin + implements + Plugin { private appStateUpdater = new BehaviorSubject(() => ({})); private stopUrlTracking: (() => void) | undefined = undefined; constructor(private initializerContext: PluginInitializerContext) {} public async setup( - core: CoreSetup, - { home, kibanaLegacy, usageCollection, data }: VisualizePluginSetupDependencies + core: CoreSetup, + { home, kibanaLegacy, data }: VisualizePluginSetupDependencies ) { const { appMounted, appUnMounted, stop: stopUrlTracker, setActiveUrl } = createKbnUrlTracker({ baseUrl: core.http.basePath.prepend('/app/kibana'), @@ -108,43 +99,25 @@ export class VisualizePlugin implements Plugin { updater$: this.appStateUpdater.asObservable(), navLinkId: 'kibana:visualize', mount: async (params: AppMountParameters) => { - const [coreStart] = await core.getStartServices(); - - if (this.startDependencies === null) { - throw new Error('not started yet'); - } + const [coreStart, pluginsStart] = await core.getStartServices(); appMounted(); - const { - savedObjectsClient, - embeddable, - navigation, - visualizations, - data: dataStart, - share, - } = this.startDependencies; const deps: VisualizeKibanaServices = { pluginInitializerContext: this.initializerContext, addBasePath: coreStart.http.basePath.prepend, core: coreStart, chrome: coreStart.chrome, - data: dataStart, - embeddable, - indexPatterns: dataStart.indexPatterns, + data: pluginsStart.data, + embeddable: pluginsStart.embeddable, localStorage: new Storage(localStorage), - navigation, - savedObjectsClient, - savedVisualizations: visualizations.savedVisualizationsLoader, - savedQueryService: dataStart.query.savedQueries, - share, + navigation: pluginsStart.navigation, + savedObjectsClient: coreStart.savedObjects.client, + savedVisualizations: pluginsStart.visualizations.savedVisualizationsLoader, + share: pluginsStart.share, toastNotifications: coreStart.notifications.toasts, - uiSettings: coreStart.uiSettings, - config: kibanaLegacy.config, visualizeCapabilities: coreStart.application.capabilities.visualize, - visualizations, - usageCollection, - I18nContext: coreStart.i18n.Context, + visualizations: pluginsStart.visualizations, setActiveUrl, DefaultVisualizationEditor: DefaultEditorController, }; @@ -175,19 +148,7 @@ export class VisualizePlugin implements Plugin { } } - public start( - core: CoreStart, - { embeddable, navigation, data, share, visualizations }: VisualizePluginStartDependencies - ) { - this.startDependencies = { - data, - embeddable, - navigation, - savedObjectsClient: core.savedObjects.client, - share, - visualizations, - }; - } + public start(core: CoreStart, plugins: VisualizePluginStartDependencies) {} stop() { if (this.stopUrlTracking) { From 2a5e63f5452f551c68830bb2b4e6d239f8f307e7 Mon Sep 17 00:00:00 2001 From: sulemanof Date: Thu, 2 Apr 2020 13:55:00 +0300 Subject: [PATCH 03/10] Clean up --- src/plugins/visualize/kibana.json | 1 + src/plugins/visualize/public/application/visualize_app.ts | 2 +- src/plugins/visualize/public/kibana_services.ts | 4 ++++ src/plugins/visualize/public/plugin.ts | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/visualize/kibana.json b/src/plugins/visualize/kibana.json index 2e82882d111731..a6d97701329660 100644 --- a/src/plugins/visualize/kibana.json +++ b/src/plugins/visualize/kibana.json @@ -6,6 +6,7 @@ "requiredPlugins": [ "data", "embeddable", + "kibanaLegacy", "navigation", "savedObjects", "visualizations" diff --git a/src/plugins/visualize/public/application/visualize_app.ts b/src/plugins/visualize/public/application/visualize_app.ts index a4afac23f48429..1a4e1534db9e2c 100644 --- a/src/plugins/visualize/public/application/visualize_app.ts +++ b/src/plugins/visualize/public/application/visualize_app.ts @@ -27,5 +27,5 @@ import { initListingDirective } from './listing/visualize_listing'; export function initVisualizeAppDirective(app: IModule, deps: VisualizeKibanaServices) { initEditorDirective(app, deps); - initListingDirective(app, deps.core.i18n.Context); + initListingDirective(app, deps.I18nContext); } diff --git a/src/plugins/visualize/public/kibana_services.ts b/src/plugins/visualize/public/kibana_services.ts index b5bd728c66e570..05fb8959e522d2 100644 --- a/src/plugins/visualize/public/kibana_services.ts +++ b/src/plugins/visualize/public/kibana_services.ts @@ -23,6 +23,7 @@ import { SavedObjectsClientContract, ToastsStart, PluginInitializerContext, + I18nStart, } from 'kibana/public'; import { NavigationPublicPluginStart as NavigationStart } from '../../navigation/public'; @@ -32,6 +33,7 @@ import { SharePluginStart } from '../../share/public'; import { DataPublicPluginStart } from '../../data/public'; import { VisualizationsStart } from '../../visualizations/public'; import { SavedVisualizations } from './application/types'; +import { KibanaLegacyStart } from '../../kibana_legacy/public'; // the vis_default_editor is about to be moved to NP, this import will be adjusted import { DefaultEditorController } from '../../../legacy/core_plugins/vis_default_editor/public'; @@ -48,8 +50,10 @@ export interface VisualizeKibanaServices { savedObjectsClient: SavedObjectsClientContract; savedVisualizations: SavedVisualizations; share?: SharePluginStart; + config: KibanaLegacyStart['config']; visualizeCapabilities: any; visualizations: VisualizationsStart; + I18nContext: I18nStart['Context']; setActiveUrl: (newUrl: string) => void; DefaultVisualizationEditor: typeof DefaultEditorController; } diff --git a/src/plugins/visualize/public/plugin.ts b/src/plugins/visualize/public/plugin.ts index 71811758e6196e..84dc794757a3a2 100644 --- a/src/plugins/visualize/public/plugin.ts +++ b/src/plugins/visualize/public/plugin.ts @@ -107,6 +107,7 @@ export class VisualizePlugin pluginInitializerContext: this.initializerContext, addBasePath: coreStart.http.basePath.prepend, core: coreStart, + config: kibanaLegacy.config, chrome: coreStart.chrome, data: pluginsStart.data, embeddable: pluginsStart.embeddable, @@ -118,6 +119,7 @@ export class VisualizePlugin toastNotifications: coreStart.notifications.toasts, visualizeCapabilities: coreStart.application.capabilities.visualize, visualizations: pluginsStart.visualizations, + I18nContext: coreStart.i18n.Context, setActiveUrl, DefaultVisualizationEditor: DefaultEditorController, }; From 325de835ede386faef99d4efe86e141aa9fbd593 Mon Sep 17 00:00:00 2001 From: sulemanof Date: Wed, 8 Apr 2020 13:09:08 +0300 Subject: [PATCH 04/10] Remove legacy style usage --- src/legacy/core_plugins/kibana/public/index.scss | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/legacy/core_plugins/kibana/public/index.scss b/src/legacy/core_plugins/kibana/public/index.scss index 9b7d0afcd7e39d..c9179bf4d6d000 100644 --- a/src/legacy/core_plugins/kibana/public/index.scss +++ b/src/legacy/core_plugins/kibana/public/index.scss @@ -13,8 +13,6 @@ // Discover styles @import 'discover/index'; -// Visualize styles -@import './visualize/index'; // Has to come after visualize because of some // bad cascading in the Editor layout @import 'src/legacy/ui/public/vis/index'; From dbd1946c3d1256482ef3c7226b32e31379ab2599 Mon Sep 17 00:00:00 2001 From: sulemanof Date: Wed, 8 Apr 2020 17:42:02 +0300 Subject: [PATCH 05/10] Fix style imports --- src/legacy/ui/public/visualize/_index.scss | 1 - src/plugins/visualizations/public/index.scss | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 src/legacy/ui/public/visualize/_index.scss diff --git a/src/legacy/ui/public/visualize/_index.scss b/src/legacy/ui/public/visualize/_index.scss deleted file mode 100644 index d9761f741353bc..00000000000000 --- a/src/legacy/ui/public/visualize/_index.scss +++ /dev/null @@ -1 +0,0 @@ -@import '../../../../plugins/visualizations/public/components/index'; diff --git a/src/plugins/visualizations/public/index.scss b/src/plugins/visualizations/public/index.scss index eada763b63c4d4..2b61535f3e7f23 100644 --- a/src/plugins/visualizations/public/index.scss +++ b/src/plugins/visualizations/public/index.scss @@ -1,2 +1,3 @@ @import 'wizard/index'; @import 'embeddable/index'; +@import 'components/index'; From aa278887a9768fc8d7fa9b3e40a37e0909e358de Mon Sep 17 00:00:00 2001 From: sulemanof Date: Wed, 8 Apr 2020 17:42:45 +0300 Subject: [PATCH 06/10] Fix timelion_options context provider --- .../vis_type_timelion/public/timelion_options.tsx | 4 +++- .../vis_type_timelion/public/timelion_vis_type.tsx | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/legacy/core_plugins/vis_type_timelion/public/timelion_options.tsx b/src/legacy/core_plugins/vis_type_timelion/public/timelion_options.tsx index afffcf7ccaf7a7..dfe017d3a273f5 100644 --- a/src/legacy/core_plugins/vis_type_timelion/public/timelion_options.tsx +++ b/src/legacy/core_plugins/vis_type_timelion/public/timelion_options.tsx @@ -24,7 +24,9 @@ import { VisOptionsProps } from 'src/plugins/vis_default_editor/public'; import { VisParams } from './timelion_vis_fn'; import { TimelionInterval, TimelionExpressionInput } from './components'; -function TimelionOptions({ stateParams, setValue, setValidity }: VisOptionsProps) { +export type TimelionOptionsProps = VisOptionsProps; + +function TimelionOptions({ stateParams, setValue, setValidity }: TimelionOptionsProps) { const setInterval = useCallback((value: VisParams['interval']) => setValue('interval', value), [ setValue, ]); diff --git a/src/legacy/core_plugins/vis_type_timelion/public/timelion_vis_type.tsx b/src/legacy/core_plugins/vis_type_timelion/public/timelion_vis_type.tsx index 5be77b3e51a6ad..0900b7d898ede8 100644 --- a/src/legacy/core_plugins/vis_type_timelion/public/timelion_vis_type.tsx +++ b/src/legacy/core_plugins/vis_type_timelion/public/timelion_vis_type.tsx @@ -24,7 +24,7 @@ import { KibanaContextProvider } from '../../../../plugins/kibana_react/public'; import { DefaultEditorSize } from '../../../../plugins/vis_default_editor/public'; import { getTimelionRequestHandler } from './helpers/timelion_request_handler'; import { TimelionVisComponent, TimelionVisComponentProp } from './components'; -import { TimelionOptions } from './timelion_options'; +import { TimelionOptions, TimelionOptionsProps } from './timelion_options'; import { TimelionVisDependencies } from './plugin'; export const TIMELION_VIS_NAME = 'timelion'; @@ -53,7 +53,11 @@ export function getTimelionVisDefinition(dependencies: TimelionVisDependencies) ), }, editorConfig: { - optionsTemplate: TimelionOptions, + optionsTemplate: (props: TimelionOptionsProps) => ( + + + + ), defaultSize: DefaultEditorSize.MEDIUM, }, requestHandler: timelionRequestHandler, From a7edd02417cdb59a3393df7ee8415887cdc78d02 Mon Sep 17 00:00:00 2001 From: sulemanof Date: Wed, 8 Apr 2020 17:43:27 +0300 Subject: [PATCH 07/10] Fix translations --- .i18nrc.json | 3 +- .../public/application/breadcrumbs.ts | 8 +- .../public/application/editor/editor.html | 2 +- .../public/application/editor/editor.js | 54 ++++++------ .../application/help_menu/help_menu_util.js | 2 +- .../public/application/legacy_app.js | 6 +- .../application/listing/visualize_listing.js | 4 +- .../listing/visualize_listing_table.js | 28 +++---- src/plugins/visualize/public/plugin.ts | 2 +- .../translations/translations/ja-JP.json | 84 +++++++++---------- .../translations/translations/zh-CN.json | 84 +++++++++---------- 11 files changed, 137 insertions(+), 140 deletions(-) diff --git a/.i18nrc.json b/.i18nrc.json index 3b0b40b40792e8..5e9964f79c2331 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -52,7 +52,8 @@ "visTypeVega": "src/legacy/core_plugins/vis_type_vega", "visTypeVislib": "src/legacy/core_plugins/vis_type_vislib", "visTypeXy": "src/legacy/core_plugins/vis_type_xy", - "visualizations": "src/plugins/visualizations" + "visualizations": "src/plugins/visualizations", + "visualize": "src/plugins/visualize" }, "exclude": [ "src/legacy/ui/ui_render/ui_render_mixin.js" diff --git a/src/plugins/visualize/public/application/breadcrumbs.ts b/src/plugins/visualize/public/application/breadcrumbs.ts index b6a63d50b205be..972bdc1462b2c5 100644 --- a/src/plugins/visualize/public/application/breadcrumbs.ts +++ b/src/plugins/visualize/public/application/breadcrumbs.ts @@ -24,7 +24,7 @@ import { VisualizeConstants } from './visualize_constants'; export function getLandingBreadcrumbs() { return [ { - text: i18n.translate('kbn.visualize.listing.breadcrumb', { + text: i18n.translate('visualize.listing.breadcrumb', { defaultMessage: 'Visualize', }), href: `#${VisualizeConstants.LANDING_PAGE_PATH}`, @@ -36,7 +36,7 @@ export function getWizardStep1Breadcrumbs() { return [ ...getLandingBreadcrumbs(), { - text: i18n.translate('kbn.visualize.wizard.step1Breadcrumb', { + text: i18n.translate('visualize.wizard.step1Breadcrumb', { defaultMessage: 'Create', }), }, @@ -47,7 +47,7 @@ export function getWizardStep2Breadcrumbs() { return [ ...getLandingBreadcrumbs(), { - text: i18n.translate('kbn.visualize.wizard.step2Breadcrumb', { + text: i18n.translate('visualize.wizard.step2Breadcrumb', { defaultMessage: 'Create', }), }, @@ -58,7 +58,7 @@ export function getCreateBreadcrumbs() { return [ ...getLandingBreadcrumbs(), { - text: i18n.translate('kbn.visualize.editor.createBreadcrumb', { + text: i18n.translate('visualize.editor.createBreadcrumb', { defaultMessage: 'Create', }), }, diff --git a/src/plugins/visualize/public/application/editor/editor.html b/src/plugins/visualize/public/application/editor/editor.html index 0dcacd30fba4e2..a031d70ef9a83d 100644 --- a/src/plugins/visualize/public/application/editor/editor.html +++ b/src/plugins/visualize/public/application/editor/editor.html @@ -80,7 +80,7 @@

) : null; @@ -223,10 +220,10 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState : []), { id: 'share', - label: i18n.translate('kbn.topNavMenu.shareVisualizationButtonLabel', { + label: i18n.translate('visualize.topNavMenu.shareVisualizationButtonLabel', { defaultMessage: 'share', }), - description: i18n.translate('kbn.visualize.topNavMenu.shareVisualizationButtonAriaLabel', { + description: i18n.translate('visualize.topNavMenu.shareVisualizationButtonAriaLabel', { defaultMessage: 'Share Visualization', }), testId: 'shareTopNavButton', @@ -251,10 +248,10 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState }, { id: 'inspector', - label: i18n.translate('kbn.topNavMenu.openInspectorButtonLabel', { + label: i18n.translate('visualize.topNavMenu.openInspectorButtonLabel', { defaultMessage: 'inspect', }), - description: i18n.translate('kbn.visualize.topNavMenu.openInspectorButtonAriaLabel', { + description: i18n.translate('visualize.topNavMenu.openInspectorButtonAriaLabel', { defaultMessage: 'Open Inspector for visualization', }), testId: 'openInspectorButton', @@ -270,7 +267,7 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState }, tooltip() { if (!embeddableHandler.hasInspector || !embeddableHandler.hasInspector()) { - return i18n.translate('kbn.visualize.topNavMenu.openInspectorDisabledButtonTooltip', { + return i18n.translate('visualize.topNavMenu.openInspectorDisabledButtonTooltip', { defaultMessage: `This visualization doesn't support any inspectors.`, }); } @@ -278,8 +275,10 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState }, { id: 'refresh', - label: i18n.translate('kbn.topNavMenu.refreshButtonLabel', { defaultMessage: 'refresh' }), - description: i18n.translate('kbn.visualize.topNavMenu.refreshButtonAriaLabel', { + label: i18n.translate('visualize.topNavMenu.refreshButtonLabel', { + defaultMessage: 'refresh', + }), + description: i18n.translate('visualize.topNavMenu.refreshButtonAriaLabel', { defaultMessage: 'Refresh', }), run: function() { @@ -326,7 +325,7 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState stopAllSyncing(); toastNotifications.addWarning({ - title: i18n.translate('kbn.visualize.visualizationTypeInvalidNotificationMessage', { + title: i18n.translate('visualize.visualizationTypeInvalidNotificationMessage', { defaultMessage: 'Invalid visualization type', }), text: toMountPoint({error.message}), @@ -629,7 +628,7 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState if (id) { toastNotifications.addSuccess({ title: i18n.translate( - 'kbn.visualize.topNavMenu.saveVisualization.successNotificationText', + 'visualize.topNavMenu.saveVisualization.successNotificationText', { defaultMessage: `Saved '{visTitle}'`, values: { @@ -668,15 +667,12 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState // eslint-disable-next-line console.error(error); toastNotifications.addDanger({ - title: i18n.translate( - 'kbn.visualize.topNavMenu.saveVisualization.failureNotificationText', - { - defaultMessage: `Error on saving '{visTitle}'`, - values: { - visTitle: savedVis.title, - }, - } - ), + title: i18n.translate('visualize.topNavMenu.saveVisualization.failureNotificationText', { + defaultMessage: `Error on saving '{visTitle}'`, + values: { + visTitle: savedVis.title, + }, + }), text: error.message, 'data-test-subj': 'saveVisualizationError', }); @@ -699,7 +695,7 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState }); toastNotifications.addSuccess( - i18n.translate('kbn.visualize.linkedToSearch.unlinkSuccessNotificationText', { + i18n.translate('visualize.linkedToSearch.unlinkSuccessNotificationText', { defaultMessage: `Unlinked from saved search '{searchTitle}'`, values: { searchTitle: savedSearch.title, @@ -711,7 +707,7 @@ function VisualizeAppController($scope, $route, $injector, $timeout, kbnUrlState $scope.getAdditionalMessage = () => { return ( '' + - i18n.translate('kbn.visualize.experimentalVisInfoText', { + i18n.translate('visualize.experimentalVisInfoText', { defaultMessage: 'This visualization is marked as experimental.', }) + ' ' + diff --git a/src/plugins/visualize/public/application/help_menu/help_menu_util.js b/src/plugins/visualize/public/application/help_menu/help_menu_util.js index 9c00947d7663c9..c297326f2e264e 100644 --- a/src/plugins/visualize/public/application/help_menu/help_menu_util.js +++ b/src/plugins/visualize/public/application/help_menu/help_menu_util.js @@ -21,7 +21,7 @@ import { i18n } from '@kbn/i18n'; export function addHelpMenuToAppChrome(chrome, docLinks) { chrome.setHelpExtension({ - appName: i18n.translate('kbn.visualize.helpMenu.appName', { + appName: i18n.translate('visualize.helpMenu.appName', { defaultMessage: 'Visualize', }), links: [ diff --git a/src/plugins/visualize/public/application/legacy_app.js b/src/plugins/visualize/public/application/legacy_app.js index 5b7a40e1f75666..7152601f4acb22 100644 --- a/src/plugins/visualize/public/application/legacy_app.js +++ b/src/plugins/visualize/public/application/legacy_app.js @@ -106,10 +106,10 @@ export function initVisualizeApp(app, deps) { } return { - text: i18n.translate('kbn.visualize.badge.readOnly.text', { + text: i18n.translate('visualize.badge.readOnly.text', { defaultMessage: 'Read only', }), - tooltip: i18n.translate('kbn.visualize.badge.readOnly.tooltip', { + tooltip: i18n.translate('visualize.badge.readOnly.tooltip', { defaultMessage: 'Unable to save visualizations', }), iconType: 'glasses', @@ -155,7 +155,7 @@ export function initVisualizeApp(app, deps) { if (shouldHaveIndex && !hasIndex) { throw new Error( i18n.translate( - 'kbn.visualize.createVisualization.noIndexPatternOrSavedSearchIdErrorMessage', + 'visualize.createVisualization.noIndexPatternOrSavedSearchIdErrorMessage', { defaultMessage: 'You must provide either an indexPattern or a savedSearchId', } diff --git a/src/plugins/visualize/public/application/listing/visualize_listing.js b/src/plugins/visualize/public/application/listing/visualize_listing.js index c0e3f2d133052c..900c17fa394de9 100644 --- a/src/plugins/visualize/public/application/listing/visualize_listing.js +++ b/src/plugins/visualize/public/application/listing/visualize_listing.js @@ -109,7 +109,7 @@ export function VisualizeListingController($scope, createNewVis, kbnUrlStateStor }) ).catch(error => { toastNotifications.addError(error, { - title: i18n.translate('kbn.visualize.visualizeListingDeleteErrorTitle', { + title: i18n.translate('visualize.visualizeListingDeleteErrorTitle', { defaultMessage: 'Error deleting visualization', }), }); @@ -118,7 +118,7 @@ export function VisualizeListingController($scope, createNewVis, kbnUrlStateStor chrome.setBreadcrumbs([ { - text: i18n.translate('kbn.visualize.visualizeListingBreadcrumbsTitle', { + text: i18n.translate('visualize.visualizeListingBreadcrumbsTitle', { defaultMessage: 'Visualize', }), }, diff --git a/src/plugins/visualize/public/application/listing/visualize_listing_table.js b/src/plugins/visualize/public/application/listing/visualize_listing_table.js index 12af8911d588b7..100becdd3a80f3 100644 --- a/src/plugins/visualize/public/application/listing/visualize_listing_table.js +++ b/src/plugins/visualize/public/application/listing/visualize_listing_table.js @@ -48,13 +48,13 @@ class VisualizeListingTable extends Component { selectable={item => item.canDelete} initialFilter={''} noItemsFragment={this.getNoItemsMessage()} - entityName={i18n.translate('kbn.visualize.listing.table.entityName', { + entityName={i18n.translate('visualize.listing.table.entityName', { defaultMessage: 'visualization', })} - entityNamePlural={i18n.translate('kbn.visualize.listing.table.entityNamePlural', { + entityNamePlural={i18n.translate('visualize.listing.table.entityNamePlural', { defaultMessage: 'visualizations', })} - tableListTitle={i18n.translate('kbn.visualize.listing.table.listTitle', { + tableListTitle={i18n.translate('visualize.listing.table.listTitle', { defaultMessage: 'Visualizations', })} toastNotifications={toastNotifications} @@ -67,7 +67,7 @@ class VisualizeListingTable extends Component { const tableColumns = [ { field: 'title', - name: i18n.translate('kbn.visualize.listing.table.titleColumnName', { + name: i18n.translate('visualize.listing.table.titleColumnName', { defaultMessage: 'Title', }), sortable: true, @@ -82,7 +82,7 @@ class VisualizeListingTable extends Component { }, { field: 'typeTitle', - name: i18n.translate('kbn.visualize.listing.table.typeColumnName', { + name: i18n.translate('visualize.listing.table.typeColumnName', { defaultMessage: 'Type', }), sortable: true, @@ -96,7 +96,7 @@ class VisualizeListingTable extends Component { }, { field: 'description', - name: i18n.translate('kbn.dashboard.listing.table.descriptionColumnName', { + name: i18n.translate('visualize.listing.table.descriptionColumnName', { defaultMessage: 'Description', }), sortable: true, @@ -116,7 +116,7 @@ class VisualizeListingTable extends Component { title={

@@ -133,7 +133,7 @@ class VisualizeListingTable extends Component { title={

@@ -142,7 +142,7 @@ class VisualizeListingTable extends Component {

@@ -156,7 +156,7 @@ class VisualizeListingTable extends Component { data-test-subj="createVisualizationPromptButton" > @@ -192,10 +192,10 @@ class VisualizeListingTable extends Component { Date: Wed, 8 Apr 2020 17:44:03 +0300 Subject: [PATCH 08/10] Change codeowners for visualize --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index feaf47e45fd69c..5c5c66235ee518 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -9,7 +9,6 @@ /src/legacy/server/sample_data/ @elastic/kibana-app /src/legacy/core_plugins/kibana/public/dashboard/ @elastic/kibana-app /src/legacy/core_plugins/kibana/public/discover/ @elastic/kibana-app -/src/legacy/core_plugins/kibana/public/visualize/ @elastic/kibana-app /src/legacy/core_plugins/kibana/public/local_application_service/ @elastic/kibana-app /src/legacy/core_plugins/kibana/public/dev_tools/ @elastic/kibana-app /src/legacy/core_plugins/metrics/ @elastic/kibana-app @@ -19,6 +18,7 @@ /src/plugins/timelion/ @elastic/kibana-app /src/plugins/dashboard/ @elastic/kibana-app /src/plugins/discover/ @elastic/kibana-app +/src/plugins/visualize/ @elastic/kibana-app # Core UI # Exclude tutorials folder for now because they are not owned by Kibana app and most will move out soon From 4daf88c90b16ef9b9a7d764b71e1897e089f921a Mon Sep 17 00:00:00 2001 From: sulemanof Date: Thu, 9 Apr 2020 13:04:52 +0300 Subject: [PATCH 09/10] Import styles in legacy for BWC in Browser tests --- src/legacy/core_plugins/kibana/public/index.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/legacy/core_plugins/kibana/public/index.scss b/src/legacy/core_plugins/kibana/public/index.scss index c9179bf4d6d000..e31ac4ae4d672f 100644 --- a/src/legacy/core_plugins/kibana/public/index.scss +++ b/src/legacy/core_plugins/kibana/public/index.scss @@ -13,6 +13,10 @@ // Discover styles @import 'discover/index'; +// Visualization styles are imported here for running karma Browser tests +// should be somehow included through the "visualizations" plugin initialization +@import '../../../../plugins/visualizations/public/index'; + // Has to come after visualize because of some // bad cascading in the Editor layout @import 'src/legacy/ui/public/vis/index'; From 381c1c6978e92159bcae5556905bde10ff0a079b Mon Sep 17 00:00:00 2001 From: sulemanof Date: Wed, 15 Apr 2020 11:29:16 +0300 Subject: [PATCH 10/10] Get rid of embeddable dependency --- src/plugins/visualize/kibana.json | 1 - .../public/application/editor/visualization_editor.js | 1 - src/plugins/visualize/public/kibana_services.ts | 2 -- src/plugins/visualize/public/plugin.ts | 3 --- 4 files changed, 7 deletions(-) diff --git a/src/plugins/visualize/kibana.json b/src/plugins/visualize/kibana.json index a6d97701329660..a7afa0697a5eb1 100644 --- a/src/plugins/visualize/kibana.json +++ b/src/plugins/visualize/kibana.json @@ -5,7 +5,6 @@ "ui": true, "requiredPlugins": [ "data", - "embeddable", "kibanaLegacy", "navigation", "savedObjects", diff --git a/src/plugins/visualize/public/application/editor/visualization_editor.js b/src/plugins/visualize/public/application/editor/visualization_editor.js index ef174dbaa58659..874b69532ec11a 100644 --- a/src/plugins/visualize/public/application/editor/visualization_editor.js +++ b/src/plugins/visualize/public/application/editor/visualization_editor.js @@ -44,7 +44,6 @@ export function initVisEditorDirective(app, deps) { editor.render({ core: deps.core, data: deps.data, - embeddable: deps.embeddable, uiState: $scope.uiState, timeRange: $scope.timeRange, filters: $scope.filters, diff --git a/src/plugins/visualize/public/kibana_services.ts b/src/plugins/visualize/public/kibana_services.ts index dd8cf030640c3f..765e9a82ae899b 100644 --- a/src/plugins/visualize/public/kibana_services.ts +++ b/src/plugins/visualize/public/kibana_services.ts @@ -28,7 +28,6 @@ import { import { NavigationPublicPluginStart as NavigationStart } from '../../navigation/public'; import { Storage } from '../../kibana_utils/public'; -import { EmbeddableStart } from '../../embeddable/public'; import { SharePluginStart } from '../../share/public'; import { DataPublicPluginStart } from '../../data/public'; import { VisualizationsStart } from '../../visualizations/public'; @@ -42,7 +41,6 @@ export interface VisualizeKibanaServices { chrome: ChromeStart; core: CoreStart; data: DataPublicPluginStart; - embeddable: EmbeddableStart; localStorage: Storage; navigation: NavigationStart; toastNotifications: ToastsStart; diff --git a/src/plugins/visualize/public/plugin.ts b/src/plugins/visualize/public/plugin.ts index 457a30ccc30669..ab64e083a553dc 100644 --- a/src/plugins/visualize/public/plugin.ts +++ b/src/plugins/visualize/public/plugin.ts @@ -31,7 +31,6 @@ import { import { Storage, createKbnUrlTracker } from '../../kibana_utils/public'; import { DataPublicPluginStart, DataPublicPluginSetup, esFilters } from '../../data/public'; -import { EmbeddableStart } from '../../embeddable/public'; import { NavigationPublicPluginStart as NavigationStart } from '../../navigation/public'; import { SharePluginStart } from '../../share/public'; import { KibanaLegacySetup, AngularRenderedAppUpdater } from '../../kibana_legacy/public'; @@ -43,7 +42,6 @@ import { DefaultEditorController } from '../../vis_default_editor/public'; export interface VisualizePluginStartDependencies { data: DataPublicPluginStart; - embeddable: EmbeddableStart; navigation: NavigationStart; share?: SharePluginStart; visualizations: VisualizationsStart; @@ -109,7 +107,6 @@ export class VisualizePlugin config: kibanaLegacy.config, chrome: coreStart.chrome, data: pluginsStart.data, - embeddable: pluginsStart.embeddable, localStorage: new Storage(localStorage), navigation: pluginsStart.navigation, savedObjectsClient: coreStart.savedObjects.client,