script engine support for SVG, tooltip for buttons, tray mode and mobile fullscreen

This commit is contained in:
Zsolt Viczian
2022-02-27 08:01:12 +01:00
parent ab4ebd1009
commit 043999417c
4 changed files with 230 additions and 138 deletions

View File

@@ -6,7 +6,7 @@ import ExcalidrawPlugin from "./main";
import { GenericInputPrompt, GenericSuggester } from "./Prompt";
import { getIMGFilename, splitFolderAndFilename } from "./Utils";
export type ScriptIconMap = {[key:string]: {name:string,iconBase64:string}}
export type ScriptIconMap = {[key:string]: {name:string,svgString:string}}
export class ScriptEngine {
private plugin: ExcalidrawPlugin;
@@ -126,16 +126,13 @@ export class ScriptEngine {
async addScriptIconToMap(scriptPath:string, name: string) {
const svgFilePath = getIMGFilename(scriptPath,"svg");
const file = this.plugin.app.vault.getAbstractFileByPath(svgFilePath);
let iconBase64:string = null;
if(file && file instanceof TFile) {
const svgString = await this.plugin.app.vault.read(file);
//iconBase64 = `data:image/svg+xml,${encodeURIComponent(svgString)}`;
iconBase64 = svgString;
}
const svgString:string = (file && file instanceof TFile)
? await this.plugin.app.vault.read(file)
: null;
this.scriptIconMap = {
...this.scriptIconMap
};
this.scriptIconMap[scriptPath] = {name,iconBase64};
this.scriptIconMap[scriptPath] = {name,svgString};
this.updateToolPannels();
}