From bf8e569bde0dd2b2ce6bf248a209a01a7523a7f4 Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Thu, 7 Apr 2022 15:19:32 +0530 Subject: [PATCH] Fixed an issue where the downloaded ERD diagram was 0 bytes. Fixes #7187 --- docs/en_US/release_notes.rst | 1 + docs/en_US/release_notes_6_9.rst | 20 ++++++++++++++++++ .../js/erd_tool/ui_components/BodyWidget.jsx | 21 +++++++++++++++++-- 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 docs/en_US/release_notes_6_9.rst diff --git a/docs/en_US/release_notes.rst b/docs/en_US/release_notes.rst index 16f0fc519..bfb7f652c 100644 --- a/docs/en_US/release_notes.rst +++ b/docs/en_US/release_notes.rst @@ -11,6 +11,7 @@ notes for it. .. toctree:: :maxdepth: 1 + release_notes_6_9 release_notes_6_8 release_notes_6_7 release_notes_6_6 diff --git a/docs/en_US/release_notes_6_9.rst b/docs/en_US/release_notes_6_9.rst new file mode 100644 index 000000000..ba1ebc28a --- /dev/null +++ b/docs/en_US/release_notes_6_9.rst @@ -0,0 +1,20 @@ +************ +Version 6.9 +************ + +Release date: 2022-05-05 + +This release contains a number of bug fixes and new features since the release of pgAdmin4 6.8. + +New features +************ + + +Housekeeping +************ + + +Bug fixes +********* + + | `Issue #7187 `_ - Fixed an issue where the downloaded ERD diagram was 0 bytes. diff --git a/web/pgadmin/tools/erd/static/js/erd_tool/ui_components/BodyWidget.jsx b/web/pgadmin/tools/erd/static/js/erd_tool/ui_components/BodyWidget.jsx index 2b598d808..f1eefe903 100644 --- a/web/pgadmin/tools/erd/static/js/erd_tool/ui_components/BodyWidget.jsx +++ b/web/pgadmin/tools/erd/static/js/erd_tool/ui_components/BodyWidget.jsx @@ -657,11 +657,24 @@ export default class BodyWidget extends React.Component { }; setTimeout(()=>{ + let width = this.canvasEle.scrollWidth + 10; + let height = this.canvasEle.scrollHeight + 10; + let isCut = false; + /* Canvas limitation - https://html2canvas.hertzen.com/faq */ + if(width >= 32767){ + width = 32766; + isCut = true; + } + if(height >= 32767){ + height = 32766; + isCut = true; + } html2canvas(this.canvasEle, { - width: this.canvasEle.scrollWidth + 10, - height: this.canvasEle.scrollHeight + 10, + width: width, + height: height, scrollX: 0, scrollY: 0, + scale: 1, useCORS: true, allowTaint: true, backgroundColor: window.getComputedStyle(this.canvasEle).backgroundColor, @@ -691,6 +704,10 @@ export default class BodyWidget extends React.Component { ele.style.transform = prevTransform; }); this.setLoading(null); + if(isCut) { + Notify.alert(gettext('Maximum image size limit'), + gettext('The downloaded image has exceeded the maximum size of 32767 x 32767 pixels, and has been cropped to that size.')); + } }); }, 1000); }