@wcardinal/wcardinal-ui 0.271.0 → 0.273.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.
Files changed (39) hide show
  1. package/dist/types/wcardinal/ui/d-command-clear.d.ts +1 -0
  2. package/dist/types/wcardinal/ui/d-command-create.d.ts +1 -0
  3. package/dist/types/wcardinal/ui/d-command-flag.d.ts +3 -3
  4. package/dist/types/wcardinal/ui/d-command-save-as.d.ts +1 -0
  5. package/dist/types/wcardinal/ui/d-command-save.d.ts +1 -0
  6. package/dist/types/wcardinal/ui/d-command.d.ts +1 -0
  7. package/dist/types/wcardinal/ui/d-tree-data-impl.d.ts +2 -2
  8. package/dist/types/wcardinal/ui/d-tree-data.d.ts +1 -1
  9. package/dist/types/wcardinal/ui/d-tree-item-updater.d.ts +1 -1
  10. package/dist/wcardinal/ui/d-command-clear.js +3 -0
  11. package/dist/wcardinal/ui/d-command-clear.js.map +1 -1
  12. package/dist/wcardinal/ui/d-command-create.js +3 -0
  13. package/dist/wcardinal/ui/d-command-create.js.map +1 -1
  14. package/dist/wcardinal/ui/d-command-flag.js +3 -3
  15. package/dist/wcardinal/ui/d-command-flag.js.map +1 -1
  16. package/dist/wcardinal/ui/d-command-save-as.js +3 -0
  17. package/dist/wcardinal/ui/d-command-save-as.js.map +1 -1
  18. package/dist/wcardinal/ui/d-command-save.js +3 -0
  19. package/dist/wcardinal/ui/d-command-save.js.map +1 -1
  20. package/dist/wcardinal/ui/d-command.js.map +1 -1
  21. package/dist/wcardinal/ui/d-controller-command-impl.js +14 -3
  22. package/dist/wcardinal/ui/d-controller-command-impl.js.map +1 -1
  23. package/dist/wcardinal/ui/d-tree-data-impl.js +7 -5
  24. package/dist/wcardinal/ui/d-tree-data-impl.js.map +1 -1
  25. package/dist/wcardinal/ui/d-tree-data-selection-multiple.js +6 -4
  26. package/dist/wcardinal/ui/d-tree-data-selection-multiple.js.map +1 -1
  27. package/dist/wcardinal/ui/d-tree-data-selection-single.js +6 -4
  28. package/dist/wcardinal/ui/d-tree-data-selection-single.js.map +1 -1
  29. package/dist/wcardinal/ui/d-tree-data.js.map +1 -1
  30. package/dist/wcardinal/ui/d-tree-item-updater.js.map +1 -1
  31. package/dist/wcardinal-ui-theme-dark.js +1 -1
  32. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  33. package/dist/wcardinal-ui-theme-white.js +1 -1
  34. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  35. package/dist/wcardinal-ui.cjs.js +49 -20
  36. package/dist/wcardinal-ui.js +49 -20
  37. package/dist/wcardinal-ui.min.js +2 -2
  38. package/dist/wcardinal-ui.min.js.map +1 -1
  39. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { DCommand } from "./d-command";
2
2
  import { DCommandFlag } from "./d-command-flag";
3
3
  export declare class DCommandClear implements DCommand {
4
4
  execute(): boolean;
5
+ marge(target: DCommand): boolean;
5
6
  redo(): boolean;
6
7
  undo(): boolean;
7
8
  destroy(): void;
@@ -2,6 +2,7 @@ import { DCommand } from "./d-command";
2
2
  import { DCommandFlag } from "./d-command-flag";
3
3
  export declare abstract class DCommandCreate implements DCommand {
4
4
  abstract execute(): boolean;
5
+ marge(target: DCommand): boolean;
5
6
  redo(): boolean;
6
7
  undo(): boolean;
7
8
  destroy(): void;
@@ -1,15 +1,15 @@
1
1
  export declare const DCommandFlag: {
2
2
  readonly NONE: 0;
3
3
  /**
4
- * Commands with a `UNSTORABLE` flag will not be queued to the `done` queue.
4
+ * Commands with this flag will not be queued to the `done` queue.
5
5
  */
6
6
  readonly UNSTORABLE: 1;
7
7
  /**
8
- * Commands with a `CLEAR` flag clear the command queue.
8
+ * Commands with this flag clear the command queue.
9
9
  */
10
10
  readonly CLEAR: 2;
11
11
  /**
12
- * Commands with a `CLEAN` flag are not considered as modifications to documents
12
+ * Commands with this flag are not considered as modifications to documents
13
13
  */
14
14
  readonly CLEAN: 4;
15
15
  };
@@ -5,6 +5,7 @@ export declare class DCommandSaveAs implements DCommand {
5
5
  constructor(name: string);
6
6
  get name(): string;
7
7
  execute(): boolean;
8
+ marge(target: DCommand): boolean;
8
9
  redo(): boolean;
9
10
  undo(): boolean;
10
11
  destroy(): void;
@@ -2,6 +2,7 @@ import { DCommand } from "./d-command";
2
2
  import { DCommandFlag } from "./d-command-flag";
3
3
  export declare class DCommandSave implements DCommand {
4
4
  execute(): boolean;
5
+ marge(target: DCommand): boolean;
5
6
  redo(): boolean;
6
7
  undo(): boolean;
7
8
  destroy(): void;
@@ -4,6 +4,7 @@ export interface DCommand {
4
4
  * Called to executed this command.
5
5
  */
6
6
  execute(): boolean;
7
+ marge(target: DCommand): boolean;
7
8
  redo(): boolean;
8
9
  undo(): boolean;
9
10
  destroy(): void;
@@ -5,7 +5,7 @@ import { DTreeNodeIteratee } from "./d-tree-node-iteratee";
5
5
  import { DTreeDataSelection } from "./d-tree-data-selection";
6
6
  import { DTreeDataMapped } from "./d-tree-data-mapped";
7
7
  export interface DTreeDataImplParent {
8
- update(): void;
8
+ update(forcibly?: boolean): void;
9
9
  }
10
10
  export interface DTreeDataImplSelection<NODE extends DTreeNode> extends DTreeDataSelection<NODE> {
11
11
  onNodeChange(nodes: NODE[]): void;
@@ -24,7 +24,7 @@ export declare class DTreeDataImpl<NODE extends DTreeNode> implements DTreeData<
24
24
  get mapped(): DTreeDataMapped<NODE>;
25
25
  get accessor(): DTreeNodeAccessor<NODE>;
26
26
  get selection(): DTreeDataSelection<NODE>;
27
- update(): void;
27
+ update(forcibly?: boolean): void;
28
28
  toggle(target: NODE): boolean;
29
29
  expand(target: NODE): boolean;
30
30
  collapse(target: NODE): boolean;
@@ -21,7 +21,7 @@ export interface DTreeDataLike<NODE extends DTreeNode> {
21
21
  * @returns a selection
22
22
  */
23
23
  readonly selection: DTreeDataSelection<NODE>;
24
- update(): void;
24
+ update(forcibly?: boolean): void;
25
25
  /**
26
26
  * Toggles the given node,
27
27
  *
@@ -3,7 +3,7 @@ import { DTreeData } from "./d-tree-data";
3
3
  import { DTreeDataMapped } from "./d-tree-data-mapped";
4
4
  import { DTreeItem } from "./d-tree-item";
5
5
  import { DTreeNode } from "./d-tree-node";
6
- export interface DTreeItemUpdaterOptions<NODE> extends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {
6
+ export interface DTreeItemUpdaterOptions<NODE extends DTreeNode> extends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {
7
7
  }
8
8
  export declare class DTreeItemUpdater<NODE extends DTreeNode = DTreeNode> extends DItemUpdater<NODE, DTreeData<NODE>, DTreeDataMapped<NODE>, DTreeItem<NODE>, DTreeItemUpdaterOptions<NODE>> {
9
9
  protected toMapped(data: DTreeData<NODE>): DTreeDataMapped<NODE>;
@@ -9,6 +9,9 @@ var DCommandClear = /** @class */ (function () {
9
9
  DCommandClear.prototype.execute = function () {
10
10
  return true;
11
11
  };
12
+ DCommandClear.prototype.marge = function (target) {
13
+ return false;
14
+ };
12
15
  DCommandClear.prototype.redo = function () {
13
16
  throw new Error("Method not implemented.");
14
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-command-clear.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-clear.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;IAAA;IAoBA,CAAC;IAnBA,+BAAO,GAAP;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,+BAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,+BAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;IACrD,CAAC;IACF,oBAAC;AAAD,CAAC,AApBD,IAoBC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\n\nexport class DCommandClear implements DCommand {\n\texecute(): boolean {\n\t\treturn true;\n\t}\n\n\tredo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tundo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE | DCommandFlag.CLEAR;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-command-clear.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-clear.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;IAAA;IAwBA,CAAC;IAvBA,+BAAO,GAAP;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6BAAK,GAAL,UAAM,MAAgB;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,4BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,4BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,+BAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,+BAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;IACrD,CAAC;IACF,oBAAC;AAAD,CAAC,AAxBD,IAwBC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\n\nexport class DCommandClear implements DCommand {\n\texecute(): boolean {\n\t\treturn true;\n\t}\n\n\tmarge(target: DCommand): boolean {\n\t\treturn false;\n\t}\n\n\tredo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tundo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE | DCommandFlag.CLEAR;\n\t}\n}\n"]}
@@ -6,6 +6,9 @@ import { DCommandFlag } from "./d-command-flag";
6
6
  var DCommandCreate = /** @class */ (function () {
7
7
  function DCommandCreate() {
8
8
  }
9
+ DCommandCreate.prototype.marge = function (target) {
10
+ return false;
11
+ };
9
12
  DCommandCreate.prototype.redo = function () {
10
13
  throw new Error("Method not implemented.");
11
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-command-create.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;IAAA;IAkBA,CAAC;IAfA,6BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,6BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,gCAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,gCAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;IACrD,CAAC;IACF,qBAAC;AAAD,CAAC,AAlBD,IAkBC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\n\nexport abstract class DCommandCreate implements DCommand {\n\tabstract execute(): boolean;\n\n\tredo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tundo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE | DCommandFlag.CLEAR;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-command-create.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;IAAA;IAsBA,CAAC;IAnBA,8BAAK,GAAL,UAAM,MAAgB;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,6BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,6BAAI,GAAJ;QACC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IAED,gCAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,gCAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;IACrD,CAAC;IACF,qBAAC;AAAD,CAAC,AAtBD,IAsBC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\n\nexport abstract class DCommandCreate implements DCommand {\n\tabstract execute(): boolean;\n\n\tmarge(target: DCommand): boolean {\n\t\treturn false;\n\t}\n\n\tredo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tundo(): boolean {\n\t\tthrow new Error(\"Method not implemented.\");\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE | DCommandFlag.CLEAR;\n\t}\n}\n"]}
@@ -5,15 +5,15 @@
5
5
  export var DCommandFlag = {
6
6
  NONE: 0,
7
7
  /**
8
- * Commands with a `UNSTORABLE` flag will not be queued to the `done` queue.
8
+ * Commands with this flag will not be queued to the `done` queue.
9
9
  */
10
10
  UNSTORABLE: 1,
11
11
  /**
12
- * Commands with a `CLEAR` flag clear the command queue.
12
+ * Commands with this flag clear the command queue.
13
13
  */
14
14
  CLEAR: 2,
15
15
  /**
16
- * Commands with a `CLEAN` flag are not considered as modifications to documents
16
+ * Commands with this flag are not considered as modifications to documents
17
17
  */
18
18
  CLEAN: 4
19
19
  };
@@ -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;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"]}
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 this flag will not be queued to the `done` queue.\n\t */\n\tUNSTORABLE: 1,\n\n\t/**\n\t * Commands with this flag clear the command queue.\n\t */\n\tCLEAR: 2,\n\n\t/**\n\t * Commands with this flag are not considered as modifications to documents\n\t */\n\tCLEAN: 4\n} as const;\n\nexport type DCommandFlag = number;\n"]}
@@ -19,6 +19,9 @@ var DCommandSaveAs = /** @class */ (function () {
19
19
  DControllers.getDocumentController().saveAs(this._name);
20
20
  return true;
21
21
  };
22
+ DCommandSaveAs.prototype.marge = function (target) {
23
+ return false;
24
+ };
22
25
  DCommandSaveAs.prototype.redo = function () {
23
26
  return true;
24
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-command-save-as.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-save-as.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;IAGC,wBAAY,IAAY;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAI,gCAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAED,gCAAO,GAAP;QACC,YAAY,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gCAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,gCAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,CAAC;IAChC,CAAC;IACF,qBAAC;AAAD,CAAC,AA/BD,IA+BC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DControllers } from \"./d-controllers\";\n\nexport class DCommandSaveAs implements DCommand {\n\tprotected _name: string;\n\n\tconstructor(name: string) {\n\t\tthis._name = name;\n\t}\n\n\tget name(): string {\n\t\treturn this._name;\n\t}\n\n\texecute(): boolean {\n\t\tDControllers.getDocumentController().saveAs(this._name);\n\t\treturn true;\n\t}\n\n\tredo(): boolean {\n\t\treturn true;\n\t}\n\n\tundo(): boolean {\n\t\treturn true;\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-command-save-as.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-save-as.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;IAGC,wBAAY,IAAY;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,sBAAI,gCAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAED,gCAAO,GAAP;QACC,YAAY,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,8BAAK,GAAL,UAAM,MAAgB;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,6BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gCAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,gCAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,CAAC;IAChC,CAAC;IACF,qBAAC;AAAD,CAAC,AAnCD,IAmCC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DControllers } from \"./d-controllers\";\n\nexport class DCommandSaveAs implements DCommand {\n\tprotected _name: string;\n\n\tconstructor(name: string) {\n\t\tthis._name = name;\n\t}\n\n\tget name(): string {\n\t\treturn this._name;\n\t}\n\n\texecute(): boolean {\n\t\tDControllers.getDocumentController().saveAs(this._name);\n\t\treturn true;\n\t}\n\n\tmarge(target: DCommand): boolean {\n\t\treturn false;\n\t}\n\n\tredo(): boolean {\n\t\treturn true;\n\t}\n\n\tundo(): boolean {\n\t\treturn true;\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE;\n\t}\n}\n"]}
@@ -11,6 +11,9 @@ var DCommandSave = /** @class */ (function () {
11
11
  DControllers.getDocumentController().save();
12
12
  return true;
13
13
  };
14
+ DCommandSave.prototype.marge = function (target) {
15
+ return false;
16
+ };
14
17
  DCommandSave.prototype.redo = function () {
15
18
  return true;
16
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-command-save.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-save.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;IAAA;IAqBA,CAAC;IApBA,8BAAO,GAAP;QACC,YAAY,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,8BAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,8BAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,CAAC;IAChC,CAAC;IACF,mBAAC;AAAD,CAAC,AArBD,IAqBC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DControllers } from \"./d-controllers\";\n\nexport class DCommandSave implements DCommand {\n\texecute(): boolean {\n\t\tDControllers.getDocumentController().save();\n\t\treturn true;\n\t}\n\n\tredo(): boolean {\n\t\treturn true;\n\t}\n\n\tundo(): boolean {\n\t\treturn true;\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-command-save.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command-save.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;IAAA;IAyBA,CAAC;IAxBA,8BAAO,GAAP;QACC,YAAY,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4BAAK,GAAL,UAAM,MAAgB;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,2BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,2BAAI,GAAJ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,8BAAO,GAAP;QACC,aAAa;IACd,CAAC;IAED,8BAAO,GAAP;QACC,OAAO,YAAY,CAAC,UAAU,CAAC;IAChC,CAAC;IACF,mBAAC;AAAD,CAAC,AAzBD,IAyBC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommand } from \"./d-command\";\nimport { DCommandFlag } from \"./d-command-flag\";\nimport { DControllers } from \"./d-controllers\";\n\nexport class DCommandSave implements DCommand {\n\texecute(): boolean {\n\t\tDControllers.getDocumentController().save();\n\t\treturn true;\n\t}\n\n\tmarge(target: DCommand): boolean {\n\t\treturn false;\n\t}\n\n\tredo(): boolean {\n\t\treturn true;\n\t}\n\n\tundo(): boolean {\n\t\treturn true;\n\t}\n\n\tdestroy(): void {\n\t\t// DO NOTHING\n\t}\n\n\tgetFlag(): DCommandFlag {\n\t\treturn DCommandFlag.UNSTORABLE;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-command.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommandFlag } from \"./d-command-flag\";\n\nexport interface DCommand {\n\t/**\n\t * Called to executed this command.\n\t */\n\texecute(): boolean;\n\n\tredo(): boolean;\n\tundo(): boolean;\n\tdestroy(): void;\n\tgetFlag(): DCommandFlag;\n}\n"]}
1
+ {"version":3,"file":"d-command.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-command.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DCommandFlag } from \"./d-command-flag\";\n\nexport interface DCommand {\n\t/**\n\t * Called to executed this command.\n\t */\n\texecute(): boolean;\n\n\tmarge(target: DCommand): boolean;\n\n\tredo(): boolean;\n\tundo(): boolean;\n\tdestroy(): void;\n\tgetFlag(): DCommandFlag;\n}\n"]}
@@ -25,8 +25,9 @@ var DControllerCommandImpl = /** @class */ (function (_super) {
25
25
  }
26
26
  DControllerCommandImpl.prototype.last = function () {
27
27
  var done = this._done;
28
- if (0 < done.length) {
29
- return done[done.length - 1];
28
+ var doneLength = done.length;
29
+ if (0 < doneLength) {
30
+ return done[doneLength - 1];
30
31
  }
31
32
  else {
32
33
  return null;
@@ -58,7 +59,17 @@ var DControllerCommandImpl = /** @class */ (function (_super) {
58
59
  };
59
60
  DControllerCommandImpl.prototype.onSuccess = function (command) {
60
61
  if (isCommandStorable(command)) {
61
- this._done.push(command);
62
+ var done = this._done;
63
+ var doneLength = done.length;
64
+ if (0 < doneLength) {
65
+ var last = done[doneLength - 1];
66
+ if (!last.marge(command)) {
67
+ done.push(command);
68
+ }
69
+ }
70
+ else {
71
+ done.push(command);
72
+ }
62
73
  if (!isCommandClean(command)) {
63
74
  this.emit("dirty", this);
64
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"d-controller-command-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-command-impl.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 { 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 DControllerCommandImpl extends utils.EventEmitter implements DControllerCommand {\n\tprotected _position: number;\n\tprotected _done: DCommand[];\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._position = 0;\n\t\tthis._done = [];\n\t}\n\n\tlast(): DCommand | null {\n\t\tconst done = this._done;\n\t\tif (0 < done.length) {\n\t\t\treturn done[done.length - 1];\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpush(command: DCommand): void {\n\t\tthis.execute(command);\n\t}\n\n\tprotected execute(command: DCommand): void {\n\t\tthis.emit(\"executing\", command, this);\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 {\n\t\t\tthis.onFail(command);\n\t\t}\n\t}\n\n\tprotected onSuccess(command: DCommand): void {\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.emit(\"executed\", command, this);\n\t}\n\n\tprotected onFail(command: DCommand): void {\n\t\tcommand.destroy();\n\t\tthis.emit(\"change\", this);\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\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.doRedo();\n\t\t}\n\t}\n\n\tprotected doRedo(): 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\tthis.emit(\"redoing\", current, this);\n\t\t\tconst result = current.redo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onRedoSuccess(current);\n\t\t\t} else {\n\t\t\t\tthis.onRedoFail(current);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRedoSuccess(redoed: DCommand): void {\n\t\tif (!isCommandClean(redoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.emit(\"redoed\", redoed, this);\n\t}\n\n\tprotected onRedoFail(command: DCommand): void {\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tisRedoable(): boolean {\n\t\treturn 0 < this._position;\n\t}\n\n\tundo(): void {\n\t\tif (this.isUndoable()) {\n\t\t\tthis.doUndo();\n\t\t}\n\t}\n\n\tprotected doUndo(): 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\tthis.emit(\"undoing\", current, this);\n\t\t\tconst result = current.undo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onUndoSuccess(current);\n\t\t\t} else {\n\t\t\t\tthis.onUndoFail(current);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onUndoSuccess(undoed: DCommand): void {\n\t\tif (!isCommandClean(undoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.emit(\"undoed\", undoed, this);\n\t}\n\n\tprotected onUndoFail(command: DCommand): void {\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tisUndoable(): boolean {\n\t\treturn this._position < this._done.length;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-controller-command-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-controller-command-impl.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 { 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 DControllerCommandImpl extends utils.EventEmitter implements DControllerCommand {\n\tprotected _position: number;\n\tprotected _done: DCommand[];\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._position = 0;\n\t\tthis._done = [];\n\t}\n\n\tlast(): DCommand | null {\n\t\tconst done = this._done;\n\t\tconst doneLength = done.length;\n\t\tif (0 < doneLength) {\n\t\t\treturn done[doneLength - 1];\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpush(command: DCommand): void {\n\t\tthis.execute(command);\n\t}\n\n\tprotected execute(command: DCommand): void {\n\t\tthis.emit(\"executing\", command, this);\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 {\n\t\t\tthis.onFail(command);\n\t\t}\n\t}\n\n\tprotected onSuccess(command: DCommand): void {\n\t\tif (isCommandStorable(command)) {\n\t\t\tconst done = this._done;\n\t\t\tconst doneLength = done.length;\n\t\t\tif (0 < doneLength) {\n\t\t\t\tconst last = done[doneLength - 1];\n\t\t\t\tif (!last.marge(command)) {\n\t\t\t\t\tdone.push(command);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdone.push(command);\n\t\t\t}\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.emit(\"executed\", command, this);\n\t}\n\n\tprotected onFail(command: DCommand): void {\n\t\tcommand.destroy();\n\t\tthis.emit(\"change\", this);\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\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.doRedo();\n\t\t}\n\t}\n\n\tprotected doRedo(): 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\tthis.emit(\"redoing\", current, this);\n\t\t\tconst result = current.redo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onRedoSuccess(current);\n\t\t\t} else {\n\t\t\t\tthis.onRedoFail(current);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRedoSuccess(redoed: DCommand): void {\n\t\tif (!isCommandClean(redoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.emit(\"redoed\", redoed, this);\n\t}\n\n\tprotected onRedoFail(command: DCommand): void {\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tisRedoable(): boolean {\n\t\treturn 0 < this._position;\n\t}\n\n\tundo(): void {\n\t\tif (this.isUndoable()) {\n\t\t\tthis.doUndo();\n\t\t}\n\t}\n\n\tprotected doUndo(): 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\tthis.emit(\"undoing\", current, this);\n\t\t\tconst result = current.undo();\n\t\t\tif (result === true) {\n\t\t\t\tthis.onUndoSuccess(current);\n\t\t\t} else {\n\t\t\t\tthis.onUndoFail(current);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onUndoSuccess(undoed: DCommand): void {\n\t\tif (!isCommandClean(undoed)) {\n\t\t\tthis.emit(\"dirty\", this);\n\t\t}\n\t\tthis.emit(\"change\", this);\n\t\tthis.emit(\"undoed\", undoed, this);\n\t}\n\n\tprotected onUndoFail(command: DCommand): void {\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tisUndoable(): boolean {\n\t\treturn this._position < this._done.length;\n\t}\n}\n"]}
@@ -44,9 +44,7 @@ var DTreeDataImpl = /** @class */ (function () {
44
44
  },
45
45
  set: function (nodes) {
46
46
  this._nodes = nodes;
47
- this._mapped.toDirty();
48
- this._selection.onNodeChange(nodes);
49
- this.update();
47
+ this.update(true);
50
48
  },
51
49
  enumerable: false,
52
50
  configurable: true
@@ -72,8 +70,12 @@ var DTreeDataImpl = /** @class */ (function () {
72
70
  enumerable: false,
73
71
  configurable: true
74
72
  });
75
- DTreeDataImpl.prototype.update = function () {
76
- this._parent.update();
73
+ DTreeDataImpl.prototype.update = function (forcibly) {
74
+ if (forcibly) {
75
+ this._mapped.toDirty();
76
+ this._selection.onNodeChange(this._nodes);
77
+ }
78
+ this._parent.update(forcibly);
77
79
  };
78
80
  DTreeDataImpl.prototype.toggle = function (target) {
79
81
  var nodeToFlag = this._nodeToFlag;
@@ -1 +1 @@
1
- {"version":3,"file":"d-tree-data-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeData, DTreeDataOptions } from \"./d-tree-data\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor } from \"./d-tree-node-accessor\";\nimport { DTreeNodeAccessorImpl } from \"./d-tree-node-accessor-impl\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\nimport { DTreeDataSelection, DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataMappedImpl } from \"./d-tree-data-mapped-impl\";\nimport { DTreeDataSelectionMultiple } from \"./d-tree-data-selection-multiple\";\nimport { DTreeDataSelectionSingle } from \"./d-tree-data-selection-single\";\nimport { DTreeDataSelectionNone } from \"./d-tree-data-selection-none\";\n\nexport interface DTreeDataImplParent {\n\tupdate(): void;\n}\n\nexport interface DTreeDataImplSelection<NODE extends DTreeNode> extends DTreeDataSelection<NODE> {\n\tonNodeChange(nodes: NODE[]): void;\n}\n\nexport class DTreeDataImpl<NODE extends DTreeNode> implements DTreeData<NODE> {\n\tprotected _parent: DTreeDataImplParent;\n\tprotected _nodeToFlag: WeakMap<NODE, number>;\n\tprotected _selection: DTreeDataImplSelection<NODE>;\n\tprotected _nodes: NODE[];\n\tprotected _accessor: DTreeNodeAccessor<NODE>;\n\tprotected _mapped: DTreeDataMapped<NODE>;\n\n\tconstructor(parent: DTreeDataImplParent, options?: DTreeDataOptions<NODE>) {\n\t\tthis._parent = parent;\n\t\tthis._nodeToFlag = new WeakMap<NODE, number>();\n\t\tthis._selection = this.toSelection(options);\n\t\tthis._accessor = new DTreeNodeAccessorImpl(options);\n\t\tconst mapped = new DTreeDataMappedImpl<NODE>(this, !!options?.reverse);\n\t\tthis._mapped = mapped;\n\n\t\tconst nodes = options?.nodes;\n\t\tif (nodes != null) {\n\t\t\tthis._nodes = nodes;\n\t\t\tmapped.toDirty();\n\t\t} else {\n\t\t\tthis._nodes = [];\n\t\t}\n\t}\n\n\tprotected toSelection(options?: DTreeDataOptions<NODE>): DTreeDataImplSelection<NODE> {\n\t\tconst selection = options?.selection;\n\t\tswitch (selection?.type) {\n\t\t\tcase DTreeDataSelectionType.NONE:\n\t\t\tcase \"NONE\":\n\t\t\t\treturn new DTreeDataSelectionNone<NODE>(this, selection);\n\t\t\tcase DTreeDataSelectionType.MULTIPLE:\n\t\t\tcase \"MULTIPLE\":\n\t\t\t\treturn new DTreeDataSelectionMultiple<NODE>(this, selection);\n\t\t\tdefault:\n\t\t\t\treturn new DTreeDataSelectionSingle<NODE>(this, selection);\n\t\t}\n\t}\n\n\tget nodes(): NODE[] {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[]) {\n\t\tthis._nodes = nodes;\n\t\tthis._mapped.toDirty();\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis.update();\n\t}\n\n\tget mapped(): DTreeDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n\n\tget accessor(): DTreeNodeAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tget selection(): DTreeDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tupdate(): void {\n\t\tthis._parent.update();\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t} else {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t}\n\t\tthis._mapped.toDirty();\n\t\tthis.update();\n\t\treturn true;\n\t}\n\n\texpand(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (!nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\texpandAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (!nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.set(node, 1);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapseAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.delete(node);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(target: NODE): boolean {\n\t\treturn !this.isExpanded(target);\n\t}\n\n\tisExpanded(target: NODE): boolean {\n\t\treturn this._nodeToFlag.has(target);\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.length) {\n\t\t\tnodes.length = 0;\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.clear();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === target) {\n\t\t\t\tnodes.splice(index, 1);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.remove(target);\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tadd(target: NODE, parent?: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tif (parent) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst children = accessor.toChildren(parent);\n\t\t\tif (children) {\n\t\t\t\tchildren.push(target);\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tconst newChildren = accessor.newChildren(parent);\n\t\t\t\tif (newChildren) {\n\t\t\t\t\tnewChildren.push(target);\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst nodes = this._nodes;\n\t\t\tif (nodes) {\n\t\t\t\tnodes.push(target);\n\t\t\t} else {\n\t\t\t\tthis._nodes = [target];\n\t\t\t}\n\t\t\tisDirty = true;\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn true;\n\t}\n\n\taddBefore(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\taddAfter(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index + 1, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\teach(iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst value = this._nodes;\n\t\tif (value) {\n\t\t\tthis.each_(value, null, iteratee);\n\t\t}\n\t}\n\n\tprotected each_(nodes: NODE[], parent: NODE | null, iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst toChildren = this._accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (iteratee(node, i, nodes, parent) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children) {\n\t\t\t\tthis.each_(children, node, iteratee);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-tree-data-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeData, DTreeDataOptions } from \"./d-tree-data\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor } from \"./d-tree-node-accessor\";\nimport { DTreeNodeAccessorImpl } from \"./d-tree-node-accessor-impl\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\nimport { DTreeDataSelection, DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataMappedImpl } from \"./d-tree-data-mapped-impl\";\nimport { DTreeDataSelectionMultiple } from \"./d-tree-data-selection-multiple\";\nimport { DTreeDataSelectionSingle } from \"./d-tree-data-selection-single\";\nimport { DTreeDataSelectionNone } from \"./d-tree-data-selection-none\";\n\nexport interface DTreeDataImplParent {\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTreeDataImplSelection<NODE extends DTreeNode> extends DTreeDataSelection<NODE> {\n\tonNodeChange(nodes: NODE[]): void;\n}\n\nexport class DTreeDataImpl<NODE extends DTreeNode> implements DTreeData<NODE> {\n\tprotected _parent: DTreeDataImplParent;\n\tprotected _nodeToFlag: WeakMap<NODE, number>;\n\tprotected _selection: DTreeDataImplSelection<NODE>;\n\tprotected _nodes: NODE[];\n\tprotected _accessor: DTreeNodeAccessor<NODE>;\n\tprotected _mapped: DTreeDataMapped<NODE>;\n\n\tconstructor(parent: DTreeDataImplParent, options?: DTreeDataOptions<NODE>) {\n\t\tthis._parent = parent;\n\t\tthis._nodeToFlag = new WeakMap<NODE, number>();\n\t\tthis._selection = this.toSelection(options);\n\t\tthis._accessor = new DTreeNodeAccessorImpl(options);\n\t\tconst mapped = new DTreeDataMappedImpl<NODE>(this, !!options?.reverse);\n\t\tthis._mapped = mapped;\n\n\t\tconst nodes = options?.nodes;\n\t\tif (nodes != null) {\n\t\t\tthis._nodes = nodes;\n\t\t\tmapped.toDirty();\n\t\t} else {\n\t\t\tthis._nodes = [];\n\t\t}\n\t}\n\n\tprotected toSelection(options?: DTreeDataOptions<NODE>): DTreeDataImplSelection<NODE> {\n\t\tconst selection = options?.selection;\n\t\tswitch (selection?.type) {\n\t\t\tcase DTreeDataSelectionType.NONE:\n\t\t\tcase \"NONE\":\n\t\t\t\treturn new DTreeDataSelectionNone<NODE>(this, selection);\n\t\t\tcase DTreeDataSelectionType.MULTIPLE:\n\t\t\tcase \"MULTIPLE\":\n\t\t\t\treturn new DTreeDataSelectionMultiple<NODE>(this, selection);\n\t\t\tdefault:\n\t\t\t\treturn new DTreeDataSelectionSingle<NODE>(this, selection);\n\t\t}\n\t}\n\n\tget nodes(): NODE[] {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[]) {\n\t\tthis._nodes = nodes;\n\t\tthis.update(true);\n\t}\n\n\tget mapped(): DTreeDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n\n\tget accessor(): DTreeNodeAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tget selection(): DTreeDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tif (forcibly) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.onNodeChange(this._nodes);\n\t\t}\n\t\tthis._parent.update(forcibly);\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t} else {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t}\n\t\tthis._mapped.toDirty();\n\t\tthis.update();\n\t\treturn true;\n\t}\n\n\texpand(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (!nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\texpandAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (!nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.set(node, 1);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapseAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.delete(node);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(target: NODE): boolean {\n\t\treturn !this.isExpanded(target);\n\t}\n\n\tisExpanded(target: NODE): boolean {\n\t\treturn this._nodeToFlag.has(target);\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.length) {\n\t\t\tnodes.length = 0;\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.clear();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === target) {\n\t\t\t\tnodes.splice(index, 1);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.remove(target);\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tadd(target: NODE, parent?: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tif (parent) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst children = accessor.toChildren(parent);\n\t\t\tif (children) {\n\t\t\t\tchildren.push(target);\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tconst newChildren = accessor.newChildren(parent);\n\t\t\t\tif (newChildren) {\n\t\t\t\t\tnewChildren.push(target);\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst nodes = this._nodes;\n\t\t\tif (nodes) {\n\t\t\t\tnodes.push(target);\n\t\t\t} else {\n\t\t\t\tthis._nodes = [target];\n\t\t\t}\n\t\t\tisDirty = true;\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn true;\n\t}\n\n\taddBefore(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\taddAfter(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index + 1, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\teach(iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst value = this._nodes;\n\t\tif (value) {\n\t\t\tthis.each_(value, null, iteratee);\n\t\t}\n\t}\n\n\tprotected each_(nodes: NODE[], parent: NODE | null, iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst toChildren = this._accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (iteratee(node, i, nodes, parent) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children) {\n\t\t\t\tthis.each_(children, node, iteratee);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -192,10 +192,12 @@ var DTreeDataSelectionMultiple = /** @class */ (function (_super) {
192
192
  };
193
193
  DTreeDataSelectionMultiple.prototype.onNodeChange = function (nodes) {
194
194
  var oldNodes = this._nodes;
195
- var newNodes = this.newNodes(nodes, oldNodes, new Set());
196
- if (oldNodes.size !== newNodes.size) {
197
- this._nodes = newNodes;
198
- this.onChange();
195
+ if (0 < oldNodes.size) {
196
+ var newNodes = this.newNodes(nodes, oldNodes, new Set());
197
+ if (oldNodes.size !== newNodes.size) {
198
+ this._nodes = newNodes;
199
+ this.onChange();
200
+ }
199
201
  }
200
202
  };
201
203
  DTreeDataSelectionMultiple.prototype.newNodes = function (items, existing, result) {
@@ -1 +1 @@
1
- {"version":3,"file":"d-tree-data-selection-multiple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-multiple.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 { DTreeNode } from \"./d-tree-node\";\nimport { DTreeDataSelectionParent } from \"./d-tree-data-selection-parent\";\nimport {\n\tDTreeDataSelection,\n\tDTreeDataSelectionOptions,\n\tDTreeDataSelectionType\n} from \"./d-tree-data-selection\";\n\nexport class DTreeDataSelectionMultiple<NODE extends DTreeNode>\n\textends utils.EventEmitter\n\timplements DTreeDataSelection<NODE>\n{\n\tprotected _parent: DTreeDataSelectionParent<NODE>;\n\tprotected _nodes: Set<NODE>;\n\n\tconstructor(parent: DTreeDataSelectionParent<NODE>, options?: DTreeDataSelectionOptions<NODE>) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._nodes = new Set<NODE>();\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget type(): DTreeDataSelectionType {\n\t\treturn DTreeDataSelectionType.MULTIPLE;\n\t}\n\n\tget first(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((item: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = item;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 <= index && index < nodes.size) {\n\t\t\tlet counter = 0;\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((node): void => {\n\t\t\t\tif (counter === index) {\n\t\t\t\t\tresult = node;\n\t\t\t\t}\n\t\t\t\tcounter += 1;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tadd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (!nodes.has(target)) {\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t} else {\n\t\t\tnodes.add(target);\n\t\t}\n\t\tthis.onChange();\n\t\treturn true;\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tnodes.clear();\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tclearAndAdd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tconst size = nodes.size;\n\t\tif (size === 1) {\n\t\t\tif (nodes.has(target)) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tnodes.clear();\n\t\t\t\tnodes.add(target);\n\t\t\t\tthis.onChange();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else {\n\t\t\tnodes.clear();\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tclearAndAddAll(targets: NODE[]): boolean {\n\t\tlet isDirty = false;\n\t\tconst newNodes = new Set<NODE>();\n\t\tconst oldNodes = this._nodes;\n\t\tfor (let i = 0, imax = targets.length; i < imax; ++i) {\n\t\t\tconst target = targets[i];\n\t\t\tif (!oldNodes.has(target)) {\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t\tnewNodes.add(target);\n\t\t}\n\t\tif (!isDirty) {\n\t\t\toldNodes.forEach((oldItem): void => {\n\t\t\t\tif (!newNodes.has(oldItem)) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._nodes = newNodes;\n\t\t\tthis.onChange();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\tcontains(target: NODE): boolean {\n\t\treturn this._nodes.has(target);\n\t}\n\n\tsize(): number {\n\t\treturn this._nodes.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._nodes.size <= 0;\n\t}\n\n\teach(iteratee: (node: NODE) => boolean | void): void {\n\t\tlet isCanceled = false;\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tif (!isCanceled) {\n\t\t\t\tif (iteratee(item) === false) {\n\t\t\t\t\tisCanceled = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\ttoArray(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tresult.push(item);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tonNodeChange(nodes: NODE[]): void {\n\t\tconst oldNodes = this._nodes;\n\t\tconst newNodes = this.newNodes(nodes, oldNodes, new Set<NODE>());\n\t\tif (oldNodes.size !== newNodes.size) {\n\t\t\tthis._nodes = newNodes;\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tprotected newNodes(items: NODE[], existing: Set<NODE>, result: Set<NODE>): Set<NODE> {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tif (existing.has(item)) {\n\t\t\t\tresult.add(item);\n\t\t\t}\n\t\t\tconst children = toChildren(item);\n\t\t\tif (children) {\n\t\t\t\tthis.newNodes(children, existing, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-tree-data-selection-multiple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-multiple.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 { DTreeNode } from \"./d-tree-node\";\nimport { DTreeDataSelectionParent } from \"./d-tree-data-selection-parent\";\nimport {\n\tDTreeDataSelection,\n\tDTreeDataSelectionOptions,\n\tDTreeDataSelectionType\n} from \"./d-tree-data-selection\";\n\nexport class DTreeDataSelectionMultiple<NODE extends DTreeNode>\n\textends utils.EventEmitter\n\timplements DTreeDataSelection<NODE>\n{\n\tprotected _parent: DTreeDataSelectionParent<NODE>;\n\tprotected _nodes: Set<NODE>;\n\n\tconstructor(parent: DTreeDataSelectionParent<NODE>, options?: DTreeDataSelectionOptions<NODE>) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._nodes = new Set<NODE>();\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget type(): DTreeDataSelectionType {\n\t\treturn DTreeDataSelectionType.MULTIPLE;\n\t}\n\n\tget first(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((item: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = item;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 <= index && index < nodes.size) {\n\t\t\tlet counter = 0;\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((node): void => {\n\t\t\t\tif (counter === index) {\n\t\t\t\t\tresult = node;\n\t\t\t\t}\n\t\t\t\tcounter += 1;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tadd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (!nodes.has(target)) {\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t} else {\n\t\t\tnodes.add(target);\n\t\t}\n\t\tthis.onChange();\n\t\treturn true;\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tnodes.clear();\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tclearAndAdd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tconst size = nodes.size;\n\t\tif (size === 1) {\n\t\t\tif (nodes.has(target)) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tnodes.clear();\n\t\t\t\tnodes.add(target);\n\t\t\t\tthis.onChange();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else {\n\t\t\tnodes.clear();\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tclearAndAddAll(targets: NODE[]): boolean {\n\t\tlet isDirty = false;\n\t\tconst newNodes = new Set<NODE>();\n\t\tconst oldNodes = this._nodes;\n\t\tfor (let i = 0, imax = targets.length; i < imax; ++i) {\n\t\t\tconst target = targets[i];\n\t\t\tif (!oldNodes.has(target)) {\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t\tnewNodes.add(target);\n\t\t}\n\t\tif (!isDirty) {\n\t\t\toldNodes.forEach((oldItem): void => {\n\t\t\t\tif (!newNodes.has(oldItem)) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._nodes = newNodes;\n\t\t\tthis.onChange();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\tcontains(target: NODE): boolean {\n\t\treturn this._nodes.has(target);\n\t}\n\n\tsize(): number {\n\t\treturn this._nodes.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._nodes.size <= 0;\n\t}\n\n\teach(iteratee: (node: NODE) => boolean | void): void {\n\t\tlet isCanceled = false;\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tif (!isCanceled) {\n\t\t\t\tif (iteratee(item) === false) {\n\t\t\t\t\tisCanceled = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\ttoArray(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tresult.push(item);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tonNodeChange(nodes: NODE[]): void {\n\t\tconst oldNodes = this._nodes;\n\t\tif (0 < oldNodes.size) {\n\t\t\tconst newNodes = this.newNodes(nodes, oldNodes, new Set<NODE>());\n\t\t\tif (oldNodes.size !== newNodes.size) {\n\t\t\t\tthis._nodes = newNodes;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newNodes(items: NODE[], existing: Set<NODE>, result: Set<NODE>): Set<NODE> {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tif (existing.has(item)) {\n\t\t\t\tresult.add(item);\n\t\t\t}\n\t\t\tconst children = toChildren(item);\n\t\t\tif (children) {\n\t\t\t\tthis.newNodes(children, existing, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n}\n"]}
@@ -131,10 +131,12 @@ var DTreeDataSelectionSingle = /** @class */ (function (_super) {
131
131
  };
132
132
  DTreeDataSelectionSingle.prototype.onNodeChange = function (nodes) {
133
133
  var oldNode = this._node;
134
- var newNode = this.newNode(nodes, oldNode);
135
- if (oldNode !== newNode) {
136
- this._node = newNode;
137
- this.onChange();
134
+ if (oldNode != null) {
135
+ var newNode = this.newNode(nodes, oldNode);
136
+ if (oldNode !== newNode) {
137
+ this._node = newNode;
138
+ this.onChange();
139
+ }
138
140
  }
139
141
  };
140
142
  DTreeDataSelectionSingle.prototype.newNode = function (items, existing) {
@@ -1 +1 @@
1
- {"version":3,"file":"d-tree-data-selection-single.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-single.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAGN,sBAAsB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;IACS,4CAAkB;IAM1B,kCAAY,MAAsC,EAAE,OAAyC;QAA7F,YACC,iBAAO,SAcP;QAbA,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,SAAS;QACT,IAAM,EAAE,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,CAAC;QACvB,IAAI,EAAE,EAAE;YACP,KAAK,IAAM,MAAI,IAAI,EAAE,EAAE;gBACtB,IAAM,OAAO,GAAG,EAAE,CAAC,MAAI,CAAC,CAAC;gBACzB,IAAI,OAAO,EAAE;oBACZ,KAAI,CAAC,EAAE,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;iBACvB;aACD;SACD;;IACF,CAAC;IAED,sBAAI,0CAAI;aAAR;YACC,OAAO,sBAAsB,CAAC,MAAM,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,2CAAK;aAAT;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAED,sBAAI,0CAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAED,sCAAG,GAAH,UAAI,KAAa;QAChB,IAAI,KAAK,KAAK,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,sCAAG,GAAH,UAAI,MAAY;QACf,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,yCAAM,GAAN,UAAO,MAAY;QAClB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,yCAAM,GAAN,UAAO,MAAY;QAClB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SAClB;aAAM;YACN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;SACpB;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,wCAAK,GAAL;QACC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,8CAAW,GAAX,UAAY,MAAY;QACvB,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE;YAC1B,OAAO,KAAK,CAAC;SACb;aAAM;YACN,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED,iDAAc,GAAd,UAAe,OAAe;QAC7B,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE;YACvB,IAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;IACF,CAAC;IAED,2CAAQ,GAAR,UAAS,MAAY;QACpB,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;IAC9B,CAAC;IAED,uCAAI,GAAJ;QACC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,0CAAO,GAAP;QACC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IAC3B,CAAC;IAED,uCAAI,GAAJ,UAAK,QAAwC;QAC5C,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;SACf;IACF,CAAC;IAED,0CAAO,GAAP;QACC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;SACd;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAES,2CAAQ,GAAlB;QACC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,+CAAY,GAAZ,UAAa,KAAa;QACzB,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,OAAO,EAAE;YACxB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAES,0CAAO,GAAjB,UAAkB,KAAa,EAAE,QAAqB;QACrD,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACnD,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACtB,OAAO,IAAI,CAAC;aACZ;YACD,IAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,QAAQ,EAAE;gBACb,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,OAAO,MAAM,CAAC;iBACd;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACF,+BAAC;AAAD,CAAC,AA7JD,CACS,KAAK,CAAC,YAAY,GA4J1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeDataSelectionParent } from \"./d-tree-data-selection-parent\";\nimport {\n\tDTreeDataSelection,\n\tDTreeDataSelectionOptions,\n\tDTreeDataSelectionType\n} from \"./d-tree-data-selection\";\n\nexport class DTreeDataSelectionSingle<NODE extends DTreeNode>\n\textends utils.EventEmitter\n\timplements DTreeDataSelection<NODE>\n{\n\tprotected _parent: DTreeDataSelectionParent<NODE>;\n\tprotected _node: NODE | null;\n\n\tconstructor(parent: DTreeDataSelectionParent<NODE>, options?: DTreeDataSelectionOptions<NODE>) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._node = null;\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget type(): DTreeDataSelectionType {\n\t\treturn DTreeDataSelectionType.SINGLE;\n\t}\n\n\tget first(): NODE | null {\n\t\treturn this._node;\n\t}\n\n\tget last(): NODE | null {\n\t\treturn this._node;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tif (index === 0) {\n\t\t\treturn this._node;\n\t\t}\n\t\treturn null;\n\t}\n\n\tadd(target: NODE): boolean {\n\t\tif (this._node !== target) {\n\t\t\tthis._node = target;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\tthis._node = null;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\tthis._node = null;\n\t\t} else {\n\t\t\tthis._node = target;\n\t\t}\n\t\tthis.onChange();\n\t\treturn true;\n\t}\n\n\tclear(): boolean {\n\t\tif (this._node != null) {\n\t\t\tthis._node = null;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tclearAndAdd(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\tthis._node = target;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tclearAndAddAll(targets: NODE[]): boolean {\n\t\tif (0 < targets.length) {\n\t\t\tconst last = targets[targets.length - 1];\n\t\t\treturn this.clearAndAdd(last);\n\t\t} else {\n\t\t\treturn this.clear();\n\t\t}\n\t}\n\n\tcontains(target: NODE): boolean {\n\t\treturn this._node === target;\n\t}\n\n\tsize(): number {\n\t\treturn this._node != null ? 1 : 0;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._node == null;\n\t}\n\n\teach(iteratee: (node: NODE) => boolean | void): void {\n\t\tconst node = this._node;\n\t\tif (node != null) {\n\t\t\titeratee(node);\n\t\t}\n\t}\n\n\ttoArray(): NODE[] {\n\t\tconst node = this._node;\n\t\tif (node != null) {\n\t\t\treturn [node];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tonNodeChange(nodes: NODE[]): void {\n\t\tconst oldNode = this._node;\n\t\tconst newNode = this.newNode(nodes, oldNode);\n\t\tif (oldNode !== newNode) {\n\t\t\tthis._node = newNode;\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tprotected newNode(items: NODE[], existing: NODE | null): NODE | null {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tif (existing === item) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\tconst children = toChildren(item);\n\t\t\tif (children) {\n\t\t\t\tconst result = this.newNode(children, existing);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-tree-data-selection-single.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-single.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 { DTreeNode } from \"./d-tree-node\";\nimport { DTreeDataSelectionParent } from \"./d-tree-data-selection-parent\";\nimport {\n\tDTreeDataSelection,\n\tDTreeDataSelectionOptions,\n\tDTreeDataSelectionType\n} from \"./d-tree-data-selection\";\n\nexport class DTreeDataSelectionSingle<NODE extends DTreeNode>\n\textends utils.EventEmitter\n\timplements DTreeDataSelection<NODE>\n{\n\tprotected _parent: DTreeDataSelectionParent<NODE>;\n\tprotected _node: NODE | null;\n\n\tconstructor(parent: DTreeDataSelectionParent<NODE>, options?: DTreeDataSelectionOptions<NODE>) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._node = null;\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget type(): DTreeDataSelectionType {\n\t\treturn DTreeDataSelectionType.SINGLE;\n\t}\n\n\tget first(): NODE | null {\n\t\treturn this._node;\n\t}\n\n\tget last(): NODE | null {\n\t\treturn this._node;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tif (index === 0) {\n\t\t\treturn this._node;\n\t\t}\n\t\treturn null;\n\t}\n\n\tadd(target: NODE): boolean {\n\t\tif (this._node !== target) {\n\t\t\tthis._node = target;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\tthis._node = null;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\tthis._node = null;\n\t\t} else {\n\t\t\tthis._node = target;\n\t\t}\n\t\tthis.onChange();\n\t\treturn true;\n\t}\n\n\tclear(): boolean {\n\t\tif (this._node != null) {\n\t\t\tthis._node = null;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tclearAndAdd(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\tthis._node = target;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tclearAndAddAll(targets: NODE[]): boolean {\n\t\tif (0 < targets.length) {\n\t\t\tconst last = targets[targets.length - 1];\n\t\t\treturn this.clearAndAdd(last);\n\t\t} else {\n\t\t\treturn this.clear();\n\t\t}\n\t}\n\n\tcontains(target: NODE): boolean {\n\t\treturn this._node === target;\n\t}\n\n\tsize(): number {\n\t\treturn this._node != null ? 1 : 0;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._node == null;\n\t}\n\n\teach(iteratee: (node: NODE) => boolean | void): void {\n\t\tconst node = this._node;\n\t\tif (node != null) {\n\t\t\titeratee(node);\n\t\t}\n\t}\n\n\ttoArray(): NODE[] {\n\t\tconst node = this._node;\n\t\tif (node != null) {\n\t\t\treturn [node];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tonNodeChange(nodes: NODE[]): void {\n\t\tconst oldNode = this._node;\n\t\tif (oldNode != null) {\n\t\t\tconst newNode = this.newNode(nodes, oldNode);\n\t\t\tif (oldNode !== newNode) {\n\t\t\t\tthis._node = newNode;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newNode(items: NODE[], existing: NODE | null): NODE | null {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tif (existing === item) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\tconst children = toChildren(item);\n\t\t\tif (children) {\n\t\t\t\tconst result = this.newNode(children, existing);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-tree-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataSelection, DTreeDataSelectionOptions } from \"./d-tree-data-selection\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor, DTreeNodeAccessorOptions } from \"./d-tree-node-accessor\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\n\nexport interface DTreeDataOptions<NODE extends DTreeNode> extends DTreeNodeAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?: DTreeDataSelectionOptions<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n}\n\nexport interface DTreeDataLike<NODE extends DTreeNode> {\n\t/**\n\t * A selection.\n\t *\n\t * @returns a selection\n\t */\n\treadonly selection: DTreeDataSelection<NODE>;\n\n\tupdate(): void;\n\n\t/**\n\t * Toggles the given node,\n\t *\n\t * @param target a node\n\t * @retrn true if succeeded\n\t */\n\ttoggle(target: NODE): boolean;\n\n\t/**\n\t * Expands the given node.\n\t *\n\t * @param target a node to be expanded\n\t * @return true if succeeded\n\t */\n\texpand(target: NODE): boolean;\n\n\t/**\n\t * Collapses the given node.\n\t *\n\t * @param target a node to be collapsed\n\t * @return true if succeeded\n\t */\n\tcollapse(target: NODE): boolean;\n\n\t/**\n\t * Expands all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\texpandAll(): boolean;\n\n\t/**\n\t * Collapses all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tcollapseAll(): boolean;\n\n\t/**\n\t * Returns true if the given node is collapsed.\n\t *\n\t * @param target a node to be checked.\n\t * @returns true if the given node is collapsed\n\t */\n\tisCollapsed(target: NODE): boolean;\n\n\t/**\n\t * Returns true if the given item is expanded.\n\t *\n\t * @param target an item to be checked\n\t * @returns true if the given item is expanded\n\t */\n\tisExpanded(target: NODE): boolean;\n\n\t/**\n\t * Clears all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tclear(): boolean;\n\n\t/**\n\t * Removes the given node.\n\t *\n\t * @param item a node to be removed\n\t * @return true if succeeded\n\t */\n\tremove(target: NODE): boolean;\n\n\t/**\n\t * Inserts a node.\n\t *\n\t * @param target a new node\n\t * @param parent a parent node\n\t * @return true if the data is changed\n\t */\n\tadd(target: NODE, parent?: NODE): boolean;\n\n\t/**\n\t * Inserts the given node before the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddBefore(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Inserts the given node after the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddAfter(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Iterates over all the nodes.\n\t * If the iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an iteratee\n\t */\n\teach(iteratee: DTreeNodeIteratee<NODE>): void;\n}\n\nexport interface DTreeData<NODE extends DTreeNode> extends DTreeDataLike<NODE> {\n\tnodes: NODE[];\n\tmapped: DTreeDataMapped<NODE>;\n\treadonly accessor: DTreeNodeAccessor<NODE>;\n}\n"]}
1
+ {"version":3,"file":"d-tree-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataSelection, DTreeDataSelectionOptions } from \"./d-tree-data-selection\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor, DTreeNodeAccessorOptions } from \"./d-tree-node-accessor\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\n\nexport interface DTreeDataOptions<NODE extends DTreeNode> extends DTreeNodeAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?: DTreeDataSelectionOptions<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n}\n\nexport interface DTreeDataLike<NODE extends DTreeNode> {\n\t/**\n\t * A selection.\n\t *\n\t * @returns a selection\n\t */\n\treadonly selection: DTreeDataSelection<NODE>;\n\n\tupdate(forcibly?: boolean): void;\n\n\t/**\n\t * Toggles the given node,\n\t *\n\t * @param target a node\n\t * @retrn true if succeeded\n\t */\n\ttoggle(target: NODE): boolean;\n\n\t/**\n\t * Expands the given node.\n\t *\n\t * @param target a node to be expanded\n\t * @return true if succeeded\n\t */\n\texpand(target: NODE): boolean;\n\n\t/**\n\t * Collapses the given node.\n\t *\n\t * @param target a node to be collapsed\n\t * @return true if succeeded\n\t */\n\tcollapse(target: NODE): boolean;\n\n\t/**\n\t * Expands all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\texpandAll(): boolean;\n\n\t/**\n\t * Collapses all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tcollapseAll(): boolean;\n\n\t/**\n\t * Returns true if the given node is collapsed.\n\t *\n\t * @param target a node to be checked.\n\t * @returns true if the given node is collapsed\n\t */\n\tisCollapsed(target: NODE): boolean;\n\n\t/**\n\t * Returns true if the given item is expanded.\n\t *\n\t * @param target an item to be checked\n\t * @returns true if the given item is expanded\n\t */\n\tisExpanded(target: NODE): boolean;\n\n\t/**\n\t * Clears all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tclear(): boolean;\n\n\t/**\n\t * Removes the given node.\n\t *\n\t * @param item a node to be removed\n\t * @return true if succeeded\n\t */\n\tremove(target: NODE): boolean;\n\n\t/**\n\t * Inserts a node.\n\t *\n\t * @param target a new node\n\t * @param parent a parent node\n\t * @return true if the data is changed\n\t */\n\tadd(target: NODE, parent?: NODE): boolean;\n\n\t/**\n\t * Inserts the given node before the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddBefore(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Inserts the given node after the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddAfter(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Iterates over all the nodes.\n\t * If the iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an iteratee\n\t */\n\teach(iteratee: DTreeNodeIteratee<NODE>): void;\n}\n\nexport interface DTreeData<NODE extends DTreeNode> extends DTreeDataLike<NODE> {\n\tnodes: NODE[];\n\tmapped: DTreeDataMapped<NODE>;\n\treadonly accessor: DTreeNodeAccessor<NODE>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-tree-item-updater.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-updater.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMlE;IAA0E,oCAMzE;IAND;;IAcA,CAAC;IAPU,mCAAQ,GAAlB,UAAmB,IAAqB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAES,kCAAO,GAAjB,UAAmC,IAAqB;QACvD,OAAO,IAAI,oBAAoB,CAAO,IAAI,CAAC,CAAC;IAC7C,CAAC;IACF,uBAAC;AAAD,CAAC,AAdD,CAA0E,YAAY,GAcrF","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DItemUpdater, DItemUpdaterOptions } from \"./d-item-updater\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemNonEditable } from \"./d-tree-item-non-editable\";\nimport { DTreeNode } from \"./d-tree-node\";\n\nexport interface DTreeItemUpdaterOptions<NODE>\n\textends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {}\n\nexport class DTreeItemUpdater<NODE extends DTreeNode = DTreeNode> extends DItemUpdater<\n\tNODE,\n\tDTreeData<NODE>,\n\tDTreeDataMapped<NODE>,\n\tDTreeItem<NODE>,\n\tDTreeItemUpdaterOptions<NODE>\n> {\n\tprotected toMapped(data: DTreeData<NODE>): DTreeDataMapped<NODE> {\n\t\treturn data.mapped;\n\t}\n\n\tprotected newItem(this: undefined, data: DTreeData<NODE>): DTreeItem<NODE> {\n\t\treturn new DTreeItemNonEditable<NODE>(data);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-tree-item-updater.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-updater.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMlE;IAA0E,oCAMzE;IAND;;IAcA,CAAC;IAPU,mCAAQ,GAAlB,UAAmB,IAAqB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAES,kCAAO,GAAjB,UAAmC,IAAqB;QACvD,OAAO,IAAI,oBAAoB,CAAO,IAAI,CAAC,CAAC;IAC7C,CAAC;IACF,uBAAC;AAAD,CAAC,AAdD,CAA0E,YAAY,GAcrF","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DItemUpdater, DItemUpdaterOptions } from \"./d-item-updater\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemNonEditable } from \"./d-tree-item-non-editable\";\nimport { DTreeNode } from \"./d-tree-node\";\n\nexport interface DTreeItemUpdaterOptions<NODE extends DTreeNode>\n\textends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {}\n\nexport class DTreeItemUpdater<NODE extends DTreeNode = DTreeNode> extends DItemUpdater<\n\tNODE,\n\tDTreeData<NODE>,\n\tDTreeDataMapped<NODE>,\n\tDTreeItem<NODE>,\n\tDTreeItemUpdaterOptions<NODE>\n> {\n\tprotected toMapped(data: DTreeData<NODE>): DTreeDataMapped<NODE> {\n\t\treturn data.mapped;\n\t}\n\n\tprotected newItem(this: undefined, data: DTreeData<NODE>): DTreeItem<NODE> {\n\t\treturn new DTreeItemNonEditable<NODE>(data);\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.271.0
2
+ Winter Cardinal UI v0.273.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.271.0
2
+ Winter Cardinal UI v0.273.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.271.0
2
+ Winter Cardinal UI v0.273.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5