devexpress-richedit
Version:
DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.
162 lines (161 loc) • 7.78 kB
TypeScript
import dxDataSource from 'devextreme/data/data_source';
import { ContextMenuBarBase } from '../common/bars/context-menu';
import { IContextMenuBar, IRibbonBar } from '../common/bars/interfaces';
import { FloatingObjectMovedArgumentInner } from '../common/commands/floating-objects/floating-object-drag-drop-change-position-command';
import { IControlOwner } from '../common/interfaces/i-control-owner';
import { IInternalApi } from '../common/internal-api';
import { Field } from '../common/model/fields/field';
import { FontsSettings } from '../common/model/options/fonts';
import { Point } from '@devexpress/utils/lib/geometry/point';
import { FixedInterval } from '@devexpress/utils/lib/intervals/fixed';
import { CalculateDocumentVariableAsyncEventArgs } from './document-processor/docvar-args';
import { DocumentFormatApi } from './model-api/formats/enum';
import { ActiveContextTabManager } from './bars/active-context-tab-manager';
import { ClientBarHolder } from './bars/bar-holder';
import { ClientRichEditCore } from './client-rich-edit-core';
import { ContextMenuSettings } from './context-menu/settings';
import { DialogManager } from './dialogs/dialog-manager';
import { IInitialDocumentSettings, IRichEditSettings } from './i-rich-constructor-settings';
import { Events } from './public/client-events';
import { CommandId } from './public/commands/enum';
import { CalculateDocumentVariableEventArgs, ContextMenuShowingEventArgs, EventArgs } from './public/events';
import { Ribbon } from './public/ribbon/ribbon';
import { RichEdit } from './public/rich-edit';
import { ClientQuickSearchPanel } from './ui/client-quick-search-panel';
import { RulerSettings } from '../common/ui/ruler/settings';
import { ViewSettings } from '../common/view-settings/views-settings';
interface ResizeObserverOptions {
box?: 'content-box' | 'border-box' | 'device-pixel-content-box';
}
interface ResizeObserverSize {
readonly inlineSize: number;
readonly blockSize: number;
}
interface ResizeObserver {
disconnect(): void;
observe(target: Element, options?: ResizeObserverOptions): void;
unobserve(target: Element): void;
}
declare var ResizeObserver: {
new (callback: ResizeObserverCallback): ResizeObserver;
prototype: ResizeObserver;
};
interface ResizeObserverCallback {
(entries: ResizeObserverEntry[], observer: ResizeObserver): void;
}
interface ResizeObserverEntry {
readonly target: Element;
readonly contentRect: DOMRectReadOnly;
readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;
readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;
readonly devicePixelContentBoxSize?: ReadonlyArray<ResizeObserverSize>;
}
export declare class ClientRichEdit implements IControlOwner {
core: ClientRichEditCore;
name: string;
element: HTMLElement;
barHolder: ClientBarHolder;
dialogManager: DialogManager;
_clientQuickSearchPanel: ClientQuickSearchPanel;
get clientQuickSearchPanel(): ClientQuickSearchPanel;
dataSource: dxDataSource;
rawDataSource: any;
private readonly fullScreenHelper;
exportUrl: string;
private publicRichEdit;
events: Events;
private losingChangesWatcher;
private evtHandlersHolder;
private rulerSettings;
lastRibbonSettings: Ribbon;
isInitialized: boolean;
isInFullScreenMode: boolean;
hasWorkDirectory: boolean;
internalApi: IInternalApi;
contextMenuSettings: ContextMenuSettings;
onInit?: string | ((s: RichEdit, e: EventArgs) => void);
document?: IInitialDocumentSettings;
allowDocumentLoadedEventCall: boolean;
activeContextTabManager: ActiveContextTabManager;
resizeObserver: ResizeObserver;
getPublicRichEdit(): RichEdit;
constructor(element: HTMLElement, options: IRichEditSettings, publicRichEdit: RichEdit);
getRulerSettings(viewSettings: ViewSettings): RulerSettings;
disposeDataSource(): void;
dispose(): void;
setNewRawDataSource(rawDataSource: any, callback: (success: boolean) => void): void;
private prepareElement;
private createCore;
private initCore;
private initEvents;
private initDefaultFontsAndStyles;
private initBars;
initRibbon(ribbon: Ribbon, fonts: FontsSettings): void;
private initDialogManager;
private getStringResources;
private initLosingChangesWatcher;
private attachEvents;
private canUseResizeObserver;
syncSessionGuid(_sessionGuid: string): void;
canCaptureFocus(): boolean;
Focus(): void;
adjustControl(): void;
toggleFullScreenMode(): void;
confirmOnLosingChanges(): boolean;
sendExportRequest(base64: string, fileName: string, format: DocumentFormatApi, reason: string): void;
get documentSaved(): boolean;
set documentSaved(state: boolean);
sendExportPdfRequest(base64: string, fileName: string, pdfExportUrl: string): void;
private sendPostRequest;
showDialog(name: string, parameters: any, callback: (params: any) => void, afterClosing: () => void, isModal: boolean): void;
raiseBeginSynchronization(): void;
raiseDocumentLoaded(): void;
raiseDocumentChanged(): void;
raiseDocumentFormatted(pageCount: number): void;
raiseActiveSubDocumentChanged(): void;
onCaptureFocus(): void;
raiseGotFocus(): void;
raiseLostFocus(): void;
raiseHyperlinkClick(evt: MouseEvent, field: Field): boolean;
raisePointerDown(evt: MouseEvent): boolean;
raisePointerUp(evt: MouseEvent): boolean;
raiseKeyDown(evt: KeyboardEvent): boolean;
raiseKeyUp(evt: KeyboardEvent): void;
raiseCalculateDocumentVariable(args: CalculateDocumentVariableEventArgs): void;
raiseContentInserted(subDocumentId: number, interval: FixedInterval): void;
raiseContentRemoved(subDocumentId: number, interval: FixedInterval, removedText: string): void;
raiseCharacterPropertiesChanged(subDocumentId: number, interval: FixedInterval): void;
raiseParagraphPropertiesChanged(subDocumentId: number, paragraphIndex: number): void;
raiseAutoCorrect(text: string, interval: FixedInterval): boolean;
raiseSelectionChanged(): void;
raiseSaving(base64: string, fileName: string, format: DocumentFormatApi, reason: string): boolean;
raiseHorizontalRulerVisibleChanged(horizontalRulerVisible: boolean): void;
raiseSaved(success: boolean, reason: string): void;
raiseCustomCommandExecuted(command: any, parameter: any): void;
raiseFloatingObjectMovedObject(_arg: FloatingObjectMovedArgumentInner): void;
raisePdfExported(success: boolean): void;
raisePdfExporting(base64: string, blob: Blob, blobStream: any, handled: boolean): boolean;
raiseCommandStateChanged(commands: null | CommandId[]): void;
raiseCalculateDocumentVariableAsync(args: CalculateDocumentVariableAsyncEventArgs): void;
useAsyncVersionOfCalculateDocvariable(): boolean;
raiseContextMenuShowing(args: ContextMenuShowingEventArgs): void;
showPopupMenu(getPoint: (contextMenuBar: ContextMenuBarBase) => Point): void;
hidePopupMenu(): void;
showQuickSearchPanel(): void;
hideQuickSearchPanel(): void;
isRibbon(element: HTMLElement): boolean;
isTouchMode(): boolean;
getChildElement(postfix: string): HTMLElement;
getMainElement(): HTMLElement;
hasActiveDialog(): boolean;
getContextMenuBar(): IContextMenuBar;
getRibbonBar(): IRibbonBar | null;
private getLinkType;
private setFullScreenMode;
private setNormalMode;
private onFullScreenChange;
private documentIsNotFullScreen;
private adjustControlInFullScreenMode;
savingEventIsEmpty(): boolean;
}
export {};