/
Command.js
49 lines (44 loc) · 1.66 KB
/
Command.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*global define*/
define([
'../Core/DeveloperError'
], function(
DeveloperError) {
'use strict';
/**
* A Command is a function with an extra <code>canExecute</code> observable property to determine
* whether the command can be executed. When executed, a Command function will check the
* value of <code>canExecute</code> and throw if false.
*
* This type describes an interface and is not intended to be instantiated directly.
* See {@link createCommand} to create a command from a function.
*
* @alias Command
* @constructor
*/
function Command() {
/**
* Gets whether this command can currently be executed. This property is observable.
* @type {Boolean}
* @default undefined
*/
this.canExecute = undefined;
/**
* Gets an event which is raised before the command executes, the event
* is raised with an object containing two properties: a <code>cancel</code> property,
* which if set to false by the listener will prevent the command from being executed, and
* an <code>args</code> property, which is the array of arguments being passed to the command.
* @type {Event}
* @default undefined
*/
this.beforeExecute = undefined;
/**
* Gets an event which is raised after the command executes, the event
* is raised with the return value of the command as its only parameter.
* @type {Event}
* @default undefined
*/
this.afterExecute = undefined;
DeveloperError.throwInstantiationError();
}
return Command;
});