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"