@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
TypeScript
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;
}