From b6a6f2d465d25c4c0bed247924fdf4ac324179f0 Mon Sep 17 00:00:00 2001 From: Achille Lacoin Date: Tue, 26 Apr 2022 13:28:39 +0200 Subject: [PATCH] feat: Expose `window.EXCALIDRAW_EXPORT_SOURCE` which host can use to overwrite the source field in exports (#5095) * Expose `window.EXCALIDRAW_EXPORT_SOURCE` which host can use to overwrite the source field in exports * Update src/packages/excalidraw/CHANGELOG.md Co-authored-by: David Luzar * address review comments * Update src/packages/excalidraw/README_NEXT.md Co-authored-by: Aakansha Doshi * Update src/packages/excalidraw/README_NEXT.md Co-authored-by: Aakansha Doshi * EXCALIDRAW_EXPORT_SOURCE -> EXCALIDRAW_EXPORT_SOURCE_PATH Co-authored-by: David Luzar Co-authored-by: Aakansha Doshi --- src/constants.ts | 3 ++- src/global.d.ts | 1 + src/packages/excalidraw/CHANGELOG.md | 1 + src/packages/excalidraw/README_NEXT.md | 4 ++++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/constants.ts b/src/constants.ts index 8d2ae346..83c70cb6 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -108,7 +108,8 @@ export const EXPORT_DATA_TYPES = { excalidrawLibrary: "excalidrawlib", } as const; -export const EXPORT_SOURCE = window.location.origin; +export const EXPORT_SOURCE = + window.EXCALIDRAW_EXPORT_SOURCE_PATH || window.location.origin; // time in milliseconds export const IMAGE_RENDER_TIMEOUT = 500; diff --git a/src/global.d.ts b/src/global.d.ts index 4d607b9a..a5cc0de5 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -13,6 +13,7 @@ interface Window { ClipboardItem: any; __EXCALIDRAW_SHA__: string | undefined; EXCALIDRAW_ASSET_PATH: string | undefined; + EXCALIDRAW_EXPORT_SOURCE_PATH: string; gtag: Function; } diff --git a/src/packages/excalidraw/CHANGELOG.md b/src/packages/excalidraw/CHANGELOG.md index e3aa056d..02bdebcc 100644 --- a/src/packages/excalidraw/CHANGELOG.md +++ b/src/packages/excalidraw/CHANGELOG.md @@ -17,6 +17,7 @@ Please add the latest change on the top under the correct section. #### Features +- Expose `window.EXCALIDRAW_EXPORT_SOURCE_PATH` which you can use to overwrite the `source` field in exported data [#5095](https://github.com/excalidraw/excalidraw/pull/5095). - The `exportToBlob` utility now supports the `exportEmbedScene` option when generating a png image [#5047](https://github.com/excalidraw/excalidraw/pull/5047). - Exported [`restoreLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreLibraryItems) API [#4995](https://github.com/excalidraw/excalidraw/pull/4995). diff --git a/src/packages/excalidraw/README_NEXT.md b/src/packages/excalidraw/README_NEXT.md index c20b2915..d67c8f9e 100644 --- a/src/packages/excalidraw/README_NEXT.md +++ b/src/packages/excalidraw/README_NEXT.md @@ -924,6 +924,8 @@ serializeAsJSON({ Takes the scene elements and state and returns a JSON string. Deleted `elements`as well as most properties from `AppState` are removed from the resulting JSON. (see [`serializeAsJSON()`](https://github.com/excalidraw/excalidraw/blob/master/src/data/json.ts#L16) source for details). +If you want to overwrite the source field in the JSON string, you can set `window.EXCALIDRAW_EXPORT_SOURCE_PATH` to the desired value. + #### `serializeLibraryAsJSON` **_Signature_** @@ -935,6 +937,8 @@ serializeLibraryAsJSON({ Takes the library items and returns a JSON string. +If you want to overwrite the source field in the JSON string, you can set `window.EXCALIDRAW_EXPORT_SOURCE_PATH` to the desired value. + #### `getSceneVersion` **How to use**