chore: Add downloadAsImage types, change filter selector (#26297)

This commit is contained in:
Kamil Gabryjelski 2023-12-21 08:53:23 +01:00 committed by GitHub
parent 60abf7e2af
commit 5e85f5c81f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 26 deletions

View File

@ -186,6 +186,7 @@
"@testing-library/react-hooks": "^5.0.3",
"@testing-library/user-event": "^12.7.0",
"@types/classnames": "^2.2.10",
"@types/dom-to-image": "^2.6.7",
"@types/enzyme": "^3.10.5",
"@types/enzyme-adapter-react-16": "^1.0.6",
"@types/fetch-mock": "^7.3.2",
@ -19257,6 +19258,12 @@
"@types/ms": "*"
}
},
"node_modules/@types/dom-to-image": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/@types/dom-to-image/-/dom-to-image-2.6.7.tgz",
"integrity": "sha512-me5VbCv+fcXozblWwG13krNBvuEOm6kA5xoa4RrjDJCNFOZSWR3/QLtOXimBHk1Fisq69Gx3JtOoXtg1N1tijg==",
"dev": true
},
"node_modules/@types/enzyme": {
"version": "3.10.10",
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.10.tgz",
@ -29531,9 +29538,9 @@
"license": "MIT"
},
"node_modules/dom-to-image-more": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/dom-to-image-more/-/dom-to-image-more-2.10.1.tgz",
"integrity": "sha512-gMG28V47WGj5/xvrsbSPJAWSaV7CBh4teLErn1iGD1sa29HsFsHxvnoLj8VxVvfqnjPgsiUGs2IV2VAxLJGb+A=="
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/dom-to-image-more/-/dom-to-image-more-2.16.0.tgz",
"integrity": "sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ=="
},
"node_modules/dom-to-pdf": {
"version": "0.3.2",
@ -79240,6 +79247,12 @@
"@types/ms": "*"
}
},
"@types/dom-to-image": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/@types/dom-to-image/-/dom-to-image-2.6.7.tgz",
"integrity": "sha512-me5VbCv+fcXozblWwG13krNBvuEOm6kA5xoa4RrjDJCNFOZSWR3/QLtOXimBHk1Fisq69Gx3JtOoXtg1N1tijg==",
"dev": true
},
"@types/enzyme": {
"version": "3.10.10",
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.10.tgz",
@ -87371,9 +87384,9 @@
"from": "dom-to-image@git+https://github.com/dmapper/dom-to-image.git"
},
"dom-to-image-more": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/dom-to-image-more/-/dom-to-image-more-2.10.1.tgz",
"integrity": "sha512-gMG28V47WGj5/xvrsbSPJAWSaV7CBh4teLErn1iGD1sa29HsFsHxvnoLj8VxVvfqnjPgsiUGs2IV2VAxLJGb+A=="
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/dom-to-image-more/-/dom-to-image-more-2.16.0.tgz",
"integrity": "sha512-RyjtkaM/zVy90uJ20lT+/G7MwBZx6l/ePliq5CQOeAnPeew7aUGS6IqRWBkHpstU+POmhaKA8A9H9qf476gisQ=="
},
"dom-to-pdf": {
"version": "0.3.2",

View File

@ -252,6 +252,7 @@
"@testing-library/react-hooks": "^5.0.3",
"@testing-library/user-event": "^12.7.0",
"@types/classnames": "^2.2.10",
"@types/dom-to-image": "^2.6.7",
"@types/enzyme": "^3.10.5",
"@types/enzyme-adapter-react-16": "^1.0.6",
"@types/fetch-mock": "^7.3.2",

View File

@ -18,20 +18,6 @@
*/
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;
import domToImage = require('dom-to-image-more');
export = domToImage;
}

View File

@ -62,7 +62,7 @@ export default function downloadAsImage(
if (typeof node.className === 'string') {
return (
node.className !== 'mapboxgl-control-container' &&
!node.className.includes('ant-dropdown')
!node.className.includes('header-controls')
);
}
return true;
@ -70,17 +70,16 @@ export default function downloadAsImage(
return domToImage
.toJpeg(elementToPrint, {
quality: 1,
bgcolor: supersetTheme.colors.grayscale.light4,
filter,
})
.then(dataUrl => {
.then((dataUrl: string) => {
const link = document.createElement('a');
link.download = `${generateFileStem(description)}.jpg`;
link.href = dataUrl;
link.click();
})
.catch(e => {
.catch((e: Error) => {
console.error('Creating image failed', e);
});
};