mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
## Summary Closes https://github.com/elastic/kibana/issues/191673 Closes https://github.com/elastic/kibana/issues/183566 Fixes the ability for the POST URL used to automate generation of reports by adding a `generateExportUrl` function to the ShareMenuItemV2 interface. This function returns a dynamic export URL for PDF generation by using the selected layout option. Other changes: provides more strictness in type definitions by: * splitting the types that define `ShareMenuProvider`: * `ShareMenuProviderV2` provides the `getShareMenuItems` function * `ShareMenuProviderLegacy` provides the `getShareMenuItemsLegacy` function ### Release note Fixed an issue with the export options for PNG/PDF reports in a dashboard. ### Checklist Delete any items that are not applicable to this PR. - [x] Use the `generateExportUrl` function inputs to return a POST URL that is aware of the layout mode (`print` or `preserve_layout`) and screen dimensions - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] Flaky test runner: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6986
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the "Elastic License
|
|
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
* Public License v 1"; you may not use this file except in compliance with, at
|
|
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
*/
|
|
|
|
import { SharePluginStart, SharePluginSetup } from '@kbn/share-plugin/public';
|
|
import { Plugin, CoreSetup, CoreStart } from '@kbn/core/public';
|
|
|
|
interface SetupDeps {
|
|
share: SharePluginSetup;
|
|
}
|
|
|
|
interface StartDeps {
|
|
share: SharePluginStart;
|
|
}
|
|
|
|
export class ShareDemoPlugin implements Plugin<void, void, SetupDeps, StartDeps> {
|
|
public setup(core: CoreSetup<StartDeps>, { share }: SetupDeps) {
|
|
share.register({
|
|
id: 'demo',
|
|
getShareMenuItemsLegacy: (context) => [
|
|
{
|
|
panel: {
|
|
id: 'demo',
|
|
title: 'Panel title',
|
|
content: 'Panel content',
|
|
},
|
|
shareMenuItem: {
|
|
name: 'Demo list item (from share_example plugin)',
|
|
},
|
|
},
|
|
],
|
|
});
|
|
}
|
|
|
|
public start(core: CoreStart, { share }: StartDeps) {}
|
|
|
|
public stop() {}
|
|
}
|