@aurigma/design-atoms
Version:
Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.
33 lines (32 loc) • 1.53 kB
TypeScript
import { Container, Surface } from "@aurigma/design-atoms-model";
import { IPreviewContainersSource } from "./Interfaces/IPreviewContainersSource";
import { IItemsComparer } from "./Interfaces/IItemsComparer";
export declare class AutoPreviewContainersSource implements IPreviewContainersSource {
private readonly _sourceSurface;
private readonly _itemsComparer;
private readonly _previewContainers;
private readonly _previewContainersChanged;
private readonly _debounceUpdateContainers;
private _blockUpdate;
constructor(sourceSurface: Surface, itemsComparer: IItemsComparer);
private get _sourceContainers();
getPreviewContainers(): Container[];
addPreviewContainersChanged(listener: (data: any) => any): void;
removePreviewContainersChanged(listener: (data: any) => any): void;
ensureUpdatedAndExecuteAsync(asyncCallback: () => Promise<void>): Promise<void>;
private _subscribeToContainersChanged;
private _subscribeToItemCollectionsChanged;
private _subscribeToContainerItemCollectionChanged;
private _unsubscribeFromContainerItemCollectionChanged;
private _subscribeToItemsChanged;
private _unsubscribeFromItemsChanged;
private _onContainerItemAdded;
private _onContainerItemRemoved;
private _onContainerItemMoved;
private _subscribeToItemChanged;
private _unsubscribeFromItemChanged;
private _onItemChanged;
private _updateContainers;
private _updateContainer;
private _patchCollection;
}