@wcardinal/wcardinal-ui 0.405.0 → 0.406.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 (182) hide show
  1. package/dist/types/wcardinal/ui/d-base-background-snippet.d.ts +2 -1
  2. package/dist/types/wcardinal/ui/d-base-border-snippet.d.ts +2 -1
  3. package/dist/types/wcardinal/ui/d-base-outline-snippet.d.ts +2 -1
  4. package/dist/types/wcardinal/ui/d-button-color.d.ts +0 -1
  5. package/dist/types/wcardinal/ui/d-dialog.d.ts +1 -1
  6. package/dist/types/wcardinal/ui/d-dynamic-text-style.d.ts +17 -11
  7. package/dist/types/wcardinal/ui/d-dynamic-text.d.ts +3 -2
  8. package/dist/types/wcardinal/ui/d-image-base.d.ts +1 -4
  9. package/dist/types/wcardinal/ui/d-image-piece-align.d.ts +4 -4
  10. package/dist/types/wcardinal/ui/d-image-piece-container-impl.d.ts +14 -1
  11. package/dist/types/wcardinal/ui/d-image-piece-container.d.ts +11 -0
  12. package/dist/types/wcardinal/ui/d-image-piece-layouter-part-container.d.ts +2 -2
  13. package/dist/types/wcardinal/ui/d-image-piece-layouter.d.ts +2 -2
  14. package/dist/types/wcardinal/ui/d-input.d.ts +2 -1
  15. package/dist/types/wcardinal/ui/d-menu-item-text.d.ts +3 -2
  16. package/dist/types/wcardinal/ui/d-scroll-bar.d.ts +2 -1
  17. package/dist/types/wcardinal/ui/d-text-base.d.ts +15 -74
  18. package/dist/types/wcardinal/ui/d-text-piece-align-impl.d.ts +20 -0
  19. package/dist/types/wcardinal/ui/d-text-piece-align.d.ts +7 -0
  20. package/dist/types/wcardinal/ui/d-text-piece-impl.d.ts +63 -0
  21. package/dist/types/wcardinal/ui/d-text-piece-style-impl.d.ts +29 -0
  22. package/dist/types/wcardinal/ui/d-text-piece-style.d.ts +16 -0
  23. package/dist/types/wcardinal/ui/d-text-piece.d.ts +61 -0
  24. package/dist/types/wcardinal/ui/shape/e-shape-image-like.d.ts +6 -0
  25. package/dist/types/wcardinal/ui/shape/e-shape.d.ts +2 -2
  26. package/dist/types/wcardinal/ui/shape/index.d.ts +1 -0
  27. package/dist/types/wcardinal/ui/shape/variant/e-shape-base.d.ts +4 -6
  28. package/dist/types/wcardinal/ui/shape/variant/e-shape-group-viewer.d.ts +6 -2
  29. package/dist/types/wcardinal/ui/shape/variant/e-shape-group.d.ts +6 -2
  30. package/dist/types/wcardinal/ui/shape/variant/e-shape-image-sdf.d.ts +2 -1
  31. package/dist/types/wcardinal/ui/shape/variant/e-shape-image.d.ts +2 -1
  32. package/dist/types/wcardinal/ui/shape/variant/e-shape-primitive.d.ts +7 -3
  33. package/dist/types/wcardinal/ui/shape/variant/to-image-element.d.ts +2 -1
  34. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-input.d.ts +1 -0
  35. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-last.d.ts +5 -4
  36. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-next.d.ts +5 -4
  37. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-previous.d.ts +5 -4
  38. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-top.d.ts +5 -4
  39. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots.d.ts +5 -4
  40. package/dist/types/wcardinal/ui/theme/white/d-theme-white-input.d.ts +1 -0
  41. package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-last.d.ts +5 -4
  42. package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-next.d.ts +5 -4
  43. package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-previous.d.ts +5 -4
  44. package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-top.d.ts +5 -4
  45. package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-dots.d.ts +5 -4
  46. package/dist/types/wcardinal/ui/util/dynamic-atlas-item-image.d.ts +2 -2
  47. package/dist/types/wcardinal/ui/util/dynamic-sdf-font-generator.d.ts +1 -1
  48. package/dist/wcardinal/ui/d-base-background-snippet.js.map +1 -1
  49. package/dist/wcardinal/ui/d-base-border-snippet.js.map +1 -1
  50. package/dist/wcardinal/ui/d-base-outline-snippet.js.map +1 -1
  51. package/dist/wcardinal/ui/d-button-color-gradient.js +10 -13
  52. package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
  53. package/dist/wcardinal/ui/d-button-color.js +20 -23
  54. package/dist/wcardinal/ui/d-button-color.js.map +1 -1
  55. package/dist/wcardinal/ui/d-button-date.js +4 -4
  56. package/dist/wcardinal/ui/d-button-date.js.map +1 -1
  57. package/dist/wcardinal/ui/d-button-datetime.js +4 -4
  58. package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
  59. package/dist/wcardinal/ui/d-button-select.js +2 -2
  60. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  61. package/dist/wcardinal/ui/d-button-time.js +4 -4
  62. package/dist/wcardinal/ui/d-button-time.js.map +1 -1
  63. package/dist/wcardinal/ui/d-dialog-processing.js +1 -1
  64. package/dist/wcardinal/ui/d-dialog-processing.js.map +1 -1
  65. package/dist/wcardinal/ui/d-dialog.js.map +1 -1
  66. package/dist/wcardinal/ui/d-dynamic-text-style.js +39 -65
  67. package/dist/wcardinal/ui/d-dynamic-text-style.js.map +1 -1
  68. package/dist/wcardinal/ui/d-dynamic-text.js +11 -8
  69. package/dist/wcardinal/ui/d-dynamic-text.js.map +1 -1
  70. package/dist/wcardinal/ui/d-image-base.js +6 -18
  71. package/dist/wcardinal/ui/d-image-base.js.map +1 -1
  72. package/dist/wcardinal/ui/d-image-piece-align.js.map +1 -1
  73. package/dist/wcardinal/ui/d-image-piece-container-impl.js +49 -1
  74. package/dist/wcardinal/ui/d-image-piece-container-impl.js.map +1 -1
  75. package/dist/wcardinal/ui/d-image-piece-container.js.map +1 -1
  76. package/dist/wcardinal/ui/d-image-piece-layouter-part-container.js.map +1 -1
  77. package/dist/wcardinal/ui/d-image-piece-layouter.js.map +1 -1
  78. package/dist/wcardinal/ui/d-indicator-processing.js +1 -1
  79. package/dist/wcardinal/ui/d-indicator-processing.js.map +1 -1
  80. package/dist/wcardinal/ui/d-input.js +11 -7
  81. package/dist/wcardinal/ui/d-input.js.map +1 -1
  82. package/dist/wcardinal/ui/d-menu-item-text.js +12 -6
  83. package/dist/wcardinal/ui/d-menu-item-text.js.map +1 -1
  84. package/dist/wcardinal/ui/d-scroll-bar.js.map +1 -1
  85. package/dist/wcardinal/ui/d-table-body-cell-date.js +7 -10
  86. package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
  87. package/dist/wcardinal/ui/d-table-body-cell-datetime.js +7 -10
  88. package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
  89. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +4 -10
  90. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  91. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +4 -10
  92. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  93. package/dist/wcardinal/ui/d-table-body-cell-time.js +7 -10
  94. package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
  95. package/dist/wcardinal/ui/d-text-base.js +55 -247
  96. package/dist/wcardinal/ui/d-text-base.js.map +1 -1
  97. package/dist/wcardinal/ui/d-text-piece-align-impl.js +69 -0
  98. package/dist/wcardinal/ui/d-text-piece-align-impl.js.map +1 -0
  99. package/dist/wcardinal/ui/d-text-piece-align.js +2 -0
  100. package/dist/wcardinal/ui/d-text-piece-align.js.map +1 -0
  101. package/dist/wcardinal/ui/d-text-piece-impl.js +299 -0
  102. package/dist/wcardinal/ui/d-text-piece-impl.js.map +1 -0
  103. package/dist/wcardinal/ui/d-text-piece-style-impl.js +146 -0
  104. package/dist/wcardinal/ui/d-text-piece-style-impl.js.map +1 -0
  105. package/dist/wcardinal/ui/d-text-piece-style.js +2 -0
  106. package/dist/wcardinal/ui/d-text-piece-style.js.map +1 -0
  107. package/dist/wcardinal/ui/d-text-piece.js +2 -0
  108. package/dist/wcardinal/ui/d-text-piece.js.map +1 -0
  109. package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
  110. package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
  111. package/dist/wcardinal/ui/shape/e-shape-image-like.js +2 -0
  112. package/dist/wcardinal/ui/shape/e-shape-image-like.js.map +1 -0
  113. package/dist/wcardinal/ui/shape/e-shape-renderer.js +7 -13
  114. package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
  115. package/dist/wcardinal/ui/shape/e-shape.js.map +1 -1
  116. package/dist/wcardinal/ui/shape/index.js +1 -0
  117. package/dist/wcardinal/ui/shape/index.js.map +1 -1
  118. package/dist/wcardinal/ui/shape/variant/create-image-sdf.js +4 -4
  119. package/dist/wcardinal/ui/shape/variant/create-image-sdf.js.map +1 -1
  120. package/dist/wcardinal/ui/shape/variant/create-image.js +2 -2
  121. package/dist/wcardinal/ui/shape/variant/create-image.js.map +1 -1
  122. package/dist/wcardinal/ui/shape/variant/e-shape-base.js +0 -25
  123. package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
  124. package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js +6 -0
  125. package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js.map +1 -1
  126. package/dist/wcardinal/ui/shape/variant/e-shape-group.js +6 -0
  127. package/dist/wcardinal/ui/shape/variant/e-shape-group.js.map +1 -1
  128. package/dist/wcardinal/ui/shape/variant/e-shape-image-sdf.js.map +1 -1
  129. package/dist/wcardinal/ui/shape/variant/e-shape-image.js.map +1 -1
  130. package/dist/wcardinal/ui/shape/variant/e-shape-primitive.js +15 -2
  131. package/dist/wcardinal/ui/shape/variant/e-shape-primitive.js.map +1 -1
  132. package/dist/wcardinal/ui/shape/variant/to-image-element.js +9 -3
  133. package/dist/wcardinal/ui/shape/variant/to-image-element.js.map +1 -1
  134. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js +6 -0
  135. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js.map +1 -1
  136. package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-last.js.map +1 -1
  137. package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-next.js.map +1 -1
  138. package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-previous.js.map +1 -1
  139. package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-top.js.map +1 -1
  140. package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots.js.map +1 -1
  141. package/dist/wcardinal/ui/theme/dark/d-theme-dark-select-multiple.js +9 -9
  142. package/dist/wcardinal/ui/theme/dark/d-theme-dark-select-multiple.js.map +1 -1
  143. package/dist/wcardinal/ui/theme/dark/d-theme-dark-select.js +7 -7
  144. package/dist/wcardinal/ui/theme/dark/d-theme-dark-select.js.map +1 -1
  145. package/dist/wcardinal/ui/theme/white/d-theme-white-input.js +6 -0
  146. package/dist/wcardinal/ui/theme/white/d-theme-white-input.js.map +1 -1
  147. package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-last.js.map +1 -1
  148. package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-next.js.map +1 -1
  149. package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-previous.js.map +1 -1
  150. package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-top.js.map +1 -1
  151. package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dots.js.map +1 -1
  152. package/dist/wcardinal/ui/theme/white/d-theme-white-select-multiple.js +9 -9
  153. package/dist/wcardinal/ui/theme/white/d-theme-white-select-multiple.js.map +1 -1
  154. package/dist/wcardinal/ui/theme/white/d-theme-white-select.js +7 -7
  155. package/dist/wcardinal/ui/theme/white/d-theme-white-select.js.map +1 -1
  156. package/dist/wcardinal/ui/util/dynamic-atlas-item-image.js +18 -9
  157. package/dist/wcardinal/ui/util/dynamic-atlas-item-image.js.map +1 -1
  158. package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js +1 -1
  159. package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js.map +1 -1
  160. package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js +1 -3
  161. package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js.map +1 -1
  162. package/dist/wcardinal-ui-theme-dark-en-us.js +23 -17
  163. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  164. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  165. package/dist/wcardinal-ui-theme-dark-ja-jp.js +23 -17
  166. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  167. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  168. package/dist/wcardinal-ui-theme-dark.js +23 -17
  169. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  170. package/dist/wcardinal-ui-theme-white-en-us.js +23 -17
  171. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  172. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  173. package/dist/wcardinal-ui-theme-white-ja-jp.js +23 -17
  174. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  175. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  176. package/dist/wcardinal-ui-theme-white.js +23 -17
  177. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  178. package/dist/wcardinal-ui.cjs.js +1110 -787
  179. package/dist/wcardinal-ui.js +1065 -754
  180. package/dist/wcardinal-ui.min.js +2 -2
  181. package/dist/wcardinal-ui.min.js.map +1 -1
  182. package/package.json +1 -1
@@ -15,14 +15,14 @@ var DButtonColor = /** @class */ (function (_super) {
15
15
  var _this = this;
16
16
  _super.prototype.onActivate.call(this, e);
17
17
  var dialog = this.dialog;
18
- var value = this._textValueComputed;
19
- if (value != null) {
18
+ var computed = this.text.computed;
19
+ if (computed != null) {
20
20
  var dialogCurrent = dialog.current;
21
- dialogCurrent.color = value.color;
22
- dialogCurrent.alpha = value.alpha;
21
+ dialogCurrent.color = computed.color;
22
+ dialogCurrent.alpha = computed.alpha;
23
23
  var dialogNew = dialog.new;
24
- dialogNew.color = value.color;
25
- dialogNew.alpha = value.alpha;
24
+ dialogNew.color = computed.color;
25
+ dialogNew.alpha = computed.alpha;
26
26
  }
27
27
  dialog.open(this).then(function () {
28
28
  _this.onValueChange(_this.toClone(dialog.new), _this.toClone(dialog.current));
@@ -35,10 +35,10 @@ var DButtonColor = /** @class */ (function (_super) {
35
35
  };
36
36
  };
37
37
  DButtonColor.prototype.onValueChange = function (newValue, oldValue) {
38
- var value = this._textValueComputed;
39
- if (value != null) {
40
- value.color = newValue.color;
41
- value.alpha = newValue.alpha;
38
+ var computed = this.text.computed;
39
+ if (computed != null) {
40
+ computed.color = newValue.color;
41
+ computed.alpha = newValue.alpha;
42
42
  }
43
43
  this.onColorChange();
44
44
  this.emit("change", newValue, oldValue, this);
@@ -46,16 +46,12 @@ var DButtonColor = /** @class */ (function (_super) {
46
46
  DButtonColor.prototype.onColorChange = function () {
47
47
  var image = this.image.get(0);
48
48
  if (image != null) {
49
- var value = this._textValueComputed;
50
- if (value != null) {
51
- image.tint.color = value.color;
49
+ var computed = this.text.computed;
50
+ if (computed != null) {
51
+ image.tint.color = computed.color;
52
52
  }
53
53
  }
54
- this.updateTextForcibly();
55
- };
56
- DButtonColor.prototype.updateTextForcibly = function () {
57
- this.onTextChange();
58
- this.createOrUpdateText();
54
+ this.text.compute(true);
59
55
  };
60
56
  Object.defineProperty(DButtonColor.prototype, "dialog", {
61
57
  get: function () {
@@ -99,13 +95,14 @@ var DButtonColor = /** @class */ (function (_super) {
99
95
  });
100
96
  DButtonColor.prototype.newValue = function () {
101
97
  var _this = this;
102
- var value = this._textValueComputed;
103
- return new DPickerColorAndAlpha(value, function (color) {
104
- value.color = color;
98
+ var text = this.text;
99
+ var computed = text.computed;
100
+ return new DPickerColorAndAlpha(computed, function (color) {
101
+ computed.color = color;
105
102
  _this.onColorChange();
106
103
  }, function (alpha) {
107
- value.alpha = alpha;
108
- _this.updateTextForcibly();
104
+ computed.alpha = alpha;
105
+ text.compute(true);
109
106
  });
110
107
  };
111
108
  DButtonColor.prototype.getType = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-color.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-color.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DColorAndAlpha } from \"./d-color-and-alpha\";\nimport { DDialogColor, DDialogColorOptions } from \"./d-dialog-color\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerColorAndAlpha } from \"./d-picker-color-and-alpha\";\n\n/**\n * {@link DButtonColor} events.\n */\nexport interface DButtonColorEvents<EMITTER> extends DButtonEvents<DColorAndAlpha, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonColor} \"on\" options.\n */\nexport interface DButtonColorOnOptions<EMITTER>\n\textends Partial<DButtonColorEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonColor} options.\n */\nexport interface DButtonColorOptions<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tEMITTER = any\n> extends DButtonOptions<DColorAndAlpha, THEME, EMITTER> {\n\t/**\n\t * A dialog to pick a color.\n\t */\n\tdialog?: DDialogColorOptions;\n\n\ton?: DButtonColorOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonColor} theme.\n */\nexport interface DThemeButtonColor extends DThemeButton<DColorAndAlpha> {}\n\nexport class DButtonColor<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tOPTIONS extends DButtonColorOptions<THEME> = DButtonColorOptions<THEME>\n> extends DButton<DColorAndAlpha, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogColor;\n\tprotected _dialog?: DDialogColor;\n\tprotected _value?: DPickerColorAndAlpha;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst dialog = this.dialog;\n\t\tconst value = this._textValueComputed;\n\t\tif (value != null) {\n\t\t\tconst dialogCurrent = dialog.current;\n\t\t\tdialogCurrent.color = value.color;\n\t\t\tdialogCurrent.alpha = value.alpha;\n\t\t\tconst dialogNew = dialog.new;\n\t\t\tdialogNew.color = value.color;\n\t\t\tdialogNew.alpha = value.alpha;\n\t\t}\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(this.toClone(dialog.new), this.toClone(dialog.current));\n\t\t});\n\t}\n\n\tprotected toClone(value: DColorAndAlpha): DColorAndAlpha {\n\t\treturn {\n\t\t\tcolor: value.color,\n\t\t\talpha: value.alpha\n\t\t};\n\t}\n\n\tprotected onValueChange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha): void {\n\t\tconst value = this._textValueComputed;\n\t\tif (value != null) {\n\t\t\tvalue.color = newValue.color;\n\t\t\tvalue.alpha = newValue.alpha;\n\t\t}\n\t\tthis.onColorChange();\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tprotected onColorChange(): void {\n\t\tconst image = this.image.get(0);\n\t\tif (image != null) {\n\t\t\tconst value = this._textValueComputed;\n\t\t\tif (value != null) {\n\t\t\t\timage.tint.color = value.color;\n\t\t\t}\n\t\t}\n\t\tthis.updateTextForcibly();\n\t}\n\n\tprotected updateTextForcibly(): void {\n\t\tthis.onTextChange();\n\t\tthis.createOrUpdateText();\n\t}\n\n\tget dialog(): DDialogColor {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonColor.DIALOG == null) {\n\t\t\t\t\tDButtonColor.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonColor.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogColorOptions): DDialogColor {\n\t\treturn new DDialogColor(options);\n\t}\n\n\tget value(): DColorAndAlpha {\n\t\tlet result = this._value;\n\t\tif (result == null) {\n\t\t\tresult = this.newValue();\n\t\t\tthis._value = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newValue(): DPickerColorAndAlpha {\n\t\tconst value = this._textValueComputed!;\n\t\treturn new DPickerColorAndAlpha(\n\t\t\tvalue,\n\t\t\t(color: number): void => {\n\t\t\t\tvalue.color = color;\n\t\t\t\tthis.onColorChange();\n\t\t\t},\n\t\t\t(alpha: number): void => {\n\t\t\t\tvalue.alpha = alpha;\n\t\t\t\tthis.updateTextForcibly();\n\t\t\t}\n\t\t);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonColor\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-color.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-color.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DColorAndAlpha } from \"./d-color-and-alpha\";\nimport { DDialogColor, DDialogColorOptions } from \"./d-dialog-color\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerColorAndAlpha } from \"./d-picker-color-and-alpha\";\n\n/**\n * {@link DButtonColor} events.\n */\nexport interface DButtonColorEvents<EMITTER> extends DButtonEvents<DColorAndAlpha, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonColor} \"on\" options.\n */\nexport interface DButtonColorOnOptions<EMITTER>\n\textends Partial<DButtonColorEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonColor} options.\n */\nexport interface DButtonColorOptions<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tEMITTER = any\n> extends DButtonOptions<DColorAndAlpha, THEME, EMITTER> {\n\t/**\n\t * A dialog to pick a color.\n\t */\n\tdialog?: DDialogColorOptions;\n\n\ton?: DButtonColorOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonColor} theme.\n */\nexport interface DThemeButtonColor extends DThemeButton<DColorAndAlpha> {}\n\nexport class DButtonColor<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tOPTIONS extends DButtonColorOptions<THEME> = DButtonColorOptions<THEME>\n> extends DButton<DColorAndAlpha, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogColor;\n\tprotected _dialog?: DDialogColor;\n\tprotected _value?: DPickerColorAndAlpha;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst dialog = this.dialog;\n\t\tconst computed = this.text.computed;\n\t\tif (computed != null) {\n\t\t\tconst dialogCurrent = dialog.current;\n\t\t\tdialogCurrent.color = computed.color;\n\t\t\tdialogCurrent.alpha = computed.alpha;\n\t\t\tconst dialogNew = dialog.new;\n\t\t\tdialogNew.color = computed.color;\n\t\t\tdialogNew.alpha = computed.alpha;\n\t\t}\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(this.toClone(dialog.new), this.toClone(dialog.current));\n\t\t});\n\t}\n\n\tprotected toClone(value: DColorAndAlpha): DColorAndAlpha {\n\t\treturn {\n\t\t\tcolor: value.color,\n\t\t\talpha: value.alpha\n\t\t};\n\t}\n\n\tprotected onValueChange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha): void {\n\t\tconst computed = this.text.computed;\n\t\tif (computed != null) {\n\t\t\tcomputed.color = newValue.color;\n\t\t\tcomputed.alpha = newValue.alpha;\n\t\t}\n\t\tthis.onColorChange();\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tprotected onColorChange(): void {\n\t\tconst image = this.image.get(0);\n\t\tif (image != null) {\n\t\t\tconst computed = this.text.computed;\n\t\t\tif (computed != null) {\n\t\t\t\timage.tint.color = computed.color;\n\t\t\t}\n\t\t}\n\t\tthis.text.compute(true);\n\t}\n\n\tget dialog(): DDialogColor {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonColor.DIALOG == null) {\n\t\t\t\t\tDButtonColor.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonColor.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogColorOptions): DDialogColor {\n\t\treturn new DDialogColor(options);\n\t}\n\n\tget value(): DColorAndAlpha {\n\t\tlet result = this._value;\n\t\tif (result == null) {\n\t\t\tresult = this.newValue();\n\t\t\tthis._value = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newValue(): DPickerColorAndAlpha {\n\t\tconst text = this.text;\n\t\tconst computed = text.computed!;\n\t\treturn new DPickerColorAndAlpha(\n\t\t\tcomputed,\n\t\t\t(color: number): void => {\n\t\t\t\tcomputed.color = color;\n\t\t\t\tthis.onColorChange();\n\t\t\t},\n\t\t\t(alpha: number): void => {\n\t\t\t\tcomputed.alpha = alpha;\n\t\t\t\ttext.compute(true);\n\t\t\t}\n\t\t);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonColor\";\n\t}\n}\n"]}
@@ -14,7 +14,7 @@ var DButtonDate = /** @class */ (function (_super) {
14
14
  var _this = this;
15
15
  var _a, _b;
16
16
  _super.prototype.onActivate.call(this, e);
17
- var value = (_b = (_a = this._textValueComputed) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now();
17
+ var value = (_b = (_a = this.text.computed) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now();
18
18
  var dialog = this.dialog;
19
19
  dialog.current = new Date(value);
20
20
  dialog.new = new Date(value);
@@ -58,11 +58,11 @@ var DButtonDate = /** @class */ (function (_super) {
58
58
  Object.defineProperty(DButtonDate.prototype, "value", {
59
59
  get: function () {
60
60
  var _a;
61
- return (_a = this._textValueComputed) !== null && _a !== void 0 ? _a : new Date();
61
+ return (_a = this.text.computed) !== null && _a !== void 0 ? _a : new Date();
62
62
  },
63
63
  set: function (value) {
64
- var textValueComputed = this._textValueComputed;
65
- if (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {
64
+ var computed = this.text.computed;
65
+ if (computed === undefined || computed.getTime() !== value.getTime()) {
66
66
  this.text = value;
67
67
  }
68
68
  },
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-date.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-date.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAwClE;IAGU,+BAA6B;IAHvC;;IA8DA,CAAC;IAvDU,gCAAU,GAApB,UAAqB,CAA8D;QAAnF,iBAUC;;QATA,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAM,KAAK,GAAG,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,OAAO,EAAE,mCAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACtB,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,mCAAa,GAAvB,UAAwB,QAAc,EAAE,QAAc;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAI,+BAAM;aAAV;;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;gBACtC,IAAI,OAAO,EAAE;oBACZ,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;iBACjC;qBAAM;oBACN,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE;wBAC/B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;4BACnC,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,IAAI;yBACZ,CAAC,CAAC;qBACH;oBACD,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;iBAC5B;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,+BAAS,GAAnB,UAAoB,OAA4B;QAC/C,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,sBAAI,8BAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,CAAC;aAED,UAAU,KAAW;YACpB,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClD,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACvF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB;QACF,CAAC;;;OAPA;IASS,6BAAO,GAAjB;QACC,OAAO,aAAa,CAAC;IACtB,CAAC;IACF,kBAAC;AAAD,CAAC,AA9DD,CAGU,OAAO,GA2DhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDate, DDialogDateOptions } from \"./d-dialog-date\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DButtonDate} events.\n */\nexport interface DButtonDateEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDate} \"on\" options.\n */\nexport interface DButtonDateOnOptions<EMITTER>\n\textends Partial<DButtonDateEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDate} options.\n */\nexport interface DButtonDateOptions<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDateOptions;\n\ton?: DButtonDateOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDate} theme.\n */\nexport interface DThemeButtonDate extends DThemeButton<Date> {}\n\nexport class DButtonDate<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tOPTIONS extends DButtonDateOptions<THEME> = DButtonDateOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogDate;\n\tprotected _dialog?: DDialogDate;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst value = this._textValueComputed?.getTime() ?? Date.now();\n\t\tconst dialog = this.dialog;\n\t\tdialog.current = new Date(value);\n\t\tdialog.new = new Date(value);\n\t\tdialog.page = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tget dialog(): DDialogDate {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonDate.DIALOG == null) {\n\t\t\t\t\tDButtonDate.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonDate.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogDateOptions): DDialogDate {\n\t\treturn new DDialogDate(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDate\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-date.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-date.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAwClE;IAGU,+BAA6B;IAHvC;;IA8DA,CAAC;IAvDU,gCAAU,GAApB,UAAqB,CAA8D;QAAnF,iBAUC;;QATA,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAM,KAAK,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE,mCAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACtB,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,mCAAa,GAAvB,UAAwB,QAAc,EAAE,QAAc;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAI,+BAAM;aAAV;;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;gBACtC,IAAI,OAAO,EAAE;oBACZ,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;iBACjC;qBAAM;oBACN,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE;wBAC/B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;4BACnC,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,IAAI;yBACZ,CAAC,CAAC;qBACH;oBACD,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;iBAC5B;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,+BAAS,GAAnB,UAAoB,OAA4B;QAC/C,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,sBAAI,8BAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,IAAI,IAAI,EAAE,CAAC;QACzC,CAAC;aAED,UAAU,KAAW;YACpB,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACpC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACrE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB;QACF,CAAC;;;OAPA;IASS,6BAAO,GAAjB;QACC,OAAO,aAAa,CAAC;IACtB,CAAC;IACF,kBAAC;AAAD,CAAC,AA9DD,CAGU,OAAO,GA2DhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDate, DDialogDateOptions } from \"./d-dialog-date\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DButtonDate} events.\n */\nexport interface DButtonDateEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDate} \"on\" options.\n */\nexport interface DButtonDateOnOptions<EMITTER>\n\textends Partial<DButtonDateEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDate} options.\n */\nexport interface DButtonDateOptions<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDateOptions;\n\ton?: DButtonDateOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDate} theme.\n */\nexport interface DThemeButtonDate extends DThemeButton<Date> {}\n\nexport class DButtonDate<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tOPTIONS extends DButtonDateOptions<THEME> = DButtonDateOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogDate;\n\tprotected _dialog?: DDialogDate;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst value = this.text.computed?.getTime() ?? Date.now();\n\t\tconst dialog = this.dialog;\n\t\tdialog.current = new Date(value);\n\t\tdialog.new = new Date(value);\n\t\tdialog.page = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tget dialog(): DDialogDate {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonDate.DIALOG == null) {\n\t\t\t\t\tDButtonDate.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonDate.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogDateOptions): DDialogDate {\n\t\treturn new DDialogDate(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this.text.computed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst computed = this.text.computed;\n\t\tif (computed === undefined || computed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDate\";\n\t}\n}\n"]}
@@ -15,7 +15,7 @@ var DButtonDatetime = /** @class */ (function (_super) {
15
15
  var _this = this;
16
16
  var _a, _b;
17
17
  _super.prototype.onActivate.call(this, e);
18
- var value = (_b = (_a = this._textValueComputed) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now();
18
+ var value = (_b = (_a = this.text.computed) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now();
19
19
  var dialog = this.dialog;
20
20
  dialog.current = new Date(value);
21
21
  dialog.new = new Date(value);
@@ -68,11 +68,11 @@ var DButtonDatetime = /** @class */ (function (_super) {
68
68
  Object.defineProperty(DButtonDatetime.prototype, "value", {
69
69
  get: function () {
70
70
  var _a;
71
- return (_a = this._textValueComputed) !== null && _a !== void 0 ? _a : new Date();
71
+ return (_a = this.text.computed) !== null && _a !== void 0 ? _a : new Date();
72
72
  },
73
73
  set: function (value) {
74
- var textValueComputed = this._textValueComputed;
75
- if (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {
74
+ var computed = this.text.computed;
75
+ if (computed === undefined || computed.getTime() !== value.getTime()) {
76
76
  this.text = value;
77
77
  }
78
78
  },
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-datetime.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-datetime.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDatetime, DDialogDatetimeOptions } from \"./d-dialog-datetime\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerDatetimes } from \"./d-picker-datetimes\";\n\n/**\n * {@link DButtonDatetime} events.\n */\nexport interface DButtonDatetimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDatetime} \"on\" options.\n */\nexport interface DButtonDatetimeOnOptions<EMITTER>\n\textends Partial<DButtonDatetimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDatetime} options.\n */\nexport interface DButtonDatetimeOptions<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDatetimeOptions;\n\ton?: DButtonDatetimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDatetime} theme.\n */\nexport interface DThemeButtonDatetime extends DThemeButton<Date> {}\n\nexport class DButtonDatetime<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tOPTIONS extends DButtonDatetimeOptions<THEME> = DButtonDatetimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogDatetime;\n\tprotected _dialog?: DDialogDatetime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst value = this._textValueComputed?.getTime() ?? Date.now();\n\t\tconst dialog = this.dialog;\n\t\tdialog.current = new Date(value);\n\t\tdialog.new = new Date(value);\n\t\tdialog.page = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tgetDatetimeMask(): DPickerDatetimeMask {\n\t\tlet result = this._datetimeMask;\n\t\tif (result == null) {\n\t\t\tresult = DPickerDatetimes.toMask(this._options?.dialog?.picker);\n\t\t\tthis._datetimeMask = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget dialog(): DDialogDatetime {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonDatetime.DIALOG == null) {\n\t\t\t\t\tDButtonDatetime.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonDatetime.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogDatetimeOptions): DDialogDatetime {\n\t\treturn new DDialogDatetime(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDatetime\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-datetime.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-datetime.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDatetime, DDialogDatetimeOptions } from \"./d-dialog-datetime\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerDatetimes } from \"./d-picker-datetimes\";\n\n/**\n * {@link DButtonDatetime} events.\n */\nexport interface DButtonDatetimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDatetime} \"on\" options.\n */\nexport interface DButtonDatetimeOnOptions<EMITTER>\n\textends Partial<DButtonDatetimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDatetime} options.\n */\nexport interface DButtonDatetimeOptions<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDatetimeOptions;\n\ton?: DButtonDatetimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDatetime} theme.\n */\nexport interface DThemeButtonDatetime extends DThemeButton<Date> {}\n\nexport class DButtonDatetime<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tOPTIONS extends DButtonDatetimeOptions<THEME> = DButtonDatetimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogDatetime;\n\tprotected _dialog?: DDialogDatetime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst value = this.text.computed?.getTime() ?? Date.now();\n\t\tconst dialog = this.dialog;\n\t\tdialog.current = new Date(value);\n\t\tdialog.new = new Date(value);\n\t\tdialog.page = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tgetDatetimeMask(): DPickerDatetimeMask {\n\t\tlet result = this._datetimeMask;\n\t\tif (result == null) {\n\t\t\tresult = DPickerDatetimes.toMask(this._options?.dialog?.picker);\n\t\t\tthis._datetimeMask = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget dialog(): DDialogDatetime {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonDatetime.DIALOG == null) {\n\t\t\t\t\tDButtonDatetime.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonDatetime.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogDatetimeOptions): DDialogDatetime {\n\t\treturn new DDialogDatetime(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this.text.computed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst computed = this.text.computed;\n\t\tif (computed === undefined || computed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDatetime\";\n\t}\n}\n"]}
@@ -26,7 +26,7 @@ var DButtonSelect = /** @class */ (function (_super) {
26
26
  var _a;
27
27
  _super.prototype.onActivate.call(this, e);
28
28
  var dialog = this.dialog;
29
- var oldValue = (_a = this._textValueComputed) !== null && _a !== void 0 ? _a : null;
29
+ var oldValue = (_a = this.text.computed) !== null && _a !== void 0 ? _a : null;
30
30
  this._dialogSetter(dialog, oldValue);
31
31
  dialog.open(this).then(function () {
32
32
  var newValue = _this._dialogGetter(dialog);
@@ -59,7 +59,7 @@ var DButtonSelect = /** @class */ (function (_super) {
59
59
  Object.defineProperty(DButtonSelect.prototype, "value", {
60
60
  get: function () {
61
61
  var _a;
62
- return (_a = this._textValueComputed) !== null && _a !== void 0 ? _a : null;
62
+ return (_a = this.text.computed) !== null && _a !== void 0 ? _a : null;
63
63
  },
64
64
  set: function (value) {
65
65
  this.text = value;
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,aAAa,EAAwB,MAAM,mBAAmB,CAAC;AA8ExE,IAAM,aAAa,GAAG,UAAC,MAAgC;IACtD,qCAAqC;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC;AACrB,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG;IACrB,aAAa;AACd,CAAC,CAAC;AAEF;IAaU,iCAAqC;IAK9C,uBAAY,OAAiB;;QAA7B,YACC,kBAAM,OAAO,CAAC,SAGd;QAFA,KAAI,CAAC,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,aAAa,CAAC;QACtD,KAAI,CAAC,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,aAAa,CAAC;;IACvD,CAAC;IAES,kCAAU,GAApB,UAAqB,CAA8D;QAAnF,iBAYC;;QAXA,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACtB,IAAM,QAAQ,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBAC1B,KAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACrB,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;aAC9C;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,sBAAI,iCAAM;aAAV;;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;gBACtC,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,EAAE;oBACjC,MAAM,GAAG,OAAO,CAAC;iBACjB;qBAAM;oBACN,sEAAsE;oBACtE,MAAM,GAAG,IAAI,aAAa,CACzB,OAAO,CACU,CAAC;iBACnB;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,sBAAI,gCAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC;QACxC,CAAC;aAED,UAAU,KAAmB;YAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,CAAC;;;OAJA;IAMS,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IACF,oBAAC;AAAD,CAAC,AAlED,CAaU,OAAO,GAqDhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogOpener } from \"./d-dialog\";\nimport { DDialogSelect, DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * A dialog to select values.\n */\nexport interface DButtonSelectDialog<VALUE> {\n\tvalue: VALUE | null;\n\topen(opener?: DDialogOpener): Promise<unknown>;\n}\n\n/**\n * A function to retrieve a selected value from a dialog.\n */\nexport type DButtonSelectGetter<VALUE, DIALOG> = (dialog: DIALOG) => VALUE | null;\n\n/**\n * A function to set a selecte value to a dialog.\n * Called before opening a dialog.\n */\nexport type DButtonSelectSetter<VALUE, DIALOG> = (dialog: DIALOG, value: VALUE | null) => void;\n\n/**\n * {@link DButtonSelect} events.\n */\nexport interface DButtonSelectEvents<VALUE, EMITTER> extends DButtonEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: VALUE | null, oldValue: VALUE | null, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonSelect} \"on\" options.\n */\nexport interface DButtonSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DButtonSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonSelect} options.\n */\nexport interface DButtonSelectOptions<\n\tVALUE = unknown,\n\tDIALOG_VALUE = unknown,\n\tDIALOG_CATEGORY_ID = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tEMITTER = any\n> extends DButtonOptions<VALUE | null, THEME, EMITTER> {\n\t/**\n\t * A function to retrieve a selected value from a dialog.\n\t */\n\tgetter?: DButtonSelectGetter<VALUE, DIALOG>;\n\n\t/**\n\t * A function to set a selected value to a dialog.\n\t * Called before opening a dialog.\n\t */\n\tsetter?: DButtonSelectSetter<VALUE, DIALOG>;\n\n\t/**\n\t * A dialog to select values.\n\t */\n\tdialog?: DDialogSelectOptions<DIALOG_VALUE, DIALOG_CATEGORY_ID> | DIALOG;\n\n\ton?: DButtonSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DButtonSelect} theme.\n */\nexport interface DThemeButtonSelect<VALUE = unknown> extends DThemeButton<VALUE | null> {}\n\nconst defaultGetter = (dialog: DButtonSelectDialog<any>): any => {\n\t// Assumes the dialog.value is VALUE.\n\treturn dialog.value;\n};\n\nconst defaultSetter = (): void => {\n\t// DO NOTHING\n};\n\nexport class DButtonSelect<\n\tVALUE = unknown,\n\tDIALOG_VALUE = unknown,\n\tDIALOG_CATEGORY_ID = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tOPTIONS extends DButtonSelectOptions<\n\t\tVALUE,\n\t\tDIALOG_VALUE,\n\t\tDIALOG_CATEGORY_ID,\n\t\tDIALOG,\n\t\tTHEME\n\t> = DButtonSelectOptions<VALUE, DIALOG_VALUE, DIALOG_CATEGORY_ID, DIALOG, THEME>\n> extends DButton<VALUE | null, THEME, OPTIONS> {\n\tprotected _dialog?: DIALOG;\n\tprotected _dialogGetter: DButtonSelectGetter<VALUE, DIALOG>;\n\tprotected _dialogSetter: DButtonSelectSetter<VALUE, DIALOG>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._dialogGetter = options?.getter ?? defaultGetter;\n\t\tthis._dialogSetter = options?.setter ?? defaultSetter;\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst dialog = this.dialog;\n\t\tconst oldValue = this._textValueComputed ?? null;\n\t\tthis._dialogSetter(dialog, oldValue);\n\t\tdialog.open(this).then((): void => {\n\t\t\tconst newValue = this._dialogGetter(dialog);\n\t\t\tif (newValue !== oldValue) {\n\t\t\t\tthis.text = newValue;\n\t\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\t}\n\t\t});\n\t}\n\n\tget dialog(): DIALOG {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options && \"open\" in options) {\n\t\t\t\tdialog = options;\n\t\t\t} else {\n\t\t\t\t// Assumes DIALOG === DDialogSelect<DIALOG_VALUE, DIALOG_CATEGORY_ID>.\n\t\t\t\tdialog = new DDialogSelect<DIALOG_VALUE, DIALOG_CATEGORY_ID>(\n\t\t\t\t\toptions\n\t\t\t\t) as any as DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._textValueComputed ?? null;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis.text = value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonSelect\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,aAAa,EAAwB,MAAM,mBAAmB,CAAC;AA8ExE,IAAM,aAAa,GAAG,UAAC,MAAgC;IACtD,qCAAqC;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC;AACrB,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG;IACrB,aAAa;AACd,CAAC,CAAC;AAEF;IAaU,iCAAqC;IAK9C,uBAAY,OAAiB;;QAA7B,YACC,kBAAM,OAAO,CAAC,SAGd;QAFA,KAAI,CAAC,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,aAAa,CAAC;QACtD,KAAI,CAAC,aAAa,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,aAAa,CAAC;;IACvD,CAAC;IAES,kCAAU,GAApB,UAAqB,CAA8D;QAAnF,iBAYC;;QAXA,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACtB,IAAM,QAAQ,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBAC1B,KAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACrB,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;aAC9C;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,sBAAI,iCAAM;aAAV;;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;gBACtC,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,EAAE;oBACjC,MAAM,GAAG,OAAO,CAAC;iBACjB;qBAAM;oBACN,sEAAsE;oBACtE,MAAM,GAAG,IAAI,aAAa,CACzB,OAAO,CACU,CAAC;iBACnB;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,sBAAI,gCAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC;QACnC,CAAC;aAED,UAAU,KAAmB;YAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,CAAC;;;OAJA;IAMS,+BAAO,GAAjB;QACC,OAAO,eAAe,CAAC;IACxB,CAAC;IACF,oBAAC;AAAD,CAAC,AAlED,CAaU,OAAO,GAqDhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogOpener } from \"./d-dialog\";\nimport { DDialogSelect, DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * A dialog to select values.\n */\nexport interface DButtonSelectDialog<VALUE> {\n\tvalue: VALUE | null;\n\topen(opener?: DDialogOpener): Promise<unknown>;\n}\n\n/**\n * A function to retrieve a selected value from a dialog.\n */\nexport type DButtonSelectGetter<VALUE, DIALOG> = (dialog: DIALOG) => VALUE | null;\n\n/**\n * A function to set a selecte value to a dialog.\n * Called before opening a dialog.\n */\nexport type DButtonSelectSetter<VALUE, DIALOG> = (dialog: DIALOG, value: VALUE | null) => void;\n\n/**\n * {@link DButtonSelect} events.\n */\nexport interface DButtonSelectEvents<VALUE, EMITTER> extends DButtonEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: VALUE | null, oldValue: VALUE | null, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonSelect} \"on\" options.\n */\nexport interface DButtonSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DButtonSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonSelect} options.\n */\nexport interface DButtonSelectOptions<\n\tVALUE = unknown,\n\tDIALOG_VALUE = unknown,\n\tDIALOG_CATEGORY_ID = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tEMITTER = any\n> extends DButtonOptions<VALUE | null, THEME, EMITTER> {\n\t/**\n\t * A function to retrieve a selected value from a dialog.\n\t */\n\tgetter?: DButtonSelectGetter<VALUE, DIALOG>;\n\n\t/**\n\t * A function to set a selected value to a dialog.\n\t * Called before opening a dialog.\n\t */\n\tsetter?: DButtonSelectSetter<VALUE, DIALOG>;\n\n\t/**\n\t * A dialog to select values.\n\t */\n\tdialog?: DDialogSelectOptions<DIALOG_VALUE, DIALOG_CATEGORY_ID> | DIALOG;\n\n\ton?: DButtonSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DButtonSelect} theme.\n */\nexport interface DThemeButtonSelect<VALUE = unknown> extends DThemeButton<VALUE | null> {}\n\nconst defaultGetter = (dialog: DButtonSelectDialog<any>): any => {\n\t// Assumes the dialog.value is VALUE.\n\treturn dialog.value;\n};\n\nconst defaultSetter = (): void => {\n\t// DO NOTHING\n};\n\nexport class DButtonSelect<\n\tVALUE = unknown,\n\tDIALOG_VALUE = unknown,\n\tDIALOG_CATEGORY_ID = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tOPTIONS extends DButtonSelectOptions<\n\t\tVALUE,\n\t\tDIALOG_VALUE,\n\t\tDIALOG_CATEGORY_ID,\n\t\tDIALOG,\n\t\tTHEME\n\t> = DButtonSelectOptions<VALUE, DIALOG_VALUE, DIALOG_CATEGORY_ID, DIALOG, THEME>\n> extends DButton<VALUE | null, THEME, OPTIONS> {\n\tprotected _dialog?: DIALOG;\n\tprotected _dialogGetter: DButtonSelectGetter<VALUE, DIALOG>;\n\tprotected _dialogSetter: DButtonSelectSetter<VALUE, DIALOG>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._dialogGetter = options?.getter ?? defaultGetter;\n\t\tthis._dialogSetter = options?.setter ?? defaultSetter;\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst dialog = this.dialog;\n\t\tconst oldValue = this.text.computed ?? null;\n\t\tthis._dialogSetter(dialog, oldValue);\n\t\tdialog.open(this).then((): void => {\n\t\t\tconst newValue = this._dialogGetter(dialog);\n\t\t\tif (newValue !== oldValue) {\n\t\t\t\tthis.text = newValue;\n\t\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\t}\n\t\t});\n\t}\n\n\tget dialog(): DIALOG {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options && \"open\" in options) {\n\t\t\t\tdialog = options;\n\t\t\t} else {\n\t\t\t\t// Assumes DIALOG === DDialogSelect<DIALOG_VALUE, DIALOG_CATEGORY_ID>.\n\t\t\t\tdialog = new DDialogSelect<DIALOG_VALUE, DIALOG_CATEGORY_ID>(\n\t\t\t\t\toptions\n\t\t\t\t) as any as DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this.text.computed ?? null;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis.text = value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonSelect\";\n\t}\n}\n"]}
@@ -15,7 +15,7 @@ var DButtonTime = /** @class */ (function (_super) {
15
15
  var _this = this;
16
16
  var _a, _b;
17
17
  _super.prototype.onActivate.call(this, e);
18
- var value = (_b = (_a = this._textValueComputed) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now();
18
+ var value = (_b = (_a = this.text.computed) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now();
19
19
  var dialog = this.dialog;
20
20
  dialog.current = new Date(value);
21
21
  dialog.new = new Date(value);
@@ -67,11 +67,11 @@ var DButtonTime = /** @class */ (function (_super) {
67
67
  Object.defineProperty(DButtonTime.prototype, "value", {
68
68
  get: function () {
69
69
  var _a;
70
- return (_a = this._textValueComputed) !== null && _a !== void 0 ? _a : new Date();
70
+ return (_a = this.text.computed) !== null && _a !== void 0 ? _a : new Date();
71
71
  },
72
72
  set: function (value) {
73
- var textValueComputed = this._textValueComputed;
74
- if (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {
73
+ var computed = this.text.computed;
74
+ if (computed === undefined || computed.getTime() !== value.getTime()) {
75
75
  this.text = value;
76
76
  }
77
77
  },
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-time.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogTime, DDialogTimeOptions } from \"./d-dialog-time\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerTimes } from \"./d-picker-times\";\n\n/**\n * {@link DButtonTime} events.\n */\nexport interface DButtonTimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonTime} \"on\" options.\n */\nexport interface DButtonTimeOnOptions<EMITTER>\n\textends Partial<DButtonTimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonTime} options.\n */\nexport interface DButtonTimeOptions<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogTimeOptions;\n\ton?: DButtonTimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonTime} theme.\n */\nexport interface DThemeButtonTime extends DThemeButton<Date> {}\n\nexport class DButtonTime<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tOPTIONS extends DButtonTimeOptions<THEME> = DButtonTimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogTime;\n\tprotected _dialog?: DDialogTime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst value = this._textValueComputed?.getTime() ?? Date.now();\n\t\tconst dialog = this.dialog;\n\t\tdialog.current = new Date(value);\n\t\tdialog.new = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tgetDatetimeMask(): DPickerDatetimeMask {\n\t\tlet result = this._datetimeMask;\n\t\tif (result == null) {\n\t\t\tresult = DPickerTimes.toMask(this._options?.dialog?.picker);\n\t\t\tthis._datetimeMask = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget dialog(): DDialogTime {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonTime.DIALOG == null) {\n\t\t\t\t\tDButtonTime.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonTime.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogTimeOptions): DDialogTime {\n\t\treturn new DDialogTime(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonTime\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-time.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogTime, DDialogTimeOptions } from \"./d-dialog-time\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerTimes } from \"./d-picker-times\";\n\n/**\n * {@link DButtonTime} events.\n */\nexport interface DButtonTimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonTime} \"on\" options.\n */\nexport interface DButtonTimeOnOptions<EMITTER>\n\textends Partial<DButtonTimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonTime} options.\n */\nexport interface DButtonTimeOptions<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogTimeOptions;\n\ton?: DButtonTimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonTime} theme.\n */\nexport interface DThemeButtonTime extends DThemeButton<Date> {}\n\nexport class DButtonTime<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tOPTIONS extends DButtonTimeOptions<THEME> = DButtonTimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogTime;\n\tprotected _dialog?: DDialogTime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst value = this.text.computed?.getTime() ?? Date.now();\n\t\tconst dialog = this.dialog;\n\t\tdialog.current = new Date(value);\n\t\tdialog.new = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tgetDatetimeMask(): DPickerDatetimeMask {\n\t\tlet result = this._datetimeMask;\n\t\tif (result == null) {\n\t\t\tresult = DPickerTimes.toMask(this._options?.dialog?.picker);\n\t\t\tthis._datetimeMask = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget dialog(): DDialogTime {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonTime.DIALOG == null) {\n\t\t\t\t\tDButtonTime.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonTime.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogTimeOptions): DDialogTime {\n\t\treturn new DDialogTime(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this.text.computed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst computed = this.text.computed;\n\t\tif (computed === undefined || computed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonTime\";\n\t}\n}\n"]}
@@ -18,7 +18,7 @@ var DDialogProcessing = /** @class */ (function (_super) {
18
18
  _this._delayDone = (_a = delay === null || delay === void 0 ? void 0 : delay.done) !== null && _a !== void 0 ? _a : theme.getDoneDelay();
19
19
  var delayClose = delay === null || delay === void 0 ? void 0 : delay.close;
20
20
  _this._delayClose = delayClose !== undefined ? delayClose : theme.getCloseDelay();
21
- _this._messageText = _this.message.text;
21
+ _this._messageText = _this.message.text.value;
22
22
  return _this;
23
23
  }
24
24
  DDialogProcessing.prototype.newMessage = function (options) {
@@ -1 +1 @@
1
- {"version":3,"file":"d-dialog-processing.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-processing.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseState } from \"./d-base-state\";\nimport { DDialogConfirm, DDialogConfirmOptions, DThemeDialogConfirm } from \"./d-dialog-confirm\";\nimport { DDialogConfirmMessage, DDialogConfirmMessageOptions } from \"./d-dialog-confirm-message\";\nimport { DDialogProcessingMessage } from \"./d-dialog-processing-message\";\nimport { DStateAwareOrValueMightBe } from \"./d-state-aware\";\n\nexport interface DDialogProcessingDelayOptions {\n\tdone?: number;\n\tclose?: number | null;\n}\n\nexport interface DDialogProcessingOptions<THEME extends DThemeDialogProcessing>\n\textends DDialogConfirmOptions<THEME> {\n\tdelay?: DDialogProcessingDelayOptions;\n}\n\nexport interface DThemeDialogProcessing extends DThemeDialogConfirm {\n\tgetDoneDelay(): number;\n\tgetCloseDelay(): number | null;\n}\n\nexport class DDialogProcessing<\n\tTHEME extends DThemeDialogProcessing = DThemeDialogProcessing,\n\tOPTIONS extends DDialogProcessingOptions<THEME> = DDialogProcessingOptions<THEME>\n> extends DDialogConfirm<THEME, OPTIONS> {\n\tprotected _isDone: boolean;\n\tprotected _startTime: number;\n\tprotected _delayDone: number;\n\tprotected _delayClose: number | null;\n\tprotected _timeoutId?: number;\n\tprotected _messageText: DStateAwareOrValueMightBe<string>;\n\tprotected _closeTimeoutId?: number;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._isDone = true;\n\t\tthis._startTime = 0;\n\t\tconst theme = this.theme;\n\t\tconst delay = options?.delay;\n\t\tthis._delayDone = delay?.done ?? theme.getDoneDelay();\n\t\tconst delayClose = delay?.close;\n\t\tthis._delayClose = delayClose !== undefined ? delayClose : theme.getCloseDelay();\n\t\tthis._messageText = this.message.text;\n\t}\n\n\tprotected newMessage(options: DDialogConfirmMessageOptions): DDialogConfirmMessage {\n\t\treturn new DDialogProcessingMessage(options);\n\t}\n\n\tprotected onOpen(): void {\n\t\tthis._isDone = false;\n\t\tthis._startTime = Date.now();\n\t\tconst timeoutId = this._timeoutId;\n\t\tif (timeoutId != null) {\n\t\t\tclearTimeout(timeoutId);\n\t\t}\n\t\tconst closeTimeoutId = this._closeTimeoutId;\n\t\tif (closeTimeoutId != null) {\n\t\t\tclearTimeout(closeTimeoutId);\n\t\t}\n\t\tconst message = this.message;\n\t\tmessage.text = this._messageText;\n\t\tmessage.state.removeAll(DBaseState.SUCCEEDED, DBaseState.FAILED);\n\t\tconst footer = this._footer;\n\t\tif (footer != null) {\n\t\t\tfooter.hide();\n\t\t}\n\t\tsuper.onOpen();\n\t}\n\n\tprotected onDone(delay: number | null): void {\n\t\tif (delay != null) {\n\t\t\tthis._closeTimeoutId = window.setTimeout(() => {\n\t\t\t\tthis.close();\n\t\t\t}, delay);\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tprotected onResolved(message?: string): void {\n\t\tif (message != null) {\n\t\t\tthis.message.text = message;\n\t\t}\n\t\tthis.message.state.set(DBaseState.SUCCEEDED, DBaseState.FAILED);\n\t\tconst delayClose = this._delayClose;\n\t\tif (delayClose != null) {\n\t\t\tthis.onDone(delayClose);\n\t\t} else {\n\t\t\tconst footer = this._footer;\n\t\t\tif (footer != null) {\n\t\t\t\tfooter.show();\n\t\t\t} else {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRejected(message?: string): void {\n\t\tif (message != null) {\n\t\t\tthis.message.text = message;\n\t\t}\n\t\tthis.message.state.set(DBaseState.FAILED, DBaseState.SUCCEEDED);\n\t\tconst footer = this._footer;\n\t\tif (footer != null) {\n\t\t\tfooter.show();\n\t\t} else {\n\t\t\tthis.onDone(this._delayClose);\n\t\t}\n\t}\n\n\tresolve(message?: string): void {\n\t\tif (!this._isDone) {\n\t\t\tthis._isDone = true;\n\t\t\tconst elapsedTime = Date.now() - this._startTime;\n\t\t\tconst delay = this._delayDone - elapsedTime;\n\t\t\tif (0 < delay) {\n\t\t\t\tthis._timeoutId = window.setTimeout((): void => {\n\t\t\t\t\tthis._timeoutId = undefined;\n\t\t\t\t\tthis.onResolved(message);\n\t\t\t\t}, delay);\n\t\t\t} else {\n\t\t\t\tthis.onResolved(message);\n\t\t\t}\n\t\t}\n\t}\n\n\treject(message?: string): void {\n\t\tif (!this._isDone) {\n\t\t\tthis._isDone = true;\n\t\t\tconst elapsedTime = Date.now() - this._startTime;\n\t\t\tconst delay = this._delayDone - elapsedTime;\n\t\t\tif (0 < delay) {\n\t\t\t\tthis._timeoutId = window.setTimeout((): void => {\n\t\t\t\t\tthis._timeoutId = undefined;\n\t\t\t\t\tthis.onRejected(message);\n\t\t\t\t}, delay);\n\t\t\t} else {\n\t\t\t\tthis.onRejected(message);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onCloseOn(): void {\n\t\tif (this._isDone) {\n\t\t\tsuper.onCloseOn();\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialogProcessing\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-dialog-processing.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-processing.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseState } from \"./d-base-state\";\nimport { DDialogConfirm, DDialogConfirmOptions, DThemeDialogConfirm } from \"./d-dialog-confirm\";\nimport { DDialogConfirmMessage, DDialogConfirmMessageOptions } from \"./d-dialog-confirm-message\";\nimport { DDialogProcessingMessage } from \"./d-dialog-processing-message\";\nimport { DStateAwareOrValueMightBe } from \"./d-state-aware\";\n\nexport interface DDialogProcessingDelayOptions {\n\tdone?: number;\n\tclose?: number | null;\n}\n\nexport interface DDialogProcessingOptions<THEME extends DThemeDialogProcessing>\n\textends DDialogConfirmOptions<THEME> {\n\tdelay?: DDialogProcessingDelayOptions;\n}\n\nexport interface DThemeDialogProcessing extends DThemeDialogConfirm {\n\tgetDoneDelay(): number;\n\tgetCloseDelay(): number | null;\n}\n\nexport class DDialogProcessing<\n\tTHEME extends DThemeDialogProcessing = DThemeDialogProcessing,\n\tOPTIONS extends DDialogProcessingOptions<THEME> = DDialogProcessingOptions<THEME>\n> extends DDialogConfirm<THEME, OPTIONS> {\n\tprotected _isDone: boolean;\n\tprotected _startTime: number;\n\tprotected _delayDone: number;\n\tprotected _delayClose: number | null;\n\tprotected _timeoutId?: number;\n\tprotected _messageText: DStateAwareOrValueMightBe<string>;\n\tprotected _closeTimeoutId?: number;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._isDone = true;\n\t\tthis._startTime = 0;\n\t\tconst theme = this.theme;\n\t\tconst delay = options?.delay;\n\t\tthis._delayDone = delay?.done ?? theme.getDoneDelay();\n\t\tconst delayClose = delay?.close;\n\t\tthis._delayClose = delayClose !== undefined ? delayClose : theme.getCloseDelay();\n\t\tthis._messageText = this.message.text.value;\n\t}\n\n\tprotected newMessage(options: DDialogConfirmMessageOptions): DDialogConfirmMessage {\n\t\treturn new DDialogProcessingMessage(options);\n\t}\n\n\tprotected onOpen(): void {\n\t\tthis._isDone = false;\n\t\tthis._startTime = Date.now();\n\t\tconst timeoutId = this._timeoutId;\n\t\tif (timeoutId != null) {\n\t\t\tclearTimeout(timeoutId);\n\t\t}\n\t\tconst closeTimeoutId = this._closeTimeoutId;\n\t\tif (closeTimeoutId != null) {\n\t\t\tclearTimeout(closeTimeoutId);\n\t\t}\n\t\tconst message = this.message;\n\t\tmessage.text = this._messageText;\n\t\tmessage.state.removeAll(DBaseState.SUCCEEDED, DBaseState.FAILED);\n\t\tconst footer = this._footer;\n\t\tif (footer != null) {\n\t\t\tfooter.hide();\n\t\t}\n\t\tsuper.onOpen();\n\t}\n\n\tprotected onDone(delay: number | null): void {\n\t\tif (delay != null) {\n\t\t\tthis._closeTimeoutId = window.setTimeout(() => {\n\t\t\t\tthis.close();\n\t\t\t}, delay);\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tprotected onResolved(message?: string): void {\n\t\tif (message != null) {\n\t\t\tthis.message.text = message;\n\t\t}\n\t\tthis.message.state.set(DBaseState.SUCCEEDED, DBaseState.FAILED);\n\t\tconst delayClose = this._delayClose;\n\t\tif (delayClose != null) {\n\t\t\tthis.onDone(delayClose);\n\t\t} else {\n\t\t\tconst footer = this._footer;\n\t\t\tif (footer != null) {\n\t\t\t\tfooter.show();\n\t\t\t} else {\n\t\t\t\tthis.close();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRejected(message?: string): void {\n\t\tif (message != null) {\n\t\t\tthis.message.text = message;\n\t\t}\n\t\tthis.message.state.set(DBaseState.FAILED, DBaseState.SUCCEEDED);\n\t\tconst footer = this._footer;\n\t\tif (footer != null) {\n\t\t\tfooter.show();\n\t\t} else {\n\t\t\tthis.onDone(this._delayClose);\n\t\t}\n\t}\n\n\tresolve(message?: string): void {\n\t\tif (!this._isDone) {\n\t\t\tthis._isDone = true;\n\t\t\tconst elapsedTime = Date.now() - this._startTime;\n\t\t\tconst delay = this._delayDone - elapsedTime;\n\t\t\tif (0 < delay) {\n\t\t\t\tthis._timeoutId = window.setTimeout((): void => {\n\t\t\t\t\tthis._timeoutId = undefined;\n\t\t\t\t\tthis.onResolved(message);\n\t\t\t\t}, delay);\n\t\t\t} else {\n\t\t\t\tthis.onResolved(message);\n\t\t\t}\n\t\t}\n\t}\n\n\treject(message?: string): void {\n\t\tif (!this._isDone) {\n\t\t\tthis._isDone = true;\n\t\t\tconst elapsedTime = Date.now() - this._startTime;\n\t\t\tconst delay = this._delayDone - elapsedTime;\n\t\t\tif (0 < delay) {\n\t\t\t\tthis._timeoutId = window.setTimeout((): void => {\n\t\t\t\t\tthis._timeoutId = undefined;\n\t\t\t\t\tthis.onRejected(message);\n\t\t\t\t}, delay);\n\t\t\t} else {\n\t\t\t\tthis.onRejected(message);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onCloseOn(): void {\n\t\tif (this._isDone) {\n\t\t\tsuper.onCloseOn();\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialogProcessing\";\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-dialog.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Point, Rectangle } from \"pixi.js\";\nimport { DAnimation } from \"./d-animation\";\nimport { DApplicationLayerLike } from \"./d-application-layer-like\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DControllerFocus, DFocusable } from \"./d-controller-focus\";\nimport { DDialogAlign } from \"./d-dialog-align\";\nimport { DDialogCloseOn } from \"./d-dialog-close-on\";\nimport { DDialogGesture, DDialogGestureOptions } from \"./d-dialog-gesture\";\nimport { DDialogGestureImpl } from \"./d-dialog-gesture-impl\";\nimport { DDialogGestureMode } from \"./d-dialog-gesture-mode\";\nimport { DDialogMode } from \"./d-dialog-mode\";\nimport { DDialogState } from \"./d-dialog-state\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPadding } from \"./d-padding\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilAttach } from \"./util/util-attach\";\nimport { UtilClickOutside } from \"./util/util-click-outside\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilOverlay } from \"./util/util-overlay\";\nimport { DApplicationTarget } from \"./d-application-like\";\n\n/**\n * {@link DDialog} events.\n */\nexport interface DDialogEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a dialog is opened.\n\t *\n\t * @param emitter this\n\t */\n\topen(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a dialog is closed.\n\t *\n\t * @param emitter this\n\t */\n\tclose(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDialog} `on` options.\n */\nexport interface DDialogOnOptions<EMITTER> extends Partial<DDialogEvents<EMITTER>>, DOnOptions {}\n\n/**\n * {@link DDialog} options.\n */\nexport interface DDialogOptions<THEME extends DThemeDialog = DThemeDialog, EMITTER = any>\n\textends DBaseOptions<THEME> {\n\tcloseOn?: DDialogCloseOn | Array<keyof typeof DDialogCloseOn> | keyof typeof DDialogCloseOn;\n\n\tanimation?: DAnimation<DBase>;\n\n\t/**\n\t * A dialog mode.\n\t */\n\tmode?: DDialogMode | keyof typeof DDialogMode;\n\n\tsticky?: boolean;\n\n\tgesture?: boolean | DDialogGestureOptions;\n\n\talign?: DDialogAlign | null | keyof typeof DDialogAlign;\n\n\t/**\n\t * Mappings of event names and handlers.\n\t */\n\ton?: DDialogOnOptions<EMITTER>;\n}\n\n/**\n * {@link DDialog} theme.\n */\nexport interface DThemeDialog extends DThemeBase {\n\tgetMode(): DDialogMode;\n\tcloseOn(mode: DDialogMode): DDialogCloseOn;\n\tisSticky(mode: DDialogMode): boolean;\n\tisGestureEnabled(mode: DDialogMode): boolean;\n\tgetGestureMode(mode: DDialogMode): DDialogGestureMode;\n\tgetOffsetX(mode: DDialogMode): number;\n\tgetOffsetY(mode: DDialogMode): number;\n\tgetAlign(mode: DDialogMode): DDialogAlign | null;\n\tnewAnimation(mode: DDialogMode): DAnimation<DBase> | null;\n}\n\nexport interface DDialogOpener extends DApplicationTarget {\n\tgetBounds(skipUpdate?: boolean, rect?: PIXI.Rectangle): Rectangle;\n}\n\n/**\n * A dialog class.\n *\n * If multiple application instances are there, better to set the constructor\n * option `parent` to an `application.stage` so that the dialog picks a right\n * application. `DDialog` searches applications in a following order:\n *\n * * To begin, `DDialog` tries to find applications which it belongs to.\n * * If `DDialog` can't find applications, then `DDialog` tries to find applications which openers belong to.\n * * If openers are not given, `DDialog` assumes the last created application at the very moment `DDialog` is instantiated is the one it belongs to.\n */\nexport class DDialog<\n\tVALUE = void,\n\tTHEME extends DThemeDialog = DThemeDialog,\n\tOPTIONS extends DDialogOptions<THEME> = DDialogOptions<THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_BOUNDS?: Rectangle;\n\n\tprotected _promise?: Promise<VALUE>;\n\tprotected _resolve?: (value: VALUE | PromiseLike<VALUE>) => void;\n\tprotected _reject?: (reason?: any) => void;\n\n\tprotected _animation?: DAnimation<DBase> | null;\n\tprotected _closeOn!: DDialogCloseOn;\n\tprotected _focused?: DFocusable | null;\n\tprotected _overlay!: UtilOverlay;\n\tprotected _mode!: DDialogMode;\n\tprotected _sticky!: boolean;\n\tprotected _onPrerenderBound!: () => void;\n\tprotected _align!: DDialogAlign | null;\n\tprotected _opener?: DDialogOpener | null;\n\n\tprotected _gesture!: DDialogGesture<this>;\n\tprotected _layer!: DApplicationLayerLike | null;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tthis._onPrerenderBound = (): void => {\n\t\t\tthis.onPrerender();\n\t\t};\n\t\tthis._layer = null;\n\n\t\t// Mode\n\t\tconst theme = this.theme;\n\t\tconst mode = toEnum(options?.mode ?? theme.getMode(), DDialogMode);\n\t\tthis._mode = mode;\n\n\t\t// Sticky\n\t\tthis._sticky = options?.sticky ?? theme.isSticky(mode);\n\n\t\t// Close On\n\t\tconst closeOn = this.toCloseOn(mode, theme, options);\n\t\tthis._closeOn = closeOn;\n\n\t\t// Align\n\t\tthis._align = this.toAlign(mode, theme, options);\n\n\t\t// Overlay\n\t\tthis._overlay = new UtilOverlay();\n\n\t\t// Gesture\n\t\tthis._gesture = new DDialogGestureImpl(this, this.toGestureOptions(mode, theme, options));\n\n\t\t// Visibility\n\t\tthis.visible = false;\n\n\t\t// State\n\t\tswitch (mode) {\n\t\t\tcase DDialogMode.MODAL:\n\t\t\t\tthis.state.addAll(DBaseState.FOCUS_ROOT, DDialogState.MODAL);\n\t\t\t\tbreak;\n\t\t\tcase DDialogMode.MODELESS:\n\t\t\t\tthis.state.add(DDialogState.MODELESS);\n\t\t\t\tbreak;\n\t\t\tcase DDialogMode.MENU:\n\t\t\t\tthis.state.addAll(DBaseState.FOCUS_ROOT, DDialogState.MENU);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Outside-click handling\n\t\tif (closeOn & DDialogCloseOn.CLICK_OUTSIDE) {\n\t\t\tUtilClickOutside.apply(this, (): void => {\n\t\t\t\tthis.onCloseOn();\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected toCloseOn(mode: DDialogMode, theme: THEME, options?: OPTIONS): DDialogCloseOn {\n\t\tconst closeOn = options?.closeOn;\n\t\tif (closeOn == null) {\n\t\t\treturn theme.closeOn(mode);\n\t\t} else if (isArray(closeOn)) {\n\t\t\tlet result = DDialogCloseOn.NONE;\n\t\t\tfor (let i = 0, imax = closeOn.length; i < imax; ++i) {\n\t\t\t\tresult |= DDialogCloseOn[closeOn[i]];\n\t\t\t}\n\t\t\treturn result;\n\t\t} else if (isString(closeOn)) {\n\t\t\treturn DDialogCloseOn[closeOn];\n\t\t}\n\t\treturn closeOn;\n\t}\n\n\tprotected toAlign(mode: DDialogMode, theme: THEME, options?: OPTIONS): DDialogAlign | null {\n\t\tconst align = options?.align;\n\t\tif (align === null) {\n\t\t\treturn null;\n\t\t} else if (align === undefined) {\n\t\t\treturn theme.getAlign(mode);\n\t\t} else {\n\t\t\treturn toEnum(align, DDialogAlign);\n\t\t}\n\t}\n\n\tget mode(): DDialogMode {\n\t\treturn this._mode;\n\t}\n\n\tget align(): DDialogAlign | null {\n\t\treturn this._align;\n\t}\n\n\tset algin(align: DDialogAlign | null) {\n\t\tthis._align = align;\n\t}\n\n\tget gesture(): DDialogGesture<this> {\n\t\treturn this._gesture;\n\t}\n\n\tget layer(): DApplicationLayerLike | null {\n\t\treturn this._layer;\n\t}\n\n\tprotected toGestureOptions(\n\t\tmode: DDialogMode,\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS\n\t): DDialogGestureOptions {\n\t\tconst gesture = options?.gesture;\n\t\tif (gesture === true) {\n\t\t\treturn {\n\t\t\t\tenable: true,\n\t\t\t\tmode: theme.getGestureMode(mode)\n\t\t\t};\n\t\t} else if (gesture === false) {\n\t\t\treturn {\n\t\t\t\tenable: false,\n\t\t\t\tmode: theme.getGestureMode(mode)\n\t\t\t};\n\t\t} else if (gesture != null) {\n\t\t\tif (gesture.enable === undefined) {\n\t\t\t\tgesture.enable = theme.isGestureEnabled(mode);\n\t\t\t}\n\t\t\tif (gesture.mode === undefined) {\n\t\t\t\tgesture.mode = theme.getGestureMode(mode);\n\t\t\t}\n\t\t\treturn gesture;\n\t\t}\n\t\treturn {\n\t\t\tenable: theme.isGestureEnabled(mode),\n\t\t\tmode: theme.getGestureMode(mode)\n\t\t};\n\t}\n\n\tonParentResize(parentWidth: number, parentHeight: number, parentPadding: DPadding): void {\n\t\tif (this.isOpened()) {\n\t\t\tconst layer = this._layer;\n\t\t\tif (layer != null) {\n\t\t\t\tconst gesture = this._gesture;\n\t\t\t\tif (gesture.isDirty()) {\n\t\t\t\t\tconst position = this.position;\n\t\t\t\t\tgesture.constraint(this, layer, position.x, position.y);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsuper.onParentResize(parentWidth, parentHeight, parentPadding);\n\t}\n\n\tprotected getAnimation(): DAnimation | null {\n\t\tlet result = this._animation;\n\t\tif (result === undefined) {\n\t\t\tresult = this._options?.animation ?? this.theme.newAnimation(this._mode);\n\t\t\tif (result) {\n\t\t\t\tresult.target = this;\n\t\t\t\tresult.on(\"end\", (isReverse: boolean): void => {\n\t\t\t\t\tthis.onAnimationEnd(isReverse);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis._animation = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onAnimationEnd(isReverse: boolean): void {\n\t\tif (isReverse) {\n\t\t\tif (this._mode === DDialogMode.MODELESS) {\n\t\t\t\tthis.hide();\n\t\t\t} else {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent) {\n\t\t\t\t\tparent.removeChild(this);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\tthis._focused = focusController.get();\n\t\t\t\tfocusController.focus(this.findFirstFocusable(focusController) || this);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected findFirstFocusable(focusController: DControllerFocus): DFocusable | null {\n\t\treturn focusController.find(this, false, true, true);\n\t}\n\n\t/**\n\t * Opens a dialog.\n\t *\n\t * @param opener An opener of a dialog.\n\t * The dialog position is determined based on a position and a size of the opener.\n\t * If the opener is undefined, the dialog is placed at the center of the screen.\n\t *\n\t * @returns a value of this dialog\n\t */\n\topen(opener?: DDialogOpener): Promise<VALUE> {\n\t\tlet result = this._promise;\n\t\tif (result == null) {\n\t\t\tresult = new Promise<VALUE>((resolve, reject): void => {\n\t\t\t\tthis._resolve = resolve;\n\t\t\t\tthis._reject = reject;\n\t\t\t});\n\t\t\tthis._promise = result;\n\n\t\t\tthis._opener = opener;\n\n\t\t\t// Attach to a layer\n\t\t\tlet layer: DApplicationLayerLike | null = null;\n\t\t\tswitch (this._mode) {\n\t\t\t\tcase DDialogMode.MODAL:\n\t\t\t\tcase DDialogMode.MENU:\n\t\t\t\t\tlayer = this._overlay.pick(this, opener);\n\t\t\t\t\tlayer.stage.addChild(this);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DDialogMode.MODELESS:\n\t\t\t\t\tlayer = DApplications.getLayer(this);\n\t\t\t\t\tthis.show();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis._layer = layer;\n\n\t\t\t// Position & size\n\t\t\tconst gesture = this._gesture;\n\t\t\tif (gesture.mode === DDialogGestureMode.CLEAN) {\n\t\t\t\tgesture.toClean();\n\t\t\t}\n\t\t\tif (layer != null) {\n\t\t\t\tif (gesture.isClean()) {\n\t\t\t\t\tconst renderer = layer.renderer;\n\t\t\t\t\tconst onPrerenderBound = this._onPrerenderBound;\n\t\t\t\t\tif (this._sticky) {\n\t\t\t\t\t\trenderer.on(\"prerender\", onPrerenderBound);\n\t\t\t\t\t} else {\n\t\t\t\t\t\trenderer.once(\"prerender\", onPrerenderBound);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst position = this.position;\n\t\t\t\t\tgesture.constraint(this, layer, position.x, position.y);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Done\n\t\t\tthis.onOpen();\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onPrerender(): void {\n\t\tconst layer = this._layer;\n\t\tif (layer == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst align = this._align;\n\t\tif (align === DDialogAlign.NONE) {\n\t\t\treturn;\n\t\t}\n\t\tconst opener = this._opener;\n\t\tif (align != null && opener != null) {\n\t\t\tconst mode = this._mode;\n\t\t\tconst bounds = opener.getBounds(false, (DDialog.WORK_BOUNDS ??= new Rectangle()));\n\t\t\tconst theme = this.theme;\n\t\t\tUtilAttach.attach(\n\t\t\t\tthis,\n\t\t\t\tbounds,\n\t\t\t\ttheme.getOffsetX(mode),\n\t\t\t\ttheme.getOffsetY(mode),\n\t\t\t\tlayer.width,\n\t\t\t\tlayer.height,\n\t\t\t\talign\n\t\t\t);\n\t\t} else {\n\t\t\tthis.position.set((layer.width - this.width) * 0.5, (layer.height - this.height) * 0.5);\n\t\t}\n\t}\n\n\tprotected onOpen(): void {\n\t\tthis.emit(\"open\", this);\n\n\t\t// Animation\n\t\tconst animation = this.getAnimation();\n\t\tif (animation) {\n\t\t\tanimation.start();\n\t\t} else if (this._mode === DDialogMode.MENU) {\n\t\t\tthis.visible = true;\n\t\t\tthis.onAnimationEnd(false);\n\t\t}\n\t}\n\n\tisOpened(): boolean {\n\t\treturn this._promise != null;\n\t}\n\n\tclose(): void {\n\t\tthis.doReject();\n\t}\n\n\tprotected doResolve(value: VALUE | PromiseLike<VALUE>): void {\n\t\tconst resolve = this._resolve;\n\t\tif (resolve) {\n\t\t\tthis._promise = undefined;\n\t\t\tthis._resolve = undefined;\n\t\t\tthis._reject = undefined;\n\n\t\t\tthis.onClose();\n\n\t\t\tresolve(value);\n\t\t}\n\t}\n\n\tprotected doReject(reason?: any): void {\n\t\tconst reject = this._reject;\n\t\tif (reject) {\n\t\t\tthis._promise = undefined;\n\t\t\tthis._resolve = undefined;\n\t\t\tthis._reject = undefined;\n\n\t\t\tthis.onClose();\n\n\t\t\treject(reason);\n\t\t}\n\t}\n\n\tprotected onClose(): void {\n\t\t// Focus\n\t\tconst layer = this._layer;\n\t\tconst focused = this._focused;\n\t\tif (focused != null) {\n\t\t\tthis._focused = null;\n\t\t\tif (layer) {\n\t\t\t\tconst focusedLayer = DApplications.getLayer(focused);\n\t\t\t\tif (focusedLayer != null && layer !== focusedLayer) {\n\t\t\t\t\tfocusedLayer.view.focus();\n\t\t\t\t}\n\t\t\t\tlayer.getFocusController().focus(focused);\n\t\t\t} else {\n\t\t\t\tthis.blur(true);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.blur(true);\n\t\t}\n\n\t\t// Remove the prerender event handler and forget the layer\n\t\tif (layer) {\n\t\t\tlayer.renderer.off(\"prerender\", this._onPrerenderBound);\n\t\t\tthis._layer = null;\n\t\t}\n\n\t\t// Forget the opener\n\t\tthis._opener = null;\n\n\t\t// Animation\n\t\tconst animation = this.getAnimation();\n\t\tif (animation) {\n\t\t\tanimation.start(true);\n\t\t} else {\n\t\t\tthis.visible = false;\n\t\t\tthis.onAnimationEnd(true);\n\t\t}\n\n\t\tthis.emit(\"close\", this);\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (this._closeOn & DDialogCloseOn.ESC) {\n\t\t\tif (UtilKeyboardEvent.isCancelKey(e)) {\n\t\t\t\tthis.onCloseOn();\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onCloseOn(): void {\n\t\tthis.close();\n\t}\n\n\tprotected containsGlobalPoint(point: Point): boolean {\n\t\tswitch (this._mode) {\n\t\t\tcase DDialogMode.MODAL:\n\t\t\tcase DDialogMode.MENU:\n\t\t\t\treturn true;\n\t\t\tcase DDialogMode.MODELESS:\n\t\t\t\treturn super.containsGlobalPoint(point);\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialog\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-dialog.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Point, Rectangle } from \"pixi.js\";\nimport { DAnimation } from \"./d-animation\";\nimport { DApplicationLayerLike } from \"./d-application-layer-like\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DControllerFocus, DFocusable } from \"./d-controller-focus\";\nimport { DDialogAlign } from \"./d-dialog-align\";\nimport { DDialogCloseOn } from \"./d-dialog-close-on\";\nimport { DDialogGesture, DDialogGestureOptions } from \"./d-dialog-gesture\";\nimport { DDialogGestureImpl } from \"./d-dialog-gesture-impl\";\nimport { DDialogGestureMode } from \"./d-dialog-gesture-mode\";\nimport { DDialogMode } from \"./d-dialog-mode\";\nimport { DDialogState } from \"./d-dialog-state\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPadding } from \"./d-padding\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilAttach } from \"./util/util-attach\";\nimport { UtilClickOutside } from \"./util/util-click-outside\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilOverlay } from \"./util/util-overlay\";\nimport { DApplicationTarget } from \"./d-application-like\";\n\n/**\n * {@link DDialog} events.\n */\nexport interface DDialogEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a dialog is opened.\n\t *\n\t * @param emitter this\n\t */\n\topen(emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a dialog is closed.\n\t *\n\t * @param emitter this\n\t */\n\tclose(emitter: EMITTER): void;\n}\n\n/**\n * {@link DDialog} `on` options.\n */\nexport interface DDialogOnOptions<EMITTER> extends Partial<DDialogEvents<EMITTER>>, DOnOptions {}\n\n/**\n * {@link DDialog} options.\n */\nexport interface DDialogOptions<THEME extends DThemeDialog = DThemeDialog, EMITTER = any>\n\textends DBaseOptions<THEME> {\n\tcloseOn?: DDialogCloseOn | Array<keyof typeof DDialogCloseOn> | keyof typeof DDialogCloseOn;\n\n\tanimation?: DAnimation<DBase>;\n\n\t/**\n\t * A dialog mode.\n\t */\n\tmode?: DDialogMode | keyof typeof DDialogMode;\n\n\tsticky?: boolean;\n\n\tgesture?: boolean | DDialogGestureOptions;\n\n\talign?: DDialogAlign | null | keyof typeof DDialogAlign;\n\n\t/**\n\t * Mappings of event names and handlers.\n\t */\n\ton?: DDialogOnOptions<EMITTER>;\n}\n\n/**\n * {@link DDialog} theme.\n */\nexport interface DThemeDialog extends DThemeBase {\n\tgetMode(): DDialogMode;\n\tcloseOn(mode: DDialogMode): DDialogCloseOn;\n\tisSticky(mode: DDialogMode): boolean;\n\tisGestureEnabled(mode: DDialogMode): boolean;\n\tgetGestureMode(mode: DDialogMode): DDialogGestureMode;\n\tgetOffsetX(mode: DDialogMode): number;\n\tgetOffsetY(mode: DDialogMode): number;\n\tgetAlign(mode: DDialogMode): DDialogAlign | null;\n\tnewAnimation(mode: DDialogMode): DAnimation<DBase> | null;\n}\n\nexport interface DDialogOpener extends DApplicationTarget {\n\tgetBounds(skipUpdate?: boolean, rect?: Rectangle): Rectangle;\n}\n\n/**\n * A dialog class.\n *\n * If multiple application instances are there, better to set the constructor\n * option `parent` to an `application.stage` so that the dialog picks a right\n * application. `DDialog` searches applications in a following order:\n *\n * * To begin, `DDialog` tries to find applications which it belongs to.\n * * If `DDialog` can't find applications, then `DDialog` tries to find applications which openers belong to.\n * * If openers are not given, `DDialog` assumes the last created application at the very moment `DDialog` is instantiated is the one it belongs to.\n */\nexport class DDialog<\n\tVALUE = void,\n\tTHEME extends DThemeDialog = DThemeDialog,\n\tOPTIONS extends DDialogOptions<THEME> = DDialogOptions<THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_BOUNDS?: Rectangle;\n\n\tprotected _promise?: Promise<VALUE>;\n\tprotected _resolve?: (value: VALUE | PromiseLike<VALUE>) => void;\n\tprotected _reject?: (reason?: any) => void;\n\n\tprotected _animation?: DAnimation<DBase> | null;\n\tprotected _closeOn!: DDialogCloseOn;\n\tprotected _focused?: DFocusable | null;\n\tprotected _overlay!: UtilOverlay;\n\tprotected _mode!: DDialogMode;\n\tprotected _sticky!: boolean;\n\tprotected _onPrerenderBound!: () => void;\n\tprotected _align!: DDialogAlign | null;\n\tprotected _opener?: DDialogOpener | null;\n\n\tprotected _gesture!: DDialogGesture<this>;\n\tprotected _layer!: DApplicationLayerLike | null;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tthis._onPrerenderBound = (): void => {\n\t\t\tthis.onPrerender();\n\t\t};\n\t\tthis._layer = null;\n\n\t\t// Mode\n\t\tconst theme = this.theme;\n\t\tconst mode = toEnum(options?.mode ?? theme.getMode(), DDialogMode);\n\t\tthis._mode = mode;\n\n\t\t// Sticky\n\t\tthis._sticky = options?.sticky ?? theme.isSticky(mode);\n\n\t\t// Close On\n\t\tconst closeOn = this.toCloseOn(mode, theme, options);\n\t\tthis._closeOn = closeOn;\n\n\t\t// Align\n\t\tthis._align = this.toAlign(mode, theme, options);\n\n\t\t// Overlay\n\t\tthis._overlay = new UtilOverlay();\n\n\t\t// Gesture\n\t\tthis._gesture = new DDialogGestureImpl(this, this.toGestureOptions(mode, theme, options));\n\n\t\t// Visibility\n\t\tthis.visible = false;\n\n\t\t// State\n\t\tswitch (mode) {\n\t\t\tcase DDialogMode.MODAL:\n\t\t\t\tthis.state.addAll(DBaseState.FOCUS_ROOT, DDialogState.MODAL);\n\t\t\t\tbreak;\n\t\t\tcase DDialogMode.MODELESS:\n\t\t\t\tthis.state.add(DDialogState.MODELESS);\n\t\t\t\tbreak;\n\t\t\tcase DDialogMode.MENU:\n\t\t\t\tthis.state.addAll(DBaseState.FOCUS_ROOT, DDialogState.MENU);\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Outside-click handling\n\t\tif (closeOn & DDialogCloseOn.CLICK_OUTSIDE) {\n\t\t\tUtilClickOutside.apply(this, (): void => {\n\t\t\t\tthis.onCloseOn();\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected toCloseOn(mode: DDialogMode, theme: THEME, options?: OPTIONS): DDialogCloseOn {\n\t\tconst closeOn = options?.closeOn;\n\t\tif (closeOn == null) {\n\t\t\treturn theme.closeOn(mode);\n\t\t} else if (isArray(closeOn)) {\n\t\t\tlet result = DDialogCloseOn.NONE;\n\t\t\tfor (let i = 0, imax = closeOn.length; i < imax; ++i) {\n\t\t\t\tresult |= DDialogCloseOn[closeOn[i]];\n\t\t\t}\n\t\t\treturn result;\n\t\t} else if (isString(closeOn)) {\n\t\t\treturn DDialogCloseOn[closeOn];\n\t\t}\n\t\treturn closeOn;\n\t}\n\n\tprotected toAlign(mode: DDialogMode, theme: THEME, options?: OPTIONS): DDialogAlign | null {\n\t\tconst align = options?.align;\n\t\tif (align === null) {\n\t\t\treturn null;\n\t\t} else if (align === undefined) {\n\t\t\treturn theme.getAlign(mode);\n\t\t} else {\n\t\t\treturn toEnum(align, DDialogAlign);\n\t\t}\n\t}\n\n\tget mode(): DDialogMode {\n\t\treturn this._mode;\n\t}\n\n\tget align(): DDialogAlign | null {\n\t\treturn this._align;\n\t}\n\n\tset algin(align: DDialogAlign | null) {\n\t\tthis._align = align;\n\t}\n\n\tget gesture(): DDialogGesture<this> {\n\t\treturn this._gesture;\n\t}\n\n\tget layer(): DApplicationLayerLike | null {\n\t\treturn this._layer;\n\t}\n\n\tprotected toGestureOptions(\n\t\tmode: DDialogMode,\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS\n\t): DDialogGestureOptions {\n\t\tconst gesture = options?.gesture;\n\t\tif (gesture === true) {\n\t\t\treturn {\n\t\t\t\tenable: true,\n\t\t\t\tmode: theme.getGestureMode(mode)\n\t\t\t};\n\t\t} else if (gesture === false) {\n\t\t\treturn {\n\t\t\t\tenable: false,\n\t\t\t\tmode: theme.getGestureMode(mode)\n\t\t\t};\n\t\t} else if (gesture != null) {\n\t\t\tif (gesture.enable === undefined) {\n\t\t\t\tgesture.enable = theme.isGestureEnabled(mode);\n\t\t\t}\n\t\t\tif (gesture.mode === undefined) {\n\t\t\t\tgesture.mode = theme.getGestureMode(mode);\n\t\t\t}\n\t\t\treturn gesture;\n\t\t}\n\t\treturn {\n\t\t\tenable: theme.isGestureEnabled(mode),\n\t\t\tmode: theme.getGestureMode(mode)\n\t\t};\n\t}\n\n\tonParentResize(parentWidth: number, parentHeight: number, parentPadding: DPadding): void {\n\t\tif (this.isOpened()) {\n\t\t\tconst layer = this._layer;\n\t\t\tif (layer != null) {\n\t\t\t\tconst gesture = this._gesture;\n\t\t\t\tif (gesture.isDirty()) {\n\t\t\t\t\tconst position = this.position;\n\t\t\t\t\tgesture.constraint(this, layer, position.x, position.y);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsuper.onParentResize(parentWidth, parentHeight, parentPadding);\n\t}\n\n\tprotected getAnimation(): DAnimation | null {\n\t\tlet result = this._animation;\n\t\tif (result === undefined) {\n\t\t\tresult = this._options?.animation ?? this.theme.newAnimation(this._mode);\n\t\t\tif (result) {\n\t\t\t\tresult.target = this;\n\t\t\t\tresult.on(\"end\", (isReverse: boolean): void => {\n\t\t\t\t\tthis.onAnimationEnd(isReverse);\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis._animation = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onAnimationEnd(isReverse: boolean): void {\n\t\tif (isReverse) {\n\t\t\tif (this._mode === DDialogMode.MODELESS) {\n\t\t\t\tthis.hide();\n\t\t\t} else {\n\t\t\t\tconst parent = this.parent;\n\t\t\t\tif (parent) {\n\t\t\t\t\tparent.removeChild(this);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\tthis._focused = focusController.get();\n\t\t\t\tfocusController.focus(this.findFirstFocusable(focusController) || this);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected findFirstFocusable(focusController: DControllerFocus): DFocusable | null {\n\t\treturn focusController.find(this, false, true, true);\n\t}\n\n\t/**\n\t * Opens a dialog.\n\t *\n\t * @param opener An opener of a dialog.\n\t * The dialog position is determined based on a position and a size of the opener.\n\t * If the opener is undefined, the dialog is placed at the center of the screen.\n\t *\n\t * @returns a value of this dialog\n\t */\n\topen(opener?: DDialogOpener): Promise<VALUE> {\n\t\tlet result = this._promise;\n\t\tif (result == null) {\n\t\t\tresult = new Promise<VALUE>((resolve, reject): void => {\n\t\t\t\tthis._resolve = resolve;\n\t\t\t\tthis._reject = reject;\n\t\t\t});\n\t\t\tthis._promise = result;\n\n\t\t\tthis._opener = opener;\n\n\t\t\t// Attach to a layer\n\t\t\tlet layer: DApplicationLayerLike | null = null;\n\t\t\tswitch (this._mode) {\n\t\t\t\tcase DDialogMode.MODAL:\n\t\t\t\tcase DDialogMode.MENU:\n\t\t\t\t\tlayer = this._overlay.pick(this, opener);\n\t\t\t\t\tlayer.stage.addChild(this);\n\t\t\t\t\tbreak;\n\t\t\t\tcase DDialogMode.MODELESS:\n\t\t\t\t\tlayer = DApplications.getLayer(this);\n\t\t\t\t\tthis.show();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis._layer = layer;\n\n\t\t\t// Position & size\n\t\t\tconst gesture = this._gesture;\n\t\t\tif (gesture.mode === DDialogGestureMode.CLEAN) {\n\t\t\t\tgesture.toClean();\n\t\t\t}\n\t\t\tif (layer != null) {\n\t\t\t\tif (gesture.isClean()) {\n\t\t\t\t\tconst renderer = layer.renderer;\n\t\t\t\t\tconst onPrerenderBound = this._onPrerenderBound;\n\t\t\t\t\tif (this._sticky) {\n\t\t\t\t\t\trenderer.on(\"prerender\", onPrerenderBound);\n\t\t\t\t\t} else {\n\t\t\t\t\t\trenderer.once(\"prerender\", onPrerenderBound);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst position = this.position;\n\t\t\t\t\tgesture.constraint(this, layer, position.x, position.y);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Done\n\t\t\tthis.onOpen();\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onPrerender(): void {\n\t\tconst layer = this._layer;\n\t\tif (layer == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst align = this._align;\n\t\tif (align === DDialogAlign.NONE) {\n\t\t\treturn;\n\t\t}\n\t\tconst opener = this._opener;\n\t\tif (align != null && opener != null) {\n\t\t\tconst mode = this._mode;\n\t\t\tconst bounds = opener.getBounds(false, (DDialog.WORK_BOUNDS ??= new Rectangle()));\n\t\t\tconst theme = this.theme;\n\t\t\tUtilAttach.attach(\n\t\t\t\tthis,\n\t\t\t\tbounds,\n\t\t\t\ttheme.getOffsetX(mode),\n\t\t\t\ttheme.getOffsetY(mode),\n\t\t\t\tlayer.width,\n\t\t\t\tlayer.height,\n\t\t\t\talign\n\t\t\t);\n\t\t} else {\n\t\t\tthis.position.set((layer.width - this.width) * 0.5, (layer.height - this.height) * 0.5);\n\t\t}\n\t}\n\n\tprotected onOpen(): void {\n\t\tthis.emit(\"open\", this);\n\n\t\t// Animation\n\t\tconst animation = this.getAnimation();\n\t\tif (animation) {\n\t\t\tanimation.start();\n\t\t} else if (this._mode === DDialogMode.MENU) {\n\t\t\tthis.visible = true;\n\t\t\tthis.onAnimationEnd(false);\n\t\t}\n\t}\n\n\tisOpened(): boolean {\n\t\treturn this._promise != null;\n\t}\n\n\tclose(): void {\n\t\tthis.doReject();\n\t}\n\n\tprotected doResolve(value: VALUE | PromiseLike<VALUE>): void {\n\t\tconst resolve = this._resolve;\n\t\tif (resolve) {\n\t\t\tthis._promise = undefined;\n\t\t\tthis._resolve = undefined;\n\t\t\tthis._reject = undefined;\n\n\t\t\tthis.onClose();\n\n\t\t\tresolve(value);\n\t\t}\n\t}\n\n\tprotected doReject(reason?: any): void {\n\t\tconst reject = this._reject;\n\t\tif (reject) {\n\t\t\tthis._promise = undefined;\n\t\t\tthis._resolve = undefined;\n\t\t\tthis._reject = undefined;\n\n\t\t\tthis.onClose();\n\n\t\t\treject(reason);\n\t\t}\n\t}\n\n\tprotected onClose(): void {\n\t\t// Focus\n\t\tconst layer = this._layer;\n\t\tconst focused = this._focused;\n\t\tif (focused != null) {\n\t\t\tthis._focused = null;\n\t\t\tif (layer) {\n\t\t\t\tconst focusedLayer = DApplications.getLayer(focused);\n\t\t\t\tif (focusedLayer != null && layer !== focusedLayer) {\n\t\t\t\t\tfocusedLayer.view.focus();\n\t\t\t\t}\n\t\t\t\tlayer.getFocusController().focus(focused);\n\t\t\t} else {\n\t\t\t\tthis.blur(true);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.blur(true);\n\t\t}\n\n\t\t// Remove the prerender event handler and forget the layer\n\t\tif (layer) {\n\t\t\tlayer.renderer.off(\"prerender\", this._onPrerenderBound);\n\t\t\tthis._layer = null;\n\t\t}\n\n\t\t// Forget the opener\n\t\tthis._opener = null;\n\n\t\t// Animation\n\t\tconst animation = this.getAnimation();\n\t\tif (animation) {\n\t\t\tanimation.start(true);\n\t\t} else {\n\t\t\tthis.visible = false;\n\t\t\tthis.onAnimationEnd(true);\n\t\t}\n\n\t\tthis.emit(\"close\", this);\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (this._closeOn & DDialogCloseOn.ESC) {\n\t\t\tif (UtilKeyboardEvent.isCancelKey(e)) {\n\t\t\t\tthis.onCloseOn();\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onCloseOn(): void {\n\t\tthis.close();\n\t}\n\n\tprotected containsGlobalPoint(point: Point): boolean {\n\t\tswitch (this._mode) {\n\t\t\tcase DDialogMode.MODAL:\n\t\t\tcase DDialogMode.MENU:\n\t\t\t\treturn true;\n\t\t\tcase DDialogMode.MODELESS:\n\t\t\t\treturn super.containsGlobalPoint(point);\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialog\";\n\t}\n}\n"]}