@mezzy/commands
Version:
A luxurious user experience framework, developed by your friends at Mezzanine.
38 lines (37 loc) • 1.38 kB
TypeScript
import { IPromise } from '@mezzy/result';
import { Signal } from '@mezzy/signals';
import Command from './command';
import CommandEventArgs from './commandEventArgs';
export declare class CommandManager {
constructor(isUndoEnabled?: boolean);
readonly progress: number;
private _progress;
readonly pending: number;
private _isUndoEnabled;
private _commands;
private _pendingQueue;
private _undoQueue;
private _redoQueue;
private _isRunningAll;
readonly runStartCount: number;
private _runStartCount;
readonly lastReturnValue: any;
private _lastReturnValue;
commandRunStart: Signal<CommandEventArgs>;
commandRunComplete: Signal<CommandEventArgs>;
register(scope: Object, runFunction: (...args: any[]) => any, undoFunction?: (...args: any[]) => any, name?: string): string;
unregister(name: string): void;
get(name: string): Command;
queue(command: Command, runArgs?: any[], undoArgs?: any[]): CommandManager;
run(command?: (Command | string), args?: any[], undoArgs?: any[]): IPromise<any>;
undo(...args: any[]): IPromise<any>;
redo(...args: any[]): IPromise<any>;
clearAllQueues(): CommandManager;
clearPending(): CommandManager;
private _run;
private _runNext;
private _runAll;
private _resultRunAll;
private _runAllNext;
}
export default CommandManager;