UNPKG

@eclipse-emfcloud/model-manager

Version:

Command-based model editing with undo/redo.

39 lines 1.87 kB
import { ChangeSubscription, CoreCommandStack, CoreModelManager } from '../core'; import { WorkingCopyManager } from './core-command-stack-impl'; export declare class CoreModelManagerImpl<K> implements CoreModelManager<K> { /** Model storage. */ private readonly _modelStore; /** A pointer to the commandStack for editing the models. */ private readonly _commandStack; private _subscriptions; private _allSubscriptions; constructor(commandStackFactory?: (workingCopyManager: WorkingCopyManager<K>) => CoreCommandStack<K>); /** * The callback provided to the CoreCommandStackImpl to be able to notify * subscribers of any command executed (execute, executeAndAppend, undo, redo ) * * @param deltas the command result sent by 'execute, executeAndAppend, undo or redo' done in CoreCommandStackImpl */ private changeOnCommandStack; getModelId(model: object): K | undefined; getModel<M extends object = object>(modelId: K): M | undefined; setModel(modelId: K, model: object): void; getModelIds(): K[]; removeModel<M extends object = object>(modelId: K): M | undefined; getCommandStack(): CoreCommandStack<K>; private addSubscription; private addAllSubscription; private deleteSubscription; private deleteAllSubscription; subscribe<M extends object = object>(modelId?: K): ChangeSubscription<K, M>; /** * Obtain an iterable over all subscriptions pertaining to the given * model ID. * * @param modelId a model ID for which to get subscriptions * @returns an iterator over all subscriptions specific to the `modelId` (if any) * followed by the general subscriptions */ protected subscriptions<M extends object = object>(modelId: K): Iterable<ChangeSubscription<K, M>>; } //# sourceMappingURL=core-model-manager-impl.d.ts.map