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, destroyWidget as a, isWidgetRegistered as b, registerWidget as c, destroyCustomPickerElement as d, renderCustomPickerElement as e, renderWidget as f, getCustomPickerElementSize as g, hasInteractiveView as h, isCustomPickerElementRegistered as i, hasFullWidth as j, registerCustomPickerElement as r }; //# sourceMappingURL=customPickerElements-Cu7bLbap.mjs.map