obsidian-dev-utils 4.4.0 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/lib/@types/compare-versions.d.ts +1 -1
- package/dist/lib/Async.cjs +3 -3
- package/dist/lib/Async.d.ts +5 -5
- package/dist/lib/Error.cjs +2 -2
- package/dist/lib/HTMLElement.cjs +1 -1
- package/dist/lib/HTMLElement.d.ts +4 -4
- package/dist/lib/Object.cjs +1 -1
- package/dist/lib/Object.d.ts +1 -1
- package/dist/lib/String.cjs +11 -5
- package/dist/lib/String.d.ts +11 -1
- package/dist/lib/ValueProvider.cjs +1 -1
- package/dist/lib/ValueProvider.d.ts +1 -1
- package/dist/lib/obsidian/AttachmentPath.cjs +1 -1
- package/dist/lib/obsidian/AttachmentPath.d.ts +2 -2
- package/dist/lib/obsidian/Backlink.cjs +4 -4
- package/dist/lib/obsidian/Callout.cjs +4 -4
- package/dist/lib/obsidian/Callout.d.ts +8 -8
- package/dist/lib/obsidian/ChainedPromise.cjs +1 -1
- package/dist/lib/obsidian/ChainedPromise.d.ts +5 -1
- package/dist/lib/obsidian/Dataview.cjs +17 -17
- package/dist/lib/obsidian/Dataview.d.ts +27 -27
- package/dist/lib/obsidian/DataviewLink.cjs +1 -1
- package/dist/lib/obsidian/FileChange.cjs +9 -9
- package/dist/lib/obsidian/FileChange.d.ts +12 -8
- package/dist/lib/obsidian/FileManager.cjs +1 -1
- package/dist/lib/obsidian/FileManager.d.ts +5 -1
- package/dist/lib/obsidian/FileSystem.cjs +1 -1
- package/dist/lib/obsidian/FileSystem.d.ts +7 -7
- package/dist/lib/obsidian/FrontMatter.cjs +3 -2
- package/dist/lib/obsidian/Link.cjs +25 -25
- package/dist/lib/obsidian/Link.d.ts +63 -63
- package/dist/lib/obsidian/Logger.cjs +8 -8
- package/dist/lib/obsidian/Logger.d.ts +4 -0
- package/dist/lib/obsidian/Markdown.cjs +50 -0
- package/dist/lib/obsidian/Markdown.d.ts +14 -0
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +1 -1
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.d.ts +1 -1
- package/dist/lib/obsidian/MetadataCache.cjs +1 -1
- package/dist/lib/obsidian/Modal/Alert.cjs +6 -6
- package/dist/lib/obsidian/Modal/Alert.d.ts +6 -6
- package/dist/lib/obsidian/Modal/Confirm.cjs +11 -11
- package/dist/lib/obsidian/Modal/Confirm.d.ts +12 -12
- package/dist/lib/obsidian/Modal/Prompt.cjs +22 -22
- package/dist/lib/obsidian/Modal/Prompt.d.ts +17 -17
- package/dist/lib/obsidian/Modal/SelectItem.cjs +5 -5
- package/dist/lib/obsidian/Modal/SelectItem.d.ts +1 -1
- package/dist/lib/obsidian/Plugin/PluginBase.cjs +56 -56
- package/dist/lib/obsidian/Plugin/PluginBase.d.ts +34 -34
- package/dist/lib/obsidian/Plugin/ValueComponent.cjs +3 -3
- package/dist/lib/obsidian/Plugin/ValueComponent.d.ts +15 -11
- package/dist/lib/obsidian/Reference.cjs +5 -5
- package/dist/lib/obsidian/Reference.d.ts +4 -0
- package/dist/lib/obsidian/RenameDeleteHandler.cjs +5 -5
- package/dist/lib/obsidian/RenameDeleteHandler.d.ts +4 -0
- package/dist/lib/obsidian/ResourceUrl.cjs +1 -1
- package/dist/lib/obsidian/Vault.cjs +3 -3
- package/dist/lib/obsidian/Vault.d.ts +2 -2
- package/dist/lib/obsidian/index.cjs +4 -1
- package/dist/lib/obsidian/index.d.ts +1 -0
- package/dist/lib/scripts/CliUtils.cjs +19 -19
- package/dist/lib/scripts/CliUtils.d.ts +17 -17
- package/dist/lib/scripts/ESLint/ESLint.cjs +3 -3
- package/dist/lib/scripts/ESLint/eslint.config.cjs +24 -20
- package/dist/lib/scripts/Exec.cjs +5 -5
- package/dist/lib/scripts/Exec.d.ts +15 -11
- package/dist/lib/scripts/Fs.cjs +1 -1
- package/dist/lib/scripts/Fs.d.ts +16 -16
- package/dist/lib/scripts/JSON.cjs +1 -1
- package/dist/lib/scripts/NodeModules.cjs +1 -1
- package/dist/lib/scripts/NodeModules.d.ts +4 -0
- package/dist/lib/scripts/Npm.cjs +1 -1
- package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.cjs +3 -3
- package/dist/lib/scripts/ObsidianDevUtilsRepoPaths.d.ts +4 -4
- package/dist/lib/scripts/Root.cjs +1 -1
- package/dist/lib/scripts/Root.d.ts +4 -4
- package/dist/lib/scripts/build.cjs +3 -3
- package/dist/lib/scripts/cli.cjs +6 -6
- package/dist/lib/scripts/esbuild/Dependency.cjs +8 -8
- package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.cjs +3 -3
- package/dist/lib/scripts/esbuild/ObsidianPluginBuilder.d.ts +4 -4
- package/dist/lib/scripts/esbuild/preprocessPlugin.cjs +6 -6
- package/dist/lib/scripts/version.cjs +11 -11
- package/dist/lib/scripts/version.d.ts +4 -4
- package/package.json +2 -2
@@ -41,20 +41,23 @@ class ConfirmModal extends import_obsidian.Modal {
|
|
41
41
|
this.resolve = resolve;
|
42
42
|
const DEFAULT_OPTIONS = {
|
43
43
|
app: options.app,
|
44
|
-
|
45
|
-
message: "",
|
46
|
-
okButtonText: "OK",
|
44
|
+
cancelButtonStyles: {},
|
47
45
|
cancelButtonText: "Cancel",
|
46
|
+
message: "",
|
48
47
|
okButtonStyles: {
|
49
|
-
|
50
|
-
|
48
|
+
marginRight: "10px",
|
49
|
+
marginTop: "20px"
|
51
50
|
},
|
52
|
-
|
51
|
+
okButtonText: "OK",
|
52
|
+
title: ""
|
53
53
|
};
|
54
54
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
55
55
|
}
|
56
|
-
options;
|
57
56
|
isConfirmed = false;
|
57
|
+
options;
|
58
|
+
onClose() {
|
59
|
+
this.resolve(this.isConfirmed);
|
60
|
+
}
|
58
61
|
onOpen() {
|
59
62
|
this.titleEl.setText(this.options.title);
|
60
63
|
const paragraph = this.contentEl.createEl("p");
|
@@ -72,12 +75,9 @@ class ConfirmModal extends import_obsidian.Modal {
|
|
72
75
|
cancelButton.onClick(this.close.bind(this));
|
73
76
|
Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
|
74
77
|
}
|
75
|
-
onClose() {
|
76
|
-
this.resolve(this.isConfirmed);
|
77
|
-
}
|
78
78
|
}
|
79
79
|
// Annotate the CommonJS export names for ESM import in node:
|
80
80
|
0 && (module.exports = {
|
81
81
|
confirm
|
82
82
|
});
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
83
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0NvbmZpcm0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIENvbmZpcm1cbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgY29uZmlybSBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zIHRvIGNvbmZpcm0gb3IgY2FuY2VsIHRoZSBhY3Rpb24uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgTW9kYWxcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maXJtT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgY2FuY2VsQnV0dG9uU3R5bGVzPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgbWVzc2FnZTogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0eWxlcyB0byBhcHBseSB0byB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIG9rQnV0dG9uU3R5bGVzPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGNvbmZpcm0gbW9kYWwgaW4gT2JzaWRpYW4gd2l0aCBhIHNwZWNpZmllZCBtZXNzYWdlLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBjb25maXJtIG1vZGFsLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBcIk9LXCIgYnV0dG9uIHdhcyBjbGlja2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29uZmlybShvcHRpb25zOiBDb25maXJtT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBDb25maXJtTW9kYWwob3B0aW9ucywgcmVzb2x2ZSk7XG4gICAgbW9kYWwub3BlbigpO1xuICB9KTtcbn1cblxuY2xhc3MgQ29uZmlybU1vZGFsIGV4dGVuZHMgTW9kYWwge1xuICBwcml2YXRlIGlzQ29uZmlybWVkID0gZmFsc2U7XG4gIHByaXZhdGUgb3B0aW9uczogUmVxdWlyZWQ8Q29uZmlybU9wdGlvbnM+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBDb25maXJtT3B0aW9ucywgcHJpdmF0ZSByZXNvbHZlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz4gPSB7XG4gICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgY2FuY2VsQnV0dG9uU3R5bGVzOiB7fSxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdDYW5jZWwnLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgICBva0J1dHRvblN0eWxlczoge1xuICAgICAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgICAgICBtYXJnaW5Ub3A6ICcyMHB4J1xuICAgICAgfSxcbiAgICAgIG9rQnV0dG9uVGV4dDogJ09LJyxcbiAgICAgIHRpdGxlOiAnJ1xuICAgIH07XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZSh0aGlzLmlzQ29uZmlybWVkKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy5vcHRpb25zLnRpdGxlKTtcbiAgICBjb25zdCBwYXJhZ3JhcGggPSB0aGlzLmNvbnRlbnRFbC5jcmVhdGVFbCgncCcpO1xuICAgIHBhcmFncmFwaC5zZXRUZXh0KHRoaXMub3B0aW9ucy5tZXNzYWdlKTtcbiAgICBjb25zdCBva0J1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIG9rQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5vcHRpb25zLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljaygoKSA9PiB7XG4gICAgICB0aGlzLmlzQ29uZmlybWVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9KTtcbiAgICBPYmplY3QuYXNzaWduKG9rQnV0dG9uLmJ1dHRvbkVsLnN0eWxlLCB0aGlzLm9wdGlvbnMub2tCdXR0b25TdHlsZXMpO1xuXG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY2FuY2VsQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5vcHRpb25zLmNhbmNlbEJ1dHRvblRleHQpO1xuICAgIGNhbmNlbEJ1dHRvbi5vbkNsaWNrKHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgT2JqZWN0LmFzc2lnbihva0J1dHRvbi5idXR0b25FbC5zdHlsZSwgdGhpcy5vcHRpb25zLm9rQnV0dG9uU3R5bGVzKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSxzQkFHTztBQWdEUCxlQUFzQixRQUFRLFNBQTJDO0FBQ3ZFLFNBQU8sSUFBSSxRQUFpQixDQUFDLFlBQVk7QUFDdkMsVUFBTSxRQUFRLElBQUksYUFBYSxTQUFTLE9BQU87QUFDL0MsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7QUFFQSxNQUFNLHFCQUFxQixzQkFBTTtBQUFBLEVBSXhCLFlBQVksU0FBaUMsU0FBbUM7QUFDckYsVUFBTSxRQUFRLEdBQUc7QUFEaUM7QUFFbEQsVUFBTSxrQkFBNEM7QUFBQSxNQUNoRCxLQUFLLFFBQVE7QUFBQSxNQUNiLG9CQUFvQixDQUFDO0FBQUEsTUFDckIsa0JBQWtCO0FBQUEsTUFDbEIsU0FBUztBQUFBLE1BQ1QsZ0JBQWdCO0FBQUEsUUFDZCxhQUFhO0FBQUEsUUFDYixXQUFXO0FBQUEsTUFDYjtBQUFBLE1BQ0EsY0FBYztBQUFBLE1BQ2QsT0FBTztBQUFBLElBQ1Q7QUFDQSxTQUFLLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixHQUFHLFFBQVE7QUFBQSxFQUNsRDtBQUFBLEVBbEJRLGNBQWM7QUFBQSxFQUNkO0FBQUEsRUFtQlEsVUFBZ0I7QUFDOUIsU0FBSyxRQUFRLEtBQUssV0FBVztBQUFBLEVBQy9CO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsS0FBSztBQUN2QyxVQUFNLFlBQVksS0FBSyxVQUFVLFNBQVMsR0FBRztBQUM3QyxjQUFVLFFBQVEsS0FBSyxRQUFRLE9BQU87QUFDdEMsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsS0FBSyxRQUFRLFlBQVk7QUFDaEQsYUFBUyxPQUFPO0FBQ2hCLGFBQVMsUUFBUSxNQUFNO0FBQ3JCLFdBQUssY0FBYztBQUNuQixXQUFLLE1BQU07QUFBQSxJQUNiLENBQUM7QUFDRCxXQUFPLE9BQU8sU0FBUyxTQUFTLE9BQU8sS0FBSyxRQUFRLGNBQWM7QUFFbEUsVUFBTSxlQUFlLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUN2RCxpQkFBYSxjQUFjLEtBQUssUUFBUSxnQkFBZ0I7QUFDeEQsaUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDMUMsV0FBTyxPQUFPLFNBQVMsU0FBUyxPQUFPLEtBQUssUUFBUSxjQUFjO0FBQUEsRUFDcEU7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -14,29 +14,29 @@ export interface ConfirmOptions {
|
|
14
14
|
*/
|
15
15
|
app: App;
|
16
16
|
/**
|
17
|
-
* The
|
18
|
-
*/
|
19
|
-
title?: string | DocumentFragment;
|
20
|
-
/**
|
21
|
-
* The message to display in the modal.
|
22
|
-
*/
|
23
|
-
message: string | DocumentFragment;
|
24
|
-
/**
|
25
|
-
* The text for the "OK" button.
|
17
|
+
* The styles to apply to the "Cancel" button.
|
26
18
|
*/
|
27
|
-
|
19
|
+
cancelButtonStyles?: Partial<CSSStyleDeclaration>;
|
28
20
|
/**
|
29
21
|
* The text for the "Cancel" button.
|
30
22
|
*/
|
31
23
|
cancelButtonText?: string;
|
24
|
+
/**
|
25
|
+
* The message to display in the modal.
|
26
|
+
*/
|
27
|
+
message: DocumentFragment | string;
|
32
28
|
/**
|
33
29
|
* The styles to apply to the "OK" button.
|
34
30
|
*/
|
35
31
|
okButtonStyles?: Partial<CSSStyleDeclaration>;
|
36
32
|
/**
|
37
|
-
* The
|
33
|
+
* The text for the "OK" button.
|
38
34
|
*/
|
39
|
-
|
35
|
+
okButtonText?: string;
|
36
|
+
/**
|
37
|
+
* The title of the modal.
|
38
|
+
*/
|
39
|
+
title?: DocumentFragment | string;
|
40
40
|
}
|
41
41
|
/**
|
42
42
|
* Displays an confirm modal in Obsidian with a specified message.
|
@@ -41,27 +41,38 @@ class PromptModal extends import_obsidian.Modal {
|
|
41
41
|
this.resolve = resolve;
|
42
42
|
const DEFAULT_OPTIONS = {
|
43
43
|
app: options.app,
|
44
|
-
|
44
|
+
cancelButtonStyles: {},
|
45
|
+
cancelButtonText: "Cancel",
|
45
46
|
defaultValue: "",
|
46
|
-
|
47
|
+
okButtonStyles: {
|
48
|
+
marginRight: "10px",
|
49
|
+
marginTop: "20px"
|
50
|
+
},
|
47
51
|
okButtonText: "OK",
|
48
|
-
|
52
|
+
placeholder: "",
|
49
53
|
textBoxStyles: {
|
50
54
|
width: "100%"
|
51
55
|
},
|
52
|
-
|
53
|
-
|
54
|
-
marginRight: "10px"
|
55
|
-
},
|
56
|
-
cancelButtonStyles: {},
|
57
|
-
placeholder: ""
|
56
|
+
title: "",
|
57
|
+
valueValidator: () => null
|
58
58
|
};
|
59
59
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
60
60
|
this.value = options.defaultValue ?? "";
|
61
61
|
}
|
62
|
-
value;
|
63
62
|
isOkClicked = false;
|
64
63
|
options;
|
64
|
+
value;
|
65
|
+
handleOk(event, textComponent) {
|
66
|
+
event.preventDefault();
|
67
|
+
if (!textComponent.inputEl.checkValidity()) {
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
this.isOkClicked = true;
|
71
|
+
this.close();
|
72
|
+
}
|
73
|
+
onClose() {
|
74
|
+
this.resolve(this.isOkClicked ? this.value : null);
|
75
|
+
}
|
65
76
|
onOpen() {
|
66
77
|
this.titleEl.setText(this.options.title);
|
67
78
|
const textComponent = new import_obsidian.TextComponent(this.contentEl);
|
@@ -93,20 +104,9 @@ class PromptModal extends import_obsidian.Modal {
|
|
93
104
|
cancelButton.onClick(this.close.bind(this));
|
94
105
|
Object.assign(cancelButton.buttonEl.style, this.options.cancelButtonStyles);
|
95
106
|
}
|
96
|
-
onClose() {
|
97
|
-
this.resolve(this.isOkClicked ? this.value : null);
|
98
|
-
}
|
99
|
-
handleOk(event, textComponent) {
|
100
|
-
event.preventDefault();
|
101
|
-
if (!textComponent.inputEl.checkValidity()) {
|
102
|
-
return;
|
103
|
-
}
|
104
|
-
this.isOkClicked = true;
|
105
|
-
this.close();
|
106
|
-
}
|
107
107
|
}
|
108
108
|
// Annotate the CommonJS export names for ESM import in node:
|
109
109
|
0 && (module.exports = {
|
110
110
|
prompt
|
111
111
|
});
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
112
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1Byb21wdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gUHJvbXB0XG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB7XG4gIEFwcCxcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBNb2RhbCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIHRoZSBwcm9tcHQgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgY2FuY2VsQnV0dG9uU3R5bGVzPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHByZS1maWxsIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0eWxlcyB0byBhcHBseSB0byB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIG9rQnV0dG9uU3R5bGVzPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgdGV4dEJveFN0eWxlcz86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICB0aXRsZT86IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHZhbHVlLlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5wdXQgdmFsdWUgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLlxuICAgKi9cbiAgdmFsdWVWYWxpZGF0b3I/OiAodmFsdWU6IHN0cmluZykgPT4gbnVsbCB8IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhIHByb21wdCBtb2RhbCBpbiBPYnNpZGlhbiB0byBnZXQgdXNlciBpbnB1dC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgcHJvbXB0IG1vZGFsLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdXNlciBpbnB1dCBvciBudWxsIGlmIHRoZSBwcm9tcHQgd2FzIGNhbmNlbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21wdChvcHRpb25zOiBQcm9tcHRPcHRpb25zKTogUHJvbWlzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxudWxsIHwgc3RyaW5nPigocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IG1vZGFsID0gbmV3IFByb21wdE1vZGFsKG9wdGlvbnMsIHJlc29sdmUpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG5cbmNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWwge1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgb3B0aW9uczogUmVxdWlyZWQ8UHJvbXB0T3B0aW9ucz47XG4gIHByaXZhdGUgdmFsdWU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogUHJvbXB0T3B0aW9ucywgcHJpdmF0ZSByZXNvbHZlOiAodmFsdWU6IG51bGwgfCBzdHJpbmcpID0+IHZvaWQpIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxQcm9tcHRPcHRpb25zPiA9IHtcbiAgICAgIGFwcDogb3B0aW9ucy5hcHAsXG4gICAgICBjYW5jZWxCdXR0b25TdHlsZXM6IHt9LFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgb2tCdXR0b25TdHlsZXM6IHtcbiAgICAgICAgbWFyZ2luUmlnaHQ6ICcxMHB4JyxcbiAgICAgICAgbWFyZ2luVG9wOiAnMjBweCdcbiAgICAgIH0sXG4gICAgICBva0J1dHRvblRleHQ6ICdPSycsXG4gICAgICBwbGFjZWhvbGRlcjogJycsXG4gICAgICB0ZXh0Qm94U3R5bGVzOiB7XG4gICAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICAgIH0sXG4gICAgICB0aXRsZTogJycsXG4gICAgICB2YWx1ZVZhbGlkYXRvcjogKCkgPT4gbnVsbFxuICAgIH07XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfTtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy5kZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc09rQ2xpY2tlZCA9IHRydWU7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgY29uc3QgdGV4dENvbXBvbmVudCA9IG5ldyBUZXh0Q29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICB0ZXh0Q29tcG9uZW50LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIodGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyKTtcbiAgICBPYmplY3QuYXNzaWduKHRleHRDb21wb25lbnQuaW5wdXRFbC5zdHlsZSwgdGhpcy5vcHRpb25zLnRleHRCb3hTdHlsZXMpO1xuICAgIHRleHRDb21wb25lbnQub25DaGFuZ2UoKG5ld1ZhbHVlKSA9PiB0aGlzLnZhbHVlID0gbmV3VmFsdWUpO1xuICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMudmFsdWVWYWxpZGF0b3IodGV4dENvbXBvbmVudC5pbnB1dEVsLnZhbHVlKTtcbiAgICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgfSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICB9KTtcbiAgICBPYmplY3QuYXNzaWduKG9rQnV0dG9uLmJ1dHRvbkVsLnN0eWxlLCB0aGlzLm9wdGlvbnMub2tCdXR0b25TdHlsZXMpO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5jYW5jZWxCdXR0b25UZXh0KTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIE9iamVjdC5hc3NpZ24oY2FuY2VsQnV0dG9uLmJ1dHRvbkVsLnN0eWxlLCB0aGlzLm9wdGlvbnMuY2FuY2VsQnV0dG9uU3R5bGVzKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxzQkFLTztBQWlFUCxlQUFzQixPQUFPLFNBQWdEO0FBQzNFLFNBQU8sSUFBSSxRQUF1QixDQUFDLFlBQVk7QUFDN0MsVUFBTSxRQUFRLElBQUksWUFBWSxTQUFTLE9BQU87QUFDOUMsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7QUFFQSxNQUFNLG9CQUFvQixzQkFBTTtBQUFBLEVBS3ZCLFlBQVksU0FBZ0MsU0FBeUM7QUFDMUYsVUFBTSxRQUFRLEdBQUc7QUFEZ0M7QUFFakQsVUFBTSxrQkFBMkM7QUFBQSxNQUMvQyxLQUFLLFFBQVE7QUFBQSxNQUNiLG9CQUFvQixDQUFDO0FBQUEsTUFDckIsa0JBQWtCO0FBQUEsTUFDbEIsY0FBYztBQUFBLE1BQ2QsZ0JBQWdCO0FBQUEsUUFDZCxhQUFhO0FBQUEsUUFDYixXQUFXO0FBQUEsTUFDYjtBQUFBLE1BQ0EsY0FBYztBQUFBLE1BQ2QsYUFBYTtBQUFBLE1BQ2IsZUFBZTtBQUFBLFFBQ2IsT0FBTztBQUFBLE1BQ1Q7QUFBQSxNQUNBLE9BQU87QUFBQSxNQUNQLGdCQUFnQixNQUFNO0FBQUEsSUFDeEI7QUFDQSxTQUFLLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixHQUFHLFFBQVE7QUFDaEQsU0FBSyxRQUFRLFFBQVEsZ0JBQWdCO0FBQUEsRUFDdkM7QUFBQSxFQXpCUSxjQUFjO0FBQUEsRUFDZDtBQUFBLEVBQ0E7QUFBQSxFQXlCQSxTQUFTLE9BQWMsZUFBb0M7QUFDakUsVUFBTSxlQUFlO0FBQ3JCLFFBQUksQ0FBQyxjQUFjLFFBQVEsY0FBYyxHQUFHO0FBQzFDO0FBQUEsSUFDRjtBQUVBLFNBQUssY0FBYztBQUNuQixTQUFLLE1BQU07QUFBQSxFQUNiO0FBQUEsRUFFZ0IsVUFBZ0I7QUFDOUIsU0FBSyxRQUFRLEtBQUssY0FBYyxLQUFLLFFBQVEsSUFBSTtBQUFBLEVBQ25EO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsS0FBSztBQUN2QyxVQUFNLGdCQUFnQixJQUFJLDhCQUFjLEtBQUssU0FBUztBQUN0RCxrQkFBYyxTQUFTLEtBQUssS0FBSztBQUNqQyxrQkFBYyxlQUFlLEtBQUssUUFBUSxXQUFXO0FBQ3JELFdBQU8sT0FBTyxjQUFjLFFBQVEsT0FBTyxLQUFLLFFBQVEsYUFBYTtBQUNyRSxrQkFBYyxTQUFTLENBQUMsYUFBYSxLQUFLLFFBQVEsUUFBUTtBQUMxRCxrQkFBYyxRQUFRLGlCQUFpQixXQUFXLENBQUMsVUFBeUI7QUFDMUUsVUFBSSxNQUFNLFFBQVEsU0FBUztBQUN6QixhQUFLLFNBQVMsT0FBTyxhQUFhO0FBQUEsTUFDcEMsV0FBVyxNQUFNLFFBQVEsVUFBVTtBQUNqQyxhQUFLLE1BQU07QUFBQSxNQUNiO0FBQUEsSUFDRixDQUFDO0FBQ0Qsa0JBQWMsUUFBUSxpQkFBaUIsU0FBUyxNQUFNO0FBQ3BELFlBQU0sZUFBZSxLQUFLLFFBQVEsZUFBZSxjQUFjLFFBQVEsS0FBSztBQUM1RSxvQkFBYyxRQUFRLGtCQUFrQixnQkFBZ0IsRUFBRTtBQUMxRCxvQkFBYyxRQUFRLGVBQWU7QUFBQSxJQUN2QyxDQUFDO0FBQ0QsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsS0FBSyxRQUFRLFlBQVk7QUFDaEQsYUFBUyxPQUFPO0FBQ2hCLGFBQVMsUUFBUSxDQUFDLFVBQVU7QUFDMUIsV0FBSyxTQUFTLE9BQU8sYUFBYTtBQUFBLElBQ3BDLENBQUM7QUFDRCxXQUFPLE9BQU8sU0FBUyxTQUFTLE9BQU8sS0FBSyxRQUFRLGNBQWM7QUFDbEUsVUFBTSxlQUFlLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUN2RCxpQkFBYSxjQUFjLEtBQUssUUFBUSxnQkFBZ0I7QUFDeEQsaUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDMUMsV0FBTyxPQUFPLGFBQWEsU0FBUyxPQUFPLEtBQUssUUFBUSxrQkFBa0I7QUFBQSxFQUM1RTtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -14,43 +14,43 @@ export interface PromptOptions {
|
|
14
14
|
*/
|
15
15
|
app: App;
|
16
16
|
/**
|
17
|
-
* The
|
17
|
+
* The styles to apply to the "Cancel" button.
|
18
18
|
*/
|
19
|
-
|
19
|
+
cancelButtonStyles?: Partial<CSSStyleDeclaration>;
|
20
|
+
/**
|
21
|
+
* The text for the "Cancel" button.
|
22
|
+
*/
|
23
|
+
cancelButtonText?: string;
|
20
24
|
/**
|
21
25
|
* The default value to pre-fill the input field.
|
22
26
|
*/
|
23
27
|
defaultValue?: string;
|
24
28
|
/**
|
25
|
-
*
|
26
|
-
* @param value - The input value to validate.
|
27
|
-
* @returns an error message if the value is invalid, or null if the value is valid.
|
29
|
+
* The styles to apply to the "OK" button.
|
28
30
|
*/
|
29
|
-
|
31
|
+
okButtonStyles?: Partial<CSSStyleDeclaration>;
|
30
32
|
/**
|
31
33
|
* The text for the "OK" button.
|
32
34
|
*/
|
33
35
|
okButtonText?: string;
|
34
36
|
/**
|
35
|
-
* The text for the
|
37
|
+
* The placeholder text for the input field.
|
36
38
|
*/
|
37
|
-
|
39
|
+
placeholder?: string;
|
38
40
|
/**
|
39
41
|
* The styles to apply to the input field.
|
40
42
|
*/
|
41
43
|
textBoxStyles?: Partial<CSSStyleDeclaration>;
|
42
44
|
/**
|
43
|
-
* The
|
44
|
-
*/
|
45
|
-
okButtonStyles?: Partial<CSSStyleDeclaration>;
|
46
|
-
/**
|
47
|
-
* The styles to apply to the "Cancel" button.
|
45
|
+
* The title of the modal.
|
48
46
|
*/
|
49
|
-
|
47
|
+
title?: DocumentFragment | string;
|
50
48
|
/**
|
51
|
-
*
|
49
|
+
* A function to validate the input value.
|
50
|
+
* @param value - The input value to validate.
|
51
|
+
* @returns an error message if the value is invalid, or null if the value is valid.
|
52
52
|
*/
|
53
|
-
|
53
|
+
valueValidator?: (value: string) => null | string;
|
54
54
|
}
|
55
55
|
/**
|
56
56
|
* Displays a prompt modal in Obsidian to get user input.
|
@@ -58,4 +58,4 @@ export interface PromptOptions {
|
|
58
58
|
* @param options - The options for the prompt modal.
|
59
59
|
* @returns A promise that resolves with the user input or null if the prompt was cancelled.
|
60
60
|
*/
|
61
|
-
export declare function prompt(options: PromptOptions): Promise<
|
61
|
+
export declare function prompt(options: PromptOptions): Promise<null | string>;
|
@@ -49,10 +49,6 @@ class ItemSelectModal extends import_obsidian.FuzzySuggestModal {
|
|
49
49
|
getItemText(item) {
|
50
50
|
return this.options.itemTextFunc(item);
|
51
51
|
}
|
52
|
-
selectSuggestion(value, evt) {
|
53
|
-
this.isSelected = true;
|
54
|
-
super.selectSuggestion(value, evt);
|
55
|
-
}
|
56
52
|
onChooseItem(item) {
|
57
53
|
this.resolve(item);
|
58
54
|
}
|
@@ -61,9 +57,13 @@ class ItemSelectModal extends import_obsidian.FuzzySuggestModal {
|
|
61
57
|
this.resolve(null);
|
62
58
|
}
|
63
59
|
}
|
60
|
+
selectSuggestion(value, evt) {
|
61
|
+
this.isSelected = true;
|
62
|
+
super.selectSuggestion(value, evt);
|
63
|
+
}
|
64
64
|
}
|
65
65
|
// Annotate the CommonJS export names for ESM import in node:
|
66
66
|
0 && (module.exports = {
|
67
67
|
selectItem
|
68
68
|
});
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
69
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1NlbGVjdEl0ZW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIHNlbGVjdEl0ZW1cbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYW4gaXRlbSBmcm9tIGEgbGlzdC4gVGhlIG1vZGFsIHVzZXMgZnV6enkgc2VhcmNoIHRvIGhlbHAgdGhlIHVzZXIgZmluZCB0aGUgaXRlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZ1enp5TWF0Y2ggfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIEFwcCxcbiAgRnV6enlTdWdnZXN0TW9kYWxcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEl0ZW1PcHRpb25zPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgaXRlbXMgdG8gY2hvb3NlIGZyb20uXG4gICAqL1xuICBpdGVtczogVFtdO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGdldCB0aGUgZGlzcGxheSB0ZXh0IGZvciBlYWNoIGl0ZW1cbiAgICogQHBhcmFtIGl0ZW0gLSBUaGUgaXRlbSB0byBnZXQgdGhlIGRpc3BsYXkgdGV4dCBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBkaXNwbGF5IHRleHQgZm9yIHRoZSBpdGVtLlxuICAgKi9cbiAgaXRlbVRleHRGdW5jOiAoaXRlbTogVCkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4gZm9yIGNob29zaW5nIGFuIGl0ZW0gZnJvbSBhIGxpc3QuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdGlvbiBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHNlbGVjdGVkIGl0ZW0gb3IgbnVsbCBpZiBubyBpdGVtIHdhcyBzZWxlY3RlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbGVjdEl0ZW08VD4ob3B0aW9uczogU2VsZWN0SXRlbU9wdGlvbnM8VD4pOiBQcm9taXNlPG51bGwgfCBUPiB7XG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxudWxsIHwgVD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBJdGVtU2VsZWN0TW9kYWw8VD4ob3B0aW9ucywgcmVzb2x2ZSk7XG4gICAgbW9kYWwub3BlbigpO1xuICB9KTtcbn1cblxuY2xhc3MgSXRlbVNlbGVjdE1vZGFsPFQ+IGV4dGVuZHMgRnV6enlTdWdnZXN0TW9kYWw8VD4ge1xuICBwcml2YXRlIGlzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBTZWxlY3RJdGVtT3B0aW9uczxUPiwgcHJpdmF0ZSByZXNvbHZlOiAoaXRlbTogbnVsbCB8IFQpID0+IHZvaWQpIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcihvcHRpb25zLnBsYWNlaG9sZGVyID8/ICcnKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRJdGVtcygpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaXRlbXM7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbVRleHQoaXRlbTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pdGVtVGV4dEZ1bmMoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DaG9vc2VJdGVtKGl0ZW06IFQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZWxlY3RTdWdnZXN0aW9uKFxuICAgIHZhbHVlOiBGdXp6eU1hdGNoPFQ+LFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnRcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICBzdXBlci5zZWxlY3RTdWdnZXN0aW9uKHZhbHVlLCBldnQpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBLHNCQUdPO0FBbUNQLGVBQXNCLFdBQWMsU0FBa0Q7QUFDcEYsU0FBTyxNQUFNLElBQUksUUFBa0IsQ0FBQyxZQUFZO0FBQzlDLFVBQU0sUUFBUSxJQUFJLGdCQUFtQixTQUFTLE9BQU87QUFDckQsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7QUFFQSxNQUFNLHdCQUEyQixrQ0FBcUI7QUFBQSxFQUc3QyxZQUFvQixTQUF1QyxTQUFtQztBQUNuRyxVQUFNLFFBQVEsR0FBRztBQURRO0FBQXVDO0FBRWhFLFNBQUssZUFBZSxRQUFRLGVBQWUsRUFBRTtBQUFBLEVBQy9DO0FBQUEsRUFMUSxhQUFhO0FBQUEsRUFPTCxXQUFnQjtBQUM5QixXQUFPLEtBQUssUUFBUTtBQUFBLEVBQ3RCO0FBQUEsRUFFZ0IsWUFBWSxNQUFpQjtBQUMzQyxXQUFPLEtBQUssUUFBUSxhQUFhLElBQUk7QUFBQSxFQUN2QztBQUFBLEVBRWdCLGFBQWEsTUFBZTtBQUMxQyxTQUFLLFFBQVEsSUFBSTtBQUFBLEVBQ25CO0FBQUEsRUFFZ0IsVUFBZ0I7QUFDOUIsUUFBSSxDQUFDLEtBQUssWUFBWTtBQUNwQixXQUFLLFFBQVEsSUFBSTtBQUFBLElBQ25CO0FBQUEsRUFDRjtBQUFBLEVBRWdCLGlCQUNkLE9BQ0EsS0FDTTtBQUNOLFNBQUssYUFBYTtBQUNsQixVQUFNLGlCQUFpQixPQUFPLEdBQUc7QUFBQSxFQUNuQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -34,4 +34,4 @@ export interface SelectItemOptions<T> {
|
|
34
34
|
* @param options - The options for the selection modal.
|
35
35
|
* @returns A promise that resolves with the selected item or null if no item was selected.
|
36
36
|
*/
|
37
|
-
export declare function selectItem<T>(options: SelectItemOptions<T>): Promise<
|
37
|
+
export declare function selectItem<T>(options: SelectItemOptions<T>): Promise<null | T>;
|
@@ -38,32 +38,56 @@ var __process = globalThis["process"] ?? {
|
|
38
38
|
"platform": "android"
|
39
39
|
};
|
40
40
|
class PluginBase extends import_obsidian.Plugin {
|
41
|
+
_abortSignal;
|
41
42
|
_settings;
|
42
43
|
notice;
|
43
|
-
_abortSignal;
|
44
44
|
/**
|
45
|
-
*
|
45
|
+
* Called when the layout is ready. This method can be overridden by subclasses to perform actions once
|
46
|
+
* the layout is ready.
|
46
47
|
*
|
47
|
-
* @returns
|
48
|
+
* @returns A promise or void indicating the completion of the layout setup.
|
48
49
|
*/
|
49
|
-
|
50
|
-
|
50
|
+
onLayoutReady() {
|
51
|
+
(0, import_Function.noop)();
|
51
52
|
}
|
52
53
|
/**
|
53
|
-
*
|
54
|
+
* Called when the plugin loading is complete. This method must be implemented by subclasses to perform
|
55
|
+
* any additional setup required after loading is complete.
|
54
56
|
*
|
55
|
-
* @returns A
|
57
|
+
* @returns A promise or void indicating the completion of the load process.
|
56
58
|
*/
|
57
|
-
|
58
|
-
|
59
|
+
onloadComplete() {
|
60
|
+
(0, import_Function.noop)();
|
59
61
|
}
|
60
62
|
/**
|
61
|
-
*
|
63
|
+
* Parses the provided settings data and returns the parsed `PluginSettings`.
|
62
64
|
*
|
63
|
-
* @
|
65
|
+
* @param data - The raw data to be parsed into `PluginSettings`.
|
66
|
+
* @returns A promise that resolves to `PluginSettings` or the settings directly.
|
64
67
|
*/
|
65
|
-
|
66
|
-
return this.
|
68
|
+
parseSettings(data) {
|
69
|
+
return (0, import_PluginSettings.loadPluginSettings)(this.createDefaultPluginSettings.bind(this), data);
|
70
|
+
}
|
71
|
+
/**
|
72
|
+
* Displays a notice message to the user.
|
73
|
+
*
|
74
|
+
* @param message - The message to display.
|
75
|
+
*/
|
76
|
+
showNotice(message) {
|
77
|
+
if (this.notice) {
|
78
|
+
this.notice.hide();
|
79
|
+
}
|
80
|
+
this.notice = new import_obsidian.Notice(`${this.manifest.name}
|
81
|
+
${message}`);
|
82
|
+
}
|
83
|
+
/**
|
84
|
+
* Loads the plugin settings from the saved data.
|
85
|
+
*
|
86
|
+
* @returns A promise that resolves when the settings are loaded.
|
87
|
+
*/
|
88
|
+
async loadSettings() {
|
89
|
+
const data = await this.loadData();
|
90
|
+
this._settings = await this.parseSettings(data);
|
67
91
|
}
|
68
92
|
/**
|
69
93
|
* Called when the plugin is loaded
|
@@ -86,66 +110,42 @@ class PluginBase extends import_obsidian.Plugin {
|
|
86
110
|
this.app.workspace.onLayoutReady(this.onLayoutReady.bind(this));
|
87
111
|
}
|
88
112
|
/**
|
89
|
-
*
|
90
|
-
* any additional setup required after loading is complete.
|
91
|
-
*
|
92
|
-
* @returns A promise or void indicating the completion of the load process.
|
93
|
-
*/
|
94
|
-
onloadComplete() {
|
95
|
-
(0, import_Function.noop)();
|
96
|
-
}
|
97
|
-
/**
|
98
|
-
* Called when the layout is ready. This method can be overridden by subclasses to perform actions once
|
99
|
-
* the layout is ready.
|
100
|
-
*
|
101
|
-
* @returns A promise or void indicating the completion of the layout setup.
|
102
|
-
*/
|
103
|
-
onLayoutReady() {
|
104
|
-
(0, import_Function.noop)();
|
105
|
-
}
|
106
|
-
/**
|
107
|
-
* Loads the plugin settings from the saved data.
|
113
|
+
* Saves the new plugin settings.
|
108
114
|
*
|
109
|
-
* @
|
115
|
+
* @param newSettings - The new settings to save.
|
116
|
+
* @returns A promise that resolves when the settings are saved.
|
110
117
|
*/
|
111
|
-
async
|
112
|
-
|
113
|
-
|
118
|
+
async saveSettings(newSettings) {
|
119
|
+
this._settings = (0, import_PluginSettings.clonePluginSettings)(this.createDefaultPluginSettings.bind(this), newSettings);
|
120
|
+
await this.saveData(this.settings);
|
114
121
|
}
|
115
122
|
/**
|
116
|
-
*
|
123
|
+
* Gets the AbortSignal used for aborting long-running operations.
|
117
124
|
*
|
118
|
-
* @
|
119
|
-
* @returns A promise that resolves to `PluginSettings` or the settings directly.
|
125
|
+
* @returns The abort signal.
|
120
126
|
*/
|
121
|
-
|
122
|
-
return
|
127
|
+
get abortSignal() {
|
128
|
+
return this._abortSignal;
|
123
129
|
}
|
124
130
|
/**
|
125
|
-
*
|
131
|
+
* Gets the plugin settings.
|
126
132
|
*
|
127
|
-
* @
|
128
|
-
* @returns A promise that resolves when the settings are saved.
|
133
|
+
* @returns The plugin settings.
|
129
134
|
*/
|
130
|
-
|
131
|
-
this._settings
|
132
|
-
await this.saveData(this.settings);
|
135
|
+
get settings() {
|
136
|
+
return this._settings;
|
133
137
|
}
|
134
138
|
/**
|
135
|
-
*
|
139
|
+
* Gets a copy of the current plugin settings.
|
136
140
|
*
|
137
|
-
* @
|
141
|
+
* @returns A copy of the plugin settings.
|
138
142
|
*/
|
139
|
-
|
140
|
-
|
141
|
-
this.notice.hide();
|
142
|
-
}
|
143
|
-
this.notice = new import_obsidian.Notice(`${this.manifest.name}
|
144
|
-
${message}`);
|
143
|
+
get settingsCopy() {
|
144
|
+
return (0, import_PluginSettings.clonePluginSettings)(this.createDefaultPluginSettings.bind(this), this.settings);
|
145
145
|
}
|
146
146
|
}
|
147
147
|
// Annotate the CommonJS export names for ESM import in node:
|
148
148
|
0 && (module.exports = {
|
149
149
|
PluginBase
|
150
150
|
});
|
151
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/
|
151
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFBsdWdpbkJhc2VcbiAqIEJhc2UgY2xhc3MgZm9yIE9ic2lkaWFuIHBsdWdpbnMgcHJvdmlkaW5nIHV0aWxpdHkgbWV0aG9kcyBmb3Igc2V0dGluZ3MgbWFuYWdlbWVudCwgZXJyb3IgaGFuZGxpbmcsIGFuZCBub3RpZmljYXRpb25zLlxuICpcbiAqIFRoaXMgY2xhc3Mgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBvZiBtYW5hZ2luZyBwbHVnaW4gc2V0dGluZ3MsIGRpc3BsYXlpbmcgbm90aWZpY2F0aW9ucywgYW5kIGhhbmRsaW5nIGVycm9ycy5cbiAqIFN1YmNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCBtZXRob2RzIHRvIGNyZWF0ZSBkZWZhdWx0IHNldHRpbmdzIGFuZCBzZXR0aW5ncyB0YWJzLCBhbmQgY29tcGxldGUgcGx1Z2luLXNwZWNpZmljXG4gKiBsb2FkaW5nIHRhc2tzLlxuICovXG5cbmltcG9ydCB7XG4gIE5vdGljZSxcbiAgUGx1Z2luLFxuICBQbHVnaW5TZXR0aW5nVGFiXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlciB9IGZyb20gJy4uLy4uL0Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi9GdW5jdGlvbi50cyc7XG5pbXBvcnQge1xuICBjbG9uZVBsdWdpblNldHRpbmdzLFxuICBsb2FkUGx1Z2luU2V0dGluZ3Ncbn0gZnJvbSAnLi9QbHVnaW5TZXR0aW5ncy50cyc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgT2JzaWRpYW4gcGx1Z2lucyB3aXRoIGJ1aWx0LWluIHN1cHBvcnQgZm9yIHNldHRpbmdzIG1hbmFnZW1lbnQsIGVycm9yIGhhbmRsaW5nLCBhbmQgbm90aWZpY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgcmVwcmVzZW50aW5nIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncyBleHRlbmRzIG9iamVjdD4gZXh0ZW5kcyBQbHVnaW4ge1xuICBwcml2YXRlIF9hYm9ydFNpZ25hbCE6IEFib3J0U2lnbmFsO1xuICBwcml2YXRlIF9zZXR0aW5ncyE6IFBsdWdpblNldHRpbmdzO1xuICBwcml2YXRlIG5vdGljZT86IE5vdGljZTtcblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgZGVmYXVsdCBwbHVnaW4gc2V0dGluZ3MuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGRlZmF1bHQgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZURlZmF1bHRQbHVnaW5TZXR0aW5ncygpOiBQbHVnaW5TZXR0aW5ncztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBsdWdpbiBzZXR0aW5ncyB0YWIuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHNldHRpbmdzIHRhYiBvciBudWxsIGlmIG5vdCBhcHBsaWNhYmxlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZVBsdWdpblNldHRpbmdzVGFiKCk6IG51bGwgfCBQbHVnaW5TZXR0aW5nVGFiO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgbGF5b3V0IGlzIHJlYWR5LiBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm0gYWN0aW9ucyBvbmNlXG4gICAqIHRoZSBsYXlvdXQgaXMgcmVhZHkuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvciB2b2lkIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGxheW91dCBzZXR1cC5cbiAgICovXG4gIHByb3RlY3RlZCBvbkxheW91dFJlYWR5KCk6IE1heWJlUHJvbWlzZTx2b2lkPiB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gbG9hZGluZyBpcyBjb21wbGV0ZS4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm1cbiAgICogYW55IGFkZGl0aW9uYWwgc2V0dXAgcmVxdWlyZWQgYWZ0ZXIgbG9hZGluZyBpcyBjb21wbGV0ZS5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIG9yIHZvaWQgaW5kaWNhdGluZyB0aGUgY29tcGxldGlvbiBvZiB0aGUgbG9hZCBwcm9jZXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9ubG9hZENvbXBsZXRlKCk6IE1heWJlUHJvbWlzZTx2b2lkPiB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlcyB0aGUgcHJvdmlkZWQgc2V0dGluZ3MgZGF0YSBhbmQgcmV0dXJucyB0aGUgcGFyc2VkIGBQbHVnaW5TZXR0aW5nc2AuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIHJhdyBkYXRhIHRvIGJlIHBhcnNlZCBpbnRvIGBQbHVnaW5TZXR0aW5nc2AuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGBQbHVnaW5TZXR0aW5nc2Agb3IgdGhlIHNldHRpbmdzIGRpcmVjdGx5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHBhcnNlU2V0dGluZ3MoZGF0YTogdW5rbm93bik6IE1heWJlUHJvbWlzZTxQbHVnaW5TZXR0aW5ncz4ge1xuICAgIHJldHVybiBsb2FkUGx1Z2luU2V0dGluZ3ModGhpcy5jcmVhdGVEZWZhdWx0UGx1Z2luU2V0dGluZ3MuYmluZCh0aGlzKSwgZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBub3RpY2UgbWVzc2FnZSB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3dOb3RpY2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubm90aWNlKSB7XG4gICAgICB0aGlzLm5vdGljZS5oaWRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5ub3RpY2UgPSBuZXcgTm90aWNlKGAke3RoaXMubWFuaWZlc3QubmFtZX1cXG4ke21lc3NhZ2V9YCk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIHBsdWdpbiBzZXR0aW5ncyBmcm9tIHRoZSBzYXZlZCBkYXRhLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzZXR0aW5ncyBhcmUgbG9hZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBsb2FkU2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubG9hZERhdGEoKSBhcyB1bmtub3duO1xuICAgIHRoaXMuX3NldHRpbmdzID0gYXdhaXQgdGhpcy5wYXJzZVNldHRpbmdzKGRhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gaXMgbG9hZGVkXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucmVnaXN0ZXIocmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd05vdGljZSgnQW4gdW5oYW5kbGVkIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnNvbGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgfSkpO1xuXG4gICAgYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcbiAgICBjb25zdCBwbHVnaW5TZXR0aW5nc1RhYiA9IHRoaXMuY3JlYXRlUGx1Z2luU2V0dGluZ3NUYWIoKTtcbiAgICBpZiAocGx1Z2luU2V0dGluZ3NUYWIpIHtcbiAgICAgIHRoaXMuYWRkU2V0dGluZ1RhYihwbHVnaW5TZXR0aW5nc1RhYik7XG4gICAgfVxuXG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX2Fib3J0U2lnbmFsID0gYWJvcnRDb250cm9sbGVyLnNpZ25hbDtcbiAgICB0aGlzLnJlZ2lzdGVyKCgpID0+IHtcbiAgICAgIGFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMub25sb2FkQ29tcGxldGUoKTtcbiAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub25MYXlvdXRSZWFkeSh0aGlzLm9uTGF5b3V0UmVhZHkuYmluZCh0aGlzKSk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZXMgdGhlIG5ldyBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBuZXdTZXR0aW5ncyAtIFRoZSBuZXcgc2V0dGluZ3MgdG8gc2F2ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIHNhdmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNhdmVTZXR0aW5ncyhuZXdTZXR0aW5nczogUGx1Z2luU2V0dGluZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IGNsb25lUGx1Z2luU2V0dGluZ3ModGhpcy5jcmVhdGVEZWZhdWx0UGx1Z2luU2V0dGluZ3MuYmluZCh0aGlzKSwgbmV3U2V0dGluZ3MpO1xuICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQWJvcnRTaWduYWwgdXNlZCBmb3IgYWJvcnRpbmcgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgICByZXR1cm4gdGhpcy5fYWJvcnRTaWduYWw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBzZXR0aW5ncygpOiBQbHVnaW5TZXR0aW5ncyB7XG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBjb3B5IG9mIHRoZSBjdXJyZW50IHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgQSBjb3B5IG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNldHRpbmdzQ29weSgpOiBQbHVnaW5TZXR0aW5ncyB7XG4gICAgcmV0dXJuIGNsb25lUGx1Z2luU2V0dGluZ3ModGhpcy5jcmVhdGVEZWZhdWx0UGx1Z2luU2V0dGluZ3MuYmluZCh0aGlzKSwgdGhpcy5zZXR0aW5ncyk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esc0JBSU87QUFJUCxtQkFBK0M7QUFDL0Msc0JBQXFCO0FB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
|
@@ -14,27 +14,9 @@ import type { MaybePromise } from '../../Async.ts';
|
|
14
14
|
* @typeParam PluginSettings - The type representing the plugin settings object.
|
15
15
|
*/
|
16
16
|
export declare abstract class PluginBase<PluginSettings extends object> extends Plugin {
|
17
|
+
private _abortSignal;
|
17
18
|
private _settings;
|
18
19
|
private notice?;
|
19
|
-
private _abortSignal;
|
20
|
-
/**
|
21
|
-
* Gets the AbortSignal used for aborting long-running operations.
|
22
|
-
*
|
23
|
-
* @returns The abort signal.
|
24
|
-
*/
|
25
|
-
protected get abortSignal(): AbortSignal;
|
26
|
-
/**
|
27
|
-
* Gets a copy of the current plugin settings.
|
28
|
-
*
|
29
|
-
* @returns A copy of the plugin settings.
|
30
|
-
*/
|
31
|
-
get settingsCopy(): PluginSettings;
|
32
|
-
/**
|
33
|
-
* Gets the plugin settings.
|
34
|
-
*
|
35
|
-
* @returns The plugin settings.
|
36
|
-
*/
|
37
|
-
protected get settings(): PluginSettings;
|
38
20
|
/**
|
39
21
|
* Creates the default plugin settings. This method must be implemented by subclasses.
|
40
22
|
*
|
@@ -46,11 +28,14 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
|
|
46
28
|
*
|
47
29
|
* @returns The settings tab or null if not applicable.
|
48
30
|
*/
|
49
|
-
protected abstract createPluginSettingsTab():
|
31
|
+
protected abstract createPluginSettingsTab(): null | PluginSettingTab;
|
50
32
|
/**
|
51
|
-
* Called when the
|
33
|
+
* Called when the layout is ready. This method can be overridden by subclasses to perform actions once
|
34
|
+
* the layout is ready.
|
35
|
+
*
|
36
|
+
* @returns A promise or void indicating the completion of the layout setup.
|
52
37
|
*/
|
53
|
-
|
38
|
+
protected onLayoutReady(): MaybePromise<void>;
|
54
39
|
/**
|
55
40
|
* Called when the plugin loading is complete. This method must be implemented by subclasses to perform
|
56
41
|
* any additional setup required after loading is complete.
|
@@ -59,12 +44,18 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
|
|
59
44
|
*/
|
60
45
|
protected onloadComplete(): MaybePromise<void>;
|
61
46
|
/**
|
62
|
-
*
|
63
|
-
* the layout is ready.
|
47
|
+
* Parses the provided settings data and returns the parsed `PluginSettings`.
|
64
48
|
*
|
65
|
-
* @
|
49
|
+
* @param data - The raw data to be parsed into `PluginSettings`.
|
50
|
+
* @returns A promise that resolves to `PluginSettings` or the settings directly.
|
66
51
|
*/
|
67
|
-
protected
|
52
|
+
protected parseSettings(data: unknown): MaybePromise<PluginSettings>;
|
53
|
+
/**
|
54
|
+
* Displays a notice message to the user.
|
55
|
+
*
|
56
|
+
* @param message - The message to display.
|
57
|
+
*/
|
58
|
+
protected showNotice(message: string): void;
|
68
59
|
/**
|
69
60
|
* Loads the plugin settings from the saved data.
|
70
61
|
*
|
@@ -72,12 +63,9 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
|
|
72
63
|
*/
|
73
64
|
private loadSettings;
|
74
65
|
/**
|
75
|
-
*
|
76
|
-
*
|
77
|
-
* @param data - The raw data to be parsed into `PluginSettings`.
|
78
|
-
* @returns A promise that resolves to `PluginSettings` or the settings directly.
|
66
|
+
* Called when the plugin is loaded
|
79
67
|
*/
|
80
|
-
|
68
|
+
onload(): Promise<void>;
|
81
69
|
/**
|
82
70
|
* Saves the new plugin settings.
|
83
71
|
*
|
@@ -86,9 +74,21 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
|
|
86
74
|
*/
|
87
75
|
saveSettings(newSettings: PluginSettings): Promise<void>;
|
88
76
|
/**
|
89
|
-
*
|
77
|
+
* Gets the AbortSignal used for aborting long-running operations.
|
90
78
|
*
|
91
|
-
* @
|
79
|
+
* @returns The abort signal.
|
92
80
|
*/
|
93
|
-
protected
|
81
|
+
protected get abortSignal(): AbortSignal;
|
82
|
+
/**
|
83
|
+
* Gets the plugin settings.
|
84
|
+
*
|
85
|
+
* @returns The plugin settings.
|
86
|
+
*/
|
87
|
+
protected get settings(): PluginSettings;
|
88
|
+
/**
|
89
|
+
* Gets a copy of the current plugin settings.
|
90
|
+
*
|
91
|
+
* @returns A copy of the plugin settings.
|
92
|
+
*/
|
93
|
+
get settingsCopy(): PluginSettings;
|
94
94
|
}
|