UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

115 lines (114 loc) 6.58 kB
import { RectangleF, PointF, Path, RotatedRectangleF, Transform } from "@aurigma/design-atoms-model/Math"; import { BaseTextItem } from "@aurigma/design-atoms-model/Product/Items"; import { IInlineStyle, IParagraphStyle } from "../InPlace/ITextEditor"; import { FontRegistry } from "../InPlace/FontRegistry"; import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS"; import { ShapeItemHandler } from "./ShapeItemHandler"; import { ShapeHandlerData } from "./ShapeHandlerData"; import { EventWithSenderArg } from "@aurigma/design-atoms-model/EventObject"; import { ITextFrameData, IWrappingPathData, ITextEditor } from "@aurigma/design-atoms-text/TextEditor/Interfaces"; import { ITextEditorController } from "../InPlace/ITextEditorController"; import { IPointerParams, IKeyboardEventParams } from "./../Input/InputManager/IInputManager"; import { IDesignAtomsApiClient } from "../Services/IDesignAtomsApiClient"; import { IListenableColorPreviewService } from "../Services/IColorPreviewService"; import { Color } from "@aurigma/design-atoms-model"; import { ICanvas } from "../ICanvas"; import { ItemHandlerState } from "./ItemHandlerState"; import { IColorParser } from "../Serialization/Color"; export interface ITextEditorControllerFactory { create(itemHandler: NewBaseTextItemHandler, textWhizz: typeof TextWhizz): ITextEditorController; } export declare abstract class NewBaseTextItemHandler extends ShapeItemHandler { static readonly typeName: string; private readonly _imageContainer; private readonly _textEditorControllerFactory; private _fontRegistry; private _fontRegistryUpdated; private _waitLoadFontsDef; private _waitLoadFontsLastInnerUpdate; private _frontEndUpdateExecutionToken; private _initFrontEndRenderingDef; protected _staticTextRect: RectangleF; protected readonly _exitedEditModeEvent: EventWithSenderArg<unknown, unknown>; protected readonly _enteredEditModeEvent: EventWithSenderArg<unknown, unknown>; protected _textEditorController: ITextEditorController; protected _colorParser: IColorParser; protected constructor(fontRegistry: FontRegistry, textEditorControllerFactory: ITextEditorControllerFactory, item?: BaseTextItem, textWhizz?: typeof TextWhizz, apiClient?: IDesignAtomsApiClient, colorPreviewService?: IListenableColorPreviewService, colorParser?: IColorParser); isHighlightNeeded(): boolean; get textEditorController(): ITextEditorController; get item(): BaseTextItem; set item(item: BaseTextItem); get isInEdit(): boolean; get textEditor(): ITextEditor; get editing(): boolean; get textCropped(): boolean; get frontEndRenderingReady(): boolean; get inPlaceEditingEnabled(): boolean; get exitedEditModeEvent(): EventWithSenderArg<unknown, unknown>; get enteredEditModeEvent(): EventWithSenderArg<unknown, unknown>; get colorPreviewService(): IListenableColorPreviewService; abstract getFramesData(): ITextFrameData; abstract getWrappingPathData(): IWrappingPathData; abstract setTextWhizzWrappingPath(handler: TextWhizz.TextHandler): void; updateText(text: string): void; applyInlineStyle(style: IInlineStyle): void; applyParagraphStyle(paragraphStyle: IParagraphStyle): void; isEmpty(): boolean; isEmptyTextPlaceholder(): boolean; setTextWhizzModule(textWhizz: typeof TextWhizz, fontRegistry: FontRegistry): void; onTextWhizzInit(): void; waitUpdate(): Promise<void>; frontEndUpdate(beforeUpdate?: Function, afterUpdate?: Function, trigger?: string): Promise<void>; update(beforeUpdate?: Function, afterUpdate?: Function, trigger?: string): void; updateAsync(beforeUpdate?: Function, afterUpdate?: Function, trigger?: string): Promise<void>; quickUpdate(): void; setRectangle(rectangle: RotatedRectangleF, supressOnChanged?: boolean): void; updateRectangle(rectangle: RectangleF, updateFromTextEdit: boolean): void; redrawActiveText(): void; drawItemHandler(itemHandlerCtx: CanvasRenderingContext2D): void; clearImageContainer(): void; _endTransform(changed: boolean, resized: boolean): void; processInPlaceEditingMouseEvent(e: IPointerParams, mouseOverCurrent: boolean): Promise<boolean>; processInPlaceEditingKeyEvent(e: IKeyboardEventParams): Promise<boolean>; enterEditMode(): Promise<void>; exitEditMode(stayActive?: boolean): Promise<void>; getTextForRendering(): string; dispose(): void; getFonts(): string[]; protected _isReady(): boolean; protected _drawHandlerEffects(ctx: CanvasRenderingContext2D): void; protected _getColors(): Color[]; protected _updateImpl(beforeUpdate?: Function, afterUpdate?: Function, trigger?: string): Promise<void>; protected abstract _applyTransform(item: BaseTextItem, transform: Transform, center: PointF): void; protected _onItemPropertyChanged(sender: BaseTextItem, propertyName: string): void; protected _onItemVisibilityChanged(): void; protected _setDataItem(itemData: BaseTextItem, itemHandlerData: any): void; protected _createDataInstance(itemHandler?: ShapeItemHandler): ShapeHandlerData; protected _onAddedOnCanvas(canvas: ICanvas): void; protected _onRemovedFromCanvas(canvas: any): void; protected _transformText(transform: Transform): void; protected _getBoundsMargin(): number; protected renderFill(itemHandlerCtx: CanvasRenderingContext2D, opacityMultiplier: number): void; protected renderStroke(itemHandlerCtx: CanvasRenderingContext2D, opacityMultiplier: number): void; protected _getEndTransformTrigger(resized: boolean): string; protected _onFrontEndRenderingInitialized(): void; private _initFrontEndRendering; private _onStaticTextImageChanged; protected _onTextManagerEnteredEditMode(): void; protected _onTextManagerExitedEditMode(): void; protected _getPreviewScaleLimits(): { min: number; max: number; }; protected waitInitFrontEndRendering(): Promise<void>; private _waitFontRegistryInitialized; protected _pathToTextWhizzPath(path: Path): TextWhizz.Path; private get _isMobileTextEditorActive(); private _beforeFrontEndUpdate; private _isFrontEndRenderingInitialized; private _doFrontEndUpdate; private _waitLoadFonts; protected _needToDrawBaseline(): boolean; protected _getBaselineDrawStates(): ItemHandlerState[]; protected _getCurrentState(): ItemHandlerState; }