UNPKG

obsidian-dev-utils

Version:

This is the collection of useful functions that you can use for your Obsidian plugin development

51 lines (48 loc) 6.24 kB
/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD if you want to view the source, please visit the github repository of this plugin */ (function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})(); import { FuzzySuggestModal } from "obsidian"; import { CssClass } from "../../CssClass.mjs"; import { addPluginCssClasses } from "../Plugin/PluginContext.mjs"; import { showModal } from "./ModalBase.mjs"; class ItemSelectModal extends FuzzySuggestModal { constructor(options, resolve) { super(options.app); this.options = options; this.resolve = resolve; this.setPlaceholder(options.placeholder ?? ""); addPluginCssClasses(this.containerEl, CssClass.SelectItemModal); if (options.cssClass) { this.containerEl.addClass(options.cssClass); } } isSelected = false; getItems() { return this.options.items; } getItemText(item) { return this.options.itemTextFunc(item); } onChooseItem(item) { this.resolve(item); } onClose() { super.onClose(); if (!this.isSelected) { this.resolve(null); } } selectSuggestion(value, evt) { this.isSelected = true; super.selectSuggestion(value, evt); } } async function selectItem(options) { return await showModal((resolve) => new ItemSelectModal(options, resolve)); } export { selectItem }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFscy9TZWxlY3RJdGVtLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYW4gaXRlbSBmcm9tIGEgbGlzdC4gVGhlIG1vZGFsIHVzZXMgZnV6enkgc2VhcmNoIHRvIGhlbHAgdGhlIHVzZXIgZmluZCB0aGUgaXRlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgRnV6enlNYXRjaFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IEZ1enp5U3VnZ2VzdE1vZGFsIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnLi4vLi4vQXN5bmMudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luQ29udGV4dC50cyc7XG5pbXBvcnQgeyBzaG93TW9kYWwgfSBmcm9tICcuL01vZGFsQmFzZS50cyc7XG5cbi8qKlxuICogVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0SXRlbU9wdGlvbnM8VD4ge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSBtb2RhbC5cbiAgICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBpdGVtcyB0byBjaG9vc2UgZnJvbS5cbiAgICovXG4gIGl0ZW1zOiBUW107XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBkaXNwbGF5IHRleHQgZm9yIGVhY2ggaXRlbVxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBpdGVtIHRvIGdldCB0aGUgZGlzcGxheSB0ZXh0IGZvci5cbiAgICogQHJldHVybnMgVGhlIGRpc3BsYXkgdGV4dCBmb3IgdGhlIGl0ZW0uXG4gICAqL1xuICBpdGVtVGV4dEZ1bmM6IChpdGVtOiBUKSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuY2xhc3MgSXRlbVNlbGVjdE1vZGFsPFQ+IGV4dGVuZHMgRnV6enlTdWdnZXN0TW9kYWw8VD4ge1xuICBwcml2YXRlIGlzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBTZWxlY3RJdGVtT3B0aW9uczxUPiwgcHJpdmF0ZSByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxudWxsIHwgVD4pIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcihvcHRpb25zLnBsYWNlaG9sZGVyID8/ICcnKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHRoaXMuY29udGFpbmVyRWwsIENzc0NsYXNzLlNlbGVjdEl0ZW1Nb2RhbCk7XG4gICAgaWYgKG9wdGlvbnMuY3NzQ2xhc3MpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuYWRkQ2xhc3Mob3B0aW9ucy5jc3NDbGFzcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldEl0ZW1zKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pdGVtcztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRJdGVtVGV4dChpdGVtOiBUKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLml0ZW1UZXh0RnVuYyhpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNob29zZUl0ZW0oaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZShpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHN1cGVyLm9uQ2xvc2UoKTtcbiAgICBpZiAoIXRoaXMuaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZWxlY3RTdWdnZXN0aW9uKFxuICAgIHZhbHVlOiBGdXp6eU1hdGNoPFQ+LFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnRcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICBzdXBlci5zZWxlY3RTdWdnZXN0aW9uKHZhbHVlLCBldnQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4gZm9yIGNob29zaW5nIGFuIGl0ZW0gZnJvbSBhIGxpc3QuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHNlbGVjdGlvbiBtb2RhbC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgc2VsZWN0ZWQgaXRlbSBvciBudWxsIGlmIG5vIGl0ZW0gd2FzIHNlbGVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VsZWN0SXRlbTxUPihvcHRpb25zOiBTZWxlY3RJdGVtT3B0aW9uczxUPik6IFByb21pc2U8bnVsbCB8IFQ+IHtcbiAgcmV0dXJuIGF3YWl0IHNob3dNb2RhbDxudWxsIHwgVD4oKHJlc29sdmUpID0+IG5ldyBJdGVtU2VsZWN0TW9kYWwob3B0aW9ucywgcmVzb2x2ZSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQWFBLFNBQVMseUJBQXlCO0FBSWxDLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsMkJBQTJCO0FBQ3BDLFNBQVMsaUJBQWlCO0FBbUMxQixNQUFNLHdCQUEyQixrQkFBcUI7QUFBQSxFQUc3QyxZQUFvQixTQUF1QyxTQUFtQztBQUNuRyxVQUFNLFFBQVEsR0FBRztBQURRO0FBQXVDO0FBRWhFLFNBQUssZUFBZSxRQUFRLGVBQWUsRUFBRTtBQUM3Qyx3QkFBb0IsS0FBSyxhQUFhLFNBQVMsZUFBZTtBQUM5RCxRQUFJLFFBQVEsVUFBVTtBQUNwQixXQUFLLFlBQVksU0FBUyxRQUFRLFFBQVE7QUFBQSxJQUM1QztBQUFBLEVBQ0Y7QUFBQSxFQVRRLGFBQWE7QUFBQSxFQVdMLFdBQWdCO0FBQzlCLFdBQU8sS0FBSyxRQUFRO0FBQUEsRUFDdEI7QUFBQSxFQUVnQixZQUFZLE1BQWlCO0FBQzNDLFdBQU8sS0FBSyxRQUFRLGFBQWEsSUFBSTtBQUFBLEVBQ3ZDO0FBQUEsRUFFZ0IsYUFBYSxNQUFlO0FBQzFDLFNBQUssUUFBUSxJQUFJO0FBQUEsRUFDbkI7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixVQUFNLFFBQVE7QUFDZCxRQUFJLENBQUMsS0FBSyxZQUFZO0FBQ3BCLFdBQUssUUFBUSxJQUFJO0FBQUEsSUFDbkI7QUFBQSxFQUNGO0FBQUEsRUFFZ0IsaUJBQ2QsT0FDQSxLQUNNO0FBQ04sU0FBSyxhQUFhO0FBQ2xCLFVBQU0saUJBQWlCLE9BQU8sR0FBRztBQUFBLEVBQ25DO0FBQ0Y7QUFRQSxlQUFzQixXQUFjLFNBQWtEO0FBQ3BGLFNBQU8sTUFBTSxVQUFvQixDQUFDLFlBQVksSUFBSSxnQkFBZ0IsU0FBUyxPQUFPLENBQUM7QUFDckY7IiwKICAibmFtZXMiOiBbXQp9Cg==