Skip to content

Commit 2ff4e5e

Browse files
committed
destroy method for input fields
1 parent 546710d commit 2ff4e5e

16 files changed

+43
-7
lines changed

exampleVault/Input Fields/Select and Multi Select.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
select: option 1
2+
select: option 2
33
multiSelect:
44
- option 1
5-
- option 2
5+
- option 3
66
---
77

88
### Select
@@ -23,4 +23,5 @@ option(option 2),
2323
option(option 3),
2424
showcase
2525
):multiSelect]
26+
2627
```

src/InputFieldMarkdownRenderChild.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ export class InputFieldMarkdownRenderChild extends MarkdownRenderChild {
167167
}
168168

169169
async onload(): Promise<void> {
170-
console.debug('meta-bind | InputFieldMarkdownRenderChild >> load', this);
170+
console.log('meta-bind | InputFieldMarkdownRenderChild >> load', this);
171171

172172
const container: HTMLDivElement = createDiv();
173173
container.addClass('meta-bind-plugin-input-wrapper');
@@ -213,8 +213,9 @@ export class InputFieldMarkdownRenderChild extends MarkdownRenderChild {
213213
}
214214

215215
onunload(): void {
216-
console.debug('meta-bind | InputFieldMarkdownRenderChild >> unload', this);
216+
console.log('meta-bind | InputFieldMarkdownRenderChild >> unload', this);
217217

218+
this.inputField?.destroy();
218219
this.plugin.unregisterInputFieldMarkdownRenderChild(this);
219220
this.unregisterSelfFromMetadataManager();
220221

src/inputFields/AbstractInputField.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,6 @@ export abstract class AbstractInputField {
4646
* @param container
4747
*/
4848
abstract render(container: HTMLDivElement): void;
49+
50+
abstract destroy(): void;
4951
}

src/inputFields/DateInputField.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ export class DateInputField extends AbstractInputField {
141141
this.container = container;
142142
}
143143

144+
public destroy(): void {}
145+
144146
private onMonthChange(value: string): void {
145147
this.date.month(value);
146148

src/inputFields/DatePicker/DatePickerInputField.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,8 @@ export class DatePickerInputField extends AbstractInputField {
8686
},
8787
});
8888
}
89+
90+
public destroy(): void {
91+
this.component?.$destroy();
92+
}
8993
}

src/inputFields/Editor/EditorInputField.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,8 @@ export class EditorInputField extends AbstractInputField {
5858

5959
this.component.render();
6060
}
61+
62+
public destroy(): void {
63+
this.component?.$destroy();
64+
}
6165
}

src/inputFields/ImageSuggest/ImageSuggestInputField.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,4 +116,8 @@ export class ImageSuggestInputField extends AbstractInputField {
116116

117117
this.component.updateValue(this.value);
118118
}
119+
120+
public destroy(): void {
121+
this.component?.$destroy();
122+
}
119123
}

src/inputFields/NumberInputField.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,6 @@ export class NumberInputField extends AbstractInputField {
5555
});
5656
this.numberComponent = component;
5757
}
58+
59+
public destroy(): void {}
5860
}

src/inputFields/SelectInputField.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ export class SelectInputField extends AbstractInputField {
8181
this.setValue(this.inputFieldMarkdownRenderChild.getInitialValue());
8282
}
8383

84+
public destroy(): void {}
85+
8486
disableAllOtherElements(elementId: number): void {
8587
for (const selectModalElement of this.elements) {
8688
if (selectModalElement.id !== elementId) {

src/inputFields/SliderInputField.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,6 @@ export class SliderInputField extends AbstractInputField {
7878

7979
this.sliderComponent = component;
8080
}
81+
82+
public destroy(): void {}
8183
}

0 commit comments

Comments
 (0)