@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
76 lines (75 loc) • 3.85 kB
TypeScript
import { ItemHandler } from "./ItemHandler";
import { BaseRectangleItemHandler } from "./BaseRectangleItemHandler";
import { RotatedRectangleF } from "@aurigma/design-atoms-model/Math";
import { Item, GroupItem } from "@aurigma/design-atoms-model/Product/Items";
import { Collection } from "@aurigma/design-atoms-model/Collection";
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { IHitTestResult } from "../Services/IHitTestResult";
import { IGetHighlightRectanglesOptions } from "./Interfaces/IGetHighlightRectanglesOptions";
import { Color } from "@aurigma/design-atoms-model";
import { Permission } from "../Permission";
import { ICanvas } from "../ICanvas";
export declare type HandlerUpdateFunc = (handler: ItemHandler) => boolean;
export interface IContainerItemHandler {
updateNestedItemHandlers(updateFunc: HandlerUpdateFunc): boolean;
}
export declare function isIContainerItemHandler(object: any): object is IContainerItemHandler;
export declare class GroupItemHandler extends BaseRectangleItemHandler implements IContainerItemHandler {
static readonly typeName: string;
constructor(item: GroupItem, itemHandlers?: ItemHandler[], textWhizz?: typeof TextWhizz);
isHighlightNeeded(): boolean;
protected _getColors(): Color[];
private _unsubscribeItemHandlers;
private _subscribeItemHandlers;
setItemHandlers(itemHandlers: ItemHandler[]): void;
private _itemHandlers;
get itemHandlers(): Collection<ItemHandler>;
set itemHandlers(value: Collection<ItemHandler>);
drawItemHandler(itemHandlerCtx: CanvasRenderingContext2D): void;
protected _getChildrenHighlights(): RotatedRectangleF[];
getHighlightRectangles(options?: IGetHighlightRectanglesOptions): RotatedRectangleF[];
getOrderedItems(): Item[];
protected _onChildItemHandlerChanging: (sender: Item) => void;
protected _onItemPropertyChanged(sender: GroupItem, propertyName: string): void;
protected _onItemAdded(data?: {
item: Item;
index: number;
}): void;
protected _onItemRemoved(data?: {
item: Item;
index: number;
}): void;
private _isPermissionsProperty;
protected _onChildItemPropertyChanged(sender: Item, property: string): void;
protected _onItemHandlerAdded(data?: {
item: ItemHandler;
index: number;
}): void;
protected _onItemHandlerRemoved(data?: {
item: ItemHandler;
index: number;
}): void;
replaceItemHandler(oldHandler: ItemHandler, newHandler: ItemHandler): void;
getNestedItemHandlers(excludeGroupItems?: boolean, reversedZorder?: boolean, onlyVisible?: boolean): ItemHandler[];
updateNestedItemHandlers(updateFunc: HandlerUpdateFunc): boolean;
protected _onTransformRectangle(startRectangle: RotatedRectangleF, endRectangle: RotatedRectangleF, highlightOnly: boolean): void;
protected _updateImpl(): Promise<void>;
quickUpdate(): void;
onResized(): boolean;
startTransform(operation?: IHitTestResult): void;
_endTransform(changed: any, resized: any, supressOnChanged?: boolean): void;
transformChanged(): void;
setRectangle(rectangle: RotatedRectangleF, supressOnChanged?: boolean): void;
protected get _calculateRectangleFromChild(): boolean;
protected _getRectangle(): RotatedRectangleF;
protected _getRectangleFromChildren(): RotatedRectangleF;
protected _onAddedOnCanvas(canvas: ICanvas): void;
protected _onRemovedFromCanvas(canvas: ICanvas): void;
applyToItems(func: (handler: ItemHandler) => any): void;
_cachedPermissions: Permission;
getPermissions(): Permission;
resetPermissions(): void;
isChildVisible(itemHandler: ItemHandler): boolean;
get item(): GroupItem;
private _resetPermissionsCache;
}