@syncfusion/ej2-richtexteditor
Version:
Essential JS 2 RichTextEditor component
170 lines (160 loc) • 5.05 kB
TypeScript
import { RenderType } from '../base/enum';
import { IRichTextEditor, IQuickToolbar } from '../base/interface';
import { IToolbarItems } from '../../common/interface';
import { ServiceLocator } from '../services/service-locator';
import { BaseQuickToolbar } from './base-quick-toolbar';
import { BaseToolbar } from './base-toolbar';
import { RichTextEditorModel } from '../base/rich-text-editor-model';
import { QuickToolbarType } from '../../common/types';
/**
* `Quick toolbar` module is used to handle Quick toolbar actions.
*/
export declare class QuickToolbar implements IQuickToolbar {
private offsetX;
private offsetY;
private deBouncer;
private target;
private locator;
private parent;
private contentRenderer;
linkQTBar: BaseQuickToolbar;
textQTBar: BaseQuickToolbar;
imageQTBar: BaseQuickToolbar;
audioQTBar: BaseQuickToolbar;
videoQTBar: BaseQuickToolbar;
tableQTBar: BaseQuickToolbar;
inlineQTBar: BaseQuickToolbar;
debounceTimeout: number;
isDestroyed: boolean;
private escapeKeyPressed;
constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
private formatItems;
private getQTBarOptions;
/**
* createQTBar method
*
* @param {string} popupType - specifies the string value
* @param {string} mode - specifies the string value.
* @param {string} items - specifies the string.
* @param {RenderType} type - specifies the render type.
* @returns {BaseQuickToolbar} - specifies the quick toolbar
* @hidden
*/
createQTBar(popupType: QuickToolbarType, mode: string, items: (string | IToolbarItems)[], type: RenderType): BaseQuickToolbar;
private initializeQuickToolbars;
private onMouseDown;
private keyUpQT;
private renderQuickToolbars;
private renderInlineQuickToolbar;
/**
* Method for showing the inline quick toolbar
*
* @param {number} x -specifies the value of x.
* @param {number} y - specifies the y valu.
* @param {HTMLElement} target - specifies the target element.
* @param {KeyboardEvent | MouseEvent} originalEvent - specifies the original event.
* @returns {void}
* @hidden
*/
showInlineQTBar(x: number, y: number, target: HTMLElement, originalEvent?: KeyboardEvent | MouseEvent): void;
/**
* Method for hidding the inline quick toolbar
*
* @returns {void}
* @hidden
*/
hideInlineQTBar(): void;
/**
* Method for hidding the quick toolbar
*
* @returns {void}
* @hidden
*/
hideQuickToolbars(): void;
private deBounce;
private mouseUpHandler;
private hasResizeElement;
private isEmbedVidElem;
private keyDownHandler;
private inlineQTBarMouseDownHandler;
private keyUpHandler;
private selectionChangeHandler;
private onSelectionChange;
/**
* getInlineBaseToolbar method
*
* @returns {void}
* @hidden
*/
getInlineBaseToolbar(): BaseToolbar;
/**
* Destroys the ToolBar.
*
* @function destroy
* @returns {void}
* @hidden
*/
destroy(): void;
private wireInlineQTBarEvents;
private unWireInlineQTBarEvents;
private toolbarUpdated;
/**
* addEventListener
*
* @returns {void}
* @hidden
*/
addEventListener(): void;
private preventQuickToolbarClose;
private onKeyDown;
private onIframeMouseDown;
private updateCss;
private setCssClass;
private setRtl;
/**
* removeEventListener
*
* @returns {void}
* @hidden
*/
removeEventListener(): void;
/**
* Called internally if any of the property value changed.
*
* @param {RichTextEditorModel} e - specifies the element.
* @returns {void}
* @hidden
*/
protected onPropertyChanged(e: {
[key: string]: RichTextEditorModel;
}): void;
/**
* For internal use only - Get the module name.
*
* @returns {void}
* @hidden
*/
private getModuleName;
/**
*
* @returns {BaseQuickToolbar[]} - specifies the quick toolbar instance.
* @hidden
* @private
*/
getQuickToolbarInstance(): BaseQuickToolbar[];
onScroll(e: MouseEvent): void;
/**
* Refreshes the quick toolbar popups by hiding and then displaying them again
* at a target element's location. This method iterates over all available quick
* toolbars, checking their rendered state and visibility. If a toolbar is
* currently visible, it is hidden and then shown again to refresh its position
* based on the specified mouse event. Additionally, for text toolbars, any
* previously stored status is restored after the refresh.
*
* @param {MouseEvent} e - The mouse event that triggers the refresh, used to
* determine the new position for the toolbars.
* @returns {void}
*/
refreshQuickToolbarPopup(e?: MouseEvent): void;
private onWindowResize;
}