mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
# Backport This will backport the following commits from `main` to `8.16`: - [Fix share modal copy embed code (#204584)](https://github.com/elastic/kibana/pull/204584) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Eyo O. Eyo","email":"7893459+eokoneyo@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-12-17T17:13:02Z","message":"Fix share modal copy embed code (#204584)\n\n## Summary\r\n\r\nCloses https://github.com/elastic/kibana/issues/204312\r\n\r\nThis PR removes an unnecessary function, that causes an infinite render\r\nloop for visualisations.\r\n\r\n\r\n## After\r\n\r\n\r\nhttps://github.com/user-attachments/assets/259d238b-c1cf-4d74-bfca-1a6440d0f5cd\r\n\r\n## How to test\r\n- From the left side nav, click the `Visualize Library` menu item,\r\nattempt to create a legacy visualisation, any one of choice and attempt\r\nsharing said created visualisation clicking the copy embed code should\r\nnot result in any error but rather copy the embed code with the visual\r\nfeedback.\r\n\r\n<!--\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [ ] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [ ] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n\r\n-->","sha":"effd84dc41c702b0a82631ee5777fed7f14dfb61","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:SharedUX","backport:prev-major","v8.18.0"],"number":204584,"url":"https://github.com/elastic/kibana/pull/204584","mergeCommit":{"message":"Fix share modal copy embed code (#204584)\n\n## Summary\r\n\r\nCloses https://github.com/elastic/kibana/issues/204312\r\n\r\nThis PR removes an unnecessary function, that causes an infinite render\r\nloop for visualisations.\r\n\r\n\r\n## After\r\n\r\n\r\nhttps://github.com/user-attachments/assets/259d238b-c1cf-4d74-bfca-1a6440d0f5cd\r\n\r\n## How to test\r\n- From the left side nav, click the `Visualize Library` menu item,\r\nattempt to create a legacy visualisation, any one of choice and attempt\r\nsharing said created visualisation clicking the copy embed code should\r\nnot result in any error but rather copy the embed code with the visual\r\nfeedback.\r\n\r\n<!--\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [ ] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [ ] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n\r\n-->","sha":"effd84dc41c702b0a82631ee5777fed7f14dfb61"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/204584","number":204584,"mergeCommit":{"message":"Fix share modal copy embed code (#204584)\n\n## Summary\r\n\r\nCloses https://github.com/elastic/kibana/issues/204312\r\n\r\nThis PR removes an unnecessary function, that causes an infinite render\r\nloop for visualisations.\r\n\r\n\r\n## After\r\n\r\n\r\nhttps://github.com/user-attachments/assets/259d238b-c1cf-4d74-bfca-1a6440d0f5cd\r\n\r\n## How to test\r\n- From the left side nav, click the `Visualize Library` menu item,\r\nattempt to create a legacy visualisation, any one of choice and attempt\r\nsharing said created visualisation clicking the copy embed code should\r\nnot result in any error but rather copy the embed code with the visual\r\nfeedback.\r\n\r\n<!--\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [ ] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [ ]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [ ] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [ ] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [ ] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [ ] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [ ] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n\r\n-->","sha":"effd84dc41c702b0a82631ee5777fed7f14dfb61"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/204623","number":204623,"state":"MERGED","mergeCommit":{"sha":"f77fc58383202e136095d7a6ab011b95bd53b540","message":"[8.x] Fix share modal copy embed code (#204584) (#204623)\n\n# Backport\r\n\r\nThis will backport the following commits from `main` to `8.x`:\r\n- [Fix share modal copy embed code\r\n(#204584)](https://github.com/elastic/kibana/pull/204584)\r\n\r\n<!--- Backport version: 9.4.3 -->\r\n\r\n### Questions ?\r\nPlease refer to the [Backport tool\r\ndocumentation](https://github.com/sqren/backport)\r\n\r\n<!--BACKPORT [{\"author\":{\"name\":\"Eyo O.\r\nEyo\",\"email\":\"7893459+eokoneyo@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2024-12-17T17:13:02Z\",\"message\":\"Fix\r\nshare modal copy embed code (#204584)\\n\\n## Summary\\r\\n\\r\\nCloses\r\nhttps://github.com/elastic/kibana/issues/204312\\r\\n\\r\\nThis PR removes\r\nan unnecessary function, that causes an infinite render\\r\\nloop for\r\nvisualisations.\\r\\n\\r\\n\\r\\n##\r\nAfter\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/259d238b-c1cf-4d74-bfca-1a6440d0f5cd\\r\\n\\r\\n##\r\nHow to test\\r\\n- From the left side nav, click the `Visualize Library`\r\nmenu item,\\r\\nattempt to create a legacy visualisation, any one of\r\nchoice and attempt\\r\\nsharing said created visualisation clicking the\r\ncopy embed code should\\r\\nnot result in any error but rather copy the\r\nembed code with the visual\\r\\nfeedback.\\r\\n\\r\\n<!--\\r\\n###\r\nChecklist\\r\\n\\r\\nCheck the PR satisfies following conditions.\r\n\\r\\n\\r\\nReviewers should verify this PR satisfies this list as\r\nwell.\\r\\n\\r\\n- [ ] Any text added follows [EUI's\r\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\r\nuses\\r\\nsentence case text and includes\r\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\\r\\n-\r\n[\r\n]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\r\nadded for features that require explanation or tutorials\\r\\n- [ ] [Unit\r\nor\r\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\r\nupdated or added to match the most common scenarios\\r\\n- [ ] If a plugin\r\nconfiguration key changed, check if it needs to be\\r\\nallowlisted in the\r\ncloud and added to the\r\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\r\n[ ] This was checked for breaking HTTP API changes, and any\r\nbreaking\\r\\nchanges have been approved by the breaking-change committee.\r\nThe\\r\\n`release_note:breaking` label should be applied in these\r\nsituations.\\r\\n- [ ] [Flaky\r\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\r\nwas\\r\\nused on any tests changed\\r\\n- [ ] The PR description includes\r\nthe appropriate Release Notes section,\\r\\nand the correct\r\n`release_note:*` label is applied per\r\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\r\nIdentify risks\\r\\n\\r\\nDoes this PR introduce any risks? For example,\r\nconsider risks like hard\\r\\nto test bugs, performance regression,\r\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its severity, and\r\nmitigation for each identified\\r\\nrisk. Invite stakeholders and evaluate\r\nhow to proceed before merging.\\r\\n\\r\\n- [ ] [See some\r\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\r\n[ ]\r\n...\\r\\n\\r\\n\\r\\n-->\",\"sha\":\"effd84dc41c702b0a82631ee5777fed7f14dfb61\",\"branchLabelMapping\":{\"^v9.0.0$\":\"main\",\"^v8.18.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:SharedUX\",\"backport:prev-major\"],\"title\":\"Fix\r\nshare modal copy embed\r\ncode\",\"number\":204584,\"url\":\"https://github.com/elastic/kibana/pull/204584\",\"mergeCommit\":{\"message\":\"Fix\r\nshare modal copy embed code (#204584)\\n\\n## Summary\\r\\n\\r\\nCloses\r\nhttps://github.com/elastic/kibana/issues/204312\\r\\n\\r\\nThis PR removes\r\nan unnecessary function, that causes an infinite render\\r\\nloop for\r\nvisualisations.\\r\\n\\r\\n\\r\\n##\r\nAfter\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/259d238b-c1cf-4d74-bfca-1a6440d0f5cd\\r\\n\\r\\n##\r\nHow to test\\r\\n- From the left side nav, click the `Visualize Library`\r\nmenu item,\\r\\nattempt to create a legacy visualisation, any one of\r\nchoice and attempt\\r\\nsharing said created visualisation clicking the\r\ncopy embed code should\\r\\nnot result in any error but rather copy the\r\nembed code with the visual\\r\\nfeedback.\\r\\n\\r\\n<!--\\r\\n###\r\nChecklist\\r\\n\\r\\nCheck the PR satisfies following conditions.\r\n\\r\\n\\r\\nReviewers should verify this PR satisfies this list as\r\nwell.\\r\\n\\r\\n- [ ] Any text added follows [EUI's\r\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\r\nuses\\r\\nsentence case text and includes\r\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\\r\\n-\r\n[\r\n]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\r\nadded for features that require explanation or tutorials\\r\\n- [ ] [Unit\r\nor\r\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\r\nupdated or added to match the most common scenarios\\r\\n- [ ] If a plugin\r\nconfiguration key changed, check if it needs to be\\r\\nallowlisted in the\r\ncloud and added to the\r\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\r\n[ ] This was checked for breaking HTTP API changes, and any\r\nbreaking\\r\\nchanges have been approved by the breaking-change committee.\r\nThe\\r\\n`release_note:breaking` label should be applied in these\r\nsituations.\\r\\n- [ ] [Flaky\r\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\r\nwas\\r\\nused on any tests changed\\r\\n- [ ] The PR description includes\r\nthe appropriate Release Notes section,\\r\\nand the correct\r\n`release_note:*` label is applied per\r\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\r\nIdentify risks\\r\\n\\r\\nDoes this PR introduce any risks? For example,\r\nconsider risks like hard\\r\\nto test bugs, performance regression,\r\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its severity, and\r\nmitigation for each identified\\r\\nrisk. Invite stakeholders and evaluate\r\nhow to proceed before merging.\\r\\n\\r\\n- [ ] [See some\r\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\r\n[ ]\r\n...\\r\\n\\r\\n\\r\\n-->\",\"sha\":\"effd84dc41c702b0a82631ee5777fed7f14dfb61\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[],\"targetPullRequestStates\":[{\"branch\":\"main\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v9.0.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/204584\",\"number\":204584,\"mergeCommit\":{\"message\":\"Fix\r\nshare modal copy embed code (#204584)\\n\\n## Summary\\r\\n\\r\\nCloses\r\nhttps://github.com/elastic/kibana/issues/204312\\r\\n\\r\\nThis PR removes\r\nan unnecessary function, that causes an infinite render\\r\\nloop for\r\nvisualisations.\\r\\n\\r\\n\\r\\n##\r\nAfter\\r\\n\\r\\n\\r\\nhttps://github.com/user-attachments/assets/259d238b-c1cf-4d74-bfca-1a6440d0f5cd\\r\\n\\r\\n##\r\nHow to test\\r\\n- From the left side nav, click the `Visualize Library`\r\nmenu item,\\r\\nattempt to create a legacy visualisation, any one of\r\nchoice and attempt\\r\\nsharing said created visualisation clicking the\r\ncopy embed code should\\r\\nnot result in any error but rather copy the\r\nembed code with the visual\\r\\nfeedback.\\r\\n\\r\\n<!--\\r\\n###\r\nChecklist\\r\\n\\r\\nCheck the PR satisfies following conditions.\r\n\\r\\n\\r\\nReviewers should verify this PR satisfies this list as\r\nwell.\\r\\n\\r\\n- [ ] Any text added follows [EUI's\r\nwriting\\r\\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),\r\nuses\\r\\nsentence case text and includes\r\n[i18n\\r\\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\\r\\n-\r\n[\r\n]\\r\\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\\r\\nwas\r\nadded for features that require explanation or tutorials\\r\\n- [ ] [Unit\r\nor\r\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\r\nupdated or added to match the most common scenarios\\r\\n- [ ] If a plugin\r\nconfiguration key changed, check if it needs to be\\r\\nallowlisted in the\r\ncloud and added to the\r\n[docker\\r\\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\\r\\n-\r\n[ ] This was checked for breaking HTTP API changes, and any\r\nbreaking\\r\\nchanges have been approved by the breaking-change committee.\r\nThe\\r\\n`release_note:breaking` label should be applied in these\r\nsituations.\\r\\n- [ ] [Flaky\r\nTest\\r\\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)\r\nwas\\r\\nused on any tests changed\\r\\n- [ ] The PR description includes\r\nthe appropriate Release Notes section,\\r\\nand the correct\r\n`release_note:*` label is applied per\r\nthe\\r\\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\\r\\n\\r\\n###\r\nIdentify risks\\r\\n\\r\\nDoes this PR introduce any risks? For example,\r\nconsider risks like hard\\r\\nto test bugs, performance regression,\r\npotential of data loss.\\r\\n\\r\\nDescribe the risk, its severity, and\r\nmitigation for each identified\\r\\nrisk. Invite stakeholders and evaluate\r\nhow to proceed before merging.\\r\\n\\r\\n- [ ] [See some\r\nrisk\\r\\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\\r\\n-\r\n[ ]\r\n...\\r\\n\\r\\n\\r\\n-->\",\"sha\":\"effd84dc41c702b0a82631ee5777fed7f14dfb61\"}}]}]\r\nBACKPORT-->\r\n\r\nCo-authored-by: Eyo O. Eyo <7893459+eokoneyo@users.noreply.github.com>"}},{"url":"https://github.com/elastic/kibana/pull/204622","number":204622,"branch":"8.17","state":"OPEN"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
eccf16306e
commit
3919433e21
3 changed files with 4 additions and 49 deletions
|
@ -17,13 +17,7 @@ describe('Share modal embed content tab', () => {
|
|||
let component: ReactWrapper;
|
||||
|
||||
beforeEach(() => {
|
||||
component = mountWithIntl(
|
||||
<EmbedContent
|
||||
objectType="dashboard"
|
||||
setIsNotSaved={() => jest.fn()}
|
||||
shareableUrl="/home#/"
|
||||
/>
|
||||
);
|
||||
component = mountWithIntl(<EmbedContent objectType="dashboard" shareableUrl="/home#/" />);
|
||||
});
|
||||
|
||||
it('works for simple url', async () => {
|
||||
|
|
|
@ -32,9 +32,7 @@ type EmbedProps = Pick<
|
|||
| 'shareableUrl'
|
||||
| 'embedUrlParamExtensions'
|
||||
| 'objectType'
|
||||
> & {
|
||||
setIsNotSaved: () => void;
|
||||
};
|
||||
>;
|
||||
|
||||
interface UrlParams {
|
||||
[extensionName: string]: {
|
||||
|
@ -52,7 +50,6 @@ export const EmbedContent = ({
|
|||
shareableUrlForSavedObject,
|
||||
shareableUrl,
|
||||
objectType,
|
||||
setIsNotSaved,
|
||||
}: EmbedProps) => {
|
||||
const isMounted = useMountedState();
|
||||
const [urlParams, setUrlParams] = useState<UrlParams | undefined>(undefined);
|
||||
|
@ -63,10 +60,6 @@ export const EmbedContent = ({
|
|||
const [anonymousAccessParameters] = useState<AnonymousAccessState['accessURLParameters']>(null);
|
||||
const [usePublicUrl] = useState<boolean>(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (objectType !== 'dashboard') setIsNotSaved();
|
||||
}, [url, setIsNotSaved, objectType]);
|
||||
|
||||
const makeUrlEmbeddable = useCallback((tempUrl: string): string => {
|
||||
const embedParam = '?embed=true';
|
||||
const urlHasQueryString = tempUrl.indexOf('?') !== -1;
|
||||
|
|
|
@ -8,46 +8,17 @@
|
|||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { useCallback } from 'react';
|
||||
import React from 'react';
|
||||
import { type IModalTabDeclaration } from '@kbn/shared-ux-tabbed-modal';
|
||||
import { EmbedContent } from './embed_content';
|
||||
import { useShareTabsContext } from '../../context';
|
||||
|
||||
const EMBED_TAB_ACTIONS = {
|
||||
SET_EMBED_URL: 'SET_EMBED_URL',
|
||||
SET_IS_NOT_SAVED: 'SET_IS_NOT_SAVED',
|
||||
};
|
||||
|
||||
type IEmbedTab = IModalTabDeclaration<{ url: string; isNotSaved: boolean }>;
|
||||
|
||||
const embedTabReducer: IEmbedTab['reducer'] = (state = { url: '', isNotSaved: false }, action) => {
|
||||
switch (action.type) {
|
||||
case EMBED_TAB_ACTIONS.SET_IS_NOT_SAVED:
|
||||
return {
|
||||
...state,
|
||||
isNotSaved: action.payload,
|
||||
};
|
||||
case EMBED_TAB_ACTIONS.SET_IS_NOT_SAVED:
|
||||
return {
|
||||
...state,
|
||||
isNotSaved: action.payload,
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
|
||||
const EmbedTabContent: NonNullable<IEmbedTab['content']> = ({ state, dispatch }) => {
|
||||
const { embedUrlParamExtensions, shareableUrlForSavedObject, shareableUrl, objectType, isDirty } =
|
||||
const { embedUrlParamExtensions, shareableUrlForSavedObject, shareableUrl, objectType } =
|
||||
useShareTabsContext()!;
|
||||
|
||||
const setIsNotSaved = useCallback(() => {
|
||||
dispatch({
|
||||
type: EMBED_TAB_ACTIONS.SET_IS_NOT_SAVED,
|
||||
payload: objectType === 'dashboard' ? isDirty : false,
|
||||
});
|
||||
}, [dispatch, objectType, isDirty]);
|
||||
|
||||
return (
|
||||
<EmbedContent
|
||||
{...{
|
||||
|
@ -55,8 +26,6 @@ const EmbedTabContent: NonNullable<IEmbedTab['content']> = ({ state, dispatch })
|
|||
shareableUrlForSavedObject,
|
||||
shareableUrl,
|
||||
objectType,
|
||||
isNotSaved: state?.isNotSaved,
|
||||
setIsNotSaved,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
@ -67,6 +36,5 @@ export const embedTab: IEmbedTab = {
|
|||
name: i18n.translate('share.contextMenu.embedCodeTab', {
|
||||
defaultMessage: 'Embed',
|
||||
}),
|
||||
reducer: embedTabReducer,
|
||||
content: EmbedTabContent,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue