mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2025-02-07 19:30:08 +02:00
- `Sync on Editor save` has been implemented - Now we can use the `Hidden file sync` and the `Customization sync` cooperatively. - We can ignore specific plugins in Customization sync. - Now the message of leftover conflicted files accepts our click. Refactored: - Parallelism functions made more explicit. - Type errors have been reduced. Fixed: - Now documents would not be overwritten if they are conflicted. - Some error messages have been fixed. - Missing dialogue titles have been shown now.
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import { App, Modal } from "./deps";
|
|
import { logMessageStore } from "./lib/src/stores";
|
|
import { escapeStringToHTML } from "./lib/src/strbin";
|
|
import ObsidianLiveSyncPlugin from "./main";
|
|
|
|
export class LogDisplayModal extends Modal {
|
|
plugin: ObsidianLiveSyncPlugin;
|
|
logEl: HTMLDivElement;
|
|
unsubscribe: () => void;
|
|
constructor(app: App, plugin: ObsidianLiveSyncPlugin) {
|
|
super(app);
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
onOpen() {
|
|
const { contentEl } = this;
|
|
this.titleEl.setText("Sync status");
|
|
|
|
contentEl.empty();
|
|
const div = contentEl.createDiv("");
|
|
div.addClass("op-scrollable");
|
|
div.addClass("op-pre");
|
|
this.logEl = div;
|
|
this.unsubscribe = logMessageStore.observe((e) => {
|
|
let msg = "";
|
|
for (const v of e) {
|
|
msg += escapeStringToHTML(v) + "<br>";
|
|
}
|
|
this.logEl.innerHTML = msg;
|
|
})
|
|
logMessageStore.invalidate();
|
|
}
|
|
onClose() {
|
|
const { contentEl } = this;
|
|
contentEl.empty();
|
|
if (this.unsubscribe) this.unsubscribe();
|
|
}
|
|
}
|