From e8666797d77a5e04bccb7ab7d5fc90ebc5ad3c7b Mon Sep 17 00:00:00 2001 From: Zsolt Viczian Date: Fri, 10 Sep 2021 16:16:13 +0200 Subject: [PATCH] 1.3.5 --- docs/API/attributes_functions_overview.md | 2 +- docs/API/utility.md | 6 ++++-- manifest.json | 2 +- src/ExcalidrawAutomate.ts | 19 +++++++++++++++---- src/main.ts | 5 ++++- versions.json | 2 +- 6 files changed, 26 insertions(+), 10 deletions(-) diff --git a/docs/API/attributes_functions_overview.md b/docs/API/attributes_functions_overview.md index ffeed87..292d58c 100644 --- a/docs/API/attributes_functions_overview.md +++ b/docs/API/attributes_functions_overview.md @@ -53,7 +53,7 @@ setView(view:ExcalidrawView|"first"|"active"):ExcalidrawView; getExcalidrawAPI():any; getViewSelectedElement():ExcalidrawElement; getViewSelectedElements():ExcalidrawElement[]; -viewToggleFullScreen():void; +viewToggleFullScreen(forceViewMode?:boolean):void; connectObjectWithViewSelectedElement(objectA:string,connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?:{numberOfPoints?: number,startArrowHead?:string,endArrowHead?:string, padding?: number}):boolean; addElementsToView(repositionToCursor:boolean, save:boolean):Promise; }; diff --git a/docs/API/utility.md b/docs/API/utility.md index 4d8febc..ac5254d 100644 --- a/docs/API/utility.md +++ b/docs/API/utility.md @@ -117,10 +117,12 @@ Note: you can call `getExcalidrawAPI().getSceneElements()` to retreive all the e #### viewToggleFullScreen() ```typescript -viewToggleFullScreen():void +viewToggleFullScreen(forceViewMode?:boolean):void; ``` -Toggles targetView between fullscreen mode and normal mode. +Toggles targetView between fullscreen mode and normal mode. By setting forceViewMode to `true` will change Excalidraw mode to View mode. Default is `false`. + +The function will do nothing on Obsidian Mobile. #### connectObjectWithViewSelectedElement() ```typescript diff --git a/manifest.json b/manifest.json index e2215db..35b7636 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-excalidraw-plugin", "name": "Excalidraw", - "version": "1.3.4", + "version": "1.3.5", "minAppVersion": "0.12.0", "description": "An Obsidian plugin to edit and view Excalidraw drawings", "author": "Zsolt Viczian", diff --git a/src/ExcalidrawAutomate.ts b/src/ExcalidrawAutomate.ts index fcc9321..4ab5c5b 100644 --- a/src/ExcalidrawAutomate.ts +++ b/src/ExcalidrawAutomate.ts @@ -72,7 +72,7 @@ export interface ExcalidrawAutomate extends Window { getExcalidrawAPI():any; getViewSelectedElement():ExcalidrawElement; getViewSelectedElements():ExcalidrawElement[]; - viewToggleFullScreen():void; + viewToggleFullScreen(forceViewMode?:boolean):void; connectObjectWithViewSelectedElement(objectA:string,connectionA: ConnectionPoint, connectionB: ConnectionPoint, formatting?:{numberOfPoints?: number,startArrowHead?:string,endArrowHead?:string, padding?: number}):boolean; addElementsToView(repositionToCursor:boolean, save:boolean):Promise; }; @@ -448,15 +448,26 @@ export async function initExcalidrawAutomate(plugin: ExcalidrawPlugin) { if(!selectedElementsKeys) return []; return current.getSceneElements().filter((e:any)=>selectedElementsKeys.includes(e.id)); }, - viewToggleFullScreen():void { + viewToggleFullScreen(forceViewMode:boolean = false):void { if (this.plugin.app.isMobile) { errorMessage("mobile not supported", "viewToggleFullScreen()"); return; } if (!this.targetView || !this.targetView?._loaded) { - errorMessage("targetView not set"); + errorMessage("targetView not set", "viewToggleFullScreen()"); return; - } + } + if(forceViewMode){ + const ref = this.getExcalidrawAPI(); + ref.updateScene({ + elements: ref.getSceneElements(), + appState: { + viewModeEnabled: true, + ... ref.appState, + }, + commitToHistory: false, + }); + } if(document.fullscreenElement === (this.targetView as ExcalidrawView).contentEl) { document.exitFullscreen(); } else { diff --git a/src/main.ts b/src/main.ts index 64698ad..d8fa55c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -111,7 +111,10 @@ export default class ExcalidrawPlugin extends Plugin { //https://github.com/mgmeyers/obsidian-kanban/blob/44118e25661bff9ebfe54f71ae33805dc88ffa53/src/main.ts#L267 this.registerMonkeyPatches(); if(this.settings.loadCount<1) this.migrationNotice(); - + const electron:string = process.versions.electron; + if(electron.startsWith("8.")) { + new Notice(`You are running an older version of the electron Browser (${electron}). If Excalidraw does not start up, please reinstall Obsidian with the latest installer and try again.`,10000); + } } private migrationNotice(){ diff --git a/versions.json b/versions.json index bee770d..f3ec3bb 100644 --- a/versions.json +++ b/versions.json @@ -1,3 +1,3 @@ { - "1.3.4": "0.11.13" + "1.3.5": "0.11.13" }