diff --git a/examples/embeddable_examples/public/react_embeddables/register_saved_object_example.ts b/examples/embeddable_examples/public/react_embeddables/register_saved_object_example.ts index 15082ef70169..9614c68994dd 100644 --- a/examples/embeddable_examples/public/react_embeddables/register_saved_object_example.ts +++ b/examples/embeddable_examples/public/react_embeddables/register_saved_object_example.ts @@ -16,10 +16,13 @@ const APP_ICON = 'logoKibana'; export const registerMyEmbeddableSavedObject = (embeddableSetup: EmbeddableSetup) => embeddableSetup.registerAddFromLibraryType({ onAdd: (container, savedObject) => { - container.addNewPanel({ - panelType: MY_EMBEDDABLE_TYPE, - initialState: savedObject.attributes, - }); + container.addNewPanel( + { + panelType: MY_EMBEDDABLE_TYPE, + initialState: savedObject.attributes, + }, + true + ); // shows a toast and scrolls to panel }, savedObjectType: MY_SAVED_OBJECT_TYPE, savedObjectName: 'Some saved object', diff --git a/src/platform/plugins/private/links/public/plugin.ts b/src/platform/plugins/private/links/public/plugin.ts index 05b9faf59c7b..a2c4f7b07183 100644 --- a/src/platform/plugins/private/links/public/plugin.ts +++ b/src/platform/plugins/private/links/public/plugin.ts @@ -64,10 +64,13 @@ export class LinksPlugin plugins.embeddable.registerAddFromLibraryType({ onAdd: async (container, savedObject) => { const initialState = await deserializeLinksSavedObject(savedObject); - container.addNewPanel({ - panelType: CONTENT_ID, - initialState, - }); + container.addNewPanel( + { + panelType: CONTENT_ID, + initialState, + }, + true + ); }, savedObjectType: CONTENT_ID, savedObjectName: APP_NAME, diff --git a/src/platform/plugins/shared/discover/public/plugin.tsx b/src/platform/plugins/shared/discover/public/plugin.tsx index 3142a5784afb..0f300383a6a4 100644 --- a/src/platform/plugins/shared/discover/public/plugin.tsx +++ b/src/platform/plugins/shared/discover/public/plugin.tsx @@ -424,10 +424,13 @@ export class DiscoverPlugin }, discoverServices: services, }); - container.addNewPanel({ - panelType: SEARCH_EMBEDDABLE_TYPE, - initialState, - }); + container.addNewPanel( + { + panelType: SEARCH_EMBEDDABLE_TYPE, + initialState, + }, + true + ); }, savedObjectType: SavedSearchType, savedObjectName: i18n.translate('discover.savedSearch.savedObjectName', { diff --git a/src/platform/plugins/shared/embeddable/public/add_from_library/add_from_library_flyout.tsx b/src/platform/plugins/shared/embeddable/public/add_from_library/add_from_library_flyout.tsx index eed7226a029f..803aae84c85b 100644 --- a/src/platform/plugins/shared/embeddable/public/add_from_library/add_from_library_flyout.tsx +++ b/src/platform/plugins/shared/embeddable/public/add_from_library/add_from_library_flyout.tsx @@ -68,7 +68,6 @@ export const AddFromLibraryFlyout = ({ ); return; } - libraryType.onAdd(container, savedObject); runAddTelemetry(container, savedObject, libraryType.savedObjectMetaData); }, diff --git a/src/platform/plugins/shared/embeddable/public/types.ts b/src/platform/plugins/shared/embeddable/public/types.ts index 3902b20ece71..24da8c0211ab 100644 --- a/src/platform/plugins/shared/embeddable/public/types.ts +++ b/src/platform/plugins/shared/embeddable/public/types.ts @@ -38,13 +38,21 @@ export interface EmbeddableSetup { /** * Register a saved object type with the "Add from library" flyout. * + * `onAdd` receives the container and the saved object. You may pass a second boolean parameter + * to `addNewPanel` to enable a success message and automatic scrolling. + * * @example * registerAddFromLibraryType({ * onAdd: (container, savedObject) => { - * container.addNewPanel({ - * panelType: CONTENT_ID, - * initialState: savedObject.attributes, - * }); + * container.addNewPanel( + * { + * panelType: MY_EMBEDDABLE_TYPE, + * serializedState: { + * rawState: savedObject.attributes, + * }, + * }, + * true // shows a toast and scrolls to panel + * ); * }, * savedObjectType: MAP_SAVED_OBJECT_TYPE, * savedObjectName: i18n.translate('xpack.maps.mapSavedObjectLabel', { diff --git a/src/platform/plugins/shared/visualizations/public/plugin.ts b/src/platform/plugins/shared/visualizations/public/plugin.ts index c338988706c7..2b30e743d1f4 100644 --- a/src/platform/plugins/shared/visualizations/public/plugin.ts +++ b/src/platform/plugins/shared/visualizations/public/plugin.ts @@ -412,10 +412,13 @@ export class VisualizationsPlugin rawState: { savedObjectId: savedObject.id }, references: savedObject.references, }); - container.addNewPanel({ - panelType: VISUALIZE_EMBEDDABLE_TYPE, - initialState, - }); + container.addNewPanel( + { + panelType: VISUALIZE_EMBEDDABLE_TYPE, + initialState, + }, + true + ); }, savedObjectType: VISUALIZE_EMBEDDABLE_TYPE, savedObjectName: i18n.translate('visualizations.visualizeSavedObjectName', { diff --git a/test/accessibility/apps/dashboard.ts b/test/accessibility/apps/dashboard.ts index 2984c22d7c84..912525db3e8c 100644 --- a/test/accessibility/apps/dashboard.ts +++ b/test/accessibility/apps/dashboard.ts @@ -17,11 +17,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const listingTable = getService('listingTable'); - describe('Dashboard', () => { + // https://github.com/elastic/kibana/issues/220515 + describe.skip('Dashboard', () => { const dashboardName = 'Dashboard Listing A11y'; const clonedDashboardName = 'Dashboard Listing A11y (1)'; - it('navitate to dashboard app', async () => { + // https://github.com/elastic/kibana/issues/220515 + it.skip('navigate to dashboard app', async () => { await common.navigateToApp('dashboard'); await a11y.testAppSnapshot(); }); diff --git a/x-pack/platform/plugins/shared/lens/public/plugin.ts b/x-pack/platform/plugins/shared/lens/public/plugin.ts index 538e14518bf6..c81275e44fd3 100644 --- a/x-pack/platform/plugins/shared/lens/public/plugin.ts +++ b/x-pack/platform/plugins/shared/lens/public/plugin.ts @@ -406,10 +406,13 @@ export class LensPlugin { { savedObjectId: savedObject.id }, savedObject.references ); - container.addNewPanel({ - panelType: LENS_EMBEDDABLE_TYPE, - initialState: state, - }); + container.addNewPanel( + { + panelType: LENS_EMBEDDABLE_TYPE, + initialState: state, + }, + true + ); }, savedObjectType: LENS_EMBEDDABLE_TYPE, savedObjectName: i18n.translate('xpack.lens.mapSavedObjectLabel', { diff --git a/x-pack/platform/plugins/shared/maps/public/react_embeddable/setup_map_embeddable.ts b/x-pack/platform/plugins/shared/maps/public/react_embeddable/setup_map_embeddable.ts index 5859bde4a173..e97212069613 100644 --- a/x-pack/platform/plugins/shared/maps/public/react_embeddable/setup_map_embeddable.ts +++ b/x-pack/platform/plugins/shared/maps/public/react_embeddable/setup_map_embeddable.ts @@ -24,10 +24,13 @@ export function setupMapEmbeddable(embeddableSetup: EmbeddableSetup) { embeddableSetup.registerAddFromLibraryType({ onAdd: (container, savedObject) => { - container.addNewPanel({ - panelType: MAP_SAVED_OBJECT_TYPE, - initialState: { savedObjectId: savedObject.id }, - }); + container.addNewPanel( + { + panelType: MAP_SAVED_OBJECT_TYPE, + initialState: { savedObjectId: savedObject.id }, + }, + true + ); }, savedObjectType: MAP_SAVED_OBJECT_TYPE, savedObjectName: i18n.translate('xpack.maps.mapSavedObjectLabel', {