diff --git a/CHANGELOG.md b/CHANGELOG.md index 6de42751b0b2..af76a23f7998 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - [WS-2021-0638] Bump mocha from `7.2.0` to `10.1.0` ([#2711](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2711)) - Bump `joi` to v14 to avoid the possibility of prototype poisoning in a nested dependency ([#3952](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/3952)) - [CVE-2022-25883] Resolve `semver` to `7.5.3` and remove unused package ([#4411](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4411)) +- [CVE-2023-26115] Bump `word-wrap` from `1.2.3` to `1.2.4` ([#4589](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4589)) ### 📈 Features/Enhancements @@ -82,8 +83,10 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - [Table Visualization] Remove custom styling for text-align:center in favor of OUI utility class. ([#4164](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4164)) - Migrate from legacy elasticsearch client to opensearch-js client in `osd-opensearch-archiver` package([#4142](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4142)) - Replace the use of `bluebird` in `saved_objects` plugin ([#4026](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4026)) +- [Maps Legacy] Removed KUI usage in `maps_legacy` plugin([#3998](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/3998)) - Relocate tutorials imagery into `src/plugins/home/public/assets/tutorials/logos` ([#4382](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4382)) - [VisBuilder] Use OUI icon ([#4446](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4446)) +- [Vis Colors] [VisLib] Update legend colors to use OUI color palette ([#4365](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4365)) - [Vis Colors] [Region Maps] Replace hardcode color to OUI color in `region_map` plugin ([#4299](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4299)) - [Vis Colors] Replace color maps with OUI color palettes ([#4293](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4293)) - [Vis Colors] [Maps] Replace hardcoded color to OUI color in `maps_legacy` plugin ([#4294](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4294)) @@ -93,6 +96,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - [Vis colors] Update legacy mapped colors in charts plugin to use `ouiPaletteColorBlind()`, Update default color in legacy visualizations to use `ouiPaletteColorBlind()[0]` ([#4398](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4398)) - [Saved Objects Management] Add new or remove extra tags and styles ([#4069](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4069)) - [Console] Migrate `/lib/mappings/` module to TypeScript ([#4008](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4008)) +- [Dashboard] Restructure the `Dashboard` plugin folder to be more cohesive with the project ([#4575](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/4575)) ### 🔩 Tests diff --git a/src/plugins/dashboard/public/application/actions/add_to_library_action.test.tsx b/src/plugins/dashboard/public/application/actions/add_to_library_action.test.tsx index 58523582a501..c13688c73515 100644 --- a/src/plugins/dashboard/public/application/actions/add_to_library_action.test.tsx +++ b/src/plugins/dashboard/public/application/actions/add_to_library_action.test.tsx @@ -33,21 +33,22 @@ import { IContainer, ReferenceOrValueEmbeddable, EmbeddableInput, -} from '../../embeddable_plugin'; -import { DashboardContainer } from '../embeddable'; -import { getSampleDashboardInput } from '../test_helpers'; + ErrorEmbeddable, + ViewMode, +} from '../../../../embeddable/public'; +import { embeddablePluginMock } from '../../../../embeddable/public/mocks'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, ContactCardEmbeddable, ContactCardEmbeddableInput, ContactCardEmbeddableOutput, -} from '../../embeddable_plugin_test_samples'; +} from '../../../../embeddable/public/lib/test_samples'; +import { DashboardContainer } from '../embeddable'; +import { getSampleDashboardInput } from '../test_helpers'; import { coreMock } from '../../../../../core/public/mocks'; import { CoreStart } from 'opensearch-dashboards/public'; import { AddToLibraryAction } from '.'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; -import { ErrorEmbeddable, ViewMode } from '../../../../embeddable/public'; const { setup, doStart } = embeddablePluginMock.createInstance(); setup.registerEmbeddableFactory( diff --git a/src/plugins/dashboard/public/application/actions/add_to_library_action.tsx b/src/plugins/dashboard/public/application/actions/add_to_library_action.tsx index 1418cc65dc53..f687786cfe4e 100644 --- a/src/plugins/dashboard/public/application/actions/add_to_library_action.tsx +++ b/src/plugins/dashboard/public/application/actions/add_to_library_action.tsx @@ -32,13 +32,15 @@ import { i18n } from '@osd/i18n'; import _ from 'lodash'; import uuid from 'uuid'; import { EuiIconType } from '@elastic/eui/src/components/icon/icon'; -import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; -import { ViewMode, PanelState, IEmbeddable } from '../../embeddable_plugin'; +import { ActionByType, IncompatibleActionError } from '../../../../ui_actions/public'; import { PanelNotFoundError, EmbeddableInput, isReferenceOrValueEmbeddable, isErrorEmbeddable, + ViewMode, + PanelState, + IEmbeddable, } from '../../../../embeddable/public'; import { DashboardPanelState, DASHBOARD_CONTAINER_TYPE, DashboardContainer } from '..'; diff --git a/src/plugins/dashboard/public/application/actions/clone_panel_action.test.tsx b/src/plugins/dashboard/public/application/actions/clone_panel_action.test.tsx index 6675d478eec5..bf2fb17e7df3 100644 --- a/src/plugins/dashboard/public/application/actions/clone_panel_action.test.tsx +++ b/src/plugins/dashboard/public/application/actions/clone_panel_action.test.tsx @@ -28,20 +28,20 @@ * under the License. */ -import { isErrorEmbeddable, IContainer, ErrorEmbeddable } from '../../embeddable_plugin'; -import { DashboardContainer, DashboardPanelState } from '../embeddable'; -import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; +import { isErrorEmbeddable, IContainer, ErrorEmbeddable } from '../../../../embeddable/public'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, ContactCardEmbeddable, ContactCardEmbeddableInput, ContactCardEmbeddableOutput, -} from '../../embeddable_plugin_test_samples'; +} from '../../../../embeddable/public/lib/test_samples'; +import { embeddablePluginMock } from '../../../../embeddable/public/mocks'; +import { DashboardContainer, DashboardPanelState } from '../embeddable'; +import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; import { coreMock } from '../../../../../core/public/mocks'; import { CoreStart } from 'opensearch-dashboards/public'; import { ClonePanelAction } from '.'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; const { setup, doStart } = embeddablePluginMock.createInstance(); setup.registerEmbeddableFactory( diff --git a/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx b/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx index 97b3792fcba7..8ef1e5a0cb2a 100644 --- a/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx +++ b/src/plugins/dashboard/public/application/actions/clone_panel_action.tsx @@ -33,14 +33,16 @@ import { CoreStart } from 'src/core/public'; import uuid from 'uuid'; import _ from 'lodash'; import { EuiIconType } from '@elastic/eui/src/components/icon/icon'; -import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; -import { ViewMode, PanelState, IEmbeddable } from '../../embeddable_plugin'; +import { ActionByType, IncompatibleActionError } from '../../../../ui_actions/public'; import { SavedObject } from '../../../../saved_objects/public'; import { PanelNotFoundError, EmbeddableInput, SavedObjectEmbeddableInput, isErrorEmbeddable, + ViewMode, + PanelState, + IEmbeddable, } from '../../../../embeddable/public'; import { placePanelBeside, diff --git a/src/plugins/dashboard/public/application/actions/expand_panel_action.test.tsx b/src/plugins/dashboard/public/application/actions/expand_panel_action.test.tsx index 73c57496c79f..5298dca2b97d 100644 --- a/src/plugins/dashboard/public/application/actions/expand_panel_action.test.tsx +++ b/src/plugins/dashboard/public/application/actions/expand_panel_action.test.tsx @@ -28,18 +28,18 @@ * under the License. */ -import { isErrorEmbeddable } from '../../embeddable_plugin'; -import { ExpandPanelAction } from './expand_panel_action'; -import { DashboardContainer } from '../embeddable'; -import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; +import { isErrorEmbeddable } from '../../../../embeddable/public'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, ContactCardEmbeddable, ContactCardEmbeddableInput, ContactCardEmbeddableOutput, -} from '../../embeddable_plugin_test_samples'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; +} from '../../../../embeddable/public/lib/test_samples'; +import { embeddablePluginMock } from '../../../../embeddable/public/mocks'; +import { ExpandPanelAction } from './expand_panel_action'; +import { DashboardContainer } from '../embeddable'; +import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; const { setup, doStart } = embeddablePluginMock.createInstance(); diff --git a/src/plugins/dashboard/public/application/actions/expand_panel_action.tsx b/src/plugins/dashboard/public/application/actions/expand_panel_action.tsx index 63a69e21b488..4cbdb471844f 100644 --- a/src/plugins/dashboard/public/application/actions/expand_panel_action.tsx +++ b/src/plugins/dashboard/public/application/actions/expand_panel_action.tsx @@ -30,8 +30,8 @@ import { EuiIconType } from '@elastic/eui/src/components/icon/icon'; import { i18n } from '@osd/i18n'; -import { IEmbeddable } from '../../embeddable_plugin'; -import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; +import { IEmbeddable } from '../../../../embeddable/public'; +import { ActionByType, IncompatibleActionError } from '../../../../ui_actions/public'; import { DASHBOARD_CONTAINER_TYPE, DashboardContainer } from '../embeddable'; export const ACTION_EXPAND_PANEL = 'togglePanel'; diff --git a/src/plugins/dashboard/public/application/actions/library_notification_action.test.tsx b/src/plugins/dashboard/public/application/actions/library_notification_action.test.tsx index d9a45871e798..e9bb6c0c3ce2 100644 --- a/src/plugins/dashboard/public/application/actions/library_notification_action.test.tsx +++ b/src/plugins/dashboard/public/application/actions/library_notification_action.test.tsx @@ -28,21 +28,26 @@ * under the License. */ -import { isErrorEmbeddable, ReferenceOrValueEmbeddable } from '../../embeddable_plugin'; -import { DashboardContainer } from '../embeddable'; -import { getSampleDashboardInput } from '../test_helpers'; +import { + isErrorEmbeddable, + ReferenceOrValueEmbeddable, + ErrorEmbeddable, + IContainer, + ViewMode, +} from '../../../../embeddable/public'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, ContactCardEmbeddable, ContactCardEmbeddableInput, ContactCardEmbeddableOutput, -} from '../../embeddable_plugin_test_samples'; +} from '../../../../embeddable/public/lib/test_samples'; +import { embeddablePluginMock } from '../../../../embeddable/public/mocks'; +import { DashboardContainer } from '../embeddable'; +import { getSampleDashboardInput } from '../test_helpers'; import { coreMock } from '../../../../../core/public/mocks'; import { CoreStart } from 'opensearch-dashboards/public'; import { LibraryNotificationAction } from '.'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; -import { ErrorEmbeddable, IContainer, ViewMode } from '../../../../embeddable/public'; const { setup, doStart } = embeddablePluginMock.createInstance(); setup.registerEmbeddableFactory( diff --git a/src/plugins/dashboard/public/application/actions/library_notification_action.tsx b/src/plugins/dashboard/public/application/actions/library_notification_action.tsx index 0522d2a33740..2dc37a7526eb 100644 --- a/src/plugins/dashboard/public/application/actions/library_notification_action.tsx +++ b/src/plugins/dashboard/public/application/actions/library_notification_action.tsx @@ -37,8 +37,8 @@ import { ViewMode, isReferenceOrValueEmbeddable, isErrorEmbeddable, -} from '../../embeddable_plugin'; -import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; +} from '../../../../embeddable/public'; +import { ActionByType, IncompatibleActionError } from '../../../../ui_actions/public'; import { reactToUiComponent } from '../../../../opensearch_dashboards_react/public'; export const ACTION_LIBRARY_NOTIFICATION = 'ACTION_LIBRARY_NOTIFICATION'; diff --git a/src/plugins/dashboard/public/application/actions/open_replace_panel_flyout.tsx b/src/plugins/dashboard/public/application/actions/open_replace_panel_flyout.tsx index 66f5dc214719..d10f92ce7d5d 100644 --- a/src/plugins/dashboard/public/application/actions/open_replace_panel_flyout.tsx +++ b/src/plugins/dashboard/public/application/actions/open_replace_panel_flyout.tsx @@ -38,7 +38,7 @@ import { EmbeddableOutput, EmbeddableStart, IContainer, -} from '../../embeddable_plugin'; +} from '../../../../embeddable/public'; export async function openReplacePanelFlyout(options: { embeddable: IContainer; diff --git a/src/plugins/dashboard/public/application/actions/replace_panel_action.test.tsx b/src/plugins/dashboard/public/application/actions/replace_panel_action.test.tsx index b3ac183a6ee0..42e2f99f8a5e 100644 --- a/src/plugins/dashboard/public/application/actions/replace_panel_action.test.tsx +++ b/src/plugins/dashboard/public/application/actions/replace_panel_action.test.tsx @@ -28,20 +28,20 @@ * under the License. */ -import { isErrorEmbeddable } from '../../embeddable_plugin'; -import { ReplacePanelAction } from './replace_panel_action'; -import { DashboardContainer } from '../embeddable'; -import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; +import { isErrorEmbeddable } from '../../../../embeddable/public'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, ContactCardEmbeddable, ContactCardEmbeddableInput, ContactCardEmbeddableOutput, -} from '../../embeddable_plugin_test_samples'; +} from '../../../../embeddable/public/lib/test_samples'; +import { embeddablePluginMock } from '../../../../embeddable/public/mocks'; +import { ReplacePanelAction } from './replace_panel_action'; +import { DashboardContainer } from '../embeddable'; +import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; import { coreMock } from '../../../../../core/public/mocks'; import { CoreStart } from 'opensearch-dashboards/public'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; const { setup, doStart } = embeddablePluginMock.createInstance(); setup.registerEmbeddableFactory( diff --git a/src/plugins/dashboard/public/application/actions/replace_panel_action.tsx b/src/plugins/dashboard/public/application/actions/replace_panel_action.tsx index 933986967e9d..fa634a170e44 100644 --- a/src/plugins/dashboard/public/application/actions/replace_panel_action.tsx +++ b/src/plugins/dashboard/public/application/actions/replace_panel_action.tsx @@ -31,9 +31,9 @@ import { i18n } from '@osd/i18n'; import { CoreStart } from 'src/core/public'; import { EuiIconType } from '@elastic/eui/src/components/icon/icon'; -import { IEmbeddable, ViewMode, EmbeddableStart } from '../../embeddable_plugin'; +import { IEmbeddable, ViewMode, EmbeddableStart } from '../../../../embeddable/public'; import { DASHBOARD_CONTAINER_TYPE, DashboardContainer } from '../embeddable'; -import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; +import { ActionByType, IncompatibleActionError } from '../../../../ui_actions/public'; import { openReplacePanelFlyout } from './open_replace_panel_flyout'; export const ACTION_REPLACE_PANEL = 'replacePanel'; diff --git a/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx b/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx index 2ec1db3f42fc..be994686cdec 100644 --- a/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx +++ b/src/plugins/dashboard/public/application/actions/replace_panel_flyout.tsx @@ -40,7 +40,7 @@ import { IContainer, IEmbeddable, SavedObjectEmbeddableInput, -} from '../../embeddable_plugin'; +} from '../../../../embeddable/public'; interface Props { container: IContainer; diff --git a/src/plugins/dashboard/public/application/actions/unlink_from_library_action.test.tsx b/src/plugins/dashboard/public/application/actions/unlink_from_library_action.test.tsx index 11601b40200a..8f2511f8c3f5 100644 --- a/src/plugins/dashboard/public/application/actions/unlink_from_library_action.test.tsx +++ b/src/plugins/dashboard/public/application/actions/unlink_from_library_action.test.tsx @@ -28,25 +28,27 @@ * under the License. */ -import { isErrorEmbeddable, IContainer, ReferenceOrValueEmbeddable } from '../../embeddable_plugin'; -import { DashboardContainer } from '../embeddable'; -import { getSampleDashboardInput } from '../test_helpers'; +import { + isErrorEmbeddable, + IContainer, + ReferenceOrValueEmbeddable, + ViewMode, + SavedObjectEmbeddableInput, + ErrorEmbeddable, +} from '../../../../embeddable/public'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, ContactCardEmbeddable, ContactCardEmbeddableInput, ContactCardEmbeddableOutput, -} from '../../embeddable_plugin_test_samples'; +} from '../../../../embeddable/public/lib/test_samples'; +import { embeddablePluginMock } from '../../../../embeddable/public/mocks'; +import { DashboardContainer } from '../embeddable'; +import { getSampleDashboardInput } from '../test_helpers'; import { coreMock } from '../../../../../core/public/mocks'; import { CoreStart } from 'opensearch-dashboards/public'; import { UnlinkFromLibraryAction } from '.'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; -import { - ViewMode, - SavedObjectEmbeddableInput, - ErrorEmbeddable, -} from '../../../../embeddable/public'; const { setup, doStart } = embeddablePluginMock.createInstance(); setup.registerEmbeddableFactory( diff --git a/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx b/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx index 82a3b3fb5a08..67518066dd75 100644 --- a/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx +++ b/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx @@ -32,13 +32,15 @@ import { i18n } from '@osd/i18n'; import _ from 'lodash'; import uuid from 'uuid'; import { EuiIconType } from '@elastic/eui/src/components/icon/icon'; -import { ActionByType, IncompatibleActionError } from '../../ui_actions_plugin'; -import { ViewMode, PanelState, IEmbeddable } from '../../embeddable_plugin'; +import { ActionByType, IncompatibleActionError } from '../../../../ui_actions/public'; import { PanelNotFoundError, EmbeddableInput, isReferenceOrValueEmbeddable, isErrorEmbeddable, + ViewMode, + PanelState, + IEmbeddable, } from '../../../../embeddable/public'; import { DashboardPanelState, DASHBOARD_CONTAINER_TYPE, DashboardContainer } from '..'; diff --git a/src/plugins/dashboard/public/application/listing/__snapshots__/create_button.test.tsx.snap b/src/plugins/dashboard/public/application/components/dashboard_listing/__snapshots__/create_button.test.tsx.snap similarity index 100% rename from src/plugins/dashboard/public/application/listing/__snapshots__/create_button.test.tsx.snap rename to src/plugins/dashboard/public/application/components/dashboard_listing/__snapshots__/create_button.test.tsx.snap diff --git a/src/plugins/dashboard/public/application/listing/create_button.test.tsx b/src/plugins/dashboard/public/application/components/dashboard_listing/create_button.test.tsx similarity index 97% rename from src/plugins/dashboard/public/application/listing/create_button.test.tsx rename to src/plugins/dashboard/public/application/components/dashboard_listing/create_button.test.tsx index 9521df8590e6..19c676b9e5b8 100644 --- a/src/plugins/dashboard/public/application/listing/create_button.test.tsx +++ b/src/plugins/dashboard/public/application/components/dashboard_listing/create_button.test.tsx @@ -15,7 +15,7 @@ import { findTestSubject } from '@elastic/eui/lib/test'; import React from 'react'; import { CreateButton } from './create_button'; -import { DashboardProvider } from '../../types'; +import { DashboardProvider } from '../../../types'; const provider = (type?: string, url?: string, text?: string): DashboardProvider => { return { diff --git a/src/plugins/dashboard/public/application/listing/create_button.tsx b/src/plugins/dashboard/public/application/components/dashboard_listing/create_button.tsx similarity index 98% rename from src/plugins/dashboard/public/application/listing/create_button.tsx rename to src/plugins/dashboard/public/application/components/dashboard_listing/create_button.tsx index 16d17c3568a3..2d6623096235 100644 --- a/src/plugins/dashboard/public/application/listing/create_button.tsx +++ b/src/plugins/dashboard/public/application/components/dashboard_listing/create_button.tsx @@ -11,7 +11,7 @@ import { EuiFlexItem, EuiPopover, } from '@elastic/eui'; -import type { DashboardProvider } from '../../types'; +import type { DashboardProvider } from '../../../types'; interface CreateButtonProps { dashboardProviders?: { [key: string]: DashboardProvider }; diff --git a/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js b/src/plugins/dashboard/public/application/components/dashboard_listing/dashboard_listing.test.tsx similarity index 97% rename from src/plugins/dashboard/public/application/listing/dashboard_listing.test.js rename to src/plugins/dashboard/public/application/components/dashboard_listing/dashboard_listing.test.tsx index 23cfacd13fba..3d9c8404be5e 100644 --- a/src/plugins/dashboard/public/application/listing/dashboard_listing.test.js +++ b/src/plugins/dashboard/public/application/components/dashboard_listing/dashboard_listing.test.tsx @@ -36,8 +36,8 @@ jest.mock( () => ({ ...jest.requireActual('lodash'), // mock debounce to fire immediately with no internal timer - debounce: (func) => { - function debounced(...args) { + debounce: (func: any) => { + function debounced(this: any, ...args: any[]) { return func.apply(this, args); } return debounced; @@ -49,9 +49,9 @@ jest.mock( import React from 'react'; import { shallow } from 'enzyme'; -import { DashboardListing } from '../components/dashboard_listing'; +import { DashboardListing } from './dashboard_listing'; -const find = (num) => { +const find = (num: number) => { const hits = []; for (let i = 0; i < num; i++) { hits.push({ @@ -62,7 +62,7 @@ const find = (num) => { } return Promise.resolve({ total: num, - hits: hits, + hits, }); }; diff --git a/src/plugins/dashboard/public/application/components/dashboard_listing.tsx b/src/plugins/dashboard/public/application/components/dashboard_listing/dashboard_listing.tsx similarity index 94% rename from src/plugins/dashboard/public/application/components/dashboard_listing.tsx rename to src/plugins/dashboard/public/application/components/dashboard_listing/dashboard_listing.tsx index df3ff9099394..00ce5a713b7f 100644 --- a/src/plugins/dashboard/public/application/components/dashboard_listing.tsx +++ b/src/plugins/dashboard/public/application/components/dashboard_listing/dashboard_listing.tsx @@ -10,13 +10,13 @@ import { useLocation } from 'react-router-dom'; import { useOpenSearchDashboards, TableListView, -} from '../../../../opensearch_dashboards_react/public'; -import { CreateButton } from '../listing/create_button'; -import { DashboardConstants, createDashboardEditUrl } from '../../dashboard_constants'; -import { DashboardServices } from '../../types'; -import { getTableColumns } from '../utils/get_table_columns'; -import { getNoItemsMessage } from '../utils/get_no_items_message'; -import { syncQueryStateWithUrl } from '../../../../data/public'; +} from '../../../../../opensearch_dashboards_react/public'; +import { CreateButton } from './create_button'; +import { DashboardConstants, createDashboardEditUrl } from '../../../dashboard_constants'; +import { DashboardServices } from '../../../types'; +import { getTableColumns } from '../../utils/get_table_columns'; +import { getNoItemsMessage } from '../../utils/get_no_items_message'; +import { syncQueryStateWithUrl } from '../../../../../data/public'; export const EMPTY_FILTER = ''; diff --git a/src/plugins/dashboard/public/application/components/dashboard_listing/index.ts b/src/plugins/dashboard/public/application/components/dashboard_listing/index.ts new file mode 100644 index 000000000000..19ded8c611ac --- /dev/null +++ b/src/plugins/dashboard/public/application/components/dashboard_listing/index.ts @@ -0,0 +1,7 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +export { CreateButton } from './create_button'; +export { DashboardListing } from './dashboard_listing'; diff --git a/src/plugins/dashboard/public/application/components/dashboard_top_nav.tsx b/src/plugins/dashboard/public/application/components/dashboard_top_nav/dashboard_top_nav.tsx similarity index 93% rename from src/plugins/dashboard/public/application/components/dashboard_top_nav.tsx rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/dashboard_top_nav.tsx index 157e9a01967e..1cc58c78ebc1 100644 --- a/src/plugins/dashboard/public/application/components/dashboard_top_nav.tsx +++ b/src/plugins/dashboard/public/application/components/dashboard_top_nav/dashboard_top_nav.tsx @@ -7,12 +7,12 @@ import React, { memo, useState, useEffect } from 'react'; import { IndexPattern } from 'src/plugins/data/public'; import { useCallback } from 'react'; import { useLocation } from 'react-router-dom'; -import { useOpenSearchDashboards } from '../../../../opensearch_dashboards_react/public'; -import { getTopNavConfig } from '../top_nav/get_top_nav_config'; -import { DashboardAppStateContainer, DashboardAppState, DashboardServices } from '../../types'; -import { getNavActions } from '../utils/get_nav_actions'; -import { DashboardContainer } from '../embeddable'; -import { Dashboard } from '../../dashboard'; +import { useOpenSearchDashboards } from '../../../../../opensearch_dashboards_react/public'; +import { getTopNavConfig } from './top_nav'; +import { DashboardAppStateContainer, DashboardAppState, DashboardServices } from '../../../types'; +import { getNavActions } from '../../utils/get_nav_actions'; +import { DashboardContainer } from '../../embeddable'; +import { Dashboard } from '../../../dashboard'; interface DashboardTopNavProps { isChromeVisible: boolean; diff --git a/src/plugins/dashboard/public/application/components/dashboard_top_nav/index.ts b/src/plugins/dashboard/public/application/components/dashboard_top_nav/index.ts new file mode 100644 index 000000000000..3e50001bd673 --- /dev/null +++ b/src/plugins/dashboard/public/application/components/dashboard_top_nav/index.ts @@ -0,0 +1,7 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +export * from './top_nav'; +export { DashboardTopNav, UrlParams } from './dashboard_top_nav'; diff --git a/src/plugins/dashboard/public/application/top_nav/__snapshots__/clone_modal.test.js.snap b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/__snapshots__/clone_modal.test.js.snap similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/__snapshots__/clone_modal.test.js.snap rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/__snapshots__/clone_modal.test.js.snap diff --git a/src/plugins/dashboard/public/application/top_nav/__snapshots__/save_modal.test.js.snap b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/__snapshots__/save_modal.test.js.snap similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/__snapshots__/save_modal.test.js.snap rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/__snapshots__/save_modal.test.js.snap diff --git a/src/plugins/dashboard/public/application/top_nav/clone_modal.test.js b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/clone_modal.test.js similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/clone_modal.test.js rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/clone_modal.test.js diff --git a/src/plugins/dashboard/public/application/top_nav/clone_modal.tsx b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/clone_modal.tsx similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/clone_modal.tsx rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/clone_modal.tsx diff --git a/src/plugins/dashboard/public/application/top_nav/get_top_nav_config.ts b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/get_top_nav_config.ts similarity index 98% rename from src/plugins/dashboard/public/application/top_nav/get_top_nav_config.ts rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/get_top_nav_config.ts index aa7c2e2e4255..f91f4d47a854 100644 --- a/src/plugins/dashboard/public/application/top_nav/get_top_nav_config.ts +++ b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/get_top_nav_config.ts @@ -29,9 +29,9 @@ */ import { i18n } from '@osd/i18n'; -import { ViewMode } from '../../embeddable_plugin'; +import { ViewMode } from '../../../../../../embeddable/public'; import { TopNavIds } from './top_nav_ids'; -import { NavAction } from '../../types'; +import { NavAction } from '../../../../types'; /** * @param actions - A mapping of TopNavIds to an action function that should run when the diff --git a/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/index.ts b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/index.ts new file mode 100644 index 000000000000..1fca9b941e4e --- /dev/null +++ b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/index.ts @@ -0,0 +1,12 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +export * from './clone_modal'; +export * from './get_top_nav_config'; +export * from './options'; +export * from './save_modal'; +export * from './show_clone_modal'; +export * from './show_options_popover'; +export * from './top_nav_ids'; diff --git a/src/plugins/dashboard/public/application/top_nav/options.tsx b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/options.tsx similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/options.tsx rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/options.tsx diff --git a/src/plugins/dashboard/public/application/top_nav/save_modal.test.js b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/save_modal.test.js similarity index 96% rename from src/plugins/dashboard/public/application/top_nav/save_modal.test.js rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/save_modal.test.js index 91bdaebe4dc1..daf1a8e351a5 100644 --- a/src/plugins/dashboard/public/application/top_nav/save_modal.test.js +++ b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/save_modal.test.js @@ -31,7 +31,7 @@ import React from 'react'; import { shallowWithI18nProvider } from 'test_utils/enzyme_helpers'; -jest.mock('../../../../saved_objects/public', () => ({ +jest.mock('../../../../../../saved_objects/public', () => ({ SavedObjectSaveModal: () => null, })); diff --git a/src/plugins/dashboard/public/application/top_nav/save_modal.tsx b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/save_modal.tsx similarity index 98% rename from src/plugins/dashboard/public/application/top_nav/save_modal.tsx rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/save_modal.tsx index 205a8e2222fc..f8e0fe674df8 100644 --- a/src/plugins/dashboard/public/application/top_nav/save_modal.tsx +++ b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/save_modal.tsx @@ -32,7 +32,7 @@ import React, { Fragment } from 'react'; import { FormattedMessage } from '@osd/i18n/react'; import { EuiFormRow, EuiTextArea, EuiSwitch } from '@elastic/eui'; -import { SavedObjectSaveModal } from '../../../../saved_objects/public'; +import { SavedObjectSaveModal } from '../../../../../../saved_objects/public'; interface SaveOptions { newTitle: string; diff --git a/src/plugins/dashboard/public/application/top_nav/show_clone_modal.tsx b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/show_clone_modal.tsx similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/show_clone_modal.tsx rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/show_clone_modal.tsx diff --git a/src/plugins/dashboard/public/application/top_nav/show_options_popover.tsx b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/show_options_popover.tsx similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/show_options_popover.tsx rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/show_options_popover.tsx diff --git a/src/plugins/dashboard/public/application/top_nav/top_nav_ids.ts b/src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/top_nav_ids.ts similarity index 100% rename from src/plugins/dashboard/public/application/top_nav/top_nav_ids.ts rename to src/plugins/dashboard/public/application/components/dashboard_top_nav/top_nav/top_nav_ids.ts diff --git a/src/plugins/dashboard/public/application/components/index.ts b/src/plugins/dashboard/public/application/components/index.ts index 27f7e46ad74e..23eeb5e75314 100644 --- a/src/plugins/dashboard/public/application/components/index.ts +++ b/src/plugins/dashboard/public/application/components/index.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -export { DashboardListing } from './dashboard_listing'; +export { DashboardListing, CreateButton } from './dashboard_listing'; export { DashboardEditor } from './dashboard_editor'; export { DashboardNoMatch } from './dashboard_no_match'; export { DashboardTopNav } from './dashboard_top_nav'; diff --git a/src/plugins/dashboard/public/application/dashboard_strings.ts b/src/plugins/dashboard/public/application/dashboard_strings.ts index ead76e48da74..96713b3fe955 100644 --- a/src/plugins/dashboard/public/application/dashboard_strings.ts +++ b/src/plugins/dashboard/public/application/dashboard_strings.ts @@ -29,7 +29,7 @@ */ import { i18n } from '@osd/i18n'; -import { ViewMode } from '../embeddable_plugin'; +import { ViewMode } from '../../../embeddable/public'; /** * @param title {string} the current title of the dashboard diff --git a/src/plugins/dashboard/public/application/embeddable/_dashboard_container.scss b/src/plugins/dashboard/public/application/embeddable/_dashboard_container.scss index 30774d469b85..e72e52515efd 100644 --- a/src/plugins/dashboard/public/application/embeddable/_dashboard_container.scss +++ b/src/plugins/dashboard/public/application/embeddable/_dashboard_container.scss @@ -1,4 +1,5 @@ @import "../../../../embeddable/public/variables"; +@import "./empty/index"; @import "./grid/index"; @import "./panel/index"; @import "./viewport/index"; diff --git a/src/plugins/dashboard/public/application/embeddable/dashboard_container.test.tsx b/src/plugins/dashboard/public/application/embeddable/dashboard_container.test.tsx index 4daeb2767170..faed32d60d2d 100644 --- a/src/plugins/dashboard/public/application/embeddable/dashboard_container.test.tsx +++ b/src/plugins/dashboard/public/application/embeddable/dashboard_container.test.tsx @@ -28,18 +28,32 @@ * under the License. */ +import { I18nProvider } from '@osd/i18n/react'; import { nextTick } from 'test_utils/enzyme_helpers'; -import { isErrorEmbeddable, ViewMode } from '../../embeddable_plugin'; -import { DashboardContainer, DashboardContainerOptions } from './dashboard_container'; -import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; +import { + CONTEXT_MENU_TRIGGER, + EmbeddablePanel, + isErrorEmbeddable, + ViewMode, +} from '../../../../embeddable/public'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, ContactCardEmbeddableInput, ContactCardEmbeddable, ContactCardEmbeddableOutput, -} from '../../embeddable_plugin_test_samples'; + createEditModeAction, +} from '../../../../embeddable/public/lib/test_samples'; import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; +import { DashboardContainer, DashboardContainerOptions } from './dashboard_container'; +import { getSampleDashboardInput, getSampleDashboardPanel } from '../test_helpers'; +import { inspectorPluginMock } from 'src/plugins/inspector/public/mocks'; +import { uiActionsPluginMock } from 'src/plugins/ui_actions/public/mocks'; +import { applicationServiceMock } from '../../../../../core/public/mocks'; +import React from 'react'; +import { OpenSearchDashboardsContextProvider } from 'src/plugins/opensearch_dashboards_react/public'; +import { mount } from 'enzyme'; +import { findTestSubject } from 'test_utils/helpers'; const options: DashboardContainerOptions = { application: {} as any, @@ -145,3 +159,88 @@ test('Container view mode change propagates to new children', async () => { expect(embeddable.getInput().viewMode).toBe(ViewMode.EDIT); }); + +test('DashboardContainer in edit mode shows edit mode actions', async () => { + const inspector = inspectorPluginMock.createStartContract(); + const { setup, doStart } = embeddablePluginMock.createInstance(); + const uiActionsSetup = uiActionsPluginMock.createSetupContract(); + + const editModeAction = createEditModeAction(); + uiActionsSetup.registerAction(editModeAction); + uiActionsSetup.addTriggerAction(CONTEXT_MENU_TRIGGER, editModeAction); + setup.registerEmbeddableFactory( + CONTACT_CARD_EMBEDDABLE, + new ContactCardEmbeddableFactory((() => null) as any, {} as any) + ); + + const start = doStart(); + + const initialInput = getSampleDashboardInput({ viewMode: ViewMode.VIEW }); + const containerOptions: DashboardContainerOptions = { + application: applicationServiceMock.createStartContract(), + embeddable: start, + notifications: {} as any, + overlays: {} as any, + inspector: {} as any, + SavedObjectFinder: () => null, + ExitFullScreenButton: () => null, + uiActions: {} as any, + }; + const container = new DashboardContainer(initialInput, containerOptions); + + const embeddable = await container.addNewEmbeddable< + ContactCardEmbeddableInput, + ContactCardEmbeddableOutput, + ContactCardEmbeddable + >(CONTACT_CARD_EMBEDDABLE, { + firstName: 'Bob', + }); + + const component = mount( + + + Promise.resolve([])} + getAllEmbeddableFactories={(() => []) as any} + getEmbeddableFactory={(() => null) as any} + notifications={{} as any} + application={containerOptions.application} + overlays={{} as any} + inspector={inspector} + SavedObjectFinder={() => null} + /> + + + ); + + const button = findTestSubject(component, 'embeddablePanelToggleMenuIcon'); + + expect(button.length).toBe(1); + findTestSubject(component, 'embeddablePanelToggleMenuIcon').simulate('click'); + + expect(findTestSubject(component, `embeddablePanelContextMenuOpen`).length).toBe(1); + + const editAction = findTestSubject(component, `embeddablePanelAction-${editModeAction.id}`); + + expect(editAction.length).toBe(0); + + container.updateInput({ viewMode: ViewMode.EDIT }); + await nextTick(); + component.update(); + findTestSubject(component, 'embeddablePanelToggleMenuIcon').simulate('click'); + await nextTick(); + component.update(); + expect(findTestSubject(component, 'embeddablePanelContextMenuOpen').length).toBe(0); + findTestSubject(component, 'embeddablePanelToggleMenuIcon').simulate('click'); + await nextTick(); + component.update(); + expect(findTestSubject(component, 'embeddablePanelContextMenuOpen').length).toBe(1); + + await nextTick(); + component.update(); + + // TODO: Address this. + // const action = findTestSubject(component, `embeddablePanelAction-${editModeAction.id}`); + // expect(action.length).toBe(1); +}); diff --git a/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx b/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx index c87c3478558c..db647c2760a7 100644 --- a/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx +++ b/src/plugins/dashboard/public/application/embeddable/dashboard_container.tsx @@ -37,7 +37,6 @@ import { RefreshInterval, TimeRange, Query, Filter } from 'src/plugins/data/publ import { CoreStart } from 'src/core/public'; import { Start as InspectorStartContract } from 'src/plugins/inspector/public'; import uuid from 'uuid'; -import { UiActionsStart } from '../../ui_actions_plugin'; import { Container, ContainerInput, @@ -47,7 +46,10 @@ import { IEmbeddable, EmbeddableStart, PanelState, -} from '../../embeddable_plugin'; + EmbeddableStateTransfer, + EmbeddableOutput, +} from '../../../../embeddable/public'; +import { UiActionsStart } from '../../../../ui_actions/public'; import { DASHBOARD_CONTAINER_TYPE } from './dashboard_constants'; import { createPanelState } from './panel'; import { DashboardPanelState } from './types'; @@ -59,7 +61,6 @@ import { } from '../../../../opensearch_dashboards_react/public'; import { PLACEHOLDER_EMBEDDABLE } from './placeholder'; import { PanelPlacementMethod, IPanelPlacementArgs } from './panel/dashboard_panel_placement'; -import { EmbeddableStateTransfer, EmbeddableOutput } from '../../../../embeddable/public'; export interface DashboardContainerInput extends ContainerInput { viewMode: ViewMode; diff --git a/src/plugins/dashboard/public/application/embeddable/dashboard_container_factory.tsx b/src/plugins/dashboard/public/application/embeddable/dashboard_container_factory.tsx index bbfd0f30dd34..b50f561ddab8 100644 --- a/src/plugins/dashboard/public/application/embeddable/dashboard_container_factory.tsx +++ b/src/plugins/dashboard/public/application/embeddable/dashboard_container_factory.tsx @@ -32,13 +32,14 @@ import { i18n } from '@osd/i18n'; import { UiActionsStart } from 'src/plugins/ui_actions/public'; import { CoreStart, ScopedHistory } from 'src/core/public'; import { Start as InspectorStartContract } from 'src/plugins/inspector/public'; -import { EmbeddableFactory, EmbeddableStart } from '../../../../embeddable/public'; import { ContainerOutput, EmbeddableFactoryDefinition, ErrorEmbeddable, Container, -} from '../../embeddable_plugin'; + EmbeddableFactory, + EmbeddableStart, +} from '../../../../embeddable/public'; import { DashboardContainer, DashboardContainerInput } from './dashboard_container'; import { DASHBOARD_CONTAINER_TYPE } from './dashboard_constants'; diff --git a/src/plugins/dashboard/public/application/__snapshots__/dashboard_empty_screen.test.tsx.snap b/src/plugins/dashboard/public/application/embeddable/empty/__snapshots__/dashboard_empty_screen.test.tsx.snap similarity index 100% rename from src/plugins/dashboard/public/application/__snapshots__/dashboard_empty_screen.test.tsx.snap rename to src/plugins/dashboard/public/application/embeddable/empty/__snapshots__/dashboard_empty_screen.test.tsx.snap diff --git a/src/plugins/dashboard/public/application/embeddable/empty/_index.scss b/src/plugins/dashboard/public/application/embeddable/empty/_index.scss new file mode 100644 index 000000000000..e6977a94c5b7 --- /dev/null +++ b/src/plugins/dashboard/public/application/embeddable/empty/_index.scss @@ -0,0 +1 @@ +@import "./dashboard_empty_screen"; diff --git a/src/plugins/dashboard/public/application/dashboard_empty_screen.scss b/src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.scss similarity index 100% rename from src/plugins/dashboard/public/application/dashboard_empty_screen.scss rename to src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.scss diff --git a/src/plugins/dashboard/public/application/dashboard_empty_screen.test.tsx b/src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.test.tsx similarity index 98% rename from src/plugins/dashboard/public/application/dashboard_empty_screen.test.tsx rename to src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.test.tsx index ac22b069135c..b2c04284ad09 100644 --- a/src/plugins/dashboard/public/application/dashboard_empty_screen.test.tsx +++ b/src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.test.tsx @@ -32,7 +32,7 @@ import React from 'react'; import { mountWithIntl } from 'test_utils/enzyme_helpers'; import { DashboardEmptyScreen, DashboardEmptyScreenProps } from './dashboard_empty_screen'; import { findTestSubject } from 'test_utils/helpers'; -import { coreMock } from '../../../../core/public/mocks'; +import { coreMock } from '../../../../../../core/public/mocks'; describe('DashboardEmptyScreen', () => { const setupMock = coreMock.createSetup(); diff --git a/src/plugins/dashboard/public/application/dashboard_empty_screen.tsx b/src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.tsx similarity index 99% rename from src/plugins/dashboard/public/application/dashboard_empty_screen.tsx rename to src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.tsx index d7f4a725a6fc..558fe0af5f62 100644 --- a/src/plugins/dashboard/public/application/dashboard_empty_screen.tsx +++ b/src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen.tsx @@ -28,7 +28,6 @@ * under the License. */ -import './dashboard_empty_screen.scss'; import React from 'react'; import { I18nProvider } from '@osd/i18n/react'; import { diff --git a/src/plugins/dashboard/public/application/dashboard_empty_screen_constants.tsx b/src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen_constants.tsx similarity index 100% rename from src/plugins/dashboard/public/application/dashboard_empty_screen_constants.tsx rename to src/plugins/dashboard/public/application/embeddable/empty/dashboard_empty_screen_constants.tsx diff --git a/src/plugins/dashboard/public/application/embeddable/empty/index.ts b/src/plugins/dashboard/public/application/embeddable/empty/index.ts new file mode 100644 index 000000000000..16a579e89bc0 --- /dev/null +++ b/src/plugins/dashboard/public/application/embeddable/empty/index.ts @@ -0,0 +1,6 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +export { DashboardEmptyScreen, DashboardEmptyScreenProps } from './dashboard_empty_screen'; diff --git a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.test.tsx b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.test.tsx index 48d1a4adc512..ce2dfec622a4 100644 --- a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.test.tsx +++ b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.test.tsx @@ -40,9 +40,9 @@ import { getSampleDashboardInput } from '../../test_helpers'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, -} from '../../../embeddable_plugin_test_samples'; +} from '../../../../../embeddable/public/lib/test_samples'; +import { embeddablePluginMock } from '../../../../../embeddable/public/mocks'; import { OpenSearchDashboardsContextProvider } from '../../../../../opensearch_dashboards_react/public'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; let dashboardContainer: DashboardContainer | undefined; diff --git a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx index 064a1c5f4085..374e20e715d4 100644 --- a/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx +++ b/src/plugins/dashboard/public/application/embeddable/grid/dashboard_grid.tsx @@ -39,8 +39,8 @@ import _ from 'lodash'; import React from 'react'; import { Subscription } from 'rxjs'; import ReactGridLayout, { Layout, ReactGridLayoutProps } from 'react-grid-layout'; +import { ViewMode, EmbeddableChildPanel, EmbeddableStart } from '../../../../../embeddable/public'; import { GridData } from '../../../../common'; -import { ViewMode, EmbeddableChildPanel, EmbeddableStart } from '../../../embeddable_plugin'; import { DASHBOARD_GRID_COLUMN_COUNT, DASHBOARD_GRID_HEIGHT } from '../dashboard_constants'; import { DashboardPanelState } from '../types'; import { withOpenSearchDashboards } from '../../../../../opensearch_dashboards_react/public'; diff --git a/src/plugins/dashboard/public/application/embeddable/index.ts b/src/plugins/dashboard/public/application/embeddable/index.ts index 1b5017bee941..b3a8b4cc8d75 100644 --- a/src/plugins/dashboard/public/application/embeddable/index.ts +++ b/src/plugins/dashboard/public/application/embeddable/index.ts @@ -36,6 +36,7 @@ export { DashboardContainer, DashboardContainerInput } from './dashboard_contain export { createPanelState } from './panel'; export * from './types'; +export * from './empty'; export { DASHBOARD_GRID_COLUMN_COUNT, diff --git a/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.test.ts b/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.test.ts index 43d15e2d3774..b6bfdc1c004d 100644 --- a/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.test.ts +++ b/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.test.ts @@ -31,8 +31,8 @@ import { DEFAULT_PANEL_HEIGHT, DEFAULT_PANEL_WIDTH } from '../dashboard_constants'; import { DashboardPanelState } from '../types'; import { createPanelState } from './create_panel_state'; -import { EmbeddableInput } from '../../../embeddable_plugin'; -import { CONTACT_CARD_EMBEDDABLE } from '../../../embeddable_plugin_test_samples'; +import { EmbeddableInput } from '../../../../../embeddable/public'; +import { CONTACT_CARD_EMBEDDABLE } from '../../../../../embeddable/public/lib/test_samples'; interface TestInput extends EmbeddableInput { test: string; diff --git a/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts b/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts index b99548a3e89c..6fba7b8397c4 100644 --- a/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts +++ b/src/plugins/dashboard/public/application/embeddable/panel/create_panel_state.ts @@ -28,7 +28,7 @@ * under the License. */ -import { PanelState, EmbeddableInput } from '../../../embeddable_plugin'; +import { PanelState, EmbeddableInput } from '../../../../../embeddable/public'; import { DEFAULT_PANEL_HEIGHT, DEFAULT_PANEL_WIDTH } from '../dashboard_constants'; import { DashboardPanelState } from '../types'; import { diff --git a/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts b/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts index 8cf277890cb1..690c2e2b75c7 100644 --- a/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts +++ b/src/plugins/dashboard/public/application/embeddable/panel/dashboard_panel_placement.ts @@ -29,7 +29,7 @@ */ import _ from 'lodash'; -import { PanelNotFoundError } from '../../../embeddable_plugin'; +import { PanelNotFoundError } from '../../../../../embeddable/public'; import { GridData } from '../../../../common'; import { DashboardPanelState, DASHBOARD_GRID_COLUMN_COUNT } from '..'; diff --git a/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable.tsx b/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable.tsx index 57ecde6b5ceb..60882b179214 100644 --- a/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable.tsx +++ b/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable.tsx @@ -32,7 +32,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { EuiLoadingChart } from '@elastic/eui'; import classNames from 'classnames'; -import { Embeddable, EmbeddableInput, IContainer } from '../../../embeddable_plugin'; +import { Embeddable, EmbeddableInput, IContainer } from '../../../../../embeddable/public'; export const PLACEHOLDER_EMBEDDABLE = 'placeholder'; diff --git a/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable_factory.ts b/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable_factory.ts index 9cf936443072..e89a8efbfa04 100644 --- a/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable_factory.ts +++ b/src/plugins/dashboard/public/application/embeddable/placeholder/placeholder_embeddable_factory.ts @@ -34,7 +34,7 @@ import { EmbeddableFactoryDefinition, EmbeddableInput, IContainer, -} from '../../../embeddable_plugin'; +} from '../../../../../embeddable/public'; import { PlaceholderEmbeddable, PLACEHOLDER_EMBEDDABLE } from './placeholder_embeddable'; export class PlaceholderEmbeddableFactory implements EmbeddableFactoryDefinition { diff --git a/src/plugins/dashboard/public/application/embeddable/types.ts b/src/plugins/dashboard/public/application/embeddable/types.ts index ed4f90bc6eb6..ffa810b6bc05 100644 --- a/src/plugins/dashboard/public/application/embeddable/types.ts +++ b/src/plugins/dashboard/public/application/embeddable/types.ts @@ -28,9 +28,12 @@ * under the License. */ -import { SavedObjectEmbeddableInput } from 'src/plugins/embeddable/public'; +import { + SavedObjectEmbeddableInput, + PanelState, + EmbeddableInput, +} from '../../../../embeddable/public'; import { GridData } from '../../../common'; -import { PanelState, EmbeddableInput } from '../../embeddable_plugin'; export type PanelId = string; export type SavedObjectId = string; diff --git a/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.test.tsx b/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.test.tsx index bc1b56b64bf8..f03ed95c9a37 100644 --- a/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.test.tsx +++ b/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.test.tsx @@ -41,9 +41,9 @@ import { getSampleDashboardInput } from '../../test_helpers'; import { CONTACT_CARD_EMBEDDABLE, ContactCardEmbeddableFactory, -} from '../../../embeddable_plugin_test_samples'; +} from '../../../../../embeddable/public/lib/test_samples'; +import { embeddablePluginMock } from '../../../../../embeddable/public/mocks'; import { OpenSearchDashboardsContextProvider } from '../../../../../opensearch_dashboards_react/public'; -import { embeddablePluginMock } from 'src/plugins/embeddable/public/mocks'; import { applicationServiceMock } from '../../../../../../core/public/mocks'; sizeMe.noPlaceholders = true; diff --git a/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.tsx b/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.tsx index 2a98046b4d2c..f89c1179cad5 100644 --- a/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.tsx +++ b/src/plugins/dashboard/public/application/embeddable/viewport/dashboard_viewport.tsx @@ -30,7 +30,7 @@ import React from 'react'; import { Subscription } from 'rxjs'; -import { PanelState, EmbeddableStart } from '../../../embeddable_plugin'; +import { PanelState, EmbeddableStart } from '../../../../../embeddable/public'; import { DashboardContainer, DashboardReactContextValue } from '../dashboard_container'; import { DashboardGrid } from '../grid'; import { context } from '../../../../../opensearch_dashboards_react/public'; diff --git a/src/plugins/dashboard/public/application/embeddable/viewport/index.ts b/src/plugins/dashboard/public/application/embeddable/viewport/index.ts new file mode 100644 index 000000000000..62b87a159113 --- /dev/null +++ b/src/plugins/dashboard/public/application/embeddable/viewport/index.ts @@ -0,0 +1,6 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +export { DashboardViewport, DashboardViewportProps } from './dashboard_viewport'; diff --git a/src/plugins/dashboard/public/application/index.scss b/src/plugins/dashboard/public/application/index.scss index bc959543e406..c3d13ce48307 100644 --- a/src/plugins/dashboard/public/application/index.scss +++ b/src/plugins/dashboard/public/application/index.scss @@ -3,9 +3,6 @@ @import "./embeddable/panel/index"; @import "./embeddable/viewport/index"; -// Temporary hacks -@import "./hacks"; - // Prefix all styles with "dsh" to avoid conflicts. // Examples // dshChart diff --git a/src/plugins/dashboard/public/application/index.tsx b/src/plugins/dashboard/public/application/index.tsx index 366366eb83d8..4b46fd058a3f 100644 --- a/src/plugins/dashboard/public/application/index.tsx +++ b/src/plugins/dashboard/public/application/index.tsx @@ -8,7 +8,7 @@ import ReactDOM from 'react-dom'; import { Router } from 'react-router-dom'; import { AppMountParameters } from 'opensearch-dashboards/public'; import { OpenSearchDashboardsContextProvider } from '../../../opensearch_dashboards_react/public'; -import { addHelpMenuToAppChrome } from './help_menu/help_menu_util'; +import { addHelpMenuToAppChrome } from './utils'; import { DashboardApp } from './app'; import { DashboardServices } from '../types'; export * from './embeddable'; diff --git a/src/plugins/dashboard/public/application/lib/index.ts b/src/plugins/dashboard/public/application/lib/index.ts deleted file mode 100644 index e64b0d4c0c49..000000000000 --- a/src/plugins/dashboard/public/application/lib/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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. - */ - -export { saveDashboard } from './save_dashboard'; -export { getAppStateDefaults } from './get_app_state_defaults'; -export { migrateAppState } from './migrate_app_state'; -export { getDashboardIdFromUrl } from './url'; diff --git a/src/plugins/dashboard/public/application/listing/__snapshots__/dashboard_listing.test.js.snap b/src/plugins/dashboard/public/application/listing/__snapshots__/dashboard_listing.test.js.snap deleted file mode 100644 index 8ad036fc120c..000000000000 --- a/src/plugins/dashboard/public/application/listing/__snapshots__/dashboard_listing.test.js.snap +++ /dev/null @@ -1,743 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`after fetch hideWriteControls 1`] = ` - - - - - - } - /> - - } - tableColumns={ - Array [ - Object { - "field": "title", - "name": "Title", - "render": [Function], - "sortable": true, - }, - Object { - "dataType": "string", - "field": "type", - "name": "Type", - "sortable": true, - }, - Object { - "dataType": "string", - "field": "description", - "name": "Description", - "sortable": true, - }, - Object { - "data-test-subj": "updated-at", - "dataType": "date", - "description": "Last update of the saved object", - "field": "updated_at", - "name": "Last updated", - "render": [Function], - "sortable": true, - }, - ] - } - tableListTitle="Dashboards" - toastNotifications={Object {}} - uiSettings={ - Object { - "get": [MockFunction] { - "calls": Array [ - Array [ - "dateFormat", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": 10, - }, - ], - }, - } - } - viewItem={null} - /> - -`; - -exports[`after fetch initialFilter 1`] = ` - - } - createItem={[Function]} - deleteItems={[Function]} - editItem={[Function]} - entityName="dashboard" - entityNamePlural="dashboards" - findItems={[Function]} - headingId="dashboardListingHeading" - initialFilter="my dashboard" - initialPageSize={10} - listingLimit={1000} - noItemsFragment={ -
- - - - } - body={ - -

- -

-

- - - , - } - } - /> -

-
- } - iconType="dashboardApp" - title={ -

- -

- } - /> -
- } - tableColumns={ - Array [ - Object { - "field": "title", - "name": "Title", - "render": [Function], - "sortable": true, - }, - Object { - "dataType": "string", - "field": "type", - "name": "Type", - "sortable": true, - }, - Object { - "dataType": "string", - "field": "description", - "name": "Description", - "sortable": true, - }, - Object { - "data-test-subj": "updated-at", - "dataType": "date", - "description": "Last update of the saved object", - "field": "updated_at", - "name": "Last updated", - "render": [Function], - "sortable": true, - }, - ] - } - tableListTitle="Dashboards" - toastNotifications={Object {}} - uiSettings={ - Object { - "get": [MockFunction] { - "calls": Array [ - Array [ - "dateFormat", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": 10, - }, - ], - }, - } - } - viewItem={[Function]} - /> -
-`; - -exports[`after fetch renders call to action when no dashboards exist 1`] = ` - - } - createItem={[Function]} - deleteItems={[Function]} - editItem={[Function]} - entityName="dashboard" - entityNamePlural="dashboards" - findItems={[Function]} - headingId="dashboardListingHeading" - initialFilter="" - initialPageSize={10} - listingLimit={1} - noItemsFragment={ -
- - - - } - body={ - -

- -

-

- - - , - } - } - /> -

-
- } - iconType="dashboardApp" - title={ -

- -

- } - /> -
- } - tableColumns={ - Array [ - Object { - "field": "title", - "name": "Title", - "render": [Function], - "sortable": true, - }, - Object { - "dataType": "string", - "field": "type", - "name": "Type", - "sortable": true, - }, - Object { - "dataType": "string", - "field": "description", - "name": "Description", - "sortable": true, - }, - Object { - "data-test-subj": "updated-at", - "dataType": "date", - "description": "Last update of the saved object", - "field": "updated_at", - "name": "Last updated", - "render": [Function], - "sortable": true, - }, - ] - } - tableListTitle="Dashboards" - toastNotifications={Object {}} - uiSettings={ - Object { - "get": [MockFunction] { - "calls": Array [ - Array [ - "dateFormat", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": 10, - }, - ], - }, - } - } - viewItem={[Function]} - /> -
-`; - -exports[`after fetch renders table rows 1`] = ` - - } - createItem={[Function]} - deleteItems={[Function]} - editItem={[Function]} - entityName="dashboard" - entityNamePlural="dashboards" - findItems={[Function]} - headingId="dashboardListingHeading" - initialFilter="" - initialPageSize={10} - listingLimit={1000} - noItemsFragment={ -
- - - - } - body={ - -

- -

-

- - - , - } - } - /> -

-
- } - iconType="dashboardApp" - title={ -

- -

- } - /> -
- } - tableColumns={ - Array [ - Object { - "field": "title", - "name": "Title", - "render": [Function], - "sortable": true, - }, - Object { - "dataType": "string", - "field": "type", - "name": "Type", - "sortable": true, - }, - Object { - "dataType": "string", - "field": "description", - "name": "Description", - "sortable": true, - }, - Object { - "data-test-subj": "updated-at", - "dataType": "date", - "description": "Last update of the saved object", - "field": "updated_at", - "name": "Last updated", - "render": [Function], - "sortable": true, - }, - ] - } - tableListTitle="Dashboards" - toastNotifications={Object {}} - uiSettings={ - Object { - "get": [MockFunction] { - "calls": Array [ - Array [ - "dateFormat", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": 10, - }, - ], - }, - } - } - viewItem={[Function]} - /> -
-`; - -exports[`after fetch renders warning when listingLimit is exceeded 1`] = ` - - } - createItem={[Function]} - deleteItems={[Function]} - editItem={[Function]} - entityName="dashboard" - entityNamePlural="dashboards" - findItems={[Function]} - headingId="dashboardListingHeading" - initialFilter="" - initialPageSize={10} - listingLimit={1} - noItemsFragment={ -
- - - - } - body={ - -

- -

-

- - - , - } - } - /> -

-
- } - iconType="dashboardApp" - title={ -

- -

- } - /> -
- } - tableColumns={ - Array [ - Object { - "field": "title", - "name": "Title", - "render": [Function], - "sortable": true, - }, - Object { - "dataType": "string", - "field": "type", - "name": "Type", - "sortable": true, - }, - Object { - "dataType": "string", - "field": "description", - "name": "Description", - "sortable": true, - }, - Object { - "data-test-subj": "updated-at", - "dataType": "date", - "description": "Last update of the saved object", - "field": "updated_at", - "name": "Last updated", - "render": [Function], - "sortable": true, - }, - ] - } - tableListTitle="Dashboards" - toastNotifications={Object {}} - uiSettings={ - Object { - "get": [MockFunction] { - "calls": Array [ - Array [ - "dateFormat", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": 10, - }, - ], - }, - } - } - viewItem={[Function]} - /> -
-`; - -exports[`renders empty page in before initial fetch to avoid flickering 1`] = ` - - } - createItem={[Function]} - deleteItems={[Function]} - editItem={[Function]} - entityName="dashboard" - entityNamePlural="dashboards" - findItems={[Function]} - headingId="dashboardListingHeading" - initialFilter="" - initialPageSize={10} - listingLimit={1000} - noItemsFragment={ -
- - - - } - body={ - -

- -

-

- - - , - } - } - /> -

-
- } - iconType="dashboardApp" - title={ -

- -

- } - /> -
- } - tableColumns={ - Array [ - Object { - "field": "title", - "name": "Title", - "render": [Function], - "sortable": true, - }, - Object { - "dataType": "string", - "field": "type", - "name": "Type", - "sortable": true, - }, - Object { - "dataType": "string", - "field": "description", - "name": "Description", - "sortable": true, - }, - Object { - "data-test-subj": "updated-at", - "dataType": "date", - "description": "Last update of the saved object", - "field": "updated_at", - "name": "Last updated", - "render": [Function], - "sortable": true, - }, - ] - } - tableListTitle="Dashboards" - toastNotifications={Object {}} - uiSettings={ - Object { - "get": [MockFunction] { - "calls": Array [ - Array [ - "dateFormat", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": 10, - }, - ], - }, - } - } - viewItem={[Function]} - /> -
-`; diff --git a/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts b/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts index 931c2395cd50..1cfddf2a571f 100644 --- a/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts +++ b/src/plugins/dashboard/public/application/test_helpers/get_sample_dashboard_input.ts @@ -28,7 +28,7 @@ * under the License. */ -import { ViewMode, EmbeddableInput } from '../../embeddable_plugin'; +import { ViewMode, EmbeddableInput } from '../../../../embeddable/public'; import { DashboardContainerInput, DashboardPanelState } from '../embeddable'; export function getSampleDashboardInput( diff --git a/src/plugins/dashboard/public/application/tests/dashboard_container.test.tsx b/src/plugins/dashboard/public/application/tests/dashboard_container.test.tsx deleted file mode 100644 index 2746997947c9..000000000000 --- a/src/plugins/dashboard/public/application/tests/dashboard_container.test.tsx +++ /dev/null @@ -1,136 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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 { findTestSubject } from 'test_utils/helpers'; -import React from 'react'; -import { mount } from 'enzyme'; -import { nextTick } from 'test_utils/enzyme_helpers'; -import { I18nProvider } from '@osd/i18n/react'; -import { ViewMode, CONTEXT_MENU_TRIGGER, EmbeddablePanel } from '../../embeddable_plugin'; -import { DashboardContainer, DashboardContainerOptions } from '../embeddable/dashboard_container'; -import { getSampleDashboardInput } from '../test_helpers'; -import { - CONTACT_CARD_EMBEDDABLE, - ContactCardEmbeddableFactory, - ContactCardEmbeddableInput, - ContactCardEmbeddable, - ContactCardEmbeddableOutput, - createEditModeAction, -} from '../../embeddable_plugin_test_samples'; -import { embeddablePluginMock } from '../../../../embeddable/public/mocks'; -import { inspectorPluginMock } from '../../../../inspector/public/mocks'; -import { OpenSearchDashboardsContextProvider } from '../../../../opensearch_dashboards_react/public'; -import { uiActionsPluginMock } from '../../../../ui_actions/public/mocks'; -import { applicationServiceMock } from '../../../../../core/public/mocks'; - -test('DashboardContainer in edit mode shows edit mode actions', async () => { - const inspector = inspectorPluginMock.createStartContract(); - const { setup, doStart } = embeddablePluginMock.createInstance(); - const uiActionsSetup = uiActionsPluginMock.createSetupContract(); - - const editModeAction = createEditModeAction(); - uiActionsSetup.registerAction(editModeAction); - uiActionsSetup.addTriggerAction(CONTEXT_MENU_TRIGGER, editModeAction); - setup.registerEmbeddableFactory( - CONTACT_CARD_EMBEDDABLE, - new ContactCardEmbeddableFactory((() => null) as any, {} as any) - ); - - const start = doStart(); - - const initialInput = getSampleDashboardInput({ viewMode: ViewMode.VIEW }); - const options: DashboardContainerOptions = { - application: applicationServiceMock.createStartContract(), - embeddable: start, - notifications: {} as any, - overlays: {} as any, - inspector: {} as any, - SavedObjectFinder: () => null, - ExitFullScreenButton: () => null, - uiActions: {} as any, - }; - const container = new DashboardContainer(initialInput, options); - - const embeddable = await container.addNewEmbeddable< - ContactCardEmbeddableInput, - ContactCardEmbeddableOutput, - ContactCardEmbeddable - >(CONTACT_CARD_EMBEDDABLE, { - firstName: 'Bob', - }); - - const component = mount( - - - Promise.resolve([])} - getAllEmbeddableFactories={(() => []) as any} - getEmbeddableFactory={(() => null) as any} - notifications={{} as any} - application={options.application} - overlays={{} as any} - inspector={inspector} - SavedObjectFinder={() => null} - /> - - - ); - - const button = findTestSubject(component, 'embeddablePanelToggleMenuIcon'); - - expect(button.length).toBe(1); - findTestSubject(component, 'embeddablePanelToggleMenuIcon').simulate('click'); - - expect(findTestSubject(component, `embeddablePanelContextMenuOpen`).length).toBe(1); - - const editAction = findTestSubject(component, `embeddablePanelAction-${editModeAction.id}`); - - expect(editAction.length).toBe(0); - - container.updateInput({ viewMode: ViewMode.EDIT }); - await nextTick(); - component.update(); - findTestSubject(component, 'embeddablePanelToggleMenuIcon').simulate('click'); - await nextTick(); - component.update(); - expect(findTestSubject(component, 'embeddablePanelContextMenuOpen').length).toBe(0); - findTestSubject(component, 'embeddablePanelToggleMenuIcon').simulate('click'); - await nextTick(); - component.update(); - expect(findTestSubject(component, 'embeddablePanelContextMenuOpen').length).toBe(1); - - await nextTick(); - component.update(); - - // TODO: Address this. - // const action = findTestSubject(component, `embeddablePanelAction-${editModeAction.id}`); - // expect(action.length).toBe(1); -}); diff --git a/src/plugins/dashboard/public/application/utils/breadcrumbs.ts b/src/plugins/dashboard/public/application/utils/breadcrumbs.ts index 55934ead7f3d..fa9cef188e57 100644 --- a/src/plugins/dashboard/public/application/utils/breadcrumbs.ts +++ b/src/plugins/dashboard/public/application/utils/breadcrumbs.ts @@ -5,7 +5,7 @@ import { i18n } from '@osd/i18n'; import { DashboardConstants } from '../../dashboard_constants'; -import { ViewMode } from '../../embeddable_plugin'; +import { ViewMode } from '../../../../embeddable/public'; export function getLandingBreadcrumbs() { return [ diff --git a/src/plugins/dashboard/public/application/utils/create_dashboard_app_state.tsx b/src/plugins/dashboard/public/application/utils/create_dashboard_app_state.tsx index 09b541a5e29b..bd6d55b8bc03 100644 --- a/src/plugins/dashboard/public/application/utils/create_dashboard_app_state.tsx +++ b/src/plugins/dashboard/public/application/utils/create_dashboard_app_state.tsx @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { migrateAppState } from '../lib/migrate_app_state'; +import { migrateAppState } from '../utils/migrate_app_state'; import { IOsdUrlStateStorage, createStateContainer, @@ -15,8 +15,8 @@ import { DashboardAppStateInUrl, DashboardServices, } from '../../types'; -import { ViewMode } from '../../embeddable_plugin'; -import { getDashboardIdFromUrl } from '../lib'; +import { ViewMode } from '../../../../embeddable/public'; +import { getDashboardIdFromUrl } from '../utils'; import { syncQueryStateWithUrl } from '../../../../data/public'; import { SavedObjectDashboard } from '../../saved_dashboards'; diff --git a/src/plugins/dashboard/public/application/utils/create_dashboard_container.tsx b/src/plugins/dashboard/public/application/utils/create_dashboard_container.tsx index 42ec3460ce24..1c5b06f54e57 100644 --- a/src/plugins/dashboard/public/application/utils/create_dashboard_container.tsx +++ b/src/plugins/dashboard/public/application/utils/create_dashboard_container.tsx @@ -24,6 +24,8 @@ import { DashboardContainer, DashboardContainerInput, DashboardPanelState, + DashboardEmptyScreen, + DashboardEmptyScreenProps, } from '../embeddable'; import { ContainerOutput, @@ -32,12 +34,11 @@ import { ViewMode, isErrorEmbeddable, openAddPanelFlyout, -} from '../../embeddable_plugin'; +} from '../../../../embeddable/public'; import { convertPanelStateToSavedDashboardPanel, convertSavedDashboardPanelToPanelState, -} from '../lib/embeddable_saved_object_converters'; -import { DashboardEmptyScreen, DashboardEmptyScreenProps } from '../dashboard_empty_screen'; +} from '../utils/embeddable_saved_object_converters'; import { DashboardAppState, DashboardAppStateContainer, @@ -47,7 +48,7 @@ import { import { getSavedObjectFinder } from '../../../../saved_objects/public'; import { DashboardConstants } from '../../dashboard_constants'; import { SavedObjectDashboard } from '../../saved_dashboards'; -import { migrateLegacyQuery } from '../lib/migrate_legacy_query'; +import { migrateLegacyQuery } from '../utils/migrate_legacy_query'; import { Dashboard } from '../../dashboard'; export const createDashboardContainer = async ({ diff --git a/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.test.ts b/src/plugins/dashboard/public/application/utils/embeddable_saved_object_converters.test.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.test.ts rename to src/plugins/dashboard/public/application/utils/embeddable_saved_object_converters.test.ts diff --git a/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts b/src/plugins/dashboard/public/application/utils/embeddable_saved_object_converters.ts similarity index 97% rename from src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts rename to src/plugins/dashboard/public/application/utils/embeddable_saved_object_converters.ts index 24630e40500d..8087d236097d 100644 --- a/src/plugins/dashboard/public/application/lib/embeddable_saved_object_converters.ts +++ b/src/plugins/dashboard/public/application/utils/embeddable_saved_object_converters.ts @@ -31,7 +31,7 @@ import { omit } from 'lodash'; import { SavedDashboardPanel } from '../../types'; import { DashboardPanelState } from '../embeddable'; -import { SavedObjectEmbeddableInput } from '../../embeddable_plugin'; +import { SavedObjectEmbeddableInput } from '../../../../embeddable/public'; export function convertSavedDashboardPanelToPanelState( savedDashboardPanel: SavedDashboardPanel diff --git a/src/plugins/dashboard/public/application/lib/filter_utils.ts b/src/plugins/dashboard/public/application/utils/filter_utils.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/filter_utils.ts rename to src/plugins/dashboard/public/application/utils/filter_utils.ts diff --git a/src/plugins/dashboard/public/application/lib/get_app_state_defaults.ts b/src/plugins/dashboard/public/application/utils/get_app_state_defaults.ts similarity index 96% rename from src/plugins/dashboard/public/application/lib/get_app_state_defaults.ts rename to src/plugins/dashboard/public/application/utils/get_app_state_defaults.ts index 95e5d70be438..a5bd1b0a1bd0 100644 --- a/src/plugins/dashboard/public/application/lib/get_app_state_defaults.ts +++ b/src/plugins/dashboard/public/application/utils/get_app_state_defaults.ts @@ -28,7 +28,7 @@ * under the License. */ -import { ViewMode } from '../../embeddable_plugin'; +import { ViewMode } from '../../../../embeddable/public'; import { SavedObjectDashboard } from '../../saved_dashboards'; import { DashboardAppStateDefaults } from '../../types'; diff --git a/src/plugins/dashboard/public/application/utils/get_nav_actions.tsx b/src/plugins/dashboard/public/application/utils/get_nav_actions.tsx index 748e593ac377..3f823f52676d 100644 --- a/src/plugins/dashboard/public/application/utils/get_nav_actions.tsx +++ b/src/plugins/dashboard/public/application/utils/get_nav_actions.tsx @@ -14,22 +14,24 @@ import { showSaveModal, } from '../../../../saved_objects/public'; import { DashboardAppStateContainer, DashboardServices, NavAction } from '../../types'; -import { DashboardSaveModal } from '../top_nav/save_modal'; -import { TopNavIds } from '../top_nav/top_nav_ids'; +import { + DashboardSaveModal, + TopNavIds, + showCloneModal, + showOptionsPopover, + UrlParams, +} from '../components/dashboard_top_nav'; import { EmbeddableFactoryNotFoundError, EmbeddableInput, ViewMode, isErrorEmbeddable, openAddPanelFlyout, -} from '../../embeddable_plugin'; -import { showCloneModal } from '../top_nav/show_clone_modal'; -import { showOptionsPopover } from '../top_nav/show_options_popover'; -import { saveDashboard } from '../lib'; +} from '../../../../embeddable/public'; +import { saveDashboard } from '../utils'; import { DashboardContainer } from '../embeddable/dashboard_container'; import { DashboardConstants, createDashboardEditUrl } from '../../dashboard_constants'; import { unhashUrl } from '../../../../opensearch_dashboards_utils/public'; -import { UrlParams } from '../components/dashboard_top_nav'; import { Dashboard } from '../../dashboard'; interface UrlParamsSelectedMap { diff --git a/src/plugins/dashboard/public/application/help_menu/help_menu_util.ts b/src/plugins/dashboard/public/application/utils/help_menu_util.ts similarity index 100% rename from src/plugins/dashboard/public/application/help_menu/help_menu_util.ts rename to src/plugins/dashboard/public/application/utils/help_menu_util.ts diff --git a/src/plugins/dashboard/public/application/utils/index.ts b/src/plugins/dashboard/public/application/utils/index.ts index 3f96a94264bb..c39da5a9e6be 100644 --- a/src/plugins/dashboard/public/application/utils/index.ts +++ b/src/plugins/dashboard/public/application/utils/index.ts @@ -8,3 +8,9 @@ export * from './get_nav_actions'; export * from './get_no_items_message'; export * from './get_table_columns'; export * from './use'; + +export { addHelpMenuToAppChrome } from './help_menu_util'; +export { saveDashboard } from './save_dashboard'; +export { getAppStateDefaults } from './get_app_state_defaults'; +export { migrateAppState } from './migrate_app_state'; +export { getDashboardIdFromUrl } from './url'; diff --git a/src/plugins/dashboard/public/application/lib/migrate_app_state.test.ts b/src/plugins/dashboard/public/application/utils/migrate_app_state.test.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/migrate_app_state.test.ts rename to src/plugins/dashboard/public/application/utils/migrate_app_state.test.ts diff --git a/src/plugins/dashboard/public/application/lib/migrate_app_state.ts b/src/plugins/dashboard/public/application/utils/migrate_app_state.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/migrate_app_state.ts rename to src/plugins/dashboard/public/application/utils/migrate_app_state.ts diff --git a/src/plugins/dashboard/public/application/lib/migrate_legacy_query.ts b/src/plugins/dashboard/public/application/utils/migrate_legacy_query.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/migrate_legacy_query.ts rename to src/plugins/dashboard/public/application/utils/migrate_legacy_query.ts diff --git a/src/plugins/dashboard/public/application/lib/save_dashboard.ts b/src/plugins/dashboard/public/application/utils/save_dashboard.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/save_dashboard.ts rename to src/plugins/dashboard/public/application/utils/save_dashboard.ts diff --git a/src/plugins/dashboard/public/application/utils/stubs.ts b/src/plugins/dashboard/public/application/utils/stubs.ts index c101f30f4f10..6ed04ea2b00d 100644 --- a/src/plugins/dashboard/public/application/utils/stubs.ts +++ b/src/plugins/dashboard/public/application/utils/stubs.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { ViewMode } from '../../embeddable_plugin'; +import { ViewMode } from '../../../../embeddable/public'; import { DashboardAppState } from '../../types'; export const dashboardAppStateStub: DashboardAppState = { diff --git a/src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts b/src/plugins/dashboard/public/application/utils/update_saved_dashboard.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/update_saved_dashboard.ts rename to src/plugins/dashboard/public/application/utils/update_saved_dashboard.ts diff --git a/src/plugins/dashboard/public/application/lib/url.test.ts b/src/plugins/dashboard/public/application/utils/url.test.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/url.test.ts rename to src/plugins/dashboard/public/application/utils/url.test.ts diff --git a/src/plugins/dashboard/public/application/lib/url.ts b/src/plugins/dashboard/public/application/utils/url.ts similarity index 100% rename from src/plugins/dashboard/public/application/lib/url.ts rename to src/plugins/dashboard/public/application/utils/url.ts diff --git a/src/plugins/dashboard/public/application/utils/use/use_dashboard_app_state.tsx b/src/plugins/dashboard/public/application/utils/use/use_dashboard_app_state.tsx index e8655a889e4b..84be8484023e 100644 --- a/src/plugins/dashboard/public/application/utils/use/use_dashboard_app_state.tsx +++ b/src/plugins/dashboard/public/application/utils/use/use_dashboard_app_state.tsx @@ -9,11 +9,11 @@ import { cloneDeep } from 'lodash'; import { map } from 'rxjs/operators'; import { Subscription, merge } from 'rxjs'; import { IndexPattern, connectToQueryState, opensearchFilters } from '../../../../../data/public'; -import { migrateLegacyQuery } from '../../lib/migrate_legacy_query'; +import { migrateLegacyQuery } from '../../utils/migrate_legacy_query'; import { DashboardServices } from '../../../types'; import { DashboardAppStateContainer } from '../../../types'; -import { migrateAppState, getAppStateDefaults } from '../../lib'; +import { migrateAppState, getAppStateDefaults } from '../../utils'; import { createDashboardGlobalAndAppState, updateStateUrl } from '../create_dashboard_app_state'; import { SavedObjectDashboard } from '../../../saved_dashboards'; import { diff --git a/src/plugins/dashboard/public/application/utils/use/use_editor_updates.test.ts b/src/plugins/dashboard/public/application/utils/use/use_editor_updates.test.ts index 35ef05c74452..0e19a01d9ce9 100644 --- a/src/plugins/dashboard/public/application/utils/use/use_editor_updates.test.ts +++ b/src/plugins/dashboard/public/application/utils/use/use_editor_updates.test.ts @@ -14,7 +14,7 @@ import { createDashboardServicesMock } from '../mocks'; import { Dashboard } from '../../../dashboard'; import { convertToSerializedDashboard } from '../../../saved_dashboards/_saved_dashboard'; import { setBreadcrumbsForExistingDashboard, setBreadcrumbsForNewDashboard } from '../breadcrumbs'; -import { ViewMode } from '../../../embeddable_plugin'; +import { ViewMode } from '../../../../../embeddable/public'; describe('useEditorUpdates', () => { const eventEmitter = new EventEmitter(); diff --git a/src/plugins/dashboard/public/attribute_service/attribute_service.tsx b/src/plugins/dashboard/public/attribute_service/attribute_service.tsx index 2588793fe7f7..2690ebc5e2e3 100644 --- a/src/plugins/dashboard/public/attribute_service/attribute_service.tsx +++ b/src/plugins/dashboard/public/attribute_service/attribute_service.tsx @@ -39,7 +39,7 @@ import { Container, EmbeddableStart, EmbeddableFactoryNotFoundError, -} from '../embeddable_plugin'; +} from '../../../embeddable/public'; import { I18nStart, NotificationsStart } from '../../../../core/public'; import { SavedObjectSaveModal, OnSaveProps, SaveResult } from '../../../saved_objects/public'; diff --git a/src/plugins/dashboard/public/embeddable_plugin.ts b/src/plugins/dashboard/public/embeddable_plugin.ts deleted file mode 100644 index 3ede8156ee81..000000000000 --- a/src/plugins/dashboard/public/embeddable_plugin.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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. - */ - -export * from '../../../plugins/embeddable/public'; diff --git a/src/plugins/dashboard/public/embeddable_plugin_test_samples.ts b/src/plugins/dashboard/public/embeddable_plugin_test_samples.ts deleted file mode 100644 index a3fc916e8308..000000000000 --- a/src/plugins/dashboard/public/embeddable_plugin_test_samples.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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. - */ - -export * from '../../../plugins/embeddable/public/lib/test_samples'; diff --git a/src/plugins/dashboard/public/types.ts b/src/plugins/dashboard/public/types.ts index c888eb87c599..d8eaada6d627 100644 --- a/src/plugins/dashboard/public/types.ts +++ b/src/plugins/dashboard/public/types.ts @@ -52,8 +52,8 @@ import { SharePluginStart } from 'src/plugins/share/public'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/public'; import { UrlForwardingStart } from 'src/plugins/url_forwarding/public'; import { History } from 'history'; +import { EmbeddableStart, ViewMode } from '../../embeddable/public'; import { NavigationPublicPluginStart as NavigationStart } from '../../navigation/public'; -import { EmbeddableStart, ViewMode } from './embeddable_plugin'; import { SavedDashboardPanel730ToLatest } from '../common'; export interface DashboardCapabilities { diff --git a/src/plugins/dashboard/public/ui_actions_plugin.ts b/src/plugins/dashboard/public/ui_actions_plugin.ts deleted file mode 100644 index 7e4578a641e5..000000000000 --- a/src/plugins/dashboard/public/ui_actions_plugin.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * - * The OpenSearch Contributors require contributions made to - * this file be licensed under the Apache-2.0 license or a - * compatible open source license. - * - * Any modifications Copyright OpenSearch Contributors. See - * GitHub history for details. - */ - -/* - * 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. - */ - -export * from '../../../plugins/ui_actions/public'; diff --git a/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts b/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts index 3045bd14c4c6..7bc05a787faa 100644 --- a/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts +++ b/src/plugins/home/server/services/sample_data/data_sets/logs/saved_objects.ts @@ -392,8 +392,8 @@ export const getSavedObjects = (): SavedObject[] => [ migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T21:21:31.489Z', - version: 'WzcwLDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzE0LDFd', }, { attributes: { @@ -407,8 +407,8 @@ export const getSavedObjects = (): SavedObject[] => [ migrationVersion: { 'index-pattern': '7.6.0' }, references: [], type: 'index-pattern', - updated_at: '2023-05-05T19:26:11.954Z', - version: 'WzQ5LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzE1LDFd', }, { attributes: { @@ -417,11 +417,11 @@ export const getSavedObjects = (): SavedObject[] => [ searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', }, - title: '[Line] Avg bytes over time', + title: '(Line) Avg bytes over time', uiStateJSON: '{}', version: 1, visState: - '{"title":"[Line] Avg bytes over time","type":"line","aggs":[{"id":"1","enabled":true,"type":"avg","params":{"field":"bytes"},"schema":"metric"},{"id":"2","enabled":true,"type":"date_histogram","params":{"field":"timestamp","timeRange":{"from":"now-7d","to":"now"},"useNormalizedOpenSearchInterval":true,"scaleMetricValues":false,"interval":"auto","drop_partials":false,"min_doc_count":1,"extended_bounds":{}},"schema":"segment"}],"params":{"type":"line","grid":{"categoryLines":false},"categoryAxes":[{"id":"CategoryAxis-1","type":"category","position":"bottom","show":true,"style":{},"scale":{"type":"linear"},"labels":{"show":true,"filter":true,"truncate":100},"title":{}}],"valueAxes":[{"id":"ValueAxis-1","name":"LeftAxis-1","type":"value","position":"left","show":true,"style":{},"scale":{"type":"linear","mode":"normal"},"labels":{"show":true,"rotate":0,"filter":false,"truncate":100},"title":{"text":"Average bytes"}}],"seriesParams":[{"show":true,"type":"line","mode":"normal","data":{"label":"Average bytes","id":"1"},"valueAxis":"ValueAxis-1","drawLinesBetweenPoints":true,"lineWidth":2,"interpolate":"linear","showCircles":true}],"addTooltip":true,"addLegend":true,"legendPosition":"right","times":[],"addTimeMarker":false,"labels":{},"thresholdLine":{"show":false,"value":10,"width":1,"style":"full","color":"#E7664C"}}}', + '{"title":"(Line) Avg bytes over time","type":"line","aggs":[{"id":"1","enabled":true,"type":"avg","params":{"field":"bytes"},"schema":"metric"},{"id":"2","enabled":true,"type":"date_histogram","params":{"field":"timestamp","timeRange":{"from":"now-7d","to":"now"},"useNormalizedOpenSearchInterval":true,"scaleMetricValues":false,"interval":"auto","drop_partials":false,"min_doc_count":1,"extended_bounds":{}},"schema":"segment"}],"params":{"type":"line","grid":{"categoryLines":false},"categoryAxes":[{"id":"CategoryAxis-1","type":"category","position":"bottom","show":true,"style":{},"scale":{"type":"linear"},"labels":{"show":true,"filter":true,"truncate":100},"title":{}}],"valueAxes":[{"id":"ValueAxis-1","name":"LeftAxis-1","type":"value","position":"left","show":true,"style":{},"scale":{"type":"linear","mode":"normal"},"labels":{"show":true,"rotate":0,"filter":false,"truncate":100},"title":{"text":"Average bytes"}}],"seriesParams":[{"show":true,"type":"line","mode":"normal","data":{"label":"Average bytes","id":"1"},"valueAxis":"ValueAxis-1","drawLinesBetweenPoints":true,"lineWidth":2,"interpolate":"linear","showCircles":true}],"addTooltip":true,"addLegend":true,"legendPosition":"right","times":[],"addTimeMarker":false,"labels":{},"thresholdLine":{"show":false,"value":10,"width":1,"style":"full","color":"#E7664C"}}}', }, id: '39b5bd70-eb7b-11ed-8e00-17d7d50cd7b2', migrationVersion: { visualization: '7.10.0' }, @@ -433,8 +433,8 @@ export const getSavedObjects = (): SavedObject[] => [ }, ], type: 'visualization', - updated_at: '2023-05-05T19:30:00.006Z', - version: 'WzUzLDFd', + updated_at: '2023-07-15T00:13:57.165Z', + version: 'Wzg0LDFd', }, { attributes: { @@ -458,8 +458,8 @@ export const getSavedObjects = (): SavedObject[] => [ }, ], type: 'visualization-visbuilder', - updated_at: '2023-05-05T19:31:12.186Z', - version: 'WzU0LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzE3LDFd', }, { attributes: { @@ -477,8 +477,8 @@ export const getSavedObjects = (): SavedObject[] => [ migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T20:58:04.256Z', - version: 'WzY0LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzE4LDFd', }, { attributes: { @@ -486,18 +486,18 @@ export const getSavedObjects = (): SavedObject[] => [ kibanaSavedObjectMeta: { searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', }, - title: '(Timeline) Avg bytes over time', + title: '(TSVB) Avg bytes over time', uiStateJSON: '{}', version: 1, visState: - '{"title":"(Timeline) Avg bytes over time","type":"timelion","aggs":[],"params":{"expression":".opensearch(opensearch_dashboards_sample_data_logs, metric=avg:bytes, timefield=@timestamp).lines(show=true).points(show=true).yaxis(label=\\"Average bytes\\")","interval":"auto"}}', + '{"title":"(TSVB) Avg bytes over time","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"timeseries","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"everything","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"avg","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":1,"fill":"","stacked":"none","label":"","type":"timeseries"}],"time_field":"timestamp","index_pattern":"opensearch_dashboards_sample_data_logs","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_ecommerce","default_timefield":"order_date","isModelInvalid":false,"drop_last_bucket":0}}', }, - id: '2c5a19f0-eb8a-11ed-8e00-17d7d50cd7b2', + id: 'fa54ce40-eb7b-11ed-8e00-17d7d50cd7b2', migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T21:17:17.270Z', - version: 'WzY5LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzIwLDFd', }, { attributes: { @@ -505,18 +505,18 @@ export const getSavedObjects = (): SavedObject[] => [ kibanaSavedObjectMeta: { searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', }, - title: '(TSVB) Avg bytes over time', + title: '(Timeline) Avg bytes over time', uiStateJSON: '{}', version: 1, visState: - '{"title":"(TSVB) Avg bytes over time","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"timeseries","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#68BC00","split_mode":"everything","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"avg","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":1,"fill":"","stacked":"none","label":"","type":"timeseries"}],"time_field":"timestamp","index_pattern":"opensearch_dashboards_sample_data_logs","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_ecommerce","default_timefield":"order_date","isModelInvalid":false,"drop_last_bucket":0}}', + '{"title":"(Timeline) Avg bytes over time","type":"timelion","aggs":[],"params":{"expression":".opensearch(opensearch_dashboards_sample_data_logs, metric=avg:bytes, timefield=@timestamp).lines(show=true).points(show=true).yaxis(label=\\"Average bytes\\")","interval":"auto"}}', }, - id: 'fa54ce40-eb7b-11ed-8e00-17d7d50cd7b2', + id: '2c5a19f0-eb8a-11ed-8e00-17d7d50cd7b2', migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T20:59:28.183Z', - version: 'WzY1LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzE5LDFd', }, { attributes: { @@ -534,8 +534,8 @@ export const getSavedObjects = (): SavedObject[] => [ migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T21:58:11.644Z', - version: 'Wzc2LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzIxLDFd', }, { attributes: { @@ -560,8 +560,8 @@ export const getSavedObjects = (): SavedObject[] => [ }, ], type: 'visualization', - updated_at: '2023-05-05T21:57:21.517Z', - version: 'Wzc0LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzIyLDFd', }, { attributes: { @@ -585,8 +585,8 @@ export const getSavedObjects = (): SavedObject[] => [ }, ], type: 'visualization-visbuilder', - updated_at: '2023-05-05T22:03:19.608Z', - version: 'Wzc5LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzIzLDFd', }, { attributes: { @@ -604,8 +604,8 @@ export const getSavedObjects = (): SavedObject[] => [ migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T22:42:57.659Z', - version: 'Wzg1LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzI0LDFd', }, { attributes: { @@ -613,18 +613,18 @@ export const getSavedObjects = (): SavedObject[] => [ kibanaSavedObjectMeta: { searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', }, - title: '(Timeline) Stacked extensions over time', + title: '(TSVB) Stacked extensions over time', uiStateJSON: '{}', version: 1, visState: - '{"title":"(Timeline) Stacked extensions over time","type":"timelion","aggs":[],"params":{"expression":".opensearch(opensearch_dashboards_sample_data_logs, split=extension.keyword:10, timefield=@timestamp).lines(show=true,stack=true,fill=10).yaxis(label=\\"Count\\")","interval":"auto"}}', + '{"title":"(TSVB) Stacked extensions over time","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"timeseries","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"terms","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"count","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":"0","fill":"1","stacked":"stacked","label":"","type":"timeseries","terms_field":"extension.keyword"}],"time_field":"timestamp","index_pattern":"opensearch_dashboards_sample_data_logs","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_ecommerce","default_timefield":"order_date","isModelInvalid":false,"drop_last_bucket":0}}', }, - id: '34a5bee0-eb97-11ed-8e00-17d7d50cd7b2', + id: '689b7140-eb97-11ed-8e00-17d7d50cd7b2', migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T22:50:17.422Z', - version: 'Wzg4LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzI2LDFd', }, { attributes: { @@ -632,18 +632,18 @@ export const getSavedObjects = (): SavedObject[] => [ kibanaSavedObjectMeta: { searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', }, - title: '(TSVB) Stacked extensions over time', + title: '(Timeline) Stacked extensions over time', uiStateJSON: '{}', version: 1, visState: - '{"title":"(TSVB) Stacked extensions over time","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"timeseries","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#68BC00","split_mode":"terms","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"count","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":"0","fill":"1","stacked":"stacked","label":"","type":"timeseries","terms_field":"extension.keyword"}],"time_field":"timestamp","index_pattern":"opensearch_dashboards_sample_data_logs","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_ecommerce","default_timefield":"order_date","isModelInvalid":false,"drop_last_bucket":0}}', + '{"title":"(Timeline) Stacked extensions over time","type":"timelion","aggs":[],"params":{"expression":".opensearch(opensearch_dashboards_sample_data_logs, split=extension.keyword:10, timefield=@timestamp).lines(show=true,stack=true,fill=10).yaxis(label=\\"Count\\")","interval":"auto"}}', }, - id: '689b7140-eb97-11ed-8e00-17d7d50cd7b2', + id: '34a5bee0-eb97-11ed-8e00-17d7d50cd7b2', migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T22:54:45.899Z', - version: 'WzkxLDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzI1LDFd', }, { attributes: { @@ -651,18 +651,18 @@ export const getSavedObjects = (): SavedObject[] => [ kibanaSavedObjectMeta: { searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', }, - title: 'Bar Charts Header', + title: 'Bar Charts (Vertical) Header', uiStateJSON: '{}', version: 1, visState: - '{"title":"Bar Charts Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Bar Charts"}}', + '{"title":"Bar Charts (Vertical) Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Bar Charts (Vertical)"}}', }, id: '5e34ac20-eb98-11ed-8e00-17d7d50cd7b2', migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T22:58:36.642Z', - version: 'Wzk1LDFd', + updated_at: '2023-07-14T19:24:52.819Z', + version: 'WzQ1LDFd', }, { attributes: { @@ -687,8 +687,8 @@ export const getSavedObjects = (): SavedObject[] => [ }, ], type: 'visualization', - updated_at: '2023-05-05T23:05:00.362Z', - version: 'Wzk3LDFd', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzI4LDFd', }, { attributes: { @@ -713,8 +713,8 @@ export const getSavedObjects = (): SavedObject[] => [ }, ], type: 'visualization-visbuilder', - updated_at: '2023-05-05T23:06:40.304Z', - version: 'WzEwMCwxXQ==', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzI5LDFd', }, { attributes: { @@ -732,8 +732,27 @@ export const getSavedObjects = (): SavedObject[] => [ migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T23:18:23.779Z', - version: 'WzEwNSwxXQ==', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzMwLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(TSVB) Stacked responses over time', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(TSVB) Stacked responses over time","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"timeseries","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"terms","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"count","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"bar","line_width":1,"point_size":"0","fill":"1","stacked":"stacked","label":"","type":"timeseries","terms_field":"response.keyword"}],"time_field":"timestamp","index_pattern":"opensearch_dashboards_sample_data_logs","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_ecommerce","default_timefield":"order_date","isModelInvalid":false,"drop_last_bucket":0}}', + }, + id: '9482ed20-eb9b-11ed-8e00-17d7d50cd7b2', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzMyLDFd', }, { attributes: { @@ -751,8 +770,8 @@ export const getSavedObjects = (): SavedObject[] => [ migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T23:20:40.029Z', - version: 'WzEwNywxXQ==', + updated_at: '2023-07-14T17:48:07.229Z', + version: 'WzMxLDFd', }, { attributes: { @@ -760,18 +779,543 @@ export const getSavedObjects = (): SavedObject[] => [ kibanaSavedObjectMeta: { searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', }, - title: '(TSVB) Stacked responses over time', + title: 'Bar Charts (Horizontal) Header', uiStateJSON: '{}', version: 1, visState: - '{"title":"(TSVB) Stacked responses over time","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"timeseries","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#68BC00","split_mode":"terms","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"count","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"bar","line_width":1,"point_size":"0","fill":"1","stacked":"stacked","label":"","type":"timeseries","terms_field":"response.keyword"}],"time_field":"timestamp","index_pattern":"opensearch_dashboards_sample_data_logs","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_ecommerce","default_timefield":"order_date","isModelInvalid":false,"drop_last_bucket":0}}', + '{"title":"Bar Charts (Horizontal) Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Bar Charts (Horizontal)"}}', }, - id: '9482ed20-eb9b-11ed-8e00-17d7d50cd7b2', + id: 'fd3b0750-227b-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T19:25:40.116Z', + version: 'WzQ2LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + title: '(Horizontal Bar) Top destination count', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(Horizontal Bar) Top destination count","type":"horizontal_bar","aggs":[{"id":"1","enabled":true,"type":"count","params":{},"schema":"metric"},{"id":"2","enabled":true,"type":"terms","params":{"field":"geo.dest","orderBy":"1","order":"desc","size":5,"otherBucket":false,"otherBucketLabel":"Other","missingBucket":false,"missingBucketLabel":"Missing"},"schema":"segment"}],"params":{"type":"histogram","grid":{"categoryLines":false},"categoryAxes":[{"id":"CategoryAxis-1","type":"category","position":"left","show":true,"style":{},"scale":{"type":"linear"},"labels":{"show":true,"rotate":0,"filter":false,"truncate":200},"title":{}}],"valueAxes":[{"id":"ValueAxis-1","name":"LeftAxis-1","type":"value","position":"bottom","show":true,"style":{},"scale":{"type":"linear","mode":"normal"},"labels":{"show":true,"rotate":75,"filter":true,"truncate":100},"title":{"text":"Count"}}],"seriesParams":[{"show":true,"type":"histogram","mode":"normal","data":{"label":"Count","id":"1"},"valueAxis":"ValueAxis-1","drawLinesBetweenPoints":true,"lineWidth":2,"showCircles":true}],"addTooltip":true,"addLegend":true,"legendPosition":"right","times":[],"addTimeMarker":false,"labels":{},"thresholdLine":{"show":false,"value":10,"width":1,"style":"full","color":"#E7664C"}}}', + }, + id: '08741f50-2275-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization', + updated_at: '2023-07-14T18:38:22.207Z', + version: 'WzM5LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + styleState: + '{"addTooltip":true,"addLegend":true,"legendPosition":"right","type":"histogram"}', + title: '(VisBuilder) Top destination count', + uiState: '{}', + version: 3, + visualizationState: + '{"searchField":"","activeVisualization":{"name":"histogram","aggConfigParams":[{"id":"1","enabled":true,"type":"count","params":{},"schema":"metric"},{"id":"2","enabled":true,"type":"terms","params":{"field":"geo.dest","order":"desc","size":5,"otherBucket":false,"otherBucketLabel":"Other","missingBucket":false,"missingBucketLabel":"Missing"},"schema":"segment"}]}}', + }, + id: 'ca3ae740-2275-11ee-b88b-47a93b5c527c', + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization-visbuilder', + updated_at: '2023-07-14T18:39:39.444Z', + version: 'WzQxLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(Vega) Top destination count', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(Vega) Top destination count","type":"vega","aggs":[],"params":{"spec":"{\\n $schema: https://vega.github.io/schema/vega-lite/v5.json\\n data: {\\n url: {\\n %context%: true\\n %timefield%: @timestamp\\n index: opensearch_dashboards_sample_data_logs\\n body: {\\n aggs: {\\n 1: {\\n terms: {\\n field: geo.dest\\n order: {\\n _count: desc\\n }\\n size: 5\\n }\\n }\\n }\\n }\\n }\\n format: {\\n property: aggregations.1.buckets\\n }\\n }\\n transform: [\\n {\\n calculate: datum.key\\n as: dest\\n }\\n {\\n calculate: datum.doc_count\\n as: count\\n }\\n ]\\n layer: [\\n {\\n mark: {\\n type: bar\\n tooltip: true\\n width: { band: 1 }\\n }\\n }\\n ]\\n encoding: {\\n x: {\\n field: count\\n type: quantitative\\n axis: {\\n title: Count\\n }\\n }\\n y: {\\n field: dest\\n type: nominal\\n axis: {\\n title: Dest\\n }\\n sort: -x\\n }\\n }\\n}"}}', + }, + id: 'f0d162c0-227b-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T19:23:41.163Z', + version: 'WzQyLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(TSVB) Top destinations count', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(TSVB) Top destinations count","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"top_n","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"terms","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"count"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none","terms_size":"5","terms_field":"geo.dest"}],"time_field":"","index_pattern":"","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_logs","default_timefield":"timestamp","isModelInvalid":false,"bar_color_rules":[{"id":"51d02a70-227c-11ee-89b9-a9479e055b94"}],"time_range_mode":"entire_time_range"}}', + }, + id: '80e9a930-227c-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T19:27:42.915Z', + version: 'WzQ3LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: 'Heatmaps Header', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"Heatmaps Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Heatmaps"}}', + }, + id: '1507e780-227d-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T19:50:36.007Z', + version: 'WzU2LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + title: '(Heatmap) Source vs OS', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(Heatmap) Source vs OS","type":"heatmap","aggs":[{"id":"1","enabled":true,"type":"sum","params":{"field":"memory"},"schema":"metric"},{"id":"3","enabled":true,"type":"terms","params":{"field":"geo.src","orderBy":"1","order":"desc","size":5,"otherBucket":false,"otherBucketLabel":"Other","missingBucket":false,"missingBucketLabel":"Missing"},"schema":"group"},{"id":"2","enabled":true,"type":"terms","params":{"field":"machine.os.keyword","orderBy":"1","order":"desc","size":5,"otherBucket":false,"otherBucketLabel":"Other","missingBucket":false,"missingBucketLabel":"Missing"},"schema":"segment"}],"params":{"type":"heatmap","addTooltip":true,"addLegend":true,"enableHover":false,"legendPosition":"right","times":[],"colorsNumber":4,"colorSchema":"Greens","setColorRange":false,"colorsRange":[],"invertColors":false,"percentageMode":false,"valueAxes":[{"show":false,"id":"ValueAxis-1","type":"value","scale":{"type":"linear","defaultYExtents":false},"labels":{"show":false,"rotate":0,"overwriteColor":false,"color":"black"}}]}}', + }, + id: '3d034700-227f-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization', + updated_at: '2023-07-14T19:47:17.488Z', + version: 'WzUyLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: 'Tables Header', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"Tables Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Tables"}}', + }, + id: '6aed7840-22a5-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-15T00:21:00.849Z', + version: 'Wzg5LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + title: '(Table) Bytes by request stats summary', + uiStateJSON: '{"vis":{"sortColumn":{"colIndex":0,"direction":"asc"}}}', + version: 1, + visState: + '{"title":"(Table) Bytes by request stats summary","type":"table","aggs":[{"id":"1","enabled":true,"type":"count","params":{},"schema":"metric"},{"id":"3","enabled":true,"type":"median","params":{"field":"bytes","percents":[50]},"schema":"metric"},{"id":"2","enabled":true,"type":"min","params":{"field":"bytes"},"schema":"metric"},{"id":"4","enabled":true,"type":"max","params":{"field":"bytes"},"schema":"metric"},{"id":"5","enabled":true,"type":"terms","params":{"field":"request.keyword","orderBy":"1","order":"desc","size":20,"otherBucket":false,"otherBucketLabel":"Other","missingBucket":false,"missingBucketLabel":"Missing"},"schema":"bucket"}],"params":{"perPage":10,"showPartialRows":false,"showMetricsAtAllLevels":false,"showTotal":false,"totalFunc":"sum","percentageCol":""}}', + }, + id: 'f8df8de0-22a6-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization', + updated_at: '2023-07-15T00:31:43.038Z', + version: 'WzkxLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + styleState: '{"perPage":10,"showPartialRows":false,"showMetricsAtAllLevels":false}', + title: '(VisBuilder) Bytes by request stats summary', + uiState: '{}', + version: 3, + visualizationState: + '{"searchField":"","activeVisualization":{"name":"table","aggConfigParams":[{"id":"1","enabled":true,"type":"count","params":{},"schema":"metric"},{"id":"2","enabled":true,"type":"median","params":{"field":"bytes","percents":[50]},"schema":"metric"},{"id":"3","enabled":true,"type":"terms","params":{"field":"request.keyword","orderBy":"1","order":"desc","size":20,"otherBucket":false,"otherBucketLabel":"Other","missingBucket":false,"missingBucketLabel":"Missing"},"schema":"bucket"},{"id":"4","enabled":true,"type":"min","params":{"field":"bytes"},"schema":"metric"},{"id":"5","enabled":true,"type":"max","params":{"field":"bytes"},"schema":"metric"}]}}', + }, + id: 'a7d21570-22a7-11ee-b88b-47a93b5c527c', + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization-visbuilder', + updated_at: '2023-07-15T00:36:36.551Z', + version: 'WzkzLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(TSVB) Bytes by request stats summary', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(TSVB) Bytes by request stats summary","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"table","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"everything","split_color_mode":"opensearchDashboards","metrics":[{"id":"c75df350-22a7-11ee-8c33-437692f62ad1","type":"count"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none"},{"id":"c9296480-22a7-11ee-8c33-437692f62ad1","color":"#68BC00","split_mode":"everything","metrics":[{"id":"c9296481-22a7-11ee-8c33-437692f62ad1","type":"avg","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"bytes","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none","color_rules":[{"id":"ed1dcca0-22a7-11ee-8c33-437692f62ad1"}]},{"id":"caa3cf80-22a7-11ee-8c33-437692f62ad1","color":"#68BC00","split_mode":"everything","metrics":[{"id":"caa3cf81-22a7-11ee-8c33-437692f62ad1","type":"min","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"bytes","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none","color_rules":[{"id":"eab16080-22a7-11ee-8c33-437692f62ad1"}]},{"id":"cc20d290-22a7-11ee-8c33-437692f62ad1","color":"#68BC00","split_mode":"everything","metrics":[{"id":"cc20d291-22a7-11ee-8c33-437692f62ad1","type":"max","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"bytes","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none","color_rules":[{"id":"e6051680-22a7-11ee-8c33-437692f62ad1"}]}],"time_field":"","index_pattern":"","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_logs","default_timefield":"timestamp","isModelInvalid":false,"bar_color_rules":[{"id":"bdf75590-22a7-11ee-8c33-437692f62ad1"}],"pivot_id":"request.keyword","pivot_type":"string","pivot_rows":"20","time_range_mode":"entire_time_range"}}', + }, + id: '009fd930-22a8-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-15T00:39:05.539Z', + version: 'Wzk1LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: 'Metrics Header', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"Metrics Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Metrics"}}', + }, + id: 'b24e65c0-22a3-11ee-b88b-47a93b5c527c', migrationVersion: { visualization: '7.10.0' }, references: [], type: 'visualization', - updated_at: '2023-05-05T23:22:28.080Z', - version: 'WzEwOSwxXQ==', + updated_at: '2023-07-15T00:09:04.654Z', + version: 'WzgxLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + title: '(Metric) Unique visitors', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(Metric) Unique visitors","type":"metric","aggs":[{"id":"1","enabled":true,"type":"cardinality","params":{"field":"clientip"},"schema":"metric"}],"params":{"addTooltip":true,"addLegend":false,"type":"metric","metric":{"percentageMode":false,"useRanges":false,"colorSchema":"Green to Red","metricColorMode":"None","colorsRange":[{"from":0,"to":10000}],"labels":{"show":true},"invertColors":false,"style":{"bgFill":"#000","bgColor":false,"labelColor":false,"subText":"","fontSize":60}}}}', + }, + id: '104396f0-22a4-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization', + updated_at: '2023-07-15T00:10:53.791Z', + version: 'WzgyLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + styleState: + '{"addTooltip":true,"addLegend":false,"type":"metric","metric":{"percentageMode":false,"useRanges":false,"colorSchema":"Green to Red","metricColorMode":"None","colorsRange":[{"from":0,"to":10000}],"labels":{"show":true},"invertColors":false,"style":{"bgFill":"#000","bgColor":false,"labelColor":false,"subText":"","fontSize":60}}}', + title: '(VisBuilder) Unique visitors', + uiState: '{}', + version: 3, + visualizationState: + '{"searchField":"","activeVisualization":{"name":"metric","aggConfigParams":[{"id":"1","enabled":true,"type":"cardinality","params":{"field":"clientip"},"schema":"metric"}]}}', + }, + id: '42ddb0f0-22a4-11ee-b88b-47a93b5c527c', + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization-visbuilder', + updated_at: '2023-07-15T00:12:18.687Z', + version: 'WzgzLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(TSVB) Unique visitors', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(TSVB) Unique visitors","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"metric","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"everything","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"cardinality","field":"clientip"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none","label":""}],"time_field":"","index_pattern":"","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_logs","default_timefield":"timestamp","isModelInvalid":false,"background_color_rules":[{"id":"470e09a0-22a3-11ee-9154-c7376b9c3c25"}],"bar_color_rules":[{"id":"4819fb60-22a3-11ee-9154-c7376b9c3c25"}],"time_range_mode":"entire_time_range"}}', + }, + id: '9a5e50b0-22a3-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-15T00:15:08.469Z', + version: 'Wzg1LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: 'Radial Charts Header', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"Radial Charts Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Radial Charts"}}', + }, + id: '6154a6c0-2280-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T19:55:27.916Z', + version: 'WzYwLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + title: '(Gauge) Average bytes by extension', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(Gauge) Average bytes by extension","type":"gauge","aggs":[{"id":"1","enabled":true,"type":"avg","params":{"field":"bytes"},"schema":"metric"},{"id":"2","enabled":true,"type":"terms","params":{"field":"extension.keyword","orderBy":"1","order":"desc","size":5,"otherBucket":false,"otherBucketLabel":"Other","missingBucket":false,"missingBucketLabel":"Missing"},"schema":"group"}],"params":{"type":"gauge","addTooltip":true,"addLegend":true,"isDisplayWarning":false,"gauge":{"alignment":"automatic","extendRange":true,"percentageMode":false,"gaugeType":"Arc","gaugeStyle":"Full","backStyle":"Full","orientation":"vertical","colorSchema":"Green to Red","gaugeColorMode":"Labels","colorsRange":[{"from":0,"to":6000},{"from":6000,"to":6500},{"from":6500,"to":7000}],"invertColors":false,"labels":{"show":true,"color":"black"},"scale":{"show":true,"labels":false,"color":"rgba(105,112,125,0.2)"},"type":"meter","style":{"bgWidth":0.9,"width":0.9,"mask":false,"bgMask":false,"maskBars":50,"bgFill":"rgba(105,112,125,0.2)","bgColor":true,"subText":"","fontSize":60}}}}', + }, + id: 'f772de50-2281-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization', + updated_at: '2023-07-14T20:06:49.269Z', + version: 'WzYyLDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(TSVB) Average bytes by extension', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(TSVB) Average bytes by extension","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"gauge","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"terms","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"avg","field":"bytes"}],"separate_axis":0,"axis_position":"right","formatter":"bytes","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none","label":"","var_name":"","terms_order_by":"61ca57f2-469d-11e7-af02-69e470af7417","terms_field":"extension.keyword","terms_size":"5"}],"time_field":"","index_pattern":"","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_logs","default_timefield":"timestamp","isModelInvalid":false,"markdown":"# Average bytes by extension\\n\\n{{#each _all}}\\n- {{ label }}\\n{{/each}}\\n\\nText that is not a quote\\n\\n> Text that is a quote\\n\\n## A second-level heading\\n\\nUse `git status` to list all new or modified files that haven\'t yet been committed.\\n\\nSome basic Git commands are:\\n```\\ngit status\\ngit add\\ngit commit\\n```\\n\\n### A third-level heading\\n\\nTest out the [OpenSearch Dashboards Playground](https://playground.opensearch.org).\\n\\nNavigate to [home](/).\\n\\n![Screenshot of sample data UI in OpenSearch Dashboards](https://opensearch.org/docs/latest/images/dashboards/add-sample-data.png)\\n\\n- list item\\n- list item\\n- list item\\n\\n1. list item\\n2. list item\\n3. list item{{# count.data.formatted }}{{/ count.data.formatted }}{{ count.label }}","time_range_mode":"entire_time_range","bar_color_rules":[{"id":"459b7790-2287-11ee-9154-c7376b9c3c25"}],"gauge_color_rules":[{"value":0,"id":"489a1190-2287-11ee-9154-c7376b9c3c25","gauge":"rgba(1,125,115,1)","operator":"gt"},{"value":6000,"id":"adbd7cb0-2287-11ee-9154-c7376b9c3c25","gauge":"rgba(245,167,0,1)","operator":"gt"},{"value":6500,"id":"b1022060-2287-11ee-9154-c7376b9c3c25","gauge":"rgba(189,39,30,1)","operator":"gt"}],"gauge_width":10,"gauge_inner_width":10,"gauge_style":"half","gauge_max":"7000","filter":{"query":"","language":"kuery"},"gauge_inner_color":null}}', + }, + id: '4ec31b10-2288-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T21:53:32.289Z', + version: 'Wzc1LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + title: '(Goal) Average machine RAM', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(Goal) Average machine RAM","type":"goal","aggs":[{"id":"1","enabled":true,"type":"avg","params":{"field":"machine.ram"},"schema":"metric"}],"params":{"addTooltip":true,"addLegend":false,"isDisplayWarning":false,"type":"gauge","gauge":{"verticalSplit":false,"autoExtend":false,"percentageMode":true,"gaugeType":"Arc","gaugeStyle":"Full","backStyle":"Full","orientation":"vertical","useRanges":false,"colorSchema":"Green to Red","gaugeColorMode":"None","colorsRange":[{"from":0,"to":10000000000},{"from":10000000000,"to":20000000000}],"invertColors":false,"labels":{"show":true,"color":"black"},"scale":{"show":false,"labels":false,"color":"rgba(105,112,125,0.2)","width":2},"type":"meter","style":{"bgFill":"rgba(105,112,125,0.2)","bgColor":false,"labelColor":false,"subText":"","fontSize":60}}}}', + }, + id: '9b0ae760-2282-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization', + updated_at: '2023-07-14T20:11:23.734Z', + version: 'WzY0LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(TSVB) Average machine RAM', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(TSVB) Average machine RAM","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"gauge","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"everything","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"avg","field":"machine.ram"},{"id":"333bb4d0-2290-11ee-9154-c7376b9c3c25","type":"math","variables":[{"id":"3643ebc0-2290-11ee-9154-c7376b9c3c25","name":"ram","field":"61ca57f2-469d-11e7-af02-69e470af7417"}],"script":"params.ram/20000000000"}],"separate_axis":0,"axis_position":"right","formatter":"percent","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none","label":"Average RAM","value_template":"","filter":{"query":"","language":"kuery"}}],"time_field":"","index_pattern":"","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_logs","default_timefield":"timestamp","isModelInvalid":false,"gauge_color_rules":[{"value":0,"id":"e17166f0-228e-11ee-9154-c7376b9c3c25","gauge":"rgba(189,39,30,1)","operator":"gt"}],"gauge_width":10,"gauge_inner_width":10,"gauge_style":"half","time_range_mode":"entire_time_range","gauge_max":"1","filter":{"query":"","language":"kuery"}}}', + }, + id: '19717e00-228f-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T21:51:23.142Z', + version: 'Wzc0LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: 'Maps Header', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"Maps Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Maps"}}', + }, + id: '93cc8830-227f-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T19:50:16.928Z', + version: 'WzU1LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: + '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', + }, + title: '(Coordinate Map) Geohash coordinates', + uiStateJSON: '{"mapZoom":3,"mapCenter":[35.0659731379842,-107.80640422373408]}', + version: 1, + visState: + '{"title":"(Coordinate Map) Geohash coordinates","type":"tile_map","aggs":[{"id":"1","enabled":true,"type":"count","params":{},"schema":"metric"},{"id":"2","enabled":true,"type":"geohash_grid","params":{"field":"geo.coordinates","autoPrecision":true,"precision":2,"useGeocentroid":true,"isFilteredByCollar":true},"schema":"segment"}],"params":{"colorSchema":"Yellow to Red","mapType":"Scaled Circle Markers","isDesaturated":true,"addTooltip":true,"heatClusterSize":1.5,"legendPosition":"bottomright","mapZoom":2,"mapCenter":[0,0],"wms":{"enabled":false,"url":"","options":{"version":"","layers":"","format":"image/png","transparent":true,"attribution":"","styles":""},"selectedTmsLayer":{"origin":"elastic_maps_service","id":"road_map","minZoom":0,"maxZoom":14,"attribution":"Map data © OpenStreetMap contributors"}}}}', + }, + id: 'fe07f770-227f-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [ + { + id: '90943e30-9a47-11e8-b64d-95841ca0b247', + name: 'kibanaSavedObjectMeta.searchSourceJSON.index', + type: 'index-pattern', + }, + ], + type: 'visualization', + updated_at: '2023-07-14T19:52:41.319Z', + version: 'WzU3LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: 'Text Header', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"Text Header","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# Text"}}', + }, + id: '45146a10-2283-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T20:16:39.335Z', + version: 'WzY3LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(Markdown) Sample static markdown', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(Markdown) Sample static markdown","type":"markdown","aggs":[],"params":{"fontSize":12,"openLinksInNewTab":false,"markdown":"# A first-level heading\\n\\n- **This is bold text**\\n- _This text is italicized_\\n- ~~This was mistaken text~~\\n- **This text is _extremely_ important**\\n- ***All this text is important***\\n\\nText that is not a quote\\n\\n> Text that is a quote\\n\\n## A second-level heading\\n\\nUse `git status` to list all new or modified files that haven\'t yet been committed.\\n\\nSome basic Git commands are:\\n```\\ngit status\\ngit add\\ngit commit\\n```\\n\\n### A third-level heading\\n\\nTest out the [OpenSearch Dashboards Playground](https://playground.opensearch.org).\\n\\nNavigate to [home](/).\\n\\n![Screenshot of sample data UI in OpenSearch Dashboards](https://opensearch.org/docs/latest/images/dashboards/add-sample-data.png)\\n\\n- list item\\n- list item\\n- list item\\n\\n1. list item\\n2. list item\\n3. list item"}}', + }, + id: '23250ed0-2285-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T20:29:31.069Z', + version: 'WzY4LDFd', + }, + { + attributes: { + description: '', + kibanaSavedObjectMeta: { + searchSourceJSON: '{"query":{"query":"","language":"kuery"},"filter":[]}', + }, + title: '(TSVB) Sample static markdown', + uiStateJSON: '{}', + version: 1, + visState: + '{"title":"(TSVB) Sample static markdown","type":"metrics","aggs":[],"params":{"id":"61ca57f0-469d-11e7-af02-69e470af7417","type":"markdown","series":[{"id":"61ca57f1-469d-11e7-af02-69e470af7417","color":"#54B399","split_mode":"everything","split_color_mode":"opensearchDashboards","metrics":[{"id":"61ca57f2-469d-11e7-af02-69e470af7417","type":"count"}],"separate_axis":0,"axis_position":"right","formatter":"number","chart_type":"line","line_width":1,"point_size":1,"fill":0.5,"stacked":"none"}],"time_field":"","index_pattern":"","interval":"","axis_position":"left","axis_formatter":"number","axis_scale":"normal","show_legend":1,"show_grid":1,"tooltip_mode":"show_all","default_index_pattern":"opensearch_dashboards_sample_data_logs","default_timefield":"timestamp","isModelInvalid":false,"markdown":"# A first-level heading\\n\\n- **This is bold text**\\n- _This text is italicized_\\n- ~~This was mistaken text~~\\n- **This text is _extremely_ important**\\n- ***All this text is important***\\n\\nText that is not a quote\\n\\n> Text that is a quote\\n\\n## A second-level heading\\n\\nUse `git status` to list all new or modified files that haven\'t yet been committed.\\n\\nSome basic Git commands are:\\n```\\ngit status\\ngit add\\ngit commit\\n```\\n\\n### A third-level heading\\n\\nTest out the [OpenSearch Dashboards Playground](https://playground.opensearch.org).\\n\\nNavigate to [home](/).\\n\\n![Screenshot of sample data UI in OpenSearch Dashboards](https://opensearch.org/docs/latest/images/dashboards/add-sample-data.png)\\n\\n- list item\\n- list item\\n- list item\\n\\n1. list item\\n2. list item\\n3. list item"}}', + }, + id: '4c6a47e0-2291-11ee-b88b-47a93b5c527c', + migrationVersion: { visualization: '7.10.0' }, + references: [], + type: 'visualization', + updated_at: '2023-07-14T21:56:34.270Z', + version: 'Wzc3LDFd', }, { attributes: { @@ -782,8 +1326,11 @@ export const getSavedObjects = (): SavedObject[] => [ }, optionsJSON: '{"hidePanelTitles":false,"useMargins":true}', panelsJSON: - '[{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"debc95ec-7d43-49ee-84c8-95ad7b0b03ea","w":48,"x":0,"y":0},"panelIndex":"debc95ec-7d43-49ee-84c8-95ad7b0b03ea","version":"3.0.0","panelRefName":"panel_0"},{"embeddableConfig":{},"gridData":{"h":16,"i":"0c23bab6-f9a2-4bb6-b9d7-918b0879f18f","w":16,"x":0,"y":5},"panelIndex":"0c23bab6-f9a2-4bb6-b9d7-918b0879f18f","version":"3.0.0","panelRefName":"panel_1"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"5eb89f9b-4086-4508-b469-dc8a85aa9a1f","w":16,"x":16,"y":5},"panelIndex":"5eb89f9b-4086-4508-b469-dc8a85aa9a1f","version":"3.0.0","panelRefName":"panel_2"},{"embeddableConfig":{},"gridData":{"h":16,"i":"8402a6cc-8219-412e-9232-50d0e5a91735","w":16,"x":32,"y":5},"panelIndex":"8402a6cc-8219-412e-9232-50d0e5a91735","version":"3.0.0","panelRefName":"panel_3"},{"embeddableConfig":{},"gridData":{"h":16,"i":"ea9035e7-1163-4662-a645-5aee8a3201ed","w":16,"x":0,"y":21},"panelIndex":"ea9035e7-1163-4662-a645-5aee8a3201ed","version":"3.0.0","panelRefName":"panel_4"},{"embeddableConfig":{},"gridData":{"h":16,"i":"1fb33b9c-7ea3-4113-84cc-4799d4398798","w":16,"x":16,"y":21},"panelIndex":"1fb33b9c-7ea3-4113-84cc-4799d4398798","version":"3.0.0","panelRefName":"panel_5"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"eba90567-b720-43dc-9065-9097282c668e","w":48,"x":0,"y":37},"panelIndex":"eba90567-b720-43dc-9065-9097282c668e","version":"3.0.0","panelRefName":"panel_6"},{"embeddableConfig":{"table":null,"vis":{"legendOpen":true}},"gridData":{"h":16,"i":"f816a6c6-8fdd-405c-826e-58d0958d5f33","w":16,"x":0,"y":42},"panelIndex":"f816a6c6-8fdd-405c-826e-58d0958d5f33","version":"3.0.0","panelRefName":"panel_7"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"f49be7f3-7913-4c24-b98a-cdd7e8e3f893","w":16,"x":16,"y":42},"panelIndex":"f49be7f3-7913-4c24-b98a-cdd7e8e3f893","version":"3.0.0","panelRefName":"panel_8"},{"embeddableConfig":{},"gridData":{"h":16,"i":"cc261ebe-d39a-46d0-8de4-d3602889f8f6","w":16,"x":32,"y":42},"panelIndex":"cc261ebe-d39a-46d0-8de4-d3602889f8f6","version":"3.0.0","panelRefName":"panel_9"},{"embeddableConfig":{},"gridData":{"h":16,"i":"f1e579ac-2aff-4449-87db-21f1643e379d","w":16,"x":0,"y":58},"panelIndex":"f1e579ac-2aff-4449-87db-21f1643e379d","version":"3.0.0","panelRefName":"panel_10"},{"embeddableConfig":{},"gridData":{"h":16,"i":"9b57f39e-7fe2-47d1-ae25-afbbe1179525","w":16,"x":16,"y":58},"panelIndex":"9b57f39e-7fe2-47d1-ae25-afbbe1179525","version":"3.0.0","panelRefName":"panel_11"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"06c8b217-3d11-431f-8591-b811046a6a16","w":48,"x":0,"y":74},"panelIndex":"06c8b217-3d11-431f-8591-b811046a6a16","version":"3.0.0","panelRefName":"panel_12"},{"embeddableConfig":{},"gridData":{"h":16,"i":"ab20d005-854e-4bf6-91ff-aedf5fc2712a","w":16,"x":0,"y":79},"panelIndex":"ab20d005-854e-4bf6-91ff-aedf5fc2712a","version":"3.0.0","panelRefName":"panel_13"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"0ab357d5-9918-442e-8a27-a6e3d61abb98","w":16,"x":16,"y":79},"panelIndex":"0ab357d5-9918-442e-8a27-a6e3d61abb98","version":"3.0.0","panelRefName":"panel_14"},{"embeddableConfig":{},"gridData":{"h":16,"i":"b60e8845-daf9-488a-9d7c-2e6c41d46ab4","w":16,"x":32,"y":79},"panelIndex":"b60e8845-daf9-488a-9d7c-2e6c41d46ab4","version":"3.0.0","panelRefName":"panel_15"},{"embeddableConfig":{},"gridData":{"h":16,"i":"ea71d48b-a9b1-4822-b997-b5da294c7012","w":16,"x":0,"y":95},"panelIndex":"ea71d48b-a9b1-4822-b997-b5da294c7012","version":"3.0.0","panelRefName":"panel_16"},{"embeddableConfig":{},"gridData":{"h":16,"i":"6617b4f6-3227-4264-b87d-53f70fba6d79","w":16,"x":16,"y":95},"panelIndex":"6617b4f6-3227-4264-b87d-53f70fba6d79","version":"3.0.0","panelRefName":"panel_17"}]', - timeRestore: false, + '[{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"debc95ec-7d43-49ee-84c8-95ad7b0b03ea","w":48,"x":0,"y":0},"panelIndex":"debc95ec-7d43-49ee-84c8-95ad7b0b03ea","version":"3.0.0","panelRefName":"panel_0"},{"embeddableConfig":{},"gridData":{"h":16,"i":"0c23bab6-f9a2-4bb6-b9d7-918b0879f18f","w":16,"x":0,"y":5},"panelIndex":"0c23bab6-f9a2-4bb6-b9d7-918b0879f18f","version":"3.0.0","panelRefName":"panel_1"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"5eb89f9b-4086-4508-b469-dc8a85aa9a1f","w":16,"x":16,"y":5},"panelIndex":"5eb89f9b-4086-4508-b469-dc8a85aa9a1f","version":"3.0.0","panelRefName":"panel_2"},{"embeddableConfig":{},"gridData":{"h":16,"i":"8402a6cc-8219-412e-9232-50d0e5a91735","w":16,"x":32,"y":5},"panelIndex":"8402a6cc-8219-412e-9232-50d0e5a91735","version":"3.0.0","panelRefName":"panel_3"},{"embeddableConfig":{},"gridData":{"h":16,"i":"1fb33b9c-7ea3-4113-84cc-4799d4398798","w":16,"x":0,"y":21},"panelIndex":"1fb33b9c-7ea3-4113-84cc-4799d4398798","version":"3.0.0","panelRefName":"panel_4"},{"embeddableConfig":{},"gridData":{"h":16,"i":"ea9035e7-1163-4662-a645-5aee8a3201ed","w":16,"x":16,"y":21},"panelIndex":"ea9035e7-1163-4662-a645-5aee8a3201ed","version":"3.0.0","panelRefName":"panel_5"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"eba90567-b720-43dc-9065-9097282c668e","w":48,"x":0,"y":37},"panelIndex":"eba90567-b720-43dc-9065-9097282c668e","version":"3.0.0","panelRefName":"panel_6"},{"embeddableConfig":{"table":null,"vis":{"legendOpen":true}},"gridData":{"h":16,"i":"f816a6c6-8fdd-405c-826e-58d0958d5f33","w":16,"x":0,"y":42},"panelIndex":"f816a6c6-8fdd-405c-826e-58d0958d5f33","version":"3.0.0","panelRefName":"panel_7"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"f49be7f3-7913-4c24-b98a-cdd7e8e3f893","w":16,"x":16,"y":42},"panelIndex":"f49be7f3-7913-4c24-b98a-cdd7e8e3f893","version":"3.0.0","panelRefName":"panel_8"},{"embeddableConfig":{},"gridData":{"h":16,"i":"cc261ebe-d39a-46d0-8de4-d3602889f8f6","w":16,"x":32,"y":42},"panelIndex":"cc261ebe-d39a-46d0-8de4-d3602889f8f6","version":"3.0.0","panelRefName":"panel_9"},{"embeddableConfig":{},"gridData":{"h":16,"i":"9b57f39e-7fe2-47d1-ae25-afbbe1179525","w":16,"x":0,"y":58},"panelIndex":"9b57f39e-7fe2-47d1-ae25-afbbe1179525","version":"3.0.0","panelRefName":"panel_10"},{"embeddableConfig":{},"gridData":{"h":16,"i":"f1e579ac-2aff-4449-87db-21f1643e379d","w":16,"x":16,"y":58},"panelIndex":"f1e579ac-2aff-4449-87db-21f1643e379d","version":"3.0.0","panelRefName":"panel_11"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"06c8b217-3d11-431f-8591-b811046a6a16","w":48,"x":0,"y":74},"panelIndex":"06c8b217-3d11-431f-8591-b811046a6a16","version":"3.0.0","panelRefName":"panel_12"},{"embeddableConfig":{},"gridData":{"h":16,"i":"ab20d005-854e-4bf6-91ff-aedf5fc2712a","w":16,"x":0,"y":79},"panelIndex":"ab20d005-854e-4bf6-91ff-aedf5fc2712a","version":"3.0.0","panelRefName":"panel_13"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"0ab357d5-9918-442e-8a27-a6e3d61abb98","w":16,"x":16,"y":79},"panelIndex":"0ab357d5-9918-442e-8a27-a6e3d61abb98","version":"3.0.0","panelRefName":"panel_14"},{"embeddableConfig":{},"gridData":{"h":16,"i":"b60e8845-daf9-488a-9d7c-2e6c41d46ab4","w":16,"x":32,"y":79},"panelIndex":"b60e8845-daf9-488a-9d7c-2e6c41d46ab4","version":"3.0.0","panelRefName":"panel_15"},{"embeddableConfig":{},"gridData":{"h":16,"i":"6617b4f6-3227-4264-b87d-53f70fba6d79","w":16,"x":0,"y":95},"panelIndex":"6617b4f6-3227-4264-b87d-53f70fba6d79","version":"3.0.0","panelRefName":"panel_16"},{"embeddableConfig":{},"gridData":{"h":16,"i":"ea71d48b-a9b1-4822-b997-b5da294c7012","w":16,"x":16,"y":95},"panelIndex":"ea71d48b-a9b1-4822-b997-b5da294c7012","version":"3.0.0","panelRefName":"panel_17"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"6594da6a-87bd-4242-94db-9f04f8d961bb","w":48,"x":0,"y":111},"panelIndex":"6594da6a-87bd-4242-94db-9f04f8d961bb","version":"3.0.0","panelRefName":"panel_18"},{"embeddableConfig":{},"gridData":{"h":16,"i":"dca1fdd1-66ba-4dbb-94a9-033345da105d","w":16,"x":0,"y":116},"panelIndex":"dca1fdd1-66ba-4dbb-94a9-033345da105d","version":"3.0.0","panelRefName":"panel_19"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"98b7b7d9-0441-4f2a-a15b-d94f4eb3d61b","w":16,"x":16,"y":116},"panelIndex":"98b7b7d9-0441-4f2a-a15b-d94f4eb3d61b","version":"3.0.0","panelRefName":"panel_20"},{"embeddableConfig":{},"gridData":{"h":16,"i":"9a4bd010-0c94-415d-9f21-3aabe24cb625","w":16,"x":32,"y":116},"panelIndex":"9a4bd010-0c94-415d-9f21-3aabe24cb625","version":"3.0.0","panelRefName":"panel_21"},{"embeddableConfig":{},"gridData":{"h":16,"i":"77b17b31-4a7c-4d79-8f02-3d5199fe3e15","w":16,"x":0,"y":132},"panelIndex":"77b17b31-4a7c-4d79-8f02-3d5199fe3e15","version":"3.0.0","panelRefName":"panel_22"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"6011b779-dc42-4e4c-b539-2c834057fb47","w":48,"x":0,"y":148},"panelIndex":"6011b779-dc42-4e4c-b539-2c834057fb47","version":"3.0.0","panelRefName":"panel_23"},{"embeddableConfig":{"vis":null},"gridData":{"h":16,"i":"d278b903-0f8e-4531-ba70-793f690d0b86","w":16,"x":0,"y":153},"panelIndex":"d278b903-0f8e-4531-ba70-793f690d0b86","version":"3.0.0","panelRefName":"panel_24"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"f76c7138-975d-46d0-841d-b5adaa12db4b","w":48,"x":0,"y":169},"panelIndex":"f76c7138-975d-46d0-841d-b5adaa12db4b","version":"3.0.0","panelRefName":"panel_25"},{"embeddableConfig":{},"gridData":{"h":16,"i":"3bab6531-5d55-45c6-ad95-8de643fd8726","w":16,"x":0,"y":174},"panelIndex":"3bab6531-5d55-45c6-ad95-8de643fd8726","version":"3.0.0","panelRefName":"panel_26"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"8d91d7c6-af0c-4dee-a5cc-657bdf5b1ad8","w":16,"x":16,"y":174},"panelIndex":"8d91d7c6-af0c-4dee-a5cc-657bdf5b1ad8","version":"3.0.0","panelRefName":"panel_27"},{"embeddableConfig":{"table":{"sort":{"column":"61ca57f1-469d-11e7-af02-69e470af7417","order":"desc"}}},"gridData":{"h":16,"i":"bf054c81-0e97-4ce3-94d2-cfc617286465","w":16,"x":0,"y":190},"panelIndex":"bf054c81-0e97-4ce3-94d2-cfc617286465","version":"3.0.0","panelRefName":"panel_28"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"fdfaa786-d74a-454e-b9f5-8031dc103055","w":48,"x":0,"y":206},"panelIndex":"fdfaa786-d74a-454e-b9f5-8031dc103055","version":"3.0.0","panelRefName":"panel_29"},{"embeddableConfig":{},"gridData":{"h":16,"i":"9f0ef347-bcb1-4fd2-ab7e-7a1b2df9a8e4","w":16,"x":0,"y":211},"panelIndex":"9f0ef347-bcb1-4fd2-ab7e-7a1b2df9a8e4","version":"3.0.0","panelRefName":"panel_30"},{"embeddableConfig":{"uiState":{}},"gridData":{"h":16,"i":"3a684545-ffdd-4f74-8f61-de8e09715f20","w":16,"x":16,"y":211},"panelIndex":"3a684545-ffdd-4f74-8f61-de8e09715f20","version":"3.0.0","panelRefName":"panel_31"},{"embeddableConfig":{},"gridData":{"h":16,"i":"2bffb85a-d5bf-4e64-a414-9f3d8dca3662","w":16,"x":0,"y":227},"panelIndex":"2bffb85a-d5bf-4e64-a414-9f3d8dca3662","version":"3.0.0","panelRefName":"panel_32"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"2af2604a-f9d9-4070-b171-25a8f9544da7","w":48,"x":0,"y":243},"panelIndex":"2af2604a-f9d9-4070-b171-25a8f9544da7","version":"3.0.0","panelRefName":"panel_33"},{"embeddableConfig":{"vis":null},"gridData":{"h":16,"i":"b72c4b77-abbb-4ad2-a117-c71f6e6ae100","w":16,"x":0,"y":248},"panelIndex":"b72c4b77-abbb-4ad2-a117-c71f6e6ae100","version":"3.0.0","panelRefName":"panel_34"},{"embeddableConfig":{},"gridData":{"h":16,"i":"9f0a614d-59b8-4918-8b9e-cd6151268c82","w":16,"x":16,"y":248},"panelIndex":"9f0a614d-59b8-4918-8b9e-cd6151268c82","version":"3.0.0","panelRefName":"panel_35"},{"embeddableConfig":{"vis":null},"gridData":{"h":16,"i":"95e6cb30-3829-44eb-a40d-4fc81378d079","w":16,"x":0,"y":264},"panelIndex":"95e6cb30-3829-44eb-a40d-4fc81378d079","version":"3.0.0","panelRefName":"panel_36"},{"embeddableConfig":{},"gridData":{"h":16,"i":"df8c7a54-7312-4a5f-ad6d-9293b43624f9","w":16,"x":16,"y":264},"panelIndex":"df8c7a54-7312-4a5f-ad6d-9293b43624f9","version":"3.0.0","panelRefName":"panel_37"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"789c9ec0-cf5e-4abf-9927-d93f138fc6c5","w":48,"x":0,"y":280},"panelIndex":"789c9ec0-cf5e-4abf-9927-d93f138fc6c5","version":"3.0.0","panelRefName":"panel_38"},{"embeddableConfig":{},"gridData":{"h":16,"i":"9b6398c7-b998-4e7a-8f8b-1ecbf3a6b374","w":16,"x":0,"y":285},"panelIndex":"9b6398c7-b998-4e7a-8f8b-1ecbf3a6b374","version":"3.0.0","panelRefName":"panel_39"},{"embeddableConfig":{"hidePanelTitles":true},"gridData":{"h":5,"i":"fbd20e4e-6f57-4d0a-a39b-eec00ba78dc8","w":48,"x":0,"y":301},"panelIndex":"fbd20e4e-6f57-4d0a-a39b-eec00ba78dc8","version":"3.0.0","panelRefName":"panel_40"},{"embeddableConfig":{},"gridData":{"h":16,"i":"61fd2efa-3e87-458e-8a68-e64efadfb1e2","w":16,"x":0,"y":306},"panelIndex":"61fd2efa-3e87-458e-8a68-e64efadfb1e2","version":"3.0.0","panelRefName":"panel_41"},{"embeddableConfig":{},"gridData":{"h":16,"i":"1cb164b7-16eb-467b-bcad-7a59adcc5f38","w":16,"x":16,"y":306},"panelIndex":"1cb164b7-16eb-467b-bcad-7a59adcc5f38","version":"3.0.0","panelRefName":"panel_42"}]', + refreshInterval: { pause: true, value: 0 }, + timeFrom: 'now-7d', + timeRestore: true, + timeTo: 'now', title: 'Visual Consistency Dashboard', version: 1, }, @@ -798,8 +1345,8 @@ export const getSavedObjects = (): SavedObject[] => [ type: 'visualization-visbuilder', }, { id: '0aa75ae0-eb7e-11ed-8e00-17d7d50cd7b2', name: 'panel_3', type: 'visualization' }, - { id: '2c5a19f0-eb8a-11ed-8e00-17d7d50cd7b2', name: 'panel_4', type: 'visualization' }, - { id: 'fa54ce40-eb7b-11ed-8e00-17d7d50cd7b2', name: 'panel_5', type: 'visualization' }, + { id: 'fa54ce40-eb7b-11ed-8e00-17d7d50cd7b2', name: 'panel_4', type: 'visualization' }, + { id: '2c5a19f0-eb8a-11ed-8e00-17d7d50cd7b2', name: 'panel_5', type: 'visualization' }, { id: 'ed89dfc0-eb8f-11ed-8e00-17d7d50cd7b2', name: 'panel_6', type: 'visualization' }, { id: 'c0ba29f0-eb8f-11ed-8e00-17d7d50cd7b2', name: 'panel_7', type: 'visualization' }, { @@ -808,8 +1355,8 @@ export const getSavedObjects = (): SavedObject[] => [ type: 'visualization-visbuilder', }, { id: 'be4dc860-eb90-11ed-8e00-17d7d50cd7b2', name: 'panel_9', type: 'visualization' }, - { id: '34a5bee0-eb97-11ed-8e00-17d7d50cd7b2', name: 'panel_10', type: 'visualization' }, - { id: '689b7140-eb97-11ed-8e00-17d7d50cd7b2', name: 'panel_11', type: 'visualization' }, + { id: '689b7140-eb97-11ed-8e00-17d7d50cd7b2', name: 'panel_10', type: 'visualization' }, + { id: '34a5bee0-eb97-11ed-8e00-17d7d50cd7b2', name: 'panel_11', type: 'visualization' }, { id: '5e34ac20-eb98-11ed-8e00-17d7d50cd7b2', name: 'panel_12', type: 'visualization' }, { id: '23a5de70-eb99-11ed-8e00-17d7d50cd7b2', name: 'panel_13', type: 'visualization' }, { @@ -818,11 +1365,48 @@ export const getSavedObjects = (): SavedObject[] => [ type: 'visualization-visbuilder', }, { id: '8b78d930-eb99-11ed-8e00-17d7d50cd7b2', name: 'panel_15', type: 'visualization' }, - { id: '5c276fa0-eb9b-11ed-8e00-17d7d50cd7b2', name: 'panel_16', type: 'visualization' }, - { id: '9482ed20-eb9b-11ed-8e00-17d7d50cd7b2', name: 'panel_17', type: 'visualization' }, + { id: '9482ed20-eb9b-11ed-8e00-17d7d50cd7b2', name: 'panel_16', type: 'visualization' }, + { id: '5c276fa0-eb9b-11ed-8e00-17d7d50cd7b2', name: 'panel_17', type: 'visualization' }, + { id: 'fd3b0750-227b-11ee-b88b-47a93b5c527c', name: 'panel_18', type: 'visualization' }, + { id: '08741f50-2275-11ee-b88b-47a93b5c527c', name: 'panel_19', type: 'visualization' }, + { + id: 'ca3ae740-2275-11ee-b88b-47a93b5c527c', + name: 'panel_20', + type: 'visualization-visbuilder', + }, + { id: 'f0d162c0-227b-11ee-b88b-47a93b5c527c', name: 'panel_21', type: 'visualization' }, + { id: '80e9a930-227c-11ee-b88b-47a93b5c527c', name: 'panel_22', type: 'visualization' }, + { id: '1507e780-227d-11ee-b88b-47a93b5c527c', name: 'panel_23', type: 'visualization' }, + { id: '3d034700-227f-11ee-b88b-47a93b5c527c', name: 'panel_24', type: 'visualization' }, + { id: '6aed7840-22a5-11ee-b88b-47a93b5c527c', name: 'panel_25', type: 'visualization' }, + { id: 'f8df8de0-22a6-11ee-b88b-47a93b5c527c', name: 'panel_26', type: 'visualization' }, + { + id: 'a7d21570-22a7-11ee-b88b-47a93b5c527c', + name: 'panel_27', + type: 'visualization-visbuilder', + }, + { id: '009fd930-22a8-11ee-b88b-47a93b5c527c', name: 'panel_28', type: 'visualization' }, + { id: 'b24e65c0-22a3-11ee-b88b-47a93b5c527c', name: 'panel_29', type: 'visualization' }, + { id: '104396f0-22a4-11ee-b88b-47a93b5c527c', name: 'panel_30', type: 'visualization' }, + { + id: '42ddb0f0-22a4-11ee-b88b-47a93b5c527c', + name: 'panel_31', + type: 'visualization-visbuilder', + }, + { id: '9a5e50b0-22a3-11ee-b88b-47a93b5c527c', name: 'panel_32', type: 'visualization' }, + { id: '6154a6c0-2280-11ee-b88b-47a93b5c527c', name: 'panel_33', type: 'visualization' }, + { id: 'f772de50-2281-11ee-b88b-47a93b5c527c', name: 'panel_34', type: 'visualization' }, + { id: '4ec31b10-2288-11ee-b88b-47a93b5c527c', name: 'panel_35', type: 'visualization' }, + { id: '9b0ae760-2282-11ee-b88b-47a93b5c527c', name: 'panel_36', type: 'visualization' }, + { id: '19717e00-228f-11ee-b88b-47a93b5c527c', name: 'panel_37', type: 'visualization' }, + { id: '93cc8830-227f-11ee-b88b-47a93b5c527c', name: 'panel_38', type: 'visualization' }, + { id: 'fe07f770-227f-11ee-b88b-47a93b5c527c', name: 'panel_39', type: 'visualization' }, + { id: '45146a10-2283-11ee-b88b-47a93b5c527c', name: 'panel_40', type: 'visualization' }, + { id: '23250ed0-2285-11ee-b88b-47a93b5c527c', name: 'panel_41', type: 'visualization' }, + { id: '4c6a47e0-2291-11ee-b88b-47a93b5c527c', name: 'panel_42', type: 'visualization' }, ], type: 'dashboard', - updated_at: '2023-05-05T23:38:33.904Z', - version: 'WzExMSwxXQ==', + updated_at: '2023-07-15T00:43:10.001Z', + version: 'Wzk3LDFd', }, ]; diff --git a/src/plugins/maps_legacy/public/map/_legend.scss b/src/plugins/maps_legacy/public/map/_legend.scss index 43ecb5ac8127..dfb62ada61ff 100644 --- a/src/plugins/maps_legacy/public/map/_legend.scss +++ b/src/plugins/maps_legacy/public/map/_legend.scss @@ -33,3 +33,12 @@ left: $euiSizeXXL; white-space: nowrap; } + +.mapButton { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome, sans-serif; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/src/plugins/maps_legacy/public/map/opensearch_dashboards_map.js b/src/plugins/maps_legacy/public/map/opensearch_dashboards_map.js index 6f4af0e47c17..a5432f3151e6 100644 --- a/src/plugins/maps_legacy/public/map/opensearch_dashboards_map.js +++ b/src/plugins/maps_legacy/public/map/opensearch_dashboards_map.js @@ -62,7 +62,7 @@ function makeFitControl(fitContainer, opensearchDashboardsMap) { ); $(this._fitContainer) .html( - `` + `` ) .on('click', (e) => { e.preventDefault(); diff --git a/src/plugins/vis_augmenter/public/test_constants.ts b/src/plugins/vis_augmenter/public/test_constants.ts index fdd3fa4373af..e792c100a55e 100644 --- a/src/plugins/vis_augmenter/public/test_constants.ts +++ b/src/plugins/vis_augmenter/public/test_constants.ts @@ -171,6 +171,55 @@ const TEST_VALUES_MULTIPLE_VIS_LAYERS = [ }, ]; +const TEST_VALUES_MULTIPLE_VIS_LAYERS_ONE_EMPTY = [ + { + [TEST_X_AXIS_ID]: 0, + [TEST_VALUE_AXIS_ID]: 5, + [TEST_PLUGIN_EVENT_TYPE]: 0, + [TEST_PLUGIN_EVENT_TYPE_2]: 0, + }, + { + [TEST_X_AXIS_ID]: 5, + [TEST_VALUE_AXIS_ID]: 10, + [TEST_PLUGIN_EVENT_TYPE]: 2, + [TEST_PLUGIN_EVENT_TYPE_2]: 0, + }, + { + [TEST_X_AXIS_ID]: 10, + [TEST_VALUE_AXIS_ID]: 6, + [TEST_PLUGIN_EVENT_TYPE]: 0, + [TEST_PLUGIN_EVENT_TYPE_2]: 0, + }, + { + [TEST_X_AXIS_ID]: 15, + [TEST_VALUE_AXIS_ID]: 4, + [TEST_PLUGIN_EVENT_TYPE]: 0, + [TEST_PLUGIN_EVENT_TYPE_2]: 0, + }, + { + [TEST_X_AXIS_ID]: 20, + [TEST_VALUE_AXIS_ID]: 5, + [TEST_PLUGIN_EVENT_TYPE]: 0, + [TEST_PLUGIN_EVENT_TYPE_2]: 0, + }, + { [TEST_X_AXIS_ID]: 25, [TEST_PLUGIN_EVENT_TYPE]: 0, [TEST_PLUGIN_EVENT_TYPE_2]: 0 }, + { [TEST_X_AXIS_ID]: 30, [TEST_PLUGIN_EVENT_TYPE]: 0, [TEST_PLUGIN_EVENT_TYPE_2]: 0 }, + { [TEST_X_AXIS_ID]: 35, [TEST_PLUGIN_EVENT_TYPE]: 1, [TEST_PLUGIN_EVENT_TYPE_2]: 0 }, + { [TEST_X_AXIS_ID]: 40, [TEST_PLUGIN_EVENT_TYPE]: 0, [TEST_PLUGIN_EVENT_TYPE_2]: 0 }, + { + [TEST_X_AXIS_ID]: 45, + [TEST_VALUE_AXIS_ID]: 3, + [TEST_PLUGIN_EVENT_TYPE]: 0, + [TEST_PLUGIN_EVENT_TYPE_2]: 0, + }, + { + [TEST_X_AXIS_ID]: 50, + [TEST_VALUE_AXIS_ID]: 5, + [TEST_PLUGIN_EVENT_TYPE]: 0, + [TEST_PLUGIN_EVENT_TYPE_2]: 0, + }, +]; + export const TEST_COLUMNS_NO_VIS_LAYERS = [ { id: TEST_X_AXIS_ID, @@ -269,6 +318,12 @@ export const TEST_DATATABLE_MULTIPLE_VIS_LAYERS = { rows: TEST_VALUES_MULTIPLE_VIS_LAYERS, } as OpenSearchDashboardsDatatable; +export const TEST_DATATABLE_MULTIPLE_VIS_LAYERS_ONE_EMPTY = { + type: 'opensearch_dashboards_datatable', + columns: TEST_COLUMNS_MULTIPLE_VIS_LAYERS, + rows: TEST_VALUES_MULTIPLE_VIS_LAYERS_ONE_EMPTY, +} as OpenSearchDashboardsDatatable; + const TEST_BASE_CONFIG = { view: { stroke: null }, concat: { spacing: 0 }, @@ -510,6 +565,22 @@ export const TEST_VIS_LAYERS_MULTIPLE = [ }, ]; +export const TEST_VIS_LAYERS_MULTIPLE_ONE_EMPTY = [ + ...TEST_VIS_LAYERS_SINGLE, + { + originPlugin: TEST_PLUGIN, + type: VisLayerTypes.PointInTimeEvents, + pluginResource: { + type: TEST_PLUGIN_RESOURCE_TYPE, + id: TEST_PLUGIN_RESOURCE_ID_2, + name: TEST_PLUGIN_RESOURCE_NAME_2, + urlPath: TEST_PLUGIN_RESOURCE_PATH_2, + }, + pluginEventType: TEST_PLUGIN_EVENT_TYPE_2, + events: [], + }, +]; + const TEST_RULE_LAYER_SINGLE_VIS_LAYER = { mark: { type: 'rule', color: EVENT_COLOR, opacity: 1 }, transform: [{ filter: `datum['${TEST_PLUGIN_EVENT_TYPE}'] > 0` }], diff --git a/src/plugins/vis_augmenter/public/vega/helpers.test.ts b/src/plugins/vis_augmenter/public/vega/helpers.test.ts index fbba0cb5bf7d..2e746950f71c 100644 --- a/src/plugins/vis_augmenter/public/vega/helpers.test.ts +++ b/src/plugins/vis_augmenter/public/vega/helpers.test.ts @@ -31,6 +31,7 @@ import { } from '../'; import { TEST_DATATABLE_MULTIPLE_VIS_LAYERS, + TEST_DATATABLE_MULTIPLE_VIS_LAYERS_ONE_EMPTY, TEST_DATATABLE_NO_VIS_LAYERS, TEST_DATATABLE_ONLY_VIS_LAYERS, TEST_DATATABLE_SINGLE_ROW_NO_VIS_LAYERS, @@ -48,6 +49,7 @@ import { TEST_SPEC_NO_VIS_LAYERS, TEST_SPEC_SINGLE_VIS_LAYER, TEST_VIS_LAYERS_MULTIPLE, + TEST_VIS_LAYERS_MULTIPLE_ONE_EMPTY, TEST_VIS_LAYERS_SINGLE, TEST_VIS_LAYERS_SINGLE_INVALID_BOUNDS, TEST_VIS_LAYERS_SINGLE_ON_BOUNDS, @@ -410,6 +412,16 @@ describe('helpers', function () { ) ).toStrictEqual(TEST_DATATABLE_ONLY_VIS_LAYERS); }); + it('vis layers with one having events and the other empty are added correctly', function () { + expect( + addPointInTimeEventsLayersToTable( + TEST_DATATABLE_NO_VIS_LAYERS, + + TEST_DIMENSIONS, + TEST_VIS_LAYERS_MULTIPLE_ONE_EMPTY + ) + ).toStrictEqual(TEST_DATATABLE_MULTIPLE_VIS_LAYERS_ONE_EMPTY); + }); it('vis layer with out-of-bounds timestamps are not added', function () { expect( addPointInTimeEventsLayersToTable( diff --git a/src/plugins/vis_augmenter/public/vega/helpers.ts b/src/plugins/vis_augmenter/public/vega/helpers.ts index a8d7280fe93a..de1e03d57632 100644 --- a/src/plugins/vis_augmenter/public/vega/helpers.ts +++ b/src/plugins/vis_augmenter/public/vega/helpers.ts @@ -224,7 +224,6 @@ export const addPointInTimeEventsLayersToTable = ( }); visLayers.forEach((visLayer: PointInTimeEventsVisLayer) => { - if (isEmpty(visLayer.events)) return; const visLayerColumnId = `${visLayer.pluginEventType}`; // Add placeholder values of 0 for every event value. This is so the tooltip diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/_legend.scss b/src/plugins/vis_type_vislib/public/vislib/components/legend/_legend.scss index f5b93730fb75..c114c07f17b9 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/_legend.scss +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/_legend.scss @@ -84,7 +84,7 @@ $visLegendLineHeight: $euiSize; } .visLegend__valueColorPicker { - width: ($euiSizeL * 8); // 8 columns + width: ($euiSizeL * 10); // 10 columns } .visLegend__valueColorPickerDot { diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx index 18192c3faa34..1038c663d0dc 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend.test.tsx @@ -35,7 +35,7 @@ import { I18nProvider } from '@osd/i18n/react'; import { EuiButtonGroup } from '@elastic/eui'; import { VisLegend, VisLegendProps } from './legend'; -import { legendColors } from './models'; +import { legendColors } from './legend_item'; jest.mock('@elastic/eui', () => { const original = jest.requireActual('@elastic/eui'); diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend_item.tsx b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend_item.tsx index f6e79b74841c..b228f32c7596 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/legend_item.tsx +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/legend_item.tsx @@ -42,9 +42,14 @@ import { EuiPopoverProps, EuiButtonGroup, EuiButtonGroupOptionProps, + euiPaletteColorBlind, } from '@elastic/eui'; -import { legendColors, LegendItem } from './models'; +import { LegendItem } from './models'; + +// starting from the default categorical colors, we generate 6 additional variants, +// 3 lighter and 3 darker +export const legendColors = euiPaletteColorBlind({ rotations: 7, direction: 'both' }); interface Props { item: LegendItem; diff --git a/src/plugins/vis_type_vislib/public/vislib/components/legend/models.ts b/src/plugins/vis_type_vislib/public/vislib/components/legend/models.ts index 1d86703b5c38..48a0cfc9b2af 100644 --- a/src/plugins/vis_type_vislib/public/vislib/components/legend/models.ts +++ b/src/plugins/vis_type_vislib/public/vislib/components/legend/models.ts @@ -34,62 +34,3 @@ export interface LegendItem { } export const CUSTOM_LEGEND_VIS_TYPES = ['heatmap', 'gauge']; - -export const legendColors: string[] = [ - '#3F6833', - '#967302', - '#2F575E', - '#99440A', - '#58140C', - '#052B51', - '#511749', - '#3F2B5B', // 6 - '#508642', - '#CCA300', - '#447EBC', - '#C15C17', - '#890F02', - '#0A437C', - '#6D1F62', - '#584477', // 2 - '#629E51', - '#E5AC0E', - '#64B0C8', - '#E0752D', - '#BF1B00', - '#0A50A1', - '#962D82', - '#614D93', // 4 - '#7EB26D', - '#EAB839', - '#6ED0E0', - '#EF843C', - '#E24D42', - '#1F78C1', - '#BA43A9', - '#705DA0', // Normal - '#9AC48A', - '#F2C96D', - '#65C5DB', - '#F9934E', - '#EA6460', - '#5195CE', - '#D683CE', - '#806EB7', // 5 - '#B7DBAB', - '#F4D598', - '#70DBED', - '#F9BA8F', - '#F29191', - '#82B5D8', - '#E5A8E2', - '#AEA2E0', // 3 - '#E0F9D7', - '#FCEACA', - '#CFFAFF', - '#F9E2D2', - '#FCE2DE', - '#BADFF4', - '#F9D9F9', - '#DEDAF7', // 7 -]; diff --git a/test/functional/apps/dashboard/dashboard_state.js b/test/functional/apps/dashboard/dashboard_state.js index 2974f2024a4e..5beca47f9cae 100644 --- a/test/functional/apps/dashboard/dashboard_state.js +++ b/test/functional/apps/dashboard/dashboard_state.js @@ -75,14 +75,14 @@ export default function ({ getService, getPageObjects }) { await PageObjects.dashboard.switchToEditMode(); await PageObjects.visChart.openLegendOptionColors('Count'); - await PageObjects.visChart.selectNewLegendColorChoice('#EA6460'); + await PageObjects.visChart.selectNewLegendColorChoice('#8d4059'); await PageObjects.dashboard.saveDashboard('Overridden colors'); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.loadSavedDashboard('Overridden colors'); const colorChoiceRetained = await PageObjects.visChart.doesSelectedLegendColorExist( - '#EA6460' + '#8d4059' ); expect(colorChoiceRetained).to.be(true); @@ -245,9 +245,9 @@ export default function ({ getService, getPageObjects }) { it('updates a pie slice color on a soft refresh', async function () { await dashboardAddPanel.addVisualization(PIE_CHART_VIS_NAME); await PageObjects.visChart.openLegendOptionColors('80,000'); - await PageObjects.visChart.selectNewLegendColorChoice('#F9D9F9'); + await PageObjects.visChart.selectNewLegendColorChoice('#e9b0c3'); const currentUrl = await browser.getCurrentUrl(); - const newUrl = currentUrl.replace('F9D9F9', 'FFFFFF'); + const newUrl = currentUrl.replace('e9b0c3', 'FFFFFF'); await browser.get(newUrl.toString(), false); await PageObjects.header.waitUntilLoadingHasFinished(); diff --git a/test/functional/page_objects/visualize_chart_page.ts b/test/functional/page_objects/visualize_chart_page.ts index e13d8eed6081..975da7cc552a 100644 --- a/test/functional/page_objects/visualize_chart_page.ts +++ b/test/functional/page_objects/visualize_chart_page.ts @@ -286,7 +286,7 @@ export function VisualizeChartPageProvider({ getService, getPageObjects }: FtrPr await testSubjects.click(`legend-${name}`); await this.waitForVisualizationRenderingStabilized(); // arbitrary color chosen, any available would do - const isOpen = await this.doesLegendColorChoiceExist('#EF843C'); + const isOpen = await this.doesLegendColorChoiceExist('#e09e64'); if (!isOpen) { throw new Error('legend color selector not open'); } diff --git a/yarn.lock b/yarn.lock index cdbe028128d7..2403202a1433 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18591,9 +18591,9 @@ wildcard@^2.0.0: integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== wordwrap@^1.0.0: version "1.0.0"