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.

129 lines (128 loc) 6.39 kB
import { DragNDropHandler } from "./DragNDropHandler"; import { LayerCollection } from "./LayerCollection"; import { BaseRectangleItemHandler, PlaceholderItemHandler } from "./ItemHandlers"; import { PointF, RotatedRectangleF, RectangleF } from "@aurigma/design-atoms-model/Math"; import { Viewer } from "./Viewer"; import { RotateHandler } from "./RotateHandler"; import { TextAlignment, TextVerticalAlignment, Size } from "@aurigma/design-atoms-model/Product/Items"; import { SelectionHandler } from "./Services/Selection/SelectionHandler"; export interface ITextEditorElementHandler { addTextEditorStyles(css: string): void; textEditorDiv: HTMLElement; textEditorInnerDiv: HTMLElement; showTextEditor(rectangle: RotatedRectangleF, textAlignment: TextAlignment, html: string, borderWidth: number, borderColor: string, fillColor: string, opacity: number, verticalAlignment: TextVerticalAlignment, isVertical: boolean): void; hideTextEditor(): any; getTextEditorFormattedText(): string; } export interface IActiveTextCanvasHandler { moveActiveTextCanvasOnTop(): void; moveActiveTextCanvasBack(): void; } export declare class CanvasElementHandler implements ITextEditorElementHandler, IActiveTextCanvasHandler { private _viewer; private _selection; private _dndHandler; private _rotateHandler; private _config; private _document; private _parent; private _whitespace; private _childrenToAdd; private _dndDiv; private _dndStyle; private _buttonStyle; private _textEditorDiv; private _textEditorInnerDiv; private readonly _staticTextCanvasId; staticTextCanvas: HTMLCanvasElement; private _offset; get offset(): PointF; set offset(value: PointF); constructor(_viewer: Viewer, _selection: SelectionHandler, _dndHandler: DragNDropHandler, _rotateHandler: RotateHandler, config: ICanvasElementHandlerConfiguration); setConf(conf: ICanvasElementHandlerConfiguration): void; private get _canvas(); addStyles(): void; private _addButtonStyles; private _addDndStyle; addTextEditorStyles(css: string): void; private _addStaticTextCanvas; private _viewportDiv; private _viewportSurfaceCanvas; private _viewportInactiveCanvas; private _viewportActiveCanvas; private _viewportDesignCanvas; private _viewportActiveTextCanvas; private _viewportCursorCanvas; private _viewportSelectionCanvas; private _viewportTextureCanvas; private _viewportMemoryCanvas; get viewportSurfaceCanvas(): HTMLCanvasElement; get viewportInactiveCanvas(): HTMLCanvasElement; get viewportActiveCanvas(): HTMLCanvasElement; get viewportDesignCanvas(): HTMLCanvasElement; get viewportActiveTextCanvas(): HTMLCanvasElement; get viewportCursorCanvas(): HTMLCanvasElement; get viewportSelectionCanvas(): HTMLCanvasElement; get viewportTextureCanvas(): HTMLCanvasElement; get viewportMemoryCanvas(): HTMLCanvasElement; private _appendViewportCanvas; addViewport(viewport: HTMLDivElement): void; private _createViewportCanvas; updateViewport(): void; private _updateViewportCanvas; removeViewport(): void; addElement(parent: HTMLElement, whitespace: HTMLElement, width: number, height: number): void; replaceStaticTextCanvas(): HTMLCanvasElement; createCanvas(size: Size): HTMLCanvasElement; removeElement(): void; updateElementSize(width: number, height: number, fullUpdate?: boolean): void; moveActiveTextCanvasOnTop(): void; moveActiveTextCanvasBack(): void; private _addDndDiv; private _removeDndDiv; showDnd(point: PointF, image: HTMLImageElement, angle: number): void; hideDnd(): void; addChild: (element: HTMLElement) => void; removeChilds(element: HTMLElement): void; addPlaceholderButtonGroup(placeholder: PlaceholderItemHandler, viewer: Viewer): void; removePlaceholderButtonGroup(placeholder: PlaceholderItemHandler): void; updatePlaceholderButtonGroup(placeholder: PlaceholderItemHandler, viewer: Viewer): void; updatePlaceholderButtonGroupPosition(placeholder: PlaceholderItemHandler, viewer: Viewer): void; addViolationContainer(itemHandler: BaseRectangleItemHandler, viewer: Viewer): void; removeViolationContainer(handler: BaseRectangleItemHandler): void; updateViolationContainer(itemHandler: BaseRectangleItemHandler, updatePosition: boolean, viewer: Viewer): void; private _showQualityChangeContainer; updateViolationContainerPosition(itemHandler: BaseRectangleItemHandler, viewer: Viewer): void; private readonly _textEditorId; private _addTextEditorDiv; private _removeTextEditorDiv; private _onZoomedScrolledDelegate; private _appendTextEditorDivToDom; private _removeTextEditorDivFromDom; get textEditorDiv(): HTMLElement; get textEditorInnerDiv(): HTMLElement; showTextEditor(rectangle: RotatedRectangleF, textAlignment: TextAlignment, html: string, borderWidth: number, borderColor: string, fillColor: string, opacity: number, textVerticalAlignment: TextVerticalAlignment, isVertical: boolean): void; private _getOutlineStyleFromDashPattern; changeTextEditorDivOutlineColor(toRed: boolean): void; hideTextEditor(): void; getTextEditorFormattedText(): string; private _updateTextEditorPosition; calculateRenderStateForItemHandlers(layers: LayerCollection): boolean; private setHandlerState; private _createCanvasElement; static setElementSize(element: HTMLCanvasElement, width: number, height: number, fullUpdate?: boolean): void; static showElement(element: HTMLElement, withoutAnimation?: boolean): void; static hideElement(element: HTMLElement, withoutAnimation?: boolean): void; private _stopPropagationFnc; private _isPlaceholder; private _isImage; private _isGroup; private _isImageOrPlaceholder; private _getSelectButtonTitle; static getControlRectangle(rectangle: RotatedRectangleF, viewer: Viewer): RectangleF; private get _isDefaultInputHandler(); static rotateRectangle(rectangle: RotatedRectangleF, viewer: Viewer): RotatedRectangleF; } export interface ICanvasElementHandlerConfiguration { handleButtonEnabled: boolean; }