@wcardinal/wcardinal-ui 0.168.0 → 0.169.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/wcardinal/ui/d-command-flag.d.ts +5 -1
- package/dist/types/wcardinal/ui/d-controller-default-command.d.ts +7 -0
- package/dist/wcardinal/ui/d-command-flag.js +6 -2
- package/dist/wcardinal/ui/d-command-flag.js.map +1 -1
- package/dist/wcardinal/ui/d-controller-default-command.js +117 -80
- package/dist/wcardinal/ui/d-controller-default-command.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +124 -83
- package/dist/wcardinal-ui.js +124 -83
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,8 +5,12 @@ export declare const DCommandFlag: {
|
|
|
5
5
|
*/
|
|
6
6
|
readonly UNSTORABLE: 1;
|
|
7
7
|
/**
|
|
8
|
-
* Commands with a `CLEAR` flag
|
|
8
|
+
* Commands with a `CLEAR` flag clear the command queue.
|
|
9
9
|
*/
|
|
10
10
|
readonly CLEAR: 2;
|
|
11
|
+
/**
|
|
12
|
+
* Commands with a `CLEAN` flag are not considered as modifications to documents
|
|
13
|
+
*/
|
|
14
|
+
readonly CLEAN: 4;
|
|
11
15
|
};
|
|
12
16
|
export declare type DCommandFlag = number;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { utils } from "pixi.js";
|
|
2
2
|
import { DCommand } from "./d-command";
|
|
3
|
+
import { DCommandRedo } from "./d-command-redo";
|
|
4
|
+
import { DCommandUndo } from "./d-command-undo";
|
|
3
5
|
import { DControllerCommand } from "./d-controller-command";
|
|
4
6
|
export declare class DControllerDefaultCommand extends utils.EventEmitter implements DControllerCommand {
|
|
5
7
|
protected _position: number;
|
|
@@ -10,9 +12,14 @@ export declare class DControllerDefaultCommand extends utils.EventEmitter implem
|
|
|
10
12
|
last(): DCommand | null;
|
|
11
13
|
push(command: DCommand): void;
|
|
12
14
|
next(): void;
|
|
15
|
+
protected executeUndo(command: DCommandUndo): void;
|
|
16
|
+
protected executeRedo(command: DCommandRedo): void;
|
|
17
|
+
protected execute(command: DCommand): void;
|
|
13
18
|
protected cleanup(): void;
|
|
14
19
|
protected remove(size: number): boolean;
|
|
15
20
|
protected onSuccess(command: DCommand): void;
|
|
21
|
+
protected onSuccessUndo(undoed: DCommand): void;
|
|
22
|
+
protected onSuccessRedo(redoed: DCommand): void;
|
|
16
23
|
protected onFail(command: DCommand): void;
|
|
17
24
|
size(): number;
|
|
18
25
|
clear(): void;
|
|
@@ -9,8 +9,12 @@ export var DCommandFlag = {
|
|
|
9
9
|
*/
|
|
10
10
|
UNSTORABLE: 1,
|
|
11
11
|
/**
|
|
12
|
-
* Commands with a `CLEAR` flag
|
|
12
|
+
* Commands with a `CLEAR` flag clear the command queue.
|
|
13
13
|
*/
|
|
14
|
-
CLEAR: 2
|
|
14
|
+
CLEAR: 2,
|
|
15
|
+
/**
|
|
16
|
+
* Commands with a `CLEAN` flag are not considered as modifications to documents
|
|
17
|
+
*/
|
|
18
|
+
CLEAN: 4
|
|
15
19
|
};
|
|
16
20
|
//# sourceMappingURL=d-command-flag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-command-flag.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-flag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,CAAC;CACC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DCommandFlag = {\n\tNONE: 0,\n\n\t/**\n\t * Commands with a `UNSTORABLE` flag will not be queued to the `done` queue.\n\t */\n\tUNSTORABLE: 1,\n\n\t/**\n\t * Commands with a `CLEAR` flag
|
|
1
|
+
{"version":3,"file":"d-command-flag.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-flag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,CAAC;IAEP;;OAEG;IACH,UAAU,EAAE,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,CAAC;IAER;;OAEG;IACH,KAAK,EAAE,CAAC;CACC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DCommandFlag = {\n\tNONE: 0,\n\n\t/**\n\t * Commands with a `UNSTORABLE` flag will not be queued to the `done` queue.\n\t */\n\tUNSTORABLE: 1,\n\n\t/**\n\t * Commands with a `CLEAR` flag clear the command queue.\n\t */\n\tCLEAR: 2,\n\n\t/**\n\t * Commands with a `CLEAN` flag are not considered as modifications to documents\n\t */\n\tCLEAN: 4\n} as const;\n\nexport type DCommandFlag = number;\n"]}
|
|
@@ -14,6 +14,9 @@ var isCommandStorable = function (command) {
|
|
|
14
14
|
var isCommandClear = function (command) {
|
|
15
15
|
return !!(command.getFlag() & DCommandFlag.CLEAR);
|
|
16
16
|
};
|
|
17
|
+
var isCommandClean = function (command) {
|
|
18
|
+
return !!(command.getFlag() & DCommandFlag.CLEAN);
|
|
19
|
+
};
|
|
17
20
|
var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
18
21
|
__extends(DControllerDefaultCommand, _super);
|
|
19
22
|
function DControllerDefaultCommand() {
|
|
@@ -40,90 +43,109 @@ var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
|
40
43
|
}
|
|
41
44
|
};
|
|
42
45
|
DControllerDefaultCommand.prototype.push = function (command) {
|
|
43
|
-
|
|
44
|
-
waiting.push(command);
|
|
46
|
+
this._waiting.push(command);
|
|
45
47
|
this.next();
|
|
46
48
|
};
|
|
47
49
|
DControllerDefaultCommand.prototype.next = function () {
|
|
50
|
+
if (this._executing != null) {
|
|
51
|
+
// Still executing a command.
|
|
52
|
+
// So do nothing.
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
var waiting = this._waiting;
|
|
56
|
+
if (waiting.length <= 0) {
|
|
57
|
+
// There is no waiting commands.
|
|
58
|
+
// So do nothing.
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
var command = waiting.shift();
|
|
62
|
+
if (command == null) {
|
|
63
|
+
// There is no waiting commands.
|
|
64
|
+
// So do nothing.
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (command instanceof DCommandUndo) {
|
|
68
|
+
this.executeUndo(command);
|
|
69
|
+
}
|
|
70
|
+
else if (command instanceof DCommandRedo) {
|
|
71
|
+
this.executeRedo(command);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.execute(command);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
DControllerDefaultCommand.prototype.executeUndo = function (command) {
|
|
48
78
|
var _this = this;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this._position -= 1;
|
|
81
|
-
this.emit("change", this);
|
|
82
|
-
var result = current.redo();
|
|
83
|
-
if (result === true) {
|
|
84
|
-
this.onSuccess(command_1);
|
|
85
|
-
}
|
|
86
|
-
else if (result === false) {
|
|
87
|
-
this.onFail(command_1);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this._executing = result.then(function () {
|
|
91
|
-
_this.onSuccess(command_1);
|
|
92
|
-
}, function () {
|
|
93
|
-
_this.onFail(command_1);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
var isClear = isCommandClear(command_1);
|
|
100
|
-
var isStorable = isCommandStorable(command_1);
|
|
101
|
-
if (isClear || isStorable) {
|
|
102
|
-
var size = isClear ? this._done.length : this._position;
|
|
103
|
-
if (0 < size) {
|
|
104
|
-
this.remove(size);
|
|
105
|
-
this._position = 0;
|
|
106
|
-
this.emit("change", this);
|
|
107
|
-
}
|
|
108
|
-
this.cleanup();
|
|
109
|
-
}
|
|
110
|
-
var result = command_1.execute();
|
|
111
|
-
if (result === true) {
|
|
112
|
-
this.onSuccess(command_1);
|
|
113
|
-
}
|
|
114
|
-
else if (result === false) {
|
|
115
|
-
this.onFail(command_1);
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
this._executing = result.then(function () {
|
|
119
|
-
_this.onSuccess(command_1);
|
|
120
|
-
}, function () {
|
|
121
|
-
_this.onFail(command_1);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
79
|
+
var done = this._done;
|
|
80
|
+
if (this._position < done.length) {
|
|
81
|
+
var current_1 = done[done.length - 1 - this._position];
|
|
82
|
+
this._position += 1;
|
|
83
|
+
this.emit("change", this);
|
|
84
|
+
var result = current_1.undo();
|
|
85
|
+
if (result === true) {
|
|
86
|
+
this.onSuccessUndo(current_1);
|
|
87
|
+
}
|
|
88
|
+
else if (result === false) {
|
|
89
|
+
this.onFail(command);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this._executing = result.then(function () {
|
|
93
|
+
_this.onSuccessUndo(current_1);
|
|
94
|
+
}, function () {
|
|
95
|
+
_this.onFail(command);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
DControllerDefaultCommand.prototype.executeRedo = function (command) {
|
|
101
|
+
var _this = this;
|
|
102
|
+
var done = this._done;
|
|
103
|
+
if (0 < this._position) {
|
|
104
|
+
var current_2 = done[done.length - this._position];
|
|
105
|
+
this._position -= 1;
|
|
106
|
+
this.emit("change", this);
|
|
107
|
+
var result = current_2.redo();
|
|
108
|
+
if (result === true) {
|
|
109
|
+
this.onSuccessRedo(current_2);
|
|
126
110
|
}
|
|
111
|
+
else if (result === false) {
|
|
112
|
+
this.onFail(command);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this._executing = result.then(function () {
|
|
116
|
+
_this.onSuccessRedo(current_2);
|
|
117
|
+
}, function () {
|
|
118
|
+
_this.onFail(command);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
DControllerDefaultCommand.prototype.execute = function (command) {
|
|
124
|
+
var _this = this;
|
|
125
|
+
var isClear = isCommandClear(command);
|
|
126
|
+
var isStorable = isCommandStorable(command);
|
|
127
|
+
if (isClear || isStorable) {
|
|
128
|
+
var size = isClear ? this._done.length : this._position;
|
|
129
|
+
if (0 < size) {
|
|
130
|
+
this.remove(size);
|
|
131
|
+
this._position = 0;
|
|
132
|
+
this.emit("change", this);
|
|
133
|
+
}
|
|
134
|
+
this.cleanup();
|
|
135
|
+
}
|
|
136
|
+
var result = command.execute();
|
|
137
|
+
if (result === true) {
|
|
138
|
+
this.onSuccess(command);
|
|
139
|
+
}
|
|
140
|
+
else if (result === false) {
|
|
141
|
+
this.onFail(command);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this._executing = result.then(function () {
|
|
145
|
+
_this.onSuccess(command);
|
|
146
|
+
}, function () {
|
|
147
|
+
_this.onFail(command);
|
|
148
|
+
});
|
|
127
149
|
}
|
|
128
150
|
};
|
|
129
151
|
DControllerDefaultCommand.prototype.cleanup = function () {
|
|
@@ -155,9 +177,24 @@ var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
|
155
177
|
this._executing = null;
|
|
156
178
|
if (isCommandStorable(command)) {
|
|
157
179
|
this._done.push(command);
|
|
180
|
+
if (!isCommandClean(command)) {
|
|
181
|
+
this.emit("dirty", this);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
this.emit("change", this);
|
|
185
|
+
this.next();
|
|
186
|
+
};
|
|
187
|
+
DControllerDefaultCommand.prototype.onSuccessUndo = function (undoed) {
|
|
188
|
+
this._executing = null;
|
|
189
|
+
if (!isCommandClean(undoed)) {
|
|
158
190
|
this.emit("dirty", this);
|
|
159
191
|
}
|
|
160
|
-
|
|
192
|
+
this.emit("change", this);
|
|
193
|
+
this.next();
|
|
194
|
+
};
|
|
195
|
+
DControllerDefaultCommand.prototype.onSuccessRedo = function (redoed) {
|
|
196
|
+
this._executing = null;
|
|
197
|
+
if (!isCommandClean(redoed)) {
|
|
161
198
|
this.emit("dirty", this);
|
|
162
199
|
}
|
|
163
200
|
this.emit("change", this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-controller-default-command.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-default-command.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DCommand } from \"./d-command\";\nimport { DCommandClear } from \"./d-command-clear\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DCommandRedo } from \"./d-command-redo\";\nimport { DCommandUndo } from \"./d-command-undo\";\nimport { DControllerCommand } from \"./d-controller-command\";\n\nconst isCommandStorable = (command: DCommand): boolean => {\n\treturn !(command.getFlag() & DCommandFlag.UNSTORABLE);\n};\n\nconst isCommandClear = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAR);\n};\n\nexport class DControllerDefaultCommand extends utils.EventEmitter implements DControllerCommand {\n\tprotected _position: number;\n\tprotected _done: DCommand[];\n\tprotected _waiting: DCommand[];\n\tprotected _executing: Promise<void> | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._position = 0;\n\t\tthis._done = [];\n\t\tthis._waiting = [];\n\t\tthis._executing = null;\n\t}\n\n\tlast(): DCommand | null {\n\t\tconst done = this._done;\n\t\tconst waiting = this._waiting;\n\n\t\tif (waiting.length <= 0) {\n\t\t\tif (0 < done.length) {\n\t\t\t\treturn done[done.length - 1];\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\treturn waiting[waiting.length - 1];\n\t\t}\n\t}\n\n\tpush(command: DCommand): void {\n\t\tconst waiting = this._waiting;\n\t\twaiting.push(command);\n\t\tthis.next();\n\t}\n\n\tnext(): void {\n\t\tif (this._executing == null) {\n\t\t\tconst waiting = this._waiting;\n\t\t\tif (0 < waiting.length) {\n\t\t\t\tconst command = waiting.shift();\n\t\t\t\tif (command != null) {\n\t\t\t\t\tif (command instanceof DCommandUndo) {\n\t\t\t\t\t\tconst done = this._done;\n\t\t\t\t\t\tif (this._position < done.length) {\n\t\t\t\t\t\t\tconst current = done[done.length - 1 - this._position];\n\t\t\t\t\t\t\tthis._position += 1;\n\t\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\t\tconst result = current.undo();\n\t\t\t\t\t\t\tif (result === true) {\n\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t} else if (result === false) {\n\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (command instanceof DCommandRedo) {\n\t\t\t\t\t\tconst done = this._done;\n\t\t\t\t\t\tif (0 < this._position) {\n\t\t\t\t\t\t\tconst current = done[done.length - this._position];\n\t\t\t\t\t\t\tthis._position -= 1;\n\t\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\t\tconst result = current.redo();\n\t\t\t\t\t\t\tif (result === true) {\n\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t} else if (result === false) {\n\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst isClear = isCommandClear(command);\n\t\t\t\t\t\tconst isStorable = isCommandStorable(command);\n\t\t\t\t\t\tif (isClear || isStorable) {\n\t\t\t\t\t\t\tconst size = isClear ? this._done.length : this._position;\n\t\t\t\t\t\t\tif (0 < size) {\n\t\t\t\t\t\t\t\tthis.remove(size);\n\t\t\t\t\t\t\t\tthis._position = 0;\n\t\t\t\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.cleanup();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst result = command.execute();\n\t\t\t\t\t\tif (result === true) {\n\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t} else if (result === false) {\n\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected cleanup(): void {\n\t\tconst done = this._done;\n\t\tconst size = done.length - 100;\n\t\tif (0 < size) {\n\t\t\tfor (let i = 0; i < size; ++i) {\n\t\t\t\tdone[i].destroy();\n\t\t\t\tdone.shift();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected remove(size: number): boolean {\n\t\tconst done = this._done;\n\t\tif (0 < size) {\n\t\t\tconst ifrom = Math.max(0, done.length - size);\n\t\t\tsize = done.length - ifrom;\n\t\t\tif (0 < size) {\n\t\t\t\tfor (let i = ifrom, imax = done.length; i < imax; ++i) {\n\t\t\t\t\tdone[i].destroy();\n\t\t\t\t}\n\n\t\t\t\tdone.splice(ifrom, done.length - ifrom);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onSuccess(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (isCommandStorable(command)) {\n\t\t\tthis._done.push(command);\n\t\t\tthis.emit(\"dirty\", this);\n\t\t} else if (command instanceof DCommandUndo || command instanceof DCommandRedo) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onFail(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tconst waiting = this._waiting;\n\t\tcommand.destroy();\n\t\tfor (let i = 0, imax = waiting.length; i < imax; ++i) {\n\t\t\twaiting[i].destroy();\n\t\t}\n\t\twaiting.length = 0;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tsize(): number {\n\t\treturn this._done.length;\n\t}\n\n\tclear(): void {\n\t\tthis.push(new DCommandClear());\n\t}\n\n\tredo(): void {\n\t\tif (this.isRedoable()) {\n\t\t\tthis._waiting.push(new DCommandRedo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tundo(): void {\n\t\tif (this.isUndoable()) {\n\t\t\tthis._waiting.push(new DCommandUndo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tisRedoable(): boolean {\n\t\treturn 0 < this._position && this._executing == null;\n\t}\n\n\tisUndoable(): boolean {\n\t\treturn this._position < this._done.length && this._executing == null;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-controller-default-command.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-default-command.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DCommand } from \"./d-command\";\nimport { DCommandClear } from \"./d-command-clear\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DCommandRedo } from \"./d-command-redo\";\nimport { DCommandUndo } from \"./d-command-undo\";\nimport { DControllerCommand } from \"./d-controller-command\";\n\nconst isCommandStorable = (command: DCommand): boolean => {\n\treturn !(command.getFlag() & DCommandFlag.UNSTORABLE);\n};\n\nconst isCommandClear = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAR);\n};\n\nconst isCommandClean = (command: DCommand): boolean => {\n\treturn !!(command.getFlag() & DCommandFlag.CLEAN);\n};\n\nexport class DControllerDefaultCommand extends utils.EventEmitter implements DControllerCommand {\n\tprotected _position: number;\n\tprotected _done: DCommand[];\n\tprotected _waiting: DCommand[];\n\tprotected _executing: Promise<void> | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._position = 0;\n\t\tthis._done = [];\n\t\tthis._waiting = [];\n\t\tthis._executing = null;\n\t}\n\n\tlast(): DCommand | null {\n\t\tconst done = this._done;\n\t\tconst waiting = this._waiting;\n\n\t\tif (waiting.length <= 0) {\n\t\t\tif (0 < done.length) {\n\t\t\t\treturn done[done.length - 1];\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\treturn waiting[waiting.length - 1];\n\t\t}\n\t}\n\n\tpush(command: DCommand): void {\n\t\tthis._waiting.push(command);\n\t\tthis.next();\n\t}\n\n\tnext(): void {\n\t\tif (this._executing != null) {\n\t\t\t// Still executing a command.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tconst waiting = this._waiting;\n\t\tif (waiting.length <= 0) {\n\t\t\t// There is no waiting commands.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tconst command = waiting.shift();\n\t\tif (command == null) {\n\t\t\t// There is no waiting commands.\n\t\t\t// So do nothing.\n\t\t\treturn;\n\t\t}\n\n\t\tif (command instanceof DCommandUndo) {\n\t\t\tthis.executeUndo(command);\n\t\t} else if (command instanceof DCommandRedo) {\n\t\t\tthis.executeRedo(command);\n\t\t} else {\n\t\t\tthis.execute(command);\n\t\t}\n\t}\n\n\tprotected executeUndo(command: DCommandUndo): void {\n\t\tconst done = this._done;\n\t\tif (this._position < done.length) {\n\t\t\tconst current = done[done.length - 1 - this._position];\n\t\t\tthis._position += 1;\n\t\t\tthis.emit(\"change\", this);\n\t\t\tconst result = current.undo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onSuccessUndo(current);\n\t\t\t} else if (result === false) {\n\t\t\t\tthis.onFail(command);\n\t\t\t} else {\n\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onSuccessUndo(current);\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected executeRedo(command: DCommandRedo): void {\n\t\tconst done = this._done;\n\t\tif (0 < this._position) {\n\t\t\tconst current = done[done.length - this._position];\n\t\t\tthis._position -= 1;\n\t\t\tthis.emit(\"change\", this);\n\t\t\tconst result = current.redo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onSuccessRedo(current);\n\t\t\t} else if (result === false) {\n\t\t\t\tthis.onFail(command);\n\t\t\t} else {\n\t\t\t\tthis._executing = result.then(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onSuccessRedo(current);\n\t\t\t\t\t},\n\t\t\t\t\t() => {\n\t\t\t\t\t\tthis.onFail(command);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected execute(command: DCommand): void {\n\t\tconst isClear = isCommandClear(command);\n\t\tconst isStorable = isCommandStorable(command);\n\t\tif (isClear || isStorable) {\n\t\t\tconst size = isClear ? this._done.length : this._position;\n\t\t\tif (0 < size) {\n\t\t\t\tthis.remove(size);\n\t\t\t\tthis._position = 0;\n\t\t\t\tthis.emit(\"change\", this);\n\t\t\t}\n\t\t\tthis.cleanup();\n\t\t}\n\t\tconst result = command.execute();\n\t\tif (result === true) {\n\t\t\tthis.onSuccess(command);\n\t\t} else if (result === false) {\n\t\t\tthis.onFail(command);\n\t\t} else {\n\t\t\tthis._executing = result.then(\n\t\t\t\t() => {\n\t\t\t\t\tthis.onSuccess(command);\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tthis.onFail(command);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected cleanup(): void {\n\t\tconst done = this._done;\n\t\tconst size = done.length - 100;\n\t\tif (0 < size) {\n\t\t\tfor (let i = 0; i < size; ++i) {\n\t\t\t\tdone[i].destroy();\n\t\t\t\tdone.shift();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected remove(size: number): boolean {\n\t\tconst done = this._done;\n\t\tif (0 < size) {\n\t\t\tconst ifrom = Math.max(0, done.length - size);\n\t\t\tsize = done.length - ifrom;\n\t\t\tif (0 < size) {\n\t\t\t\tfor (let i = ifrom, imax = done.length; i < imax; ++i) {\n\t\t\t\t\tdone[i].destroy();\n\t\t\t\t}\n\n\t\t\t\tdone.splice(ifrom, done.length - ifrom);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onSuccess(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (isCommandStorable(command)) {\n\t\t\tthis._done.push(command);\n\t\t\tif (!isCommandClean(command)) {\n\t\t\t\tthis.emit(\"dirty\", this);\n\t\t\t}\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onSuccessUndo(undoed: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (!isCommandClean(undoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onSuccessRedo(redoed: DCommand): void {\n\t\tthis._executing = null;\n\t\tif (!isCommandClean(redoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.next();\n\t}\n\n\tprotected onFail(command: DCommand): void {\n\t\tthis._executing = null;\n\t\tconst waiting = this._waiting;\n\t\tcommand.destroy();\n\t\tfor (let i = 0, imax = waiting.length; i < imax; ++i) {\n\t\t\twaiting[i].destroy();\n\t\t}\n\t\twaiting.length = 0;\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tsize(): number {\n\t\treturn this._done.length;\n\t}\n\n\tclear(): void {\n\t\tthis.push(new DCommandClear());\n\t}\n\n\tredo(): void {\n\t\tif (this.isRedoable()) {\n\t\t\tthis._waiting.push(new DCommandRedo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tundo(): void {\n\t\tif (this.isUndoable()) {\n\t\t\tthis._waiting.push(new DCommandUndo());\n\t\t\tthis.next();\n\t\t}\n\t}\n\n\tisRedoable(): boolean {\n\t\treturn 0 < this._position && this._executing == null;\n\t}\n\n\tisUndoable(): boolean {\n\t\treturn this._position < this._done.length && this._executing == null;\n\t}\n}\n"]}
|
package/dist/wcardinal-ui.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.169.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -61602,9 +61602,13 @@ var DCommandFlag = {
|
|
|
61602
61602
|
*/
|
|
61603
61603
|
UNSTORABLE: 1,
|
|
61604
61604
|
/**
|
|
61605
|
-
* Commands with a `CLEAR` flag
|
|
61605
|
+
* Commands with a `CLEAR` flag clear the command queue.
|
|
61606
61606
|
*/
|
|
61607
|
-
CLEAR: 2
|
|
61607
|
+
CLEAR: 2,
|
|
61608
|
+
/**
|
|
61609
|
+
* Commands with a `CLEAN` flag are not considered as modifications to documents
|
|
61610
|
+
*/
|
|
61611
|
+
CLEAN: 4
|
|
61608
61612
|
};
|
|
61609
61613
|
|
|
61610
61614
|
/*
|
|
@@ -61692,6 +61696,9 @@ var isCommandStorable = function (command) {
|
|
|
61692
61696
|
var isCommandClear = function (command) {
|
|
61693
61697
|
return !!(command.getFlag() & DCommandFlag.CLEAR);
|
|
61694
61698
|
};
|
|
61699
|
+
var isCommandClean = function (command) {
|
|
61700
|
+
return !!(command.getFlag() & DCommandFlag.CLEAN);
|
|
61701
|
+
};
|
|
61695
61702
|
var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
61696
61703
|
__extends(DControllerDefaultCommand, _super);
|
|
61697
61704
|
function DControllerDefaultCommand() {
|
|
@@ -61718,92 +61725,111 @@ var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
|
61718
61725
|
}
|
|
61719
61726
|
};
|
|
61720
61727
|
DControllerDefaultCommand.prototype.push = function (command) {
|
|
61721
|
-
|
|
61722
|
-
waiting.push(command);
|
|
61728
|
+
this._waiting.push(command);
|
|
61723
61729
|
this.next();
|
|
61724
61730
|
};
|
|
61725
61731
|
DControllerDefaultCommand.prototype.next = function () {
|
|
61732
|
+
if (this._executing != null) {
|
|
61733
|
+
// Still executing a command.
|
|
61734
|
+
// So do nothing.
|
|
61735
|
+
return;
|
|
61736
|
+
}
|
|
61737
|
+
var waiting = this._waiting;
|
|
61738
|
+
if (waiting.length <= 0) {
|
|
61739
|
+
// There is no waiting commands.
|
|
61740
|
+
// So do nothing.
|
|
61741
|
+
return;
|
|
61742
|
+
}
|
|
61743
|
+
var command = waiting.shift();
|
|
61744
|
+
if (command == null) {
|
|
61745
|
+
// There is no waiting commands.
|
|
61746
|
+
// So do nothing.
|
|
61747
|
+
return;
|
|
61748
|
+
}
|
|
61749
|
+
if (command instanceof DCommandUndo) {
|
|
61750
|
+
this.executeUndo(command);
|
|
61751
|
+
}
|
|
61752
|
+
else if (command instanceof DCommandRedo) {
|
|
61753
|
+
this.executeRedo(command);
|
|
61754
|
+
}
|
|
61755
|
+
else {
|
|
61756
|
+
this.execute(command);
|
|
61757
|
+
}
|
|
61758
|
+
};
|
|
61759
|
+
DControllerDefaultCommand.prototype.executeUndo = function (command) {
|
|
61726
61760
|
var _this = this;
|
|
61727
|
-
|
|
61728
|
-
|
|
61729
|
-
|
|
61730
|
-
|
|
61731
|
-
|
|
61732
|
-
|
|
61733
|
-
|
|
61734
|
-
|
|
61735
|
-
|
|
61736
|
-
|
|
61737
|
-
|
|
61738
|
-
|
|
61739
|
-
|
|
61740
|
-
|
|
61741
|
-
|
|
61742
|
-
|
|
61743
|
-
|
|
61744
|
-
|
|
61745
|
-
|
|
61746
|
-
|
|
61747
|
-
|
|
61748
|
-
|
|
61749
|
-
|
|
61750
|
-
|
|
61751
|
-
|
|
61752
|
-
|
|
61753
|
-
|
|
61754
|
-
|
|
61755
|
-
|
|
61756
|
-
|
|
61757
|
-
|
|
61758
|
-
|
|
61759
|
-
|
|
61760
|
-
|
|
61761
|
-
|
|
61762
|
-
|
|
61763
|
-
|
|
61764
|
-
|
|
61765
|
-
|
|
61766
|
-
|
|
61767
|
-
|
|
61768
|
-
this._executing = result.then(function () {
|
|
61769
|
-
_this.onSuccess(command_1);
|
|
61770
|
-
}, function () {
|
|
61771
|
-
_this.onFail(command_1);
|
|
61772
|
-
});
|
|
61773
|
-
}
|
|
61774
|
-
}
|
|
61775
|
-
}
|
|
61776
|
-
else {
|
|
61777
|
-
var isClear = isCommandClear(command_1);
|
|
61778
|
-
var isStorable = isCommandStorable(command_1);
|
|
61779
|
-
if (isClear || isStorable) {
|
|
61780
|
-
var size = isClear ? this._done.length : this._position;
|
|
61781
|
-
if (0 < size) {
|
|
61782
|
-
this.remove(size);
|
|
61783
|
-
this._position = 0;
|
|
61784
|
-
this.emit("change", this);
|
|
61785
|
-
}
|
|
61786
|
-
this.cleanup();
|
|
61787
|
-
}
|
|
61788
|
-
var result = command_1.execute();
|
|
61789
|
-
if (result === true) {
|
|
61790
|
-
this.onSuccess(command_1);
|
|
61791
|
-
}
|
|
61792
|
-
else if (result === false) {
|
|
61793
|
-
this.onFail(command_1);
|
|
61794
|
-
}
|
|
61795
|
-
else {
|
|
61796
|
-
this._executing = result.then(function () {
|
|
61797
|
-
_this.onSuccess(command_1);
|
|
61798
|
-
}, function () {
|
|
61799
|
-
_this.onFail(command_1);
|
|
61800
|
-
});
|
|
61801
|
-
}
|
|
61802
|
-
}
|
|
61803
|
-
}
|
|
61761
|
+
var done = this._done;
|
|
61762
|
+
if (this._position < done.length) {
|
|
61763
|
+
var current_1 = done[done.length - 1 - this._position];
|
|
61764
|
+
this._position += 1;
|
|
61765
|
+
this.emit("change", this);
|
|
61766
|
+
var result = current_1.undo();
|
|
61767
|
+
if (result === true) {
|
|
61768
|
+
this.onSuccessUndo(current_1);
|
|
61769
|
+
}
|
|
61770
|
+
else if (result === false) {
|
|
61771
|
+
this.onFail(command);
|
|
61772
|
+
}
|
|
61773
|
+
else {
|
|
61774
|
+
this._executing = result.then(function () {
|
|
61775
|
+
_this.onSuccessUndo(current_1);
|
|
61776
|
+
}, function () {
|
|
61777
|
+
_this.onFail(command);
|
|
61778
|
+
});
|
|
61779
|
+
}
|
|
61780
|
+
}
|
|
61781
|
+
};
|
|
61782
|
+
DControllerDefaultCommand.prototype.executeRedo = function (command) {
|
|
61783
|
+
var _this = this;
|
|
61784
|
+
var done = this._done;
|
|
61785
|
+
if (0 < this._position) {
|
|
61786
|
+
var current_2 = done[done.length - this._position];
|
|
61787
|
+
this._position -= 1;
|
|
61788
|
+
this.emit("change", this);
|
|
61789
|
+
var result = current_2.redo();
|
|
61790
|
+
if (result === true) {
|
|
61791
|
+
this.onSuccessRedo(current_2);
|
|
61792
|
+
}
|
|
61793
|
+
else if (result === false) {
|
|
61794
|
+
this.onFail(command);
|
|
61795
|
+
}
|
|
61796
|
+
else {
|
|
61797
|
+
this._executing = result.then(function () {
|
|
61798
|
+
_this.onSuccessRedo(current_2);
|
|
61799
|
+
}, function () {
|
|
61800
|
+
_this.onFail(command);
|
|
61801
|
+
});
|
|
61804
61802
|
}
|
|
61805
61803
|
}
|
|
61806
61804
|
};
|
|
61805
|
+
DControllerDefaultCommand.prototype.execute = function (command) {
|
|
61806
|
+
var _this = this;
|
|
61807
|
+
var isClear = isCommandClear(command);
|
|
61808
|
+
var isStorable = isCommandStorable(command);
|
|
61809
|
+
if (isClear || isStorable) {
|
|
61810
|
+
var size = isClear ? this._done.length : this._position;
|
|
61811
|
+
if (0 < size) {
|
|
61812
|
+
this.remove(size);
|
|
61813
|
+
this._position = 0;
|
|
61814
|
+
this.emit("change", this);
|
|
61815
|
+
}
|
|
61816
|
+
this.cleanup();
|
|
61817
|
+
}
|
|
61818
|
+
var result = command.execute();
|
|
61819
|
+
if (result === true) {
|
|
61820
|
+
this.onSuccess(command);
|
|
61821
|
+
}
|
|
61822
|
+
else if (result === false) {
|
|
61823
|
+
this.onFail(command);
|
|
61824
|
+
}
|
|
61825
|
+
else {
|
|
61826
|
+
this._executing = result.then(function () {
|
|
61827
|
+
_this.onSuccess(command);
|
|
61828
|
+
}, function () {
|
|
61829
|
+
_this.onFail(command);
|
|
61830
|
+
});
|
|
61831
|
+
}
|
|
61832
|
+
};
|
|
61807
61833
|
DControllerDefaultCommand.prototype.cleanup = function () {
|
|
61808
61834
|
var done = this._done;
|
|
61809
61835
|
var size = done.length - 100;
|
|
@@ -61833,9 +61859,24 @@ var DControllerDefaultCommand = /** @class */ (function (_super) {
|
|
|
61833
61859
|
this._executing = null;
|
|
61834
61860
|
if (isCommandStorable(command)) {
|
|
61835
61861
|
this._done.push(command);
|
|
61862
|
+
if (!isCommandClean(command)) {
|
|
61863
|
+
this.emit("dirty", this);
|
|
61864
|
+
}
|
|
61865
|
+
}
|
|
61866
|
+
this.emit("change", this);
|
|
61867
|
+
this.next();
|
|
61868
|
+
};
|
|
61869
|
+
DControllerDefaultCommand.prototype.onSuccessUndo = function (undoed) {
|
|
61870
|
+
this._executing = null;
|
|
61871
|
+
if (!isCommandClean(undoed)) {
|
|
61836
61872
|
this.emit("dirty", this);
|
|
61837
61873
|
}
|
|
61838
|
-
|
|
61874
|
+
this.emit("change", this);
|
|
61875
|
+
this.next();
|
|
61876
|
+
};
|
|
61877
|
+
DControllerDefaultCommand.prototype.onSuccessRedo = function (redoed) {
|
|
61878
|
+
this._executing = null;
|
|
61879
|
+
if (!isCommandClean(redoed)) {
|
|
61839
61880
|
this.emit("dirty", this);
|
|
61840
61881
|
}
|
|
61841
61882
|
this.emit("change", this);
|