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.

493 lines (492 loc) 21.9 kB
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS"; import { Item, RectangleF, PointF, RotatedRectangleF, Collection, Func } from "@aurigma/design-atoms-model"; import { ITextEditor, ILimitsViolationEventData } from "@aurigma/design-atoms-text"; import { ItemHandler } from "./ItemHandlers/ItemHandler"; import { PlaceholderItemHandler } from "./ItemHandlers/PlaceholderItemHandler"; import { Service } from "./Services/Service"; import { LayerCollection } from "./LayerCollection"; import { DragNDropHandler } from "./DragNDropHandler"; import { RotateHandler } from "./RotateHandler"; import { Viewer } from "./Viewer/Viewer"; import { UpdateStatus } from "./UpdateStatus"; import { BaseRectangleItemHandler } from "./ItemHandlers/BaseRectangleItemHandler"; import { CanvasData } from "./CanvasData"; import { HandlerFactoryByItem } from "./ItemHandlers/HandlerFactoryByItem"; import { History } from "./History"; import { HoverHandler } from "./Input/InputHandler/Default/HoverHandler"; import { IActiveTextCanvasHandler } from "./CanvasElementHandler"; import { SnapLinesHandler } from "./Viewer/SnapLinesHandler"; import { GroupItemHandler } from "./ItemHandlers/GroupItemHandler"; import { FontRegistry } from "./InPlace/FontRegistry"; import { NewBaseTextItemHandler } from "./ItemHandlers"; import { TextRenderer } from "./InPlace/TextRenderer"; import { IViewerConfiguration, TextEditorMode } from "./Viewer/Interfaces"; import { Translations } from "./Viewer/Translations"; import { CanvasRendererStyle } from "./Canvas/CanvasRendererStyle"; import { IFontService } from "./InPlace/IFontService"; import { ISpotlightOptions } from "./Canvas/Interfaces/ISpotlightOptions"; import { HitTestManager } from "./Services/HitTestManager"; import { SelectionHandler } from "./Services/Selection/SelectionHandler"; import { RubberbandHandler } from "./Input/InputHandler/Default/RubberbandHandler"; import { FloatingToolbarManager } from "./Services/FloatingToolbar/FloatingToolbarManager"; import { GetItemHandlersOptions, ICanvas } from "./ICanvas"; import { IDesignAtomsApiClient } from "./Services/IDesignAtomsApiClient"; import { UpdateButtonGroupsOptions } from "./Viewer/UpdateButtonGroupsOptions"; import { ProductHandler } from "./Services"; import { IWorkspace } from "./IWorkspace"; import { ICanvasDataSource } from "./ICanvasDataSource"; import { IRenderingConfigProvider } from "./IRenderingConfigProvider"; /** * Represents the main host object containing a stack of layers. * * This client-side class corresponds to the server-side class `Canvas` and provides access to its primary members in TypeScript. */ export declare class Canvas implements ICanvas, ICanvasDataSource { private _viewer; private _prevWorkspaceSize; private _selection; private _spotlightHandler; private _dndHandler; private _hoverHandler; private _rotateHandler; private _service; private _parent; private _document; private _violationContainersHandler; private _canvasRenderer; private _canvasElementHandler; private _textWhizz; private _fontRegistry; private _textRenderer; private _hitTestManager; private _rubberbandHandler; private _textEditor; private _clipboard; private _inputTextValidator; private _violationWarningButtonCssClass; private _goodViolationIconCssClass; private _warningViolationIconCssClass; private _violationBadIconCssClass; private _qualityChangeContainerCssClass; private _violationContainerCssClass; private _qualityChangeScaleBarCssClass; private _qualityBadToWarningChangeScaleBarCssClass; private _qualityWarningToGoodChangeScaleBarCssClass; private _qualityBadToGoodChangeScaleBarCssClass; private _qualityNoAnimationChangeScaleBarCssClass; private _qualityChangeInfoBarCssClass; private _placeholderButtonGroupCssClass; private _selectImageButtonCssClass; private _selectBarcodeButtonCssClass; private _doneButtonCssClass; private _handleButtonCssClass; private _bigButtonGroupCssClass; private _backgroundImage; private _background; private _initialization; private _initialized; private _zoom; private _workspaceWidth; private _workspaceHeight; private _suppressOutOfRegionManipulation; private _targetDpi; private _mouseMoveTimeout; private _disableSmoothing; private _selectionColor; private _selectionWidth; private _marginColor; private _marginWidth; private _leftMargin; private _rightMargin; private _topMargin; private _bottomMargin; private _ready; private _updateCalled; private _isRedrawPaused; private _redrawRequested; private _pause; private _maxFontSize; private _minFontSize; private _maxLeading; private _minLeading; private _constrainedMarginEnabled; private _keyEventEnabled; private _onSelectedItemHandlersDeletingDelegate; private _onSelectedItemHandlersChangedDelegate; private _textInputIssueUserConfirmationDelegate; private _tags; private _canvasElementSize; private _hiddenFieldID; private _status; private _layers; private _history; private _snapLinesHandler; private _floatingToolbarManager; private _autoPlaceholderEditModeEnabled; private _simpleMode; private _ignorePermissionsMode; private _offset; private _viewportHandler; private _textEditorRenderer; private _onScrollEvent; private _zoomChangedEvent; private _statusChangedEvent; private _callbackExceptionEvent; private _initializedEvent; private _invokingCallbackRequestEvent; private _currentItemHandlerChangedEvent; private _selectedItemHandlersChangedEvent; private _dragNDropDoneEvent; private _dragNDropStartingEvent; private _dragNDropPerformedEvent; private _readyEvent; private _workspaceSizeChangedEvent; private _layersUpdatedEvent; private _beforeReplaceItemHandlerEvent; private _afterReplaceItemHandlerEvent; private _onSelectionLockedEvent; private _lastLimitsEvent; private _errorInput; private _errorInputTimerId; private _readonlyCanvasMode; readonly handlerFactory: HandlerFactoryByItem; translations: Translations; /** @internal */ constructor(viewer: Viewer); get readonlyCanvasMode(): boolean; set readonlyCanvasMode(value: boolean); get canvasItemHoverEnabled(): boolean; set canvasItemHoverEnabled(value: boolean); get canvasElementSize(): { width?: number; height?: number; }; get floatingToolbarManager(): FloatingToolbarManager; get snapLinesHandler(): SnapLinesHandler; get hoverHandler(): HoverHandler; get selection(): SelectionHandler; get rubberbandHandler(): RubberbandHandler; get rotateHandler(): RotateHandler; get history(): History; set history(value: History); get viewerConfiguration(): IViewerConfiguration; set viewerConfiguration(config: IViewerConfiguration); get dndHandler(): DragNDropHandler; get hiddenFieldID(): string; set hiddenFieldID(value: string); get service(): Service; set service(value: Service); get viewer(): Viewer; get activeTextCanvasHandler(): IActiveTextCanvasHandler; get hitTestManager(): HitTestManager; get textWhizz(): typeof TextWhizz; get fontRegistry(): FontRegistry; get textEditor(): ITextEditor; set textEditor(value: ITextEditor); get textInputIssueUserConfirmationDelegate(): Func<Promise<boolean>, string>; get textRenderer(): TextRenderer; get simpleMode(): boolean; set simpleMode(value: boolean); get ignorePermissionsMode(): boolean; set ignorePermissionsMode(value: boolean); get offset(): PointF; set offset(value: PointF); get ready(): boolean; /** Gets an object containing numbers of lines, rectangles, ellipses, texts, images. */ get tags(): any; /** Sets an object containing numbers of lines, rectangles, ellipses, texts, images. */ set tags(tags: any); get width(): number; get height(): number; get keyEventEnabled(): boolean; set keyEventEnabled(v: boolean); get marginColor(): string; set marginColor(v: string); get marginWidth(): number; set marginWidth(v: number); get selectionColor(): string; set selectionColor(value: string); get selectionWidth(): number; set selectionWidth(value: number); get margin(): number; set margin(v: number); get leftMargin(): number; set leftMargin(v: number); get rightMargin(): number; set rightMargin(v: number); get topMargin(): number; set topMargin(v: number); get bottomMargin(): number; set bottomMargin(v: number); set constrainedMarginEnabled(v: boolean); get constrainedMarginEnabled(): boolean; get targetDpi(): number; set targetDpi(v: number); set suppressOutOfRegionManipulation(v: boolean); get suppressOutOfRegionManipulation(): boolean; set violationWarningButtonsEnabled(v: boolean); get violationWarningButtonsEnabled(): boolean; set qualityChangeContainersEnabled(v: boolean); get qualityChangeContainersEnabled(): boolean; get maxFontSize(): number; set maxFontSize(v: number); get minFontSize(): number; set minFontSize(v: number); get maxLeading(): number; set maxLeading(v: number); get minLeading(): number; set minLeading(v: number); get status(): UpdateStatus; /** @internal */ get surfaceCanvas(): HTMLCanvasElement; get multipleSelectionEnabled(): boolean; set multipleSelectionEnabled(value: boolean); get mouseMoveTimeout(): number; set mouseMoveTimeout(value: number); get disableSmoothing(): boolean; set disableSmoothing(value: boolean); get previewMode(): boolean; set previewMode(value: boolean); set background(value: string); get background(): string; set backgroundImage(value: any); get workspaceWidth(): number; get workspaceHeight(): number; get initialization(): boolean; get rotationGripColor(): string; set rotationGripColor(v: string); get resizeGripColor(): string; set resizeGripColor(v: string); get rotationGripSize(): number; set rotationGripSize(v: number); get resizeGripSize(): number; set resizeGripSize(v: number); get resizeGripLineColor(): string; set resizeGripLineColor(value: string); get hoverColor(): string; set hoverColor(value: string); get rotationGripLineColor(): string; set rotationGripLineColor(value: string); get rotationGripLineLength(): number; set rotationGripLineLength(value: number); get placeholderButtonGroupCssClass(): string; set placeholderButtonGroupCssClass(value: string); get style(): CanvasRendererStyle; set style(value: CanvasRendererStyle); get violationContainerCssClass(): string; set violationContainerCssClass(value: string); get selectImageButtonCssClass(): string; set selectImageButtonCssClass(value: string); get selectBarcodeButtonCssClass(): string; set selectBarcodeButtonCssClass(value: string); get handleButtonCssClass(): string; set handleButtonCssClass(value: string); get doneButtonCssClass(): string; set doneButtonCssClass(value: string); get violationWarningButtonCssClass(): string; set violationWarningButtonCssClass(value: string); get qualityChangeContainerCssClass(): string; set qualityChangeContainerCssClass(value: string); get qualityChangeScaleBarCssClass(): string; set qualityChangeScaleBarCssClass(value: string); get qualityBadToWarningChangeScaleBarCssClass(): string; set qualityBadToWarningChangeScaleBarCssClass(value: string); get qualityWarningToGoodChangeScaleBarCssClass(): string; set qualityWarningToGoodChangeScaleBarCssClass(value: string); get qualityBadToGoodChangeScaleBarCssClass(): string; set qualityBadToGoodChangeScaleBarCssClass(value: string); get qualityNoAnimationChangeScaleBarCssClass(): string; set qualityNoAnimationChangeScaleBarCssClass(value: string); get qualityChangeInfoBarCssClass(): string; set qualityChangeInfoBarCssClass(value: string); get bigButtonGroupCssClass(): string; set bigButtonGroupCssClass(value: string); get goodViolationIconCssClass(): string; set goodViolationIconCssClass(value: string); get warningViolationIconCssClass(): string; set warningViolationIconCssClass(value: string); get badViolationIconCssClass(): string; set badViolationIconCssClass(value: string); get zoom(): number; set autoPlaceholderEditModeEnabled(value: boolean); get autoPlaceholderEditModeEnabled(): boolean; get selectionVisibleRectangle(): RotatedRectangleF; get currentItemHandler(): BaseRectangleItemHandler; get layers(): LayerCollection; set layers(v: LayerCollection); get parentElement(): HTMLElement; get inPlaceEditingHandler(): NewBaseTextItemHandler; get mul(): number; get contentUpdatingPlaceholderItemHandler(): PlaceholderItemHandler; get contentEditingPlaceholderItemHandler(): PlaceholderItemHandler; get selectedPlaceholderItemHandler(): PlaceholderItemHandler; get selectedHandler(): ItemHandler; get isInitialized(): boolean; get isUpdating(): boolean; get isSelectionLocked(): boolean; get isSelectionResizing(): boolean; get isSelectionRotating(): boolean; get isSelectionDragging(): boolean; get isSelectionIdle(): boolean; get designAtomsApiClient(): IDesignAtomsApiClient; get frontEndTextRenderingEnabled(): boolean; get productHandler(): ProductHandler; get lastLimitsEvent(): ILimitsViolationEventData; get errorInput(): boolean; get workspace(): IWorkspace; get renderingConfigProvider(): IRenderingConfigProvider; get contentAngle(): number; private get _drawSnapLines(); setCursor(value: any, onBody: boolean): void; ensureFocus(): void; doesContainItem(item: Item): boolean; getItemHandler<THandler extends ItemHandler>(item: Item): THandler; deleteItemHandler(itemHandler: ItemHandler): void; isDragSource(itemHandler: ItemHandler): boolean; isDragTarget(itemHandler: ItemHandler): boolean; setTextWhizzModule(textWhizz: typeof TextWhizz): void; initTextEditor(textEditor: TextEditorMode, fontService: IFontService, useSimpleFontList: boolean, textInputIssueUserConfirmationDelegate: Func<Promise<boolean>, string>): void; waitUpdate(itemHandlers?: ItemHandler[]): Promise<void[]>; deleteSelectedItemHandlers(force?: boolean): void; getAllItemHandlers(options?: GetItemHandlersOptions): ItemHandler[]; pauseUpdateTexts(): void; resumeUpdateTexts(): void; updateTexts(textToSkip?: any): void; setWorkspaceSize(width: number, height: number, updateButtonGroup?: boolean): void; setZoom(value: any, preventEvent?: boolean, options?: { force?: boolean; updateButtonGroup?: boolean; fullUpdate?: boolean; }): void; calcPlatformLimitZoom(): number; onScroll(): void; updateSelection(force?: boolean): void; getSelectedItemHandlers(): Collection<ItemHandler>; setSelectedItemHandlers(itemHandlers: BaseRectangleItemHandler[]): void; isItemHandlerSelected(itemHandler: any): boolean; isOnlyThisItemHandlerSelected(itemHandler: any): boolean; addSelectedItemHandler(itemHandler: any): void; removeSelectedItemHandler(itemHandler: any): void; clearSelectedItemHandlers(): void; onDragNDropStarting(data: any): void; onDragNDropDone(): void; onDragNDropPerformed(data: any): void; onSelectionLocked(): void; enableSelection(): void; disableSelection(): void; getData(forService?: boolean, layerId?: any): CanvasData; add_onScroll(h: any): void; remove_onScroll(h: any): void; add_zoomChanged(h: any): void; remove_zoomChanged(h: any): void; add_statusChanged(h: any): void; remove_statusChanged(h: any): void; add_callbackException(h: any): void; remove_callbackException(h: any): void; add_initialized(h: any): void; remove_initialized(h: any): void; add_invokingCallbackRequest(h: any): void; remove_invokingCallbackRequest(h: any): void; add_currentItemHandlerChanged(handler: (itemHandler: ItemHandler) => void): void; remove_currentItemHandlerChanged(handler: (itemHandler: ItemHandler) => void): void; add_selectedItemHandlerChanged(handler: (canvas: Canvas, itemHandler: ItemHandler) => void): void; remove_selectedItemHandlerChanged(handler: (canvas: Canvas, itemHandler: ItemHandler) => void): void; add_dragNDropDone(handler: (canvas: Canvas, itemHandler: ItemHandler) => void): void; remove_dragNDropDone(handler: any): void; add_dragNDropStarting(handler: any): void; remove_dragNDropStarting(handler: any): void; add_dragNDropPerformed(handler: any): void; remove_dragNDropPerformed(handler: any): void; add_ready(handler: any): void; remove_ready(handler: any): void; add_workspaceSizeChanged(handler: any): void; remove_workspaceSizeChanged(handler: any): void; add_layersUpdated(handler: any): void; remove_layersUpdated(handler: any): void; add_beforeReplaceItemHandler(handler: (eventArg?: ItemHandler) => any): void; remove_beforeReplaceItemHandler(handler: (eventArg?: ItemHandler) => any): void; add_afterReplaceItemHandler(handler: (eventArg?: ItemHandler) => any): void; remove_afterReplaceItemHandler(handler: (eventArg?: ItemHandler) => any): void; add_onSelectionLocked(handler: (eventArg?: Canvas) => any): void; remove_onSelectionLocked(handler: (eventArg?: Canvas) => any): void; updateViewport(): void; addViewport(viewportElement: HTMLDivElement): void; addElement(parentElement: any): void; addStyles(): void; showDnd(point: PointF, image: HTMLImageElement): void; hideDnd(): void; showSpotlight(items: Item[], options: ISpotlightOptions): void; hideSpotlight(items?: Item[]): void; /** @deprecated use showSpotlight() */ updateSpotlight(items: Item[], options: ISpotlightOptions): void; showHover(item: Item): void; hideHover(): void; addPlaceholderButtonGroup(placeholder: PlaceholderItemHandler): void; removePlaceholderButtonGroup(placeholder: PlaceholderItemHandler): void; addViolationContainer(itemHandler: BaseRectangleItemHandler): void; removeViolationContainer(handler: BaseRectangleItemHandler): void; updateButtonGroups(options?: UpdateButtonGroupsOptions): void; updateViolationContainers(updatePosition?: boolean, onlyVisible?: boolean): void; updateViolationContainer(itemHandler: BaseRectangleItemHandler, updatePosition?: boolean): void; updateViolationContainerPosition(itemHandler: BaseRectangleItemHandler): void; updatePlaceholderButtonGroups(onlyVisible?: boolean): void; updatePlaceholderButtonGroup(placeholder: PlaceholderItemHandler | GroupItemHandler): void; updatePlaceholderButtonGroupPosition(placeholder: PlaceholderItemHandler): void; violationWarningButtonHitTestObject(pt: PointF): BaseRectangleItemHandler; getButtonGroupRectInGripsDiv(div: HTMLElement, ignoreRotate?: boolean): RectangleF; pauseRedraw(): void; continueRedraw(): void; redraw(): void; redrawSelection(): void; redrawActiveTexts(): void; subscribeLimitsMessage(): void; unsubscribeLimitsMessage(): void; redrawDesign: () => void; changeTextEditorDivOutlineColor(toRed: boolean): void; drawWaitClock(context: CanvasRenderingContext2D, center: PointF): void; drawTextCursor(callback: (context: CanvasRenderingContext2D) => void): void; clearTextCursor(): void; workspaceToControl(pt: PointF): PointF; controlToWorkspace(pt: PointF): PointF; isSelectionByHitTest(pt: PointF): boolean; initialize(): void; checkReady(): void; onLayerTextureLoaded(): void; dispose(): void; private _beginInitialization; private _endInitialization; private _onBeforeReplaceItemHandler; private _onAfterReplaceItemHandler; private _onHoverChanged; private _initContainersObservation; private _onItemRemoved; private _onContainersChanged; private _updateLayers; private _updateCanvasElementHandlerConf; private _getCanvasElementHandlerConf; private _onServiceImageContainerLoaded; private _setFontRegistry; private _createTextWhizzEditor; private _createMobileEditor; private _getClipboard; private _getInputTextValidator; private _deleteSelectedItemHandlersWithoutConfirm; private _canDeleteItemHandler; private _updateBackgroundStyle; private _updateCanvasElementSize; private _onCurrentItemHandlerChanged; private _removeElement; private _onTranslationsChanged; private _redraw; private _redrawSelectionCanvas; private _checkReady; private _updateWrappingRectangles; private _updateWrappingRectanglesWithoutTextWhizz; private _getItemHandlerWrappingRectangle; private _setRendererLoadingImageUrl; private _indexOfLayer; private _onTextLimitsEvent; private _ontextMetricsChanged; private _finishInputErrorMessage; private _onInteractiveZonesStateChanged; }