@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
40 lines (39 loc) • 1.59 kB
TypeScript
import { ProductHandler } from "../ProductHandler";
import { EventManager } from "../EventManager";
import { Item } from "@aurigma/design-atoms-model/Product/Items";
import { Violation, ITotalViolationInfo } from "./Violations/Violation";
export declare class ViolationService {
private _violations;
private _eventManager;
private _productHandler;
private _globalCheck;
private _globalCheckPeriod;
private _globalCheckDebounce;
private _itemsToCheck;
private _violationInfos;
private _isStarted;
constructor(_violations: Violation[], _eventManager: EventManager, _productHandler: ProductHandler);
private _init;
getItemInfo: (item: Item, forceUpdate?: boolean) => ITotalViolationInfo;
extend(violations: Violation[]): void;
private _checkItem;
private _scheduleSurfaceItemsCheck;
private _scheduleItemCheck;
private _onItemRemoved;
private _removeViolationItemData;
private _onItemAdded;
private _onImageContentChanged;
private _onContainerCollectionChanged;
private _itemViolationStateChangedEvent;
addItemViolationStateChanged(listener: (value: IItemViolationStateChangedEventArgs) => void): void;
removeItemViolationStateChanged(listener: (value: IItemViolationStateChangedEventArgs) => void): void;
dispose: () => void;
private _logStateChanged;
}
export interface IItemViolationStateChangedEventArgs {
new: IItemViolationInfo;
old: IItemViolationInfo;
}
export interface IItemViolationInfo extends ITotalViolationInfo {
item: Item;
}