UNPKG

@nextcloud/vue

Version:
118 lines (117 loc) 3.99 kB
"use strict"; const logger = require("./logger-3HuiEIF6.cjs"); 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.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.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 (["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.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.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); } exports.NcCustomPickerRenderResult = NcCustomPickerRenderResult; exports.destroyCustomPickerElement = destroyCustomPickerElement; exports.destroyWidget = destroyWidget; exports.getCustomPickerElementSize = getCustomPickerElementSize; exports.hasFullWidth = hasFullWidth; exports.hasInteractiveView = hasInteractiveView; exports.isCustomPickerElementRegistered = isCustomPickerElementRegistered; exports.isWidgetRegistered = isWidgetRegistered; exports.registerCustomPickerElement = registerCustomPickerElement; exports.registerWidget = registerWidget; exports.renderCustomPickerElement = renderCustomPickerElement; exports.renderWidget = renderWidget; //# sourceMappingURL=customPickerElements-GyIIOHiQ.cjs.map