UNPKG

@syncfusion/ej2-richtexteditor

Version:
62 lines (61 loc) 2.71 kB
import { Popup } from '@syncfusion/ej2-popups'; import * as events from '../base/constant'; import { getUniqueID } from '@syncfusion/ej2-base'; import * as classes from '../base/classes'; var QuickPopupRenderer = /** @class */ (function () { function QuickPopupRenderer(parent) { this.parent = parent; } QuickPopupRenderer.prototype.renderPopup = function (type) { this.type = type; var baseClass = this.type === 'Inline' ? classes.CLS_QUICK_POP + ' ' + classes.CLS_INLINE_POP : classes.CLS_QUICK_POP; var baseId = this.type === 'Inline' ? '_Inline_Quick_Popup' : '_Quick_Popup'; var popupId = getUniqueID(this.parent.getID() + '_' + type + baseId); this.popupElement = this.parent.createElement('div', { className: baseClass + ' ' + classes.CLS_RTE_ELEMENTS }); this.popupElement.setAttribute('aria-owns', this.parent.getID()); this.popupElement.id = popupId; var tip = this.parent.createElement('div', { className: classes.CLS_QUICK_TBAR_TIP_POINTER }); this.popupElement.appendChild(tip); this.popup = this.createPopup(this.type, this.popupElement); return this.popup; }; QuickPopupRenderer.prototype.quickToolbarOpen = function () { var args = this.popup; this.parent.trigger(events.quickToolbarOpen, args); }; QuickPopupRenderer.prototype.createPopup = function (type, element) { var popup; switch (type) { case 'Inline': case 'Text': case 'Link': case 'Audio': popup = new Popup(element, { viewPortElement: this.parent.iframeSettings.enable ? null : this.parent.contentModule.getEditPanel(), zIndex: 9, collision: { X: 'fit', Y: 'flip' }, position: { X: 'left', Y: 'top' }, actionOnScroll: 'none', open: this.quickToolbarOpen.bind(this) }); break; case 'Video': case 'Image': case 'Table': popup = new Popup(element, { viewPortElement: this.parent.iframeSettings.enable ? null : this.parent.contentModule.getEditPanel(), zIndex: 9, collision: { X: 'fit', Y: 'flip' }, position: { X: 'left', Y: 'top' }, actionOnScroll: 'none', open: this.quickToolbarOpen.bind(this) }); break; } return popup; }; return QuickPopupRenderer; }()); export { QuickPopupRenderer };