UNPKG

@nextcloud/vue

Version:
62 lines (61 loc) 1.99 kB
import { l as logger } from "./logger.mjs"; window._vue_richtext_custom_picker_elements ??= {}; window._registerCustomPickerElement ??= registerCustomPickerElement; class NcCustomPickerRenderResult { element; object; /** * @param element - The HTML element * @param object - The object */ constructor(element, object) { this.element = element; this.object = object; } } function isCustomPickerElementRegistered(id) { return !!window._vue_richtext_custom_picker_elements[id]; } function getCustomPickerElementSize(id) { const size = window._vue_richtext_custom_picker_elements[id]?.size; if (size && ["small", "normal", "large", "full"].includes(size)) { return size; } return null; } function registerCustomPickerElement(id, callback, onDestroy = () => { }, size = "large") { if (window._vue_richtext_custom_picker_elements[id]) { logger.error(`Custom reference picker element for id ${id} already registered`); return; } window._vue_richtext_custom_picker_elements[id] = { id, callback, onDestroy, size }; } function renderCustomPickerElement(el, options) { const { providerId, accessible } = options; if (!window._vue_richtext_custom_picker_elements[providerId]) { logger.error(`Custom reference picker element for reference provider ID ${providerId} not registered`); return; } return window._vue_richtext_custom_picker_elements[providerId].callback(el, { providerId, accessible }); } function destroyCustomPickerElement(providerId, el, renderResult) { if (!window._vue_richtext_custom_picker_elements[providerId]) { return; } window._vue_richtext_custom_picker_elements[providerId].onDestroy(el, renderResult); } export { NcCustomPickerRenderResult as N, renderCustomPickerElement as a, destroyCustomPickerElement as d, getCustomPickerElementSize as g, isCustomPickerElementRegistered as i, registerCustomPickerElement as r }; //# sourceMappingURL=customPickerElements.mjs.map