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
+