diff --git a/src/hello.svelte b/src/hello.svelte index da4baa3..b4fcf1d 100644 --- a/src/hello.svelte +++ b/src/hello.svelte @@ -5,6 +5,7 @@
diff --git a/src/index.ts b/src/index.ts index 2940cfd..31f794b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,6 +9,10 @@ import "./index.scss"; export default class SamplePlugin extends Plugin { + counter: { [key: string]: number } = { + hello: 0, + }; + async onload() { console.log("onload"); showMessage("Hello World"); @@ -25,22 +29,32 @@ export default class SamplePlugin extends Plugin { let dialog = new Dialog({ title: "SettingPannel", content: `
`, - width: "600px" + width: "600px", + destroyCallback: (options) => { + console.log("destroyCallback", options); + //You must destroy the component when the dialog is closed + pannel.$destroy(); + } }); - new SettingPannel({ + let pannel = new SettingPannel({ target: dialog.element.querySelector("#SettingPanel"), }); } private openHelloDialog() { + this.counter.hello++; let dialog = new Dialog({ title: "Hello World", content: `
`, + destroyCallback(options) { + //You must destroy the component when the dialog is closed + hello.$destroy(); + }, }); - new Hello({ + let hello = new Hello({ target: dialog.element.querySelector("#helloPanel"), props: { - name: this.i18n.name, + name: `[${this.counter.hello}]${this.i18n.name}`, } }); } diff --git a/src/libs/setting-panel.svelte b/src/libs/setting-panel.svelte index cdc9f4c..ccf424e 100644 --- a/src/libs/setting-panel.svelte +++ b/src/libs/setting-panel.svelte @@ -1,7 +1,13 @@
+
+
+

This setting panel is provided by a svelte component

+
+ + See: +
/lib/setting-pannel.svelte
+
+
+
+
{ - showMessage(`Checkbox changed: ${event.detail.key} = ${event.detail.value}`); + showMessage( + `Checkbox changed: ${event.detail.key} = ${event.detail.value}` + ); }} /> { - showMessage(`Input changed: ${event.detail.key} = ${event.detail.value}`); + showMessage( + `Input changed: ${event.detail.key} = ${event.detail.value}` + ); }} /> { - showMessage(`Select changed: ${event.detail.key} = ${event.detail.value}`); + showMessage( + `Select changed: ${event.detail.key} = ${event.detail.value}` + ); }} /> { - showMessage(`Slide changed: ${event.detail.key} = ${event.detail.value}`); + showMessage( + `Slide changed: ${event.detail.key} = ${event.detail.value}` + ); }} /> -
\ No newline at end of file +