feat: svelte example for setting pannel

This commit is contained in:
frostime 2023-05-20 11:09:27 +08:00
parent 18fc66f0f6
commit 925d5c5aac
5 changed files with 195 additions and 38 deletions

View file

@ -2,9 +2,10 @@
* Copyright (c) 2023 frostime. All rights reserved.
* https://github.com/frostime/sy-plugin-template-vite
*/
import { Plugin, showMessage, Dialog } from "siyuan"
import Hello from "./hello.svelte"
import "./index.scss"
import { Plugin, showMessage, Dialog } from "siyuan";
import Hello from "./hello.svelte";
import SettingPannel from "./libs/setting-panel.svelte";
import "./index.scss";
export default class SamplePlugin extends Plugin {
@ -15,22 +16,35 @@ export default class SamplePlugin extends Plugin {
{
icon: "iconEmoji",
"title": "Hello SiYuan",
"callback": () => {
let dialog = new Dialog({
title: "Hello World",
content: `<div id="helloPanel"></div>`,
});
new Hello({
target: dialog.element.querySelector("#helloPanel"),
props: {
name: this.i18n.name,
}
});
}
"callback": () => this.openHelloDialog()
}
)
}
openSetting(): void {
let dialog = new Dialog({
title: "SettingPannel",
content: `<div id="SettingPanel"></div>`,
width: "600px"
});
new SettingPannel({
target: dialog.element.querySelector("#SettingPanel"),
});
}
private openHelloDialog() {
let dialog = new Dialog({
title: "Hello World",
content: `<div id="helloPanel"></div>`,
});
new Hello({
target: dialog.element.querySelector("#helloPanel"),
props: {
name: this.i18n.name,
}
});
}
async onunload() {
showMessage("Goodbye World");
console.log("onunload");