mirror of
https://github.com/zsviczian/obsidian-excalidraw-plugin.git
synced 2025-08-06 05:46:28 +00:00
2.5.0
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "obsidian-excalidraw-plugin",
|
||||
"name": "Excalidraw",
|
||||
"version": "2.5.0-rc-1",
|
||||
"version": "2.5.0",
|
||||
"minAppVersion": "1.1.6",
|
||||
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
|
||||
"author": "Zsolt Viczian",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "obsidian-excalidraw-plugin",
|
||||
"name": "Excalidraw",
|
||||
"version": "2.4.3",
|
||||
"version": "2.5.0",
|
||||
"minAppVersion": "1.1.6",
|
||||
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
|
||||
"author": "Zsolt Viczian",
|
||||
|
||||
@@ -9,6 +9,8 @@ import {
|
||||
MarkdownView,
|
||||
request,
|
||||
requireApiVersion,
|
||||
HoverParent,
|
||||
HoverPopover,
|
||||
} from "obsidian";
|
||||
//import * as React from "react";
|
||||
//import * as ReactDOM from "react-dom";
|
||||
@@ -251,7 +253,8 @@ type ActionButtons = "save" | "isParsed" | "isRaw" | "link" | "scriptInstall";
|
||||
|
||||
let windowMigratedDisableZoomOnce = false;
|
||||
|
||||
export default class ExcalidrawView extends TextFileView {
|
||||
export default class ExcalidrawView extends TextFileView implements HoverParent{
|
||||
public hoverPopover: HoverPopover;
|
||||
private freedrawLastActiveTimestamp: number = 0;
|
||||
public exportDialog: ExportDialog;
|
||||
public excalidrawData: ExcalidrawData;
|
||||
@@ -1348,7 +1351,7 @@ export default class ExcalidrawView extends TextFileView {
|
||||
|
||||
//if link will open in the same pane I want to save the drawing before opening the link
|
||||
await this.forceSaveIfRequired();
|
||||
const {leaf, promise} = openLeaf({
|
||||
const { promise } = openLeaf({
|
||||
plugin: this.plugin,
|
||||
fnGetLeaf: () => getLeaf(this.plugin,this.leaf,keys),
|
||||
file,
|
||||
@@ -1802,6 +1805,7 @@ export default class ExcalidrawView extends TextFileView {
|
||||
new Notice("Unknown error, save is taking too long");
|
||||
return;
|
||||
}
|
||||
await this.forceSaveIfRequired();
|
||||
}
|
||||
|
||||
private async forceSaveIfRequired():Promise<boolean> {
|
||||
@@ -1810,9 +1814,9 @@ export default class ExcalidrawView extends TextFileView {
|
||||
let dirty = false;
|
||||
//if saving was already in progress
|
||||
//the function awaits the save to finish.
|
||||
while (this.semaphores.saving && watchdog++ < 10) {
|
||||
while (this.semaphores.saving && watchdog++ < 200) {
|
||||
dirty = true;
|
||||
await sleep(20);
|
||||
await sleep(40);
|
||||
}
|
||||
if(this.excalidrawAPI) {
|
||||
this.checkSceneVersion(this.excalidrawAPI.getSceneElements());
|
||||
@@ -2348,7 +2352,7 @@ export default class ExcalidrawView extends TextFileView {
|
||||
Regular = customCM.alphaTo(opacity).stringRGB({ alpha: true });
|
||||
|
||||
// Bold is 7 shades lighter or darker based on the custom color's darkness
|
||||
Bold = (customIsDark ? customCM.lighterBy(7) : customCM.darkerBy(7)).alphaTo(opacity).stringRGB({ alpha: true });
|
||||
Bold = (customIsDark ? customCM.lighterBy(10) : customCM.darkerBy(10)).alphaTo(opacity).stringRGB({ alpha: true });
|
||||
}
|
||||
|
||||
return { Bold, Regular };
|
||||
@@ -3363,7 +3367,7 @@ export default class ExcalidrawView extends TextFileView {
|
||||
}
|
||||
|
||||
const activeTool = st.activeTool;
|
||||
if(activeTool.type!=="freedraw") {
|
||||
if(!["freedraw","hand"].includes(activeTool.type)) {
|
||||
activeTool.type = "selection";
|
||||
}
|
||||
activeTool.customType = null;
|
||||
@@ -3431,7 +3435,15 @@ export default class ExcalidrawView extends TextFileView {
|
||||
}
|
||||
|
||||
private clearHoverPreview() {
|
||||
if (this.hoverPreviewTarget) {
|
||||
if (this.hoverPopover) {
|
||||
this.hoverPreviewTarget = null;
|
||||
//@ts-ignore
|
||||
if(this.hoverPopover.embed?.editor) {
|
||||
return;
|
||||
}
|
||||
//@ts-ignore
|
||||
this.hoverPopover?.hide();
|
||||
} else if (this.hoverPreviewTarget) {
|
||||
(process.env.NODE_ENV === 'development') && DEBUGGING && debug(this.clearHoverPreview, "ExcalidrawView.clearHoverPreview", this);
|
||||
const event = new MouseEvent("click", {
|
||||
view: this.ownerWindow,
|
||||
@@ -3617,7 +3629,7 @@ export default class ExcalidrawView extends TextFileView {
|
||||
this.app.workspace.trigger("hover-link", {
|
||||
event: this.lastMouseEvent,
|
||||
source: VIEW_TYPE_EXCALIDRAW,
|
||||
hoverParent: this.hoverPreviewTarget,
|
||||
hoverParent: this,
|
||||
targetEl: this.hoverPreviewTarget, //null //0.15.0 hover editor!!
|
||||
linktext: this.plugin.hover.linkText,
|
||||
sourcePath: this.plugin.hover.sourcePath,
|
||||
@@ -5080,7 +5092,8 @@ export default class ExcalidrawView extends TextFileView {
|
||||
React,
|
||||
t("COPY_DRAWING_LINK"),
|
||||
() => {
|
||||
navigator.clipboard.writeText(`![[${this.file.path}]]`);
|
||||
const path = this.file.path.match(/(.*)(\.md)$/)?.[1];
|
||||
navigator.clipboard.writeText(`![[${path ?? this.file.path}]]`);
|
||||
},
|
||||
onClose
|
||||
),
|
||||
|
||||
@@ -17,6 +17,20 @@ I develop this plugin as a hobby, spending my free time doing this. If you find
|
||||
|
||||
<div class="ex-coffee-div"><a href="https://ko-fi.com/zsolt"><img src="https://cdn.ko-fi.com/cdn/kofi3.png?v=3" height=45></a></div>
|
||||
`,
|
||||
"2.5.0": `
|
||||
The new [Community Wiki](https://excalidraw-obsidian.online/Hobbies/Excalidraw+Blog/WIKI/Welcome+to+the+WIKI) is waiting for your contribution!
|
||||
|
||||
## Fixed
|
||||
- Regression from 2.4.3: Text flickers when editing text in a container [#2015](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/2015).
|
||||
- Significantly improved the performance of group and frame [image fragments](https://youtu.be/sjZfdqpxqsg) when the source drawing includes many images, but the fragment does not.
|
||||
- Minor styling tweaks. Note that with Obsidian 1.7.1, the font size and zoom settings in Obsidian > Appearance will affect the size of buttons and menu items in Excalidraw as well.
|
||||
|
||||
## New
|
||||
- New Canvas Search from Excalidraw.com (CTRL/CMD+F). The "old" search is still available in the Obsidian Command Palette _"Search for text in drawing"_. The old search will also search in image-file names and frame titles, but the result set is not as sophisticated as the one built by Excalidraw.com. If you want to use the old search, you can set up a hotkey in Obsidian settings, e.g., CTRL+ALT/CMD+OPT+F. [#8438](https://github.com/excalidraw/excalidraw/pull/8438)
|
||||
- Grid Color settings under **Excalidraw Appearance and Behavior**. Note that the grid color and opacity also affect the color and transparency of the binding box when using the arrow tool. [#2007](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/2007)
|
||||
- Refactoring the code to be compatible with the upcoming Obsidian 1.7.2.
|
||||
- ${String.fromCharCode(96)}ExcalidrawAutomate.decompressFromBase64()${String.fromCharCode(96)} will now remove line breaks from the input string so you can directly supply the compressed JSON string for decompression by script.
|
||||
`,
|
||||
"2.4.3": `
|
||||
Check out the [Excalidraw Plugin's Community WIKI](https://excalidraw-obsidian.online/Hobbies/Excalidraw+Blog/WIKI/Welcome+to+the+WIKI) and help with your content contribution.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user