diff --git a/package.json b/package.json index 80e464f..cae9cdc 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "license": "MIT", "dependencies": { "@excalidraw/excalidraw": "0.6.0", - "aakansha-excalidraw": "0.7.0-fixtext", + "aakansha-excalidraw": "0.7.0-ccp", "react": "17.0.1", "react-dom": "17.0.1", "react-scripts": "4.0.1" diff --git a/rollup.config.js b/rollup.config.js index 2fba8cc..cdc771b 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -6,7 +6,6 @@ import { env } from "process"; import babel from '@rollup/plugin-babel'; import replace from "@rollup/plugin-replace"; import visualizer from "rollup-plugin-visualizer"; -import minify from "rollup-plugin-minify" const isProd = (process.env.NODE_ENV === "production"); console.log("Is production", isProd); diff --git a/src/ExcalidrawView.ts b/src/ExcalidrawView.ts index 6b0e213..163b9cd 100644 --- a/src/ExcalidrawView.ts +++ b/src/ExcalidrawView.ts @@ -16,6 +16,7 @@ import { EXCALIDRAW_LIB_HEADER, } from './constants'; import ExcalidrawPlugin from './main'; +import { THEME_FILTER } from "@excalidraw/excalidraw/types/constants"; export default class ExcalidrawView extends TextFileView { private getScene: any; @@ -48,7 +49,12 @@ export default class ExcalidrawView extends TextFileView { // clear the view content clear() { - if(this.excalidrawRef) this.excalidrawRef.current.resetScene(); + if(this.excalidrawRef) { + this.excalidrawRef = null; + this.getScene = null; + ReactDOM.unmountComponentAtNode(this.contentEl); + } + //this.excalidrawRef.current.resetScene({ resetLoadingState: true }); } private async loadDrawing (data:string, clear:boolean) { @@ -99,7 +105,6 @@ export default class ExcalidrawView extends TextFileView { private instantiateExcalidraw(initdata: any) { - //this.clear(); const reactElement = React.createElement(() => { const excalidrawRef = React.useRef(null); const excalidrawWrapperRef = React.useRef(null); @@ -107,14 +112,14 @@ export default class ExcalidrawView extends TextFileView { width: undefined, height: undefined }); - + this.excalidrawRef = excalidrawRef; - React.useEffect(() => { setDimensions({ width: this.contentEl.clientWidth, height: this.contentEl.clientHeight, }); + const onResize = () => { try { setDimensions({ @@ -141,8 +146,6 @@ export default class ExcalidrawView extends TextFileView { "appState": { "theme": st.theme, "viewBackgroundColor": st.viewBackgroundColor, - "gridSize": st.gridSize, - "zenModeEnabled": st.zenModeEnabled } }); }; @@ -155,9 +158,11 @@ export default class ExcalidrawView extends TextFileView { { className: "excalidraw-wrapper", ref: excalidrawWrapperRef, + key: "abc", }, React.createElement(Excalidraw.default, { ref: excalidrawRef, + key: "xyz", width: dimensions.width, height: dimensions.height, UIOptions: { @@ -184,6 +189,7 @@ export default class ExcalidrawView extends TextFileView { ); }); ReactDOM.render(reactElement,(this as any).contentEl); + } public static getSVG(data:string):SVGSVGElement { diff --git a/yarn.lock b/yarn.lock index 8eb3419..b5681ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2156,10 +2156,10 @@ "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" "version" "4.2.2" -"aakansha-excalidraw@0.7.0-fixtext": - "integrity" "sha512-3rrI/FaqaINxxWZVmWPqhBtW4ySn3aco7rds8k9a/dAffShw/3zPBtiPpy8HWwwNTEu3Mzz0oqpq88l+mCw4sQ==" - "resolved" "https://registry.npmjs.org/aakansha-excalidraw/-/aakansha-excalidraw-0.7.0-fixtext.tgz" - "version" "0.7.0-fixtext" +"aakansha-excalidraw@0.7.0-ccp": + "integrity" "sha512-/RQBh8x9WBmuwT2xebmQnktJlPkD58eLuc9D8wT4bL1X+mf4q5jK6TF4YxUUn2qbyvHVunHenz+N9Z6Az5bB/w==" + "resolved" "https://registry.npmjs.org/aakansha-excalidraw/-/aakansha-excalidraw-0.7.0-ccp.tgz" + "version" "0.7.0-ccp" "abab@^2.0.3", "abab@^2.0.5": "integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" @@ -3360,13 +3360,6 @@ dependencies: "source-map" "~0.6.0" -"clean-css@^5.0.1": - "integrity" "sha512-QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==" - "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "source-map" "~0.6.0" - "clean-stack@^2.0.0": "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" @@ -3803,11 +3796,6 @@ "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" "version" "1.0.1" -"css-b64-images@~0.2.5": - "integrity" "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=" - "resolved" "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz" - "version" "0.2.5" - "css-blank-pseudo@^0.1.4": "integrity" "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==" "resolved" "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz" @@ -5737,7 +5725,7 @@ "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" "version" "2.0.2" -"html-minifier-terser@^5.0.1", "html-minifier-terser@^5.1.1": +"html-minifier-terser@^5.0.1": "integrity" "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==" "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" "version" "5.1.1" @@ -7518,18 +7506,6 @@ "schema-utils" "^1.0.0" "webpack-sources" "^1.1.0" -"minify@7.0.1": - "integrity" "sha512-U3CjnPKRjPu3DxZX7NsB833r2ijbw9af3fHsaChn6o7BHKvaT/zxYDQ8Q/3W7VFXGDrnkAx6XBx3ggEf5KJm7A==" - "resolved" "https://registry.npmjs.org/minify/-/minify-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "clean-css" "^5.0.1" - "css-b64-images" "~0.2.5" - "debug" "^4.1.0" - "html-minifier-terser" "^5.1.1" - "terser" "^5.3.2" - "try-to-catch" "^3.0.0" - "minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" @@ -11199,15 +11175,6 @@ "source-map" "~0.6.1" "source-map-support" "~0.5.12" -"terser@^5.3.2": - "integrity" "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz" - "version" "5.6.1" - dependencies: - "commander" "^2.20.0" - "source-map" "~0.7.2" - "source-map-support" "~0.5.19" - "terser@^5.3.4": "integrity" "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==" "resolved" "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz" @@ -11350,11 +11317,6 @@ dependencies: "punycode" "^2.1.1" -"try-to-catch@^3.0.0": - "integrity" "sha512-eIm6ZXwR35jVF8By/HdbbkcaCDTBI5PpCPkejRKrYp0jyf/DbCCcRhHD7/O9jtFI3ewsqo9WctFEiJTS6i+CQA==" - "resolved" "https://registry.npmjs.org/try-to-catch/-/try-to-catch-3.0.0.tgz" - "version" "3.0.0" - "tryer@^1.0.1": "integrity" "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" "resolved" "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz"