mirror of
https://github.com/apache/superset.git
synced 2024-09-06 13:57:40 -04:00
fix: Unable to download the Dashboard as image in case there's an image added through Markdown (#20362)
* fix: Unable to download the Dashboard as image in case there's an image added through Markdown * licence
This commit is contained in:
parent
cb3cd41dcd
commit
c5d3678a31
37
superset-frontend/package-lock.json
generated
37
superset-frontend/package-lock.json
generated
@ -66,7 +66,7 @@
|
|||||||
"d3-array": "^1.2.4",
|
"d3-array": "^1.2.4",
|
||||||
"d3-color": "^1.2.0",
|
"d3-color": "^1.2.0",
|
||||||
"d3-scale": "^2.1.2",
|
"d3-scale": "^2.1.2",
|
||||||
"dom-to-image": "^2.6.0",
|
"dom-to-image-more": "^2.10.1",
|
||||||
"emotion-rgba": "0.0.9",
|
"emotion-rgba": "0.0.9",
|
||||||
"fast-glob": "^3.2.7",
|
"fast-glob": "^3.2.7",
|
||||||
"fontsource-fira-code": "^4.0.0",
|
"fontsource-fira-code": "^4.0.0",
|
||||||
@ -177,7 +177,6 @@
|
|||||||
"@testing-library/react-hooks": "^5.0.3",
|
"@testing-library/react-hooks": "^5.0.3",
|
||||||
"@testing-library/user-event": "^12.7.0",
|
"@testing-library/user-event": "^12.7.0",
|
||||||
"@types/classnames": "^2.2.10",
|
"@types/classnames": "^2.2.10",
|
||||||
"@types/dom-to-image": "^2.6.0",
|
|
||||||
"@types/enzyme": "^3.10.5",
|
"@types/enzyme": "^3.10.5",
|
||||||
"@types/enzyme-adapter-react-16": "^1.0.6",
|
"@types/enzyme-adapter-react-16": "^1.0.6",
|
||||||
"@types/fetch-mock": "^7.3.2",
|
"@types/fetch-mock": "^7.3.2",
|
||||||
@ -16736,15 +16735,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.3.1.tgz",
|
||||||
"integrity": "sha512-fck0Z9RGfIQn3GJIEKVrp15h9m6Vlg0d5XXeiE/6+CQiBmMDZxfR21XtjEPuDeg7gC3bBM0SdieA5XF3GW1wKA=="
|
"integrity": "sha512-fck0Z9RGfIQn3GJIEKVrp15h9m6Vlg0d5XXeiE/6+CQiBmMDZxfR21XtjEPuDeg7gC3bBM0SdieA5XF3GW1wKA=="
|
||||||
},
|
},
|
||||||
"node_modules/@types/dom-to-image": {
|
|
||||||
"version": "2.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/dom-to-image/-/dom-to-image-2.6.0.tgz",
|
|
||||||
"integrity": "sha512-X7qEh5AI1s/fb/Ijb1WU/tl7nZjD/A3b0PZiq3QjD31EZkgPooPdpte9MCJWQgqjxA0F8AJFuPd53YDrFJFE7w==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/enzyme": {
|
"node_modules/@types/enzyme": {
|
||||||
"version": "3.10.10",
|
"version": "3.10.10",
|
||||||
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.10.tgz",
|
||||||
@ -26331,10 +26321,10 @@
|
|||||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
|
||||||
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
|
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
|
||||||
},
|
},
|
||||||
"node_modules/dom-to-image": {
|
"node_modules/dom-to-image-more": {
|
||||||
"version": "2.6.0",
|
"version": "2.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/dom-to-image-more/-/dom-to-image-more-2.10.1.tgz",
|
||||||
"integrity": "sha1-ilA2CAiMh7HCL5A0rgMuGJiVWGc="
|
"integrity": "sha512-gMG28V47WGj5/xvrsbSPJAWSaV7CBh4teLErn1iGD1sa29HsFsHxvnoLj8VxVvfqnjPgsiUGs2IV2VAxLJGb+A=="
|
||||||
},
|
},
|
||||||
"node_modules/dom-walk": {
|
"node_modules/dom-walk": {
|
||||||
"version": "0.1.1",
|
"version": "0.1.1",
|
||||||
@ -68804,15 +68794,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.3.1.tgz",
|
||||||
"integrity": "sha512-fck0Z9RGfIQn3GJIEKVrp15h9m6Vlg0d5XXeiE/6+CQiBmMDZxfR21XtjEPuDeg7gC3bBM0SdieA5XF3GW1wKA=="
|
"integrity": "sha512-fck0Z9RGfIQn3GJIEKVrp15h9m6Vlg0d5XXeiE/6+CQiBmMDZxfR21XtjEPuDeg7gC3bBM0SdieA5XF3GW1wKA=="
|
||||||
},
|
},
|
||||||
"@types/dom-to-image": {
|
|
||||||
"version": "2.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/dom-to-image/-/dom-to-image-2.6.0.tgz",
|
|
||||||
"integrity": "sha512-X7qEh5AI1s/fb/Ijb1WU/tl7nZjD/A3b0PZiq3QjD31EZkgPooPdpte9MCJWQgqjxA0F8AJFuPd53YDrFJFE7w==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@types/enzyme": {
|
"@types/enzyme": {
|
||||||
"version": "3.10.10",
|
"version": "3.10.10",
|
||||||
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.10.tgz",
|
||||||
@ -76396,10 +76377,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dom-to-image": {
|
"dom-to-image-more": {
|
||||||
"version": "2.6.0",
|
"version": "2.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/dom-to-image-more/-/dom-to-image-more-2.10.1.tgz",
|
||||||
"integrity": "sha1-ilA2CAiMh7HCL5A0rgMuGJiVWGc="
|
"integrity": "sha512-gMG28V47WGj5/xvrsbSPJAWSaV7CBh4teLErn1iGD1sa29HsFsHxvnoLj8VxVvfqnjPgsiUGs2IV2VAxLJGb+A=="
|
||||||
},
|
},
|
||||||
"dom-walk": {
|
"dom-walk": {
|
||||||
"version": "0.1.1",
|
"version": "0.1.1",
|
||||||
|
@ -126,7 +126,7 @@
|
|||||||
"d3-array": "^1.2.4",
|
"d3-array": "^1.2.4",
|
||||||
"d3-color": "^1.2.0",
|
"d3-color": "^1.2.0",
|
||||||
"d3-scale": "^2.1.2",
|
"d3-scale": "^2.1.2",
|
||||||
"dom-to-image": "^2.6.0",
|
"dom-to-image-more": "^2.10.1",
|
||||||
"emotion-rgba": "0.0.9",
|
"emotion-rgba": "0.0.9",
|
||||||
"fast-glob": "^3.2.7",
|
"fast-glob": "^3.2.7",
|
||||||
"fontsource-fira-code": "^4.0.0",
|
"fontsource-fira-code": "^4.0.0",
|
||||||
@ -237,7 +237,6 @@
|
|||||||
"@testing-library/react-hooks": "^5.0.3",
|
"@testing-library/react-hooks": "^5.0.3",
|
||||||
"@testing-library/user-event": "^12.7.0",
|
"@testing-library/user-event": "^12.7.0",
|
||||||
"@types/classnames": "^2.2.10",
|
"@types/classnames": "^2.2.10",
|
||||||
"@types/dom-to-image": "^2.6.0",
|
|
||||||
"@types/enzyme": "^3.10.5",
|
"@types/enzyme": "^3.10.5",
|
||||||
"@types/enzyme-adapter-react-16": "^1.0.6",
|
"@types/enzyme-adapter-react-16": "^1.0.6",
|
||||||
"@types/fetch-mock": "^7.3.2",
|
"@types/fetch-mock": "^7.3.2",
|
||||||
|
@ -174,7 +174,6 @@ class HeaderActionsDropdown extends React.PureComponent {
|
|||||||
downloadAsImage(
|
downloadAsImage(
|
||||||
SCREENSHOT_NODE_SELECTOR,
|
SCREENSHOT_NODE_SELECTOR,
|
||||||
this.props.dashboardTitle,
|
this.props.dashboardTitle,
|
||||||
{},
|
|
||||||
true,
|
true,
|
||||||
)(domEvent).then(() => {
|
)(domEvent).then(() => {
|
||||||
menu.style.visibility = 'visible';
|
menu.style.visibility = 'visible';
|
||||||
|
@ -195,7 +195,6 @@ export const useExploreAdditionalActionsMenu = (
|
|||||||
'.panel-body .chart-container',
|
'.panel-body .chart-container',
|
||||||
// eslint-disable-next-line camelcase
|
// eslint-disable-next-line camelcase
|
||||||
slice?.slice_name ?? t('New chart'),
|
slice?.slice_name ?? t('New chart'),
|
||||||
{},
|
|
||||||
true,
|
true,
|
||||||
)(domEvent);
|
)(domEvent);
|
||||||
setIsDropdownVisible(false);
|
setIsDropdownVisible(false);
|
||||||
|
37
superset-frontend/src/types/dom-to-image-more.d.ts
vendored
Normal file
37
superset-frontend/src/types/dom-to-image-more.d.ts
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/**
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare module 'dom-to-image-more' {
|
||||||
|
export interface Options {
|
||||||
|
filter?: ((node: Node) => boolean) | undefined;
|
||||||
|
bgcolor?: string | undefined;
|
||||||
|
width?: number | undefined;
|
||||||
|
height?: number | undefined;
|
||||||
|
style?: {} | undefined;
|
||||||
|
quality?: number | undefined;
|
||||||
|
imagePlaceholder?: string | undefined;
|
||||||
|
cacheBust?: boolean | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
class DomToImageMore {
|
||||||
|
static toJpeg(node: Node, options?: Options): Promise<string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default DomToImageMore;
|
||||||
|
}
|
@ -17,7 +17,7 @@
|
|||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
import { SyntheticEvent } from 'react';
|
import { SyntheticEvent } from 'react';
|
||||||
import domToImage from 'dom-to-image';
|
import domToImage from 'dom-to-image-more';
|
||||||
import kebabCase from 'lodash/kebabCase';
|
import kebabCase from 'lodash/kebabCase';
|
||||||
import { t } from '@superset-ui/core';
|
import { t } from '@superset-ui/core';
|
||||||
import { addWarningToast } from 'src/components/MessageToasts/actions';
|
import { addWarningToast } from 'src/components/MessageToasts/actions';
|
||||||
@ -43,7 +43,6 @@ const generateFileStem = (description: string, date = new Date()) =>
|
|||||||
* @param selector css selector of the parent element which should be turned into image
|
* @param selector css selector of the parent element which should be turned into image
|
||||||
* @param description name or a short description of what is being printed.
|
* @param description name or a short description of what is being printed.
|
||||||
* Value will be normalized, and a date as well as a file extension will be added.
|
* Value will be normalized, and a date as well as a file extension will be added.
|
||||||
* @param domToImageOptions dom-to-image Options object.
|
|
||||||
* @param isExactSelector if false, searches for the closest ancestor that matches selector.
|
* @param isExactSelector if false, searches for the closest ancestor that matches selector.
|
||||||
* @returns event handler
|
* @returns event handler
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user