UNPKG

@nextcloud/vue

Version:
119 lines (118 loc) 3.67 kB
import { l as logger } from "./logger-D3RVzcfQ.mjs"; window._vue_richtext_widgets ??= {}; window._registerWidget ??= (id, callback, onDestroy, props) => { registerWidget(id, callback, onDestroy, props); }; function registerWidget(id, callback, onDestroy = () => { }, props) { const propsWithDefaults = { hasInteractiveView: true, fullWidth: false, ...props }; if (window._vue_richtext_widgets[id]) { logger.error(`[ReferencePicker]: Widget for id ${id} already registered`); return; } window._vue_richtext_widgets[id] = { id, callback, onDestroy, ...propsWithDefaults }; } function renderWidget(el, options) { const { richObjectType, richObject, accessible, interactive } = options; if (richObjectType === "open-graph") { return; } if (!window._vue_richtext_widgets[richObjectType]) { logger.error("Widget for rich object type " + richObjectType + " not registered"); return; } window._vue_richtext_widgets[richObjectType].callback(el, { richObjectType, richObject, accessible, interactive }); } function destroyWidget(richObjectType, el) { if (richObjectType === "open-graph") { return; } if (!window._vue_richtext_widgets[richObjectType]) { return; } window._vue_richtext_widgets[richObjectType].onDestroy(el); } function isWidgetRegistered(id) { return !!window._vue_richtext_widgets[id]; } function hasInteractiveView(id) { return !!window._vue_richtext_widgets[id]?.hasInteractiveView; } function hasFullWidth(id) { return !!window._vue_richtext_widgets[id]?.fullWidth; } 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, renderWidget as a, destroyCustomPickerElement as b, isCustomPickerElementRegistered as c, destroyWidget as d, registerCustomPickerElement as e, renderCustomPickerElement as f, getCustomPickerElementSize as g, hasInteractiveView as h, isWidgetRegistered as i, hasFullWidth as j, registerWidget as r }; //# sourceMappingURL=customPickerElements-4pQTZUnk.mjs.map