@wcardinal/wcardinal-ui 0.332.0 → 0.334.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 (55) hide show
  1. package/dist/types/wcardinal/ui/d-base-padding-adjustable.d.ts +12 -34
  2. package/dist/types/wcardinal/ui/d-base.d.ts +2 -0
  3. package/dist/types/wcardinal/ui/d-button-select.d.ts +3 -3
  4. package/dist/types/wcardinal/ui/d-dialog-select-search-dismissable-impl.d.ts +7 -7
  5. package/dist/types/wcardinal/ui/d-dialog-select-search-dismissable.d.ts +4 -4
  6. package/dist/types/wcardinal/ui/d-dialog-select-search-impl.d.ts +4 -4
  7. package/dist/types/wcardinal/ui/d-dialog-select-search.d.ts +2 -2
  8. package/dist/types/wcardinal/ui/d-dialog-select.d.ts +42 -14
  9. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree-input.d.ts +1 -1
  10. package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +1 -0
  11. package/dist/types/wcardinal/ui/d-tree-item-text.d.ts +1 -0
  12. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-dialog-select.d.ts +2 -0
  13. package/dist/types/wcardinal/ui/theme/white/d-theme-white-dialog-select.d.ts +2 -0
  14. package/dist/types/wcardinal/ui/util/index.d.ts +1 -0
  15. package/dist/types/wcardinal/ui/util/to-id.d.ts +1 -0
  16. package/dist/wcardinal/ui/d-base-padding-adjustable.js +27 -88
  17. package/dist/wcardinal/ui/d-base-padding-adjustable.js.map +1 -1
  18. package/dist/wcardinal/ui/d-base.js +5 -1
  19. package/dist/wcardinal/ui/d-base.js.map +1 -1
  20. package/dist/wcardinal/ui/d-button-select.js +2 -37
  21. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  22. package/dist/wcardinal/ui/d-dialog-select-search-dismissable-impl.js.map +1 -1
  23. package/dist/wcardinal/ui/d-dialog-select-search-dismissable.js.map +1 -1
  24. package/dist/wcardinal/ui/d-dialog-select-search-impl.js +1 -1
  25. package/dist/wcardinal/ui/d-dialog-select-search-impl.js.map +1 -1
  26. package/dist/wcardinal/ui/d-dialog-select-search.js.map +1 -1
  27. package/dist/wcardinal/ui/d-dialog-select.js +162 -15
  28. package/dist/wcardinal/ui/d-dialog-select.js.map +1 -1
  29. package/dist/wcardinal/ui/d-table-body-cell-input-tree-input.js +5 -4
  30. package/dist/wcardinal/ui/d-table-body-cell-input-tree-input.js.map +1 -1
  31. package/dist/wcardinal/ui/d-table-body-cell-tree.js +4 -4
  32. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  33. package/dist/wcardinal/ui/d-tree-item-text.js +3 -1
  34. package/dist/wcardinal/ui/d-tree-item-text.js.map +1 -1
  35. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js +6 -2
  36. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js.map +1 -1
  37. package/dist/wcardinal/ui/theme/dark/d-theme-dark-dialog-select.js +9 -1
  38. package/dist/wcardinal/ui/theme/dark/d-theme-dark-dialog-select.js.map +1 -1
  39. package/dist/wcardinal/ui/theme/white/d-theme-white-dialog-select.js +9 -1
  40. package/dist/wcardinal/ui/theme/white/d-theme-white-dialog-select.js.map +1 -1
  41. package/dist/wcardinal/ui/util/index.js +1 -0
  42. package/dist/wcardinal/ui/util/index.js.map +1 -1
  43. package/dist/wcardinal/ui/util/to-id.js +27 -0
  44. package/dist/wcardinal/ui/util/to-id.js.map +1 -0
  45. package/dist/wcardinal-ui-theme-dark.js +10 -2
  46. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  47. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  48. package/dist/wcardinal-ui-theme-white.js +10 -2
  49. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  50. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  51. package/dist/wcardinal-ui.cjs.js +252 -156
  52. package/dist/wcardinal-ui.js +238 -154
  53. package/dist/wcardinal-ui.min.js +2 -2
  54. package/dist/wcardinal-ui.min.js.map +1 -1
  55. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"d-dialog-select-search-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select-search-impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;IACS,0CAAkB;IAO1B,gCAAY,MAA2C;QAAvD,YACC,iBAAO,SAKP;QAHA,KAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,UAAC,CAAS,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAnB,CAAmB,CAAC,CAAC;QAC9D,KAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC;;IACvB,CAAC;IAED,uCAAM,GAAN,UAAO,IAAc;QAArB,iBAmBC;QAlBA,IAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACzB,UAAC,YAAqB;YACrB,IAAI,KAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACpB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAI,EAAE,YAAY,CAAC,CAAC;gBACzC,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,CAAC;aAC1B;QACF,CAAC,EACD;YACC,IAAI,KAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACpB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAI,CAAC,CAAC;gBACxB,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,CAAC;aAC1B;QACF,CAAC,CACD,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,uCAAM,GAAN;QACC,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC;IACvC,CAAC;IACF,6BAAC;AAAD,CAAC,AAxCD,CACS,KAAK,CAAC,YAAY,GAuC1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DDialogSelectSearch } from \"./d-dialog-select-search\";\n\nexport class DDialogSelectSearhImpl<VALUE>\n\textends utils.EventEmitter\n\timplements DDialogSelectSearch<VALUE>\n{\n\tprotected _search: (word: string) => Promise<VALUE[]>;\n\tprotected _id: number;\n\tprotected _idCompleted: number;\n\n\tconstructor(search?: (word: string) => Promise<VALUE[]>) {\n\t\tsuper();\n\n\t\tthis._search = search || ((_: string) => Promise.resolve([]));\n\t\tthis._id = 0;\n\t\tthis._idCompleted = 0;\n\t}\n\n\tcreate(args: [string]): void {\n\t\tconst id = ++this._id;\n\t\tthis._search(args[0]).then(\n\t\t\t(searchResult: VALUE[]) => {\n\t\t\t\tif (this._id === id) {\n\t\t\t\t\tthis._idCompleted = id;\n\t\t\t\t\tthis.emit(\"success\", this, searchResult);\n\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t}\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tif (this._id === id) {\n\t\t\t\t\tthis._idCompleted = id;\n\t\t\t\t\tthis.emit(\"fail\", this);\n\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tisDone(): boolean {\n\t\treturn this._id === this._idCompleted;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-dialog-select-search-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select-search-impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;IACS,0CAAkB;IAO1B,gCAAY,MAAoE;QAAhF,YACC,iBAAO,SAKP;QAHA,KAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,UAAC,CAAS,IAAK,OAAA,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAnB,CAAmB,CAAC,CAAC;QAC9D,KAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC;;IACvB,CAAC;IAED,uCAAM,GAAN,UAAO,IAA2B;QAAlC,iBAmBC;QAlBA,IAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAClC,UAAC,YAAqB;YACrB,IAAI,KAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACpB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAI,EAAE,YAAY,CAAC,CAAC;gBACzC,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,CAAC;aAC1B;QACF,CAAC,EACD;YACC,IAAI,KAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACpB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAI,CAAC,CAAC;gBACxB,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,CAAC;aAC1B;QACF,CAAC,CACD,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,uCAAM,GAAN;QACC,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC;IACvC,CAAC;IACF,6BAAC;AAAD,CAAC,AAxCD,CACS,KAAK,CAAC,YAAY,GAuC1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DDialogSelectSearch } from \"./d-dialog-select-search\";\n\nexport class DDialogSelectSearhImpl<VALUE, CATEGORY, CATEGORY_ID>\n\textends utils.EventEmitter\n\timplements DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID>\n{\n\tprotected _search: (word: string, categoryId: CATEGORY_ID) => Promise<VALUE[]>;\n\tprotected _id: number;\n\tprotected _idCompleted: number;\n\n\tconstructor(search?: (word: string, categoryId: CATEGORY_ID) => Promise<VALUE[]>) {\n\t\tsuper();\n\n\t\tthis._search = search || ((_: string) => Promise.resolve([]));\n\t\tthis._id = 0;\n\t\tthis._idCompleted = 0;\n\t}\n\n\tcreate(args: [string, CATEGORY_ID]): void {\n\t\tconst id = ++this._id;\n\t\tthis._search(args[0], args[1]).then(\n\t\t\t(searchResult: VALUE[]) => {\n\t\t\t\tif (this._id === id) {\n\t\t\t\t\tthis._idCompleted = id;\n\t\t\t\t\tthis.emit(\"success\", this, searchResult);\n\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t}\n\t\t\t},\n\t\t\t() => {\n\t\t\t\tif (this._id === id) {\n\t\t\t\t\tthis._idCompleted = id;\n\t\t\t\t\tthis.emit(\"fail\", this);\n\t\t\t\t\tthis.emit(\"change\", this);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tisDone(): boolean {\n\t\treturn this._id === this._idCompleted;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-dialog-select-search.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select-search.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * {@link DDialogSelect} search object.\n */\nexport interface DDialogSelectSearch<VALUE> {\n\tcreate(args: [string]): void;\n\ton(event: \"success\", handler: (e: unknown, searchResults: VALUE[]) => void): void;\n\ton(event: \"fail\", handler: () => void): void;\n\ton(event: \"change\", handler: () => void): void;\n\tisDone(): boolean;\n}\n"]}
1
+ {"version":3,"file":"d-dialog-select-search.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select-search.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * {@link DDialogSelect} search object.\n */\nexport interface DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID> {\n\tcreate(args: [string, CATEGORY_ID | null]): void;\n\ton(event: \"success\", handler: (e: unknown, searchResults: VALUE[]) => void): void;\n\ton(event: \"fail\", handler: () => void): void;\n\ton(event: \"change\", handler: () => void): void;\n\tisDone(): boolean;\n}\n"]}
@@ -14,6 +14,9 @@ import { DNoteSmallNoItemsFound } from "./d-note-small-no-items-found";
14
14
  import { DNoteSmallSearching } from "./d-note-small-searching";
15
15
  import { UtilTransition } from "./util/util-transition";
16
16
  import { DDialogSelectSearhDismissableImpl } from "./d-dialog-select-search-dismissable-impl";
17
+ import { DSelect } from "./d-select";
18
+ import { DMenu } from "./d-menu";
19
+ import { isArray } from "./util/is-array";
17
20
  var DDialogSelect = /** @class */ (function (_super) {
18
21
  __extends(DDialogSelect, _super);
19
22
  function DDialogSelect(options) {
@@ -54,7 +57,7 @@ var DDialogSelect = /** @class */ (function (_super) {
54
57
  get: function () {
55
58
  var result = this._inputLayout;
56
59
  if (result == null) {
57
- result = this.newInputLayout(this.input, this.theme, this._options);
60
+ result = this.newInputLayout();
58
61
  this._inputLayout = result;
59
62
  }
60
63
  return result;
@@ -62,20 +65,78 @@ var DDialogSelect = /** @class */ (function (_super) {
62
65
  enumerable: false,
63
66
  configurable: true
64
67
  });
65
- DDialogSelect.prototype.newInputLayout = function (input, theme, options) {
66
- return new DLayoutHorizontal(this.toInputLayoutOptions(input, theme, options));
67
- };
68
- DDialogSelect.prototype.toInputLayoutOptions = function (input, theme, options) {
69
- var margin = this.toInputMargin(theme, options);
70
- return {
68
+ DDialogSelect.prototype.newInputLayout = function () {
69
+ return new DLayoutHorizontal({
71
70
  width: "padding",
72
71
  height: "auto",
73
- children: [
74
- new DLayoutSpace({ width: margin }),
75
- input,
76
- new DLayoutSpace({ width: margin })
77
- ]
78
- };
72
+ children: [this.spaceLeft, this.selectCategory, this.input, this.spaceRight]
73
+ });
74
+ };
75
+ Object.defineProperty(DDialogSelect.prototype, "spaceLeft", {
76
+ get: function () {
77
+ var result = this._spaceLeft;
78
+ if (result == null) {
79
+ result = this.newSpace();
80
+ this._spaceLeft = result;
81
+ }
82
+ return result;
83
+ },
84
+ enumerable: false,
85
+ configurable: true
86
+ });
87
+ Object.defineProperty(DDialogSelect.prototype, "spaceRight", {
88
+ get: function () {
89
+ var result = this._spaceRight;
90
+ if (result == null) {
91
+ result = this.newSpace();
92
+ this._spaceRight = result;
93
+ }
94
+ return result;
95
+ },
96
+ enumerable: false,
97
+ configurable: true
98
+ });
99
+ DDialogSelect.prototype.newSpace = function () {
100
+ return new DLayoutSpace({
101
+ width: this.toInputMargin(this.theme, this._options)
102
+ });
103
+ };
104
+ Object.defineProperty(DDialogSelect.prototype, "selectCategory", {
105
+ get: function () {
106
+ var result = this._selectCategory;
107
+ if (result === undefined) {
108
+ result = this.newSelectCategory();
109
+ this._selectCategory = result;
110
+ }
111
+ return result;
112
+ },
113
+ enumerable: false,
114
+ configurable: true
115
+ });
116
+ DDialogSelect.prototype.newSelectCategory = function () {
117
+ var _this = this;
118
+ var options = this._options;
119
+ if (options != null) {
120
+ var controller = options.controller;
121
+ if (controller != null && controller.getCategories != null) {
122
+ var result = new DSelect(this.toSelectCategoryOptions(this.theme, this._options));
123
+ result.on("change", function (value) {
124
+ _this.onSelectCategoryChange(value);
125
+ });
126
+ return result;
127
+ }
128
+ }
129
+ return null;
130
+ };
131
+ DDialogSelect.prototype.toSelectCategoryOptions = function (theme, options) {
132
+ var result = (options === null || options === void 0 ? void 0 : options.category) || {};
133
+ if (result.width === undefined && result.weight === undefined) {
134
+ result.width = 140;
135
+ }
136
+ return result;
137
+ };
138
+ DDialogSelect.prototype.onSelectCategoryChange = function (categoryId) {
139
+ this.search.create([this.input.value, categoryId]);
79
140
  };
80
141
  Object.defineProperty(DDialogSelect.prototype, "input", {
81
142
  get: function () {
@@ -93,7 +154,7 @@ var DDialogSelect = /** @class */ (function (_super) {
93
154
  var _this = this;
94
155
  var result = new DInputSearch(this.toInputOptions(this.theme, this._options));
95
156
  result.on("input", function (value) {
96
- _this.search.create([value]);
157
+ _this.onInputInput(value);
97
158
  });
98
159
  return result;
99
160
  };
@@ -108,6 +169,10 @@ var DDialogSelect = /** @class */ (function (_super) {
108
169
  var _a, _b;
109
170
  return (_b = (_a = options === null || options === void 0 ? void 0 : options.input) === null || _a === void 0 ? void 0 : _a.margin) !== null && _b !== void 0 ? _b : theme.getInputMargin();
110
171
  };
172
+ DDialogSelect.prototype.onInputInput = function (value) {
173
+ var _a, _b;
174
+ this.search.create([value, (_b = (_a = this.selectCategory) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null]);
175
+ };
111
176
  Object.defineProperty(DDialogSelect.prototype, "list", {
112
177
  get: function () {
113
178
  var result = this._list;
@@ -286,9 +351,91 @@ var DDialogSelect = /** @class */ (function (_super) {
286
351
  return "DDialogSelect";
287
352
  };
288
353
  DDialogSelect.prototype.onOpen = function () {
354
+ var _this = this;
289
355
  _super.prototype.onOpen.call(this);
290
356
  this.list.selection.clear();
291
- this.search.create([this.input.value]);
357
+ var selectCategory = this.selectCategory;
358
+ if (selectCategory != null) {
359
+ if (this._isCategoryFetched !== true) {
360
+ this._isCategoryFetched = true;
361
+ var categoriesOrPromise = this.findCategories();
362
+ if (categoriesOrPromise == null) {
363
+ this.search.create([this.input.value, null]);
364
+ }
365
+ else if (isArray(categoriesOrPromise)) {
366
+ this.onCategoryFetched(selectCategory, categoriesOrPromise);
367
+ }
368
+ else {
369
+ selectCategory.state.isEnabled = false;
370
+ categoriesOrPromise.then(function (categories) {
371
+ selectCategory.state.isEnabled = true;
372
+ _this.onCategoryFetched(selectCategory, categories);
373
+ });
374
+ }
375
+ }
376
+ else {
377
+ this.search.create([this.input.value, selectCategory.value]);
378
+ }
379
+ }
380
+ else {
381
+ this.search.create([this.input.value, null]);
382
+ }
383
+ };
384
+ DDialogSelect.prototype.onCategoryFetched = function (selectCategory, categories) {
385
+ var items = [];
386
+ for (var i = 0, imax = categories.length; i < imax; ++i) {
387
+ var category = categories[i];
388
+ items.push({
389
+ value: this.toCategoryId(category),
390
+ text: {
391
+ value: this.toCategoryLabel(category)
392
+ }
393
+ });
394
+ }
395
+ selectCategory.menu = new DMenu({
396
+ fit: true,
397
+ items: items
398
+ });
399
+ var newValue = 0 < items.length ? items[0].value : null;
400
+ selectCategory.value = newValue;
401
+ selectCategory.show();
402
+ this.search.create([this.input.value, newValue]);
403
+ };
404
+ DDialogSelect.prototype.toCategoryId = function (target) {
405
+ var options = this._options;
406
+ if (options != null) {
407
+ var category = options.category;
408
+ if (category != null) {
409
+ var toId = category.toId;
410
+ if (toId != null) {
411
+ return toId(target);
412
+ }
413
+ }
414
+ }
415
+ return this.theme.toCategoryId(target);
416
+ };
417
+ DDialogSelect.prototype.toCategoryLabel = function (target) {
418
+ var options = this._options;
419
+ if (options != null) {
420
+ var category = options.category;
421
+ if (category != null) {
422
+ var toLabel = category.toLabel;
423
+ if (toLabel != null) {
424
+ return toLabel(target);
425
+ }
426
+ }
427
+ }
428
+ return this.theme.toCategoryLabel(target);
429
+ };
430
+ DDialogSelect.prototype.findCategories = function () {
431
+ var options = this._options;
432
+ if (options != null) {
433
+ var controller = options.controller;
434
+ if (controller != null && controller.getCategories != null) {
435
+ return controller.getCategories();
436
+ }
437
+ }
438
+ return null;
292
439
  };
293
440
  DDialogSelect.prototype.onOk = function (value) {
294
441
  this.emit("select", value, this);
@@ -1 +1 @@
1
- {"version":3,"file":"d-dialog-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport {\n\tDDialogLayered,\n\tDDialogLayeredEvents,\n\tDDialogLayeredOptions,\n\tDThemeDialogLayered\n} from \"./d-dialog-layered\";\nimport { DDialogSelectList, DDialogSelectListOptions } from \"./d-dialog-select-list\";\nimport { DDialogSelectSearhImpl } from \"./d-dialog-select-search-impl\";\nimport { DInputSearch, DInputSearchOptions } from \"./d-input-search\";\nimport { DLayoutHorizontal, DLayoutHorizontalOptions } from \"./d-layout-horizontal\";\nimport { DLayoutSpace } from \"./d-layout-space\";\nimport { DListOptions } from \"./d-list\";\nimport { DListDataSelection } from \"./d-list-data-selection\";\nimport { DNote, DNoteOptions } from \"./d-note\";\nimport { DNoteSmallError } from \"./d-note-small-error\";\nimport { DNoteSmallNoItemsFound } from \"./d-note-small-no-items-found\";\nimport { DNoteSmallSearching } from \"./d-note-small-searching\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { UtilTransition } from \"./util/util-transition\";\nimport { DDialogSelectSearch } from \"./d-dialog-select-search\";\nimport { DDialogSelectSearhDismissableOptions } from \"./d-dialog-select-search-dismissable\";\nimport { DDialogSelectSearhDismissableImpl } from \"./d-dialog-select-search-dismissable-impl\";\n\nexport interface DDialogSelectInputOpitons extends DInputSearchOptions {\n\tmargin?: number;\n}\n\n/**\n * {@link DDialogSelect} search function.\n */\nexport type DDialogSelectSearchFunction<VALUE> = (word: string) => Promise<VALUE[]>;\n\n/**\n * {@link DDialogSelect} controller.\n */\nexport interface DDialogSelectController<VALUE> {\n\tsearch: DDialogSelectSearch<VALUE> | DDialogSelectSearchFunction<VALUE>;\n}\n\n/**\n * {@link DDialogSelect} note options.\n */\nexport interface DDialogSelectNoteOptions {\n\terror?: DNoteOptions | null;\n\tnoItemsFound?: DNoteOptions | null;\n\tsearching?: DNoteOptions | null;\n}\n\nexport type DDialogSelectItemToLabel<VALUE> = (result: VALUE, caller: any) => string;\n\nexport type DDialogSelectItemIsEqual<VALUE> = (a: VALUE, b: VALUE, caller: any) => boolean;\n\n/**\n * {@link DDialogSelect} events.\n */\nexport interface DDialogSelectEvents<VALUE, EMITTER> extends DDialogLayeredEvents<VALUE, EMITTER> {\n\tselect(value: VALUE, self: EMITTER): void;\n}\n\n/**\n * {@link DDialogSelect} \"on\" options.\n */\nexport interface DDialogSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DDialogSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDialogSelect} options.\n */\nexport interface DDialogSelectOptions<\n\tVALUE,\n\tTHEME extends DThemeDialogSelect<VALUE> = DThemeDialogSelect<VALUE>,\n\tEMITTER = any\n> extends DDialogLayeredOptions<VALUE, THEME> {\n\tcontroller?: DDialogSelectController<VALUE>;\n\tdismiss?: DDialogSelectSearhDismissableOptions<VALUE>;\n\tinput?: DDialogSelectInputOpitons;\n\tlist?: DListOptions<VALUE>;\n\tnote?: DDialogSelectNoteOptions;\n\ton?: DDialogSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DDialogSelect} theme.\n */\nexport interface DThemeDialogSelect<VALUE = unknown> extends DThemeDialogLayered {\n\tgetInputMargin(): number;\n}\n\nexport class DDialogSelect<\n\tVALUE = unknown,\n\tTHEME extends DThemeDialogSelect<VALUE> = DThemeDialogSelect<VALUE>,\n\tOPTIONS extends DDialogSelectOptions<VALUE, THEME> = DDialogSelectOptions<VALUE, THEME>\n> extends DDialogLayered<VALUE | null, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\tprotected _input?: DInputSearch;\n\tprotected _inputLayout?: DLayoutHorizontal;\n\tprotected _list?: DDialogSelectList<VALUE>;\n\tprotected _search?: DDialogSelectSearch<VALUE>;\n\tprotected _noteError?: DNote | null;\n\tprotected _noteNoItemsFound?: DNote | null;\n\tprotected _noteSearching?: DNote | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis._value = null;\n\n\t\t// Controller binding\n\t\tconst transition = new UtilTransition();\n\t\tconst search = this.search;\n\t\tsearch.on(\"success\", (e: unknown, results: VALUE[]): void => {\n\t\t\tif (0 < results.length) {\n\t\t\t\ttransition.hide();\n\t\t\t} else {\n\t\t\t\ttransition.show(this.noteNoItemsFound);\n\t\t\t}\n\t\t\tthis.onSearched(results);\n\t\t});\n\t\tsearch.on(\"fail\", (): void => {\n\t\t\ttransition.show(this.noteError);\n\t\t\tthis.onSearched([]);\n\t\t});\n\t\tsearch.on(\"change\", (): void => {\n\t\t\tif (!search.isDone()) {\n\t\t\t\tconst noteSearching = this.noteSearching;\n\t\t\t\tif (noteSearching) {\n\t\t\t\t\ttransition.show(noteSearching);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected newContentChildren(theme: THEME, options?: OPTIONS): Array<DisplayObject | null> {\n\t\tconst result = super.newContentChildren(theme, options);\n\t\tresult.push(this.inputLayout, this.list);\n\t\treturn result;\n\t}\n\n\tprotected get inputLayout(): DLayoutHorizontal {\n\t\tlet result = this._inputLayout;\n\t\tif (result == null) {\n\t\t\tresult = this.newInputLayout(this.input, this.theme, this._options);\n\t\t\tthis._inputLayout = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInputLayout(\n\t\tinput: DInputSearch,\n\t\ttheme: THEME,\n\t\toptions: OPTIONS | undefined\n\t): DLayoutHorizontal {\n\t\treturn new DLayoutHorizontal(this.toInputLayoutOptions(input, theme, options));\n\t}\n\n\tprotected toInputLayoutOptions(\n\t\tinput: DInputSearch,\n\t\ttheme: THEME,\n\t\toptions: OPTIONS | undefined\n\t): DLayoutHorizontalOptions {\n\t\tconst margin = this.toInputMargin(theme, options);\n\t\treturn {\n\t\t\twidth: \"padding\",\n\t\t\theight: \"auto\",\n\t\t\tchildren: [\n\t\t\t\tnew DLayoutSpace({ width: margin }),\n\t\t\t\tinput,\n\t\t\t\tnew DLayoutSpace({ width: margin })\n\t\t\t]\n\t\t};\n\t}\n\n\tget input(): DInputSearch {\n\t\tlet result = this._input;\n\t\tif (result == null) {\n\t\t\tresult = this.newInput();\n\t\t\tthis._input = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInput(): DInputSearch {\n\t\tconst result = new DInputSearch(this.toInputOptions(this.theme, this._options));\n\t\tresult.on(\"input\", (value: string): void => {\n\t\t\tthis.search.create([value]);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected toInputOptions(theme: THEME, options?: OPTIONS): DInputSearchOptions {\n\t\tconst result = options?.input || {};\n\t\tif (result.width === undefined && result.weight === undefined) {\n\t\t\tresult.weight = 1;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toInputMargin(theme: THEME, options?: OPTIONS): number {\n\t\treturn options?.input?.margin ?? theme.getInputMargin();\n\t}\n\n\tget list(): DDialogSelectList<VALUE> {\n\t\tlet result = this._list;\n\t\tif (result == null) {\n\t\t\tresult = this.newList();\n\t\t\tthis._list = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newList(): DDialogSelectList<VALUE> {\n\t\tconst result = new DDialogSelectList<VALUE>(this.toListOptions(this.theme, this._options));\n\t\tresult.selection.on(\"change\", (selection: DListDataSelection<VALUE>): void => {\n\t\t\tthis.onListSelectionChange(selection);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onListSelectionChange(selection: DListDataSelection<VALUE>): void {\n\t\tlet selected = selection.first;\n\t\tif (selected == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst dismiss = options.dismiss;\n\t\t\tif (dismiss) {\n\t\t\t\tif (selected === dismiss.value) {\n\t\t\t\t\tselected = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._value = selected;\n\t\tthis.onOk(selected);\n\t}\n\n\tprotected toListOptions(theme: THEME, options?: OPTIONS): DDialogSelectListOptions<VALUE> {\n\t\tconst result = options?.list || {};\n\t\tif (result.width === undefined) {\n\t\t\tresult.width = \"padding\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get noteError(): DNote | null {\n\t\tlet result = this._noteError;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteError();\n\t\t\tthis._noteError = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteError(): DNote | null {\n\t\tconst error = this._options?.note?.error;\n\t\tif (error !== null) {\n\t\t\treturn new DNoteSmallError(this.toNoteOptions(this.list, error));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteNoItemsFound(): DNote | null {\n\t\tlet result = this._noteNoItemsFound;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteNoItemsFound();\n\t\t\tthis._noteNoItemsFound = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteNoItemsFound(): DNote | null {\n\t\tconst noItemsFound = this._options?.note?.noItemsFound;\n\t\tif (noItemsFound !== null) {\n\t\t\treturn new DNoteSmallNoItemsFound(this.toNoteOptions(this.list, noItemsFound));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteSearching(): DNote | null {\n\t\tlet result = this._noteSearching;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteSearching();\n\t\t\tthis._noteSearching = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteSearching(): DNote | null {\n\t\tconst searching = this._options?.note?.searching;\n\t\t// Because the `searching` note is disabled by default,\n\t\t// if options.searching is missing, i.e., if its value is undefined,\n\t\t// this method returns null. This is why `!=` is used here instead of `!==`.\n\t\tif (searching != null) {\n\t\t\treturn new DNoteSmallSearching(this.toNoteOptions(this.list, searching));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toNoteOptions(parent: DBase, options?: DNoteOptions): DNoteOptions {\n\t\tif (options != null) {\n\t\t\tif (options.parent == null) {\n\t\t\t\toptions.parent = parent;\n\t\t\t}\n\t\t\tif (options.visible == null) {\n\t\t\t\toptions.visible = false;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tparent,\n\t\t\tvisible: false\n\t\t};\n\t}\n\n\tprotected get search(): DDialogSelectSearch<VALUE> {\n\t\tlet result = this._search;\n\t\tif (result == null) {\n\t\t\tresult = this.newSearch();\n\t\t\tthis._search = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSearch(): DDialogSelectSearch<VALUE> {\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller) {\n\t\t\t\tconst dismiss = options.dismiss;\n\t\t\t\tconst search = controller.search;\n\t\t\t\tif (\"create\" in search) {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(search, dismiss);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn search;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(\n\t\t\t\t\t\t\tnew DDialogSelectSearhImpl(search),\n\t\t\t\t\t\t\tdismiss\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn new DDialogSelectSearhImpl(search);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn new DDialogSelectSearhImpl();\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\tprotected onSearched(results: VALUE[]): void {\n\t\tthis.list.data.items = results;\n\t}\n\n\tprotected getResolvedValue(): VALUE | null | PromiseLike<VALUE | null> {\n\t\treturn this._value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialogSelect\";\n\t}\n\n\tprotected onOpen(): void {\n\t\tsuper.onOpen();\n\t\tthis.list.selection.clear();\n\t\tthis.search.create([this.input.value]);\n\t}\n\n\tprotected onOk(value: VALUE | null | PromiseLike<VALUE | null>): void {\n\t\tthis.emit(\"select\", value, this);\n\t\tsuper.onOk(value);\n\t}\n\n\tdestroy(): void {\n\t\tconst input = this._input;\n\t\tif (input) {\n\t\t\tinput.destroy();\n\t\t}\n\t\tconst noteError = this._noteError;\n\t\tif (noteError) {\n\t\t\tnoteError.destroy();\n\t\t}\n\t\tconst noteNoItemsFound = this._noteNoItemsFound;\n\t\tif (noteNoItemsFound) {\n\t\t\tnoteNoItemsFound?.destroy();\n\t\t}\n\t\tconst noteSearching = this._noteSearching;\n\t\tif (noteSearching) {\n\t\t\tnoteSearching?.destroy();\n\t\t}\n\t\tconst list = this._list;\n\t\tif (list) {\n\t\t\tlist.destroy();\n\t\t}\n\t\tsuper.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-dialog-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dialog-select.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport {\n\tDDialogLayered,\n\tDDialogLayeredEvents,\n\tDDialogLayeredOptions,\n\tDThemeDialogLayered\n} from \"./d-dialog-layered\";\nimport { DDialogSelectList, DDialogSelectListOptions } from \"./d-dialog-select-list\";\nimport { DDialogSelectSearhImpl } from \"./d-dialog-select-search-impl\";\nimport { DInputSearch, DInputSearchOptions } from \"./d-input-search\";\nimport { DLayoutHorizontal } from \"./d-layout-horizontal\";\nimport { DLayoutSpace } from \"./d-layout-space\";\nimport { DListOptions } from \"./d-list\";\nimport { DListDataSelection } from \"./d-list-data-selection\";\nimport { DNote, DNoteOptions } from \"./d-note\";\nimport { DNoteSmallError } from \"./d-note-small-error\";\nimport { DNoteSmallNoItemsFound } from \"./d-note-small-no-items-found\";\nimport { DNoteSmallSearching } from \"./d-note-small-searching\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { UtilTransition } from \"./util/util-transition\";\nimport { DDialogSelectSearch } from \"./d-dialog-select-search\";\nimport { DDialogSelectSearhDismissableOptions } from \"./d-dialog-select-search-dismissable\";\nimport { DDialogSelectSearhDismissableImpl } from \"./d-dialog-select-search-dismissable-impl\";\nimport { DSelect, DSelectOptions } from \"./d-select\";\nimport { DMenu } from \"./d-menu\";\nimport { isArray } from \"./util/is-array\";\n\nexport interface DDialogSelectInputOpitons extends DInputSearchOptions {\n\tmargin?: number;\n}\n\n/**\n * {@link DDialogSelect} search function.\n */\nexport type DDialogSelectSearchFunction<VALUE, CATEGORY, CATEGORY_ID> = (\n\tword: string,\n\tcategoryId: CATEGORY_ID\n) => Promise<VALUE[]>;\n\n/**\n * {@link DDialogSelect} controller.\n */\nexport interface DDialogSelectController<VALUE, CATEGORY, CATEGORY_ID> {\n\tsearch:\n\t\t| DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID>\n\t\t| DDialogSelectSearchFunction<VALUE, CATEGORY, CATEGORY_ID>;\n\tgetCategories?: () => Promise<CATEGORY[]>;\n}\n\n/**\n * {@link DDialogSelect} note options.\n */\nexport interface DDialogSelectNoteOptions {\n\terror?: DNoteOptions | null;\n\tnoItemsFound?: DNoteOptions | null;\n\tsearching?: DNoteOptions | null;\n}\n\nexport type DDialogSelectItemToLabel<VALUE> = (result: VALUE, caller: any) => string;\n\nexport type DDialogSelectItemIsEqual<VALUE> = (a: VALUE, b: VALUE, caller: any) => boolean;\n\n/**\n * {@link DDialogSelect} events.\n */\nexport interface DDialogSelectEvents<VALUE, EMITTER> extends DDialogLayeredEvents<VALUE, EMITTER> {\n\tselect(value: VALUE, self: EMITTER): void;\n}\n\n/**\n * {@link DDialogSelect} category options.\n */\nexport interface DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID>\n\textends DSelectOptions<CATEGORY_ID> {\n\ttoId?: (category: CATEGORY) => CATEGORY_ID;\n\ttoLabel?: (category: CATEGORY) => string;\n}\n\n/**\n * {@link DDialogSelect} \"on\" options.\n */\nexport interface DDialogSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DDialogSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DDialogSelect} options.\n */\nexport interface DDialogSelectOptions<\n\tVALUE,\n\tCATEGORY = unknown,\n\tCATEGORY_ID = unknown,\n\tTHEME extends DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID> = DThemeDialogSelect<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID\n\t>,\n\tEMITTER = any\n> extends DDialogLayeredOptions<VALUE, THEME> {\n\tcontroller?: DDialogSelectController<VALUE, CATEGORY, CATEGORY_ID>;\n\tcategory?: DDialogSelectCategoryOptions<VALUE, CATEGORY, CATEGORY_ID>;\n\tdismiss?: DDialogSelectSearhDismissableOptions<VALUE, CATEGORY, CATEGORY_ID>;\n\tinput?: DDialogSelectInputOpitons;\n\tlist?: DListOptions<VALUE>;\n\tnote?: DDialogSelectNoteOptions;\n\ton?: DDialogSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DDialogSelect} theme.\n */\nexport interface DThemeDialogSelect<VALUE = unknown, CATEGORY = unknown, CATEGORY_ID = unknown>\n\textends DThemeDialogLayered {\n\tgetInputMargin(): number;\n\ttoCategoryId(category: CATEGORY): CATEGORY_ID;\n\ttoCategoryLabel(category: CATEGORY): string;\n}\n\nexport class DDialogSelect<\n\tVALUE = unknown,\n\tCATEGORY = unknown,\n\tCATEGORY_ID = unknown,\n\tTHEME extends DThemeDialogSelect<VALUE, CATEGORY, CATEGORY_ID> = DThemeDialogSelect<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID\n\t>,\n\tOPTIONS extends DDialogSelectOptions<\n\t\tVALUE,\n\t\tCATEGORY,\n\t\tCATEGORY_ID,\n\t\tTHEME\n\t> = DDialogSelectOptions<VALUE, CATEGORY, CATEGORY_ID, THEME>\n> extends DDialogLayered<VALUE | null, THEME, OPTIONS> {\n\tprotected _value: VALUE | null;\n\tprotected _spaceLeft?: DLayoutSpace;\n\tprotected _spaceRight?: DLayoutSpace;\n\tprotected _selectCategory?: DSelect<CATEGORY_ID> | null;\n\tprotected _isCategoryFetched?: boolean;\n\tprotected _input?: DInputSearch;\n\tprotected _inputLayout?: DLayoutHorizontal;\n\tprotected _list?: DDialogSelectList<VALUE>;\n\tprotected _search?: DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID>;\n\tprotected _noteError?: DNote | null;\n\tprotected _noteNoItemsFound?: DNote | null;\n\tprotected _noteSearching?: DNote | null;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis._value = null;\n\n\t\t// Controller binding\n\t\tconst transition = new UtilTransition();\n\t\tconst search = this.search;\n\t\tsearch.on(\"success\", (e: unknown, results: VALUE[]): void => {\n\t\t\tif (0 < results.length) {\n\t\t\t\ttransition.hide();\n\t\t\t} else {\n\t\t\t\ttransition.show(this.noteNoItemsFound);\n\t\t\t}\n\t\t\tthis.onSearched(results);\n\t\t});\n\t\tsearch.on(\"fail\", (): void => {\n\t\t\ttransition.show(this.noteError);\n\t\t\tthis.onSearched([]);\n\t\t});\n\t\tsearch.on(\"change\", (): void => {\n\t\t\tif (!search.isDone()) {\n\t\t\t\tconst noteSearching = this.noteSearching;\n\t\t\t\tif (noteSearching) {\n\t\t\t\t\ttransition.show(noteSearching);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected newContentChildren(theme: THEME, options?: OPTIONS): Array<DisplayObject | null> {\n\t\tconst result = super.newContentChildren(theme, options);\n\t\tresult.push(this.inputLayout, this.list);\n\t\treturn result;\n\t}\n\n\tprotected get inputLayout(): DLayoutHorizontal {\n\t\tlet result = this._inputLayout;\n\t\tif (result == null) {\n\t\t\tresult = this.newInputLayout();\n\t\t\tthis._inputLayout = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInputLayout(): DLayoutHorizontal {\n\t\treturn new DLayoutHorizontal({\n\t\t\twidth: \"padding\",\n\t\t\theight: \"auto\",\n\t\t\tchildren: [this.spaceLeft, this.selectCategory, this.input, this.spaceRight]\n\t\t});\n\t}\n\n\tprotected get spaceLeft(): DLayoutSpace {\n\t\tlet result = this._spaceLeft;\n\t\tif (result == null) {\n\t\t\tresult = this.newSpace();\n\t\t\tthis._spaceLeft = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get spaceRight(): DLayoutSpace {\n\t\tlet result = this._spaceRight;\n\t\tif (result == null) {\n\t\t\tresult = this.newSpace();\n\t\t\tthis._spaceRight = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSpace(): DLayoutSpace {\n\t\treturn new DLayoutSpace({\n\t\t\twidth: this.toInputMargin(this.theme, this._options)\n\t\t});\n\t}\n\n\tprotected get selectCategory(): DSelect<CATEGORY_ID> | null {\n\t\tlet result = this._selectCategory;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newSelectCategory();\n\t\t\tthis._selectCategory = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSelectCategory(): DSelect<CATEGORY_ID> | null {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller != null && controller.getCategories != null) {\n\t\t\t\tconst result = new DSelect<CATEGORY_ID>(\n\t\t\t\t\tthis.toSelectCategoryOptions(this.theme, this._options)\n\t\t\t\t);\n\t\t\t\tresult.on(\"change\", (value: CATEGORY_ID) => {\n\t\t\t\t\tthis.onSelectCategoryChange(value);\n\t\t\t\t});\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toSelectCategoryOptions(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS\n\t): DSelectOptions<CATEGORY_ID> {\n\t\tconst result = options?.category || {};\n\t\tif (result.width === undefined && result.weight === undefined) {\n\t\t\tresult.width = 140;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onSelectCategoryChange(categoryId: CATEGORY_ID): void {\n\t\tthis.search.create([this.input.value, categoryId]);\n\t}\n\n\tget input(): DInputSearch {\n\t\tlet result = this._input;\n\t\tif (result == null) {\n\t\t\tresult = this.newInput();\n\t\t\tthis._input = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newInput(): DInputSearch {\n\t\tconst result = new DInputSearch(this.toInputOptions(this.theme, this._options));\n\t\tresult.on(\"input\", (value: string): void => {\n\t\t\tthis.onInputInput(value);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected toInputOptions(theme: THEME, options?: OPTIONS): DInputSearchOptions {\n\t\tconst result = options?.input || {};\n\t\tif (result.width === undefined && result.weight === undefined) {\n\t\t\tresult.weight = 1;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toInputMargin(theme: THEME, options?: OPTIONS): number {\n\t\treturn options?.input?.margin ?? theme.getInputMargin();\n\t}\n\n\tprotected onInputInput(value: string): void {\n\t\tthis.search.create([value, this.selectCategory?.value ?? null]);\n\t}\n\n\tget list(): DDialogSelectList<VALUE> {\n\t\tlet result = this._list;\n\t\tif (result == null) {\n\t\t\tresult = this.newList();\n\t\t\tthis._list = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newList(): DDialogSelectList<VALUE> {\n\t\tconst result = new DDialogSelectList<VALUE>(this.toListOptions(this.theme, this._options));\n\t\tresult.selection.on(\"change\", (selection: DListDataSelection<VALUE>): void => {\n\t\t\tthis.onListSelectionChange(selection);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onListSelectionChange(selection: DListDataSelection<VALUE>): void {\n\t\tlet selected = selection.first;\n\t\tif (selected == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst dismiss = options.dismiss;\n\t\t\tif (dismiss) {\n\t\t\t\tif (selected === dismiss.value) {\n\t\t\t\t\tselected = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._value = selected;\n\t\tthis.onOk(selected);\n\t}\n\n\tprotected toListOptions(theme: THEME, options?: OPTIONS): DDialogSelectListOptions<VALUE> {\n\t\tconst result = options?.list || {};\n\t\tif (result.width === undefined) {\n\t\t\tresult.width = \"padding\";\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected get noteError(): DNote | null {\n\t\tlet result = this._noteError;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteError();\n\t\t\tthis._noteError = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteError(): DNote | null {\n\t\tconst error = this._options?.note?.error;\n\t\tif (error !== null) {\n\t\t\treturn new DNoteSmallError(this.toNoteOptions(this.list, error));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteNoItemsFound(): DNote | null {\n\t\tlet result = this._noteNoItemsFound;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteNoItemsFound();\n\t\t\tthis._noteNoItemsFound = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteNoItemsFound(): DNote | null {\n\t\tconst noItemsFound = this._options?.note?.noItemsFound;\n\t\tif (noItemsFound !== null) {\n\t\t\treturn new DNoteSmallNoItemsFound(this.toNoteOptions(this.list, noItemsFound));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected get noteSearching(): DNote | null {\n\t\tlet result = this._noteSearching;\n\t\tif (result == null) {\n\t\t\tresult = this.newNoteSearching();\n\t\t\tthis._noteSearching = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newNoteSearching(): DNote | null {\n\t\tconst searching = this._options?.note?.searching;\n\t\t// Because the `searching` note is disabled by default,\n\t\t// if options.searching is missing, i.e., if its value is undefined,\n\t\t// this method returns null. This is why `!=` is used here instead of `!==`.\n\t\tif (searching != null) {\n\t\t\treturn new DNoteSmallSearching(this.toNoteOptions(this.list, searching));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toNoteOptions(parent: DBase, options?: DNoteOptions): DNoteOptions {\n\t\tif (options != null) {\n\t\t\tif (options.parent == null) {\n\t\t\t\toptions.parent = parent;\n\t\t\t}\n\t\t\tif (options.visible == null) {\n\t\t\t\toptions.visible = false;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tparent,\n\t\t\tvisible: false\n\t\t};\n\t}\n\n\tprotected get search(): DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID> {\n\t\tlet result = this._search;\n\t\tif (result == null) {\n\t\t\tresult = this.newSearch();\n\t\t\tthis._search = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newSearch(): DDialogSelectSearch<VALUE, CATEGORY, CATEGORY_ID> {\n\t\tconst options = this._options;\n\t\tif (options) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller) {\n\t\t\t\tconst dismiss = options.dismiss;\n\t\t\t\tconst search = controller.search;\n\t\t\t\tif (\"create\" in search) {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(search, dismiss);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn search;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (dismiss != null) {\n\t\t\t\t\t\treturn new DDialogSelectSearhDismissableImpl(\n\t\t\t\t\t\t\tnew DDialogSelectSearhImpl(search),\n\t\t\t\t\t\t\tdismiss\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn new DDialogSelectSearhImpl(search);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn new DDialogSelectSearhImpl();\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._value;\n\t}\n\n\tprotected onSearched(results: VALUE[]): void {\n\t\tthis.list.data.items = results;\n\t}\n\n\tprotected getResolvedValue(): VALUE | null | PromiseLike<VALUE | null> {\n\t\treturn this._value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DDialogSelect\";\n\t}\n\n\tprotected onOpen(): void {\n\t\tsuper.onOpen();\n\t\tthis.list.selection.clear();\n\t\tconst selectCategory = this.selectCategory;\n\t\tif (selectCategory != null) {\n\t\t\tif (this._isCategoryFetched !== true) {\n\t\t\t\tthis._isCategoryFetched = true;\n\t\t\t\tconst categoriesOrPromise = this.findCategories();\n\t\t\t\tif (categoriesOrPromise == null) {\n\t\t\t\t\tthis.search.create([this.input.value, null]);\n\t\t\t\t} else if (isArray(categoriesOrPromise)) {\n\t\t\t\t\tthis.onCategoryFetched(selectCategory, categoriesOrPromise);\n\t\t\t\t} else {\n\t\t\t\t\tselectCategory.state.isEnabled = false;\n\t\t\t\t\tcategoriesOrPromise.then((categories) => {\n\t\t\t\t\t\tselectCategory.state.isEnabled = true;\n\t\t\t\t\t\tthis.onCategoryFetched(selectCategory, categories);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.search.create([this.input.value, selectCategory.value]);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.search.create([this.input.value, null]);\n\t\t}\n\t}\n\n\tprotected onCategoryFetched(\n\t\tselectCategory: DSelect<CATEGORY_ID>,\n\t\tcategories: CATEGORY[]\n\t): void {\n\t\tconst items = [];\n\t\tfor (let i = 0, imax = categories.length; i < imax; ++i) {\n\t\t\tconst category = categories[i];\n\t\t\titems.push({\n\t\t\t\tvalue: this.toCategoryId(category),\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: this.toCategoryLabel(category)\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tselectCategory.menu = new DMenu<CATEGORY_ID>({\n\t\t\tfit: true,\n\t\t\titems\n\t\t});\n\t\tconst newValue = 0 < items.length ? items[0].value : null;\n\t\tselectCategory.value = newValue;\n\t\tselectCategory.show();\n\t\tthis.search.create([this.input.value, newValue]);\n\t}\n\n\tprotected toCategoryId(target: CATEGORY): CATEGORY_ID {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst category = options.category;\n\t\t\tif (category != null) {\n\t\t\t\tconst toId = category.toId;\n\t\t\t\tif (toId != null) {\n\t\t\t\t\treturn toId(target);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.theme.toCategoryId(target);\n\t}\n\n\tprotected toCategoryLabel(target: CATEGORY): string {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst category = options.category;\n\t\t\tif (category != null) {\n\t\t\t\tconst toLabel = category.toLabel;\n\t\t\t\tif (toLabel != null) {\n\t\t\t\t\treturn toLabel(target);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.theme.toCategoryLabel(target);\n\t}\n\n\tprotected findCategories(): Promise<CATEGORY[]> | CATEGORY[] | null {\n\t\tconst options = this._options;\n\t\tif (options != null) {\n\t\t\tconst controller = options.controller;\n\t\t\tif (controller != null && controller.getCategories != null) {\n\t\t\t\treturn controller.getCategories();\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onOk(value: VALUE | null | PromiseLike<VALUE | null>): void {\n\t\tthis.emit(\"select\", value, this);\n\t\tsuper.onOk(value);\n\t}\n\n\tdestroy(): void {\n\t\tconst input = this._input;\n\t\tif (input) {\n\t\t\tinput.destroy();\n\t\t}\n\t\tconst noteError = this._noteError;\n\t\tif (noteError) {\n\t\t\tnoteError.destroy();\n\t\t}\n\t\tconst noteNoItemsFound = this._noteNoItemsFound;\n\t\tif (noteNoItemsFound) {\n\t\t\tnoteNoItemsFound?.destroy();\n\t\t}\n\t\tconst noteSearching = this._noteSearching;\n\t\tif (noteSearching) {\n\t\t\tnoteSearching?.destroy();\n\t\t}\n\t\tconst list = this._list;\n\t\tif (list) {\n\t\t\tlist.destroy();\n\t\t}\n\t\tsuper.destroy();\n\t}\n}\n"]}
@@ -7,11 +7,12 @@ import { DBasePaddingAdjustable } from "./d-base-padding-adjustable";
7
7
  import { DInputText } from "./d-input-text";
8
8
  var DTableBodyCellInputTreeInput = /** @class */ (function (_super) {
9
9
  __extends(DTableBodyCellInputTreeInput, _super);
10
- function DTableBodyCellInputTreeInput(options) {
11
- var _this = _super.call(this, options) || this;
12
- _this._padding = new DBasePaddingAdjustable(_this._padding);
13
- return _this;
10
+ function DTableBodyCellInputTreeInput() {
11
+ return _super !== null && _super.apply(this, arguments) || this;
14
12
  }
13
+ DTableBodyCellInputTreeInput.prototype.newPadding = function (theme, options, callback) {
14
+ return new DBasePaddingAdjustable(theme, options, callback);
15
+ };
15
16
  Object.defineProperty(DTableBodyCellInputTreeInput.prototype, "padding", {
16
17
  get: function () {
17
18
  return this._padding;
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-input-tree-input.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-input-tree-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAsC,MAAM,gBAAgB,CAAC;AAQhF;IAGU,gDAA0B;IAGnC,sCAAY,OAAiB;QAA7B,YACC,kBAAM,OAAO,CAAC,SAEd;QADA,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;;IAC3D,CAAC;IAED,sBAAI,iDAAO;aAAX;YACC,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;;;OAAA;IAES,8CAAO,GAAjB;QACC,OAAO,8BAA8B,CAAC;IACvC,CAAC;IACF,mCAAC;AAAD,CAAC,AAlBD,CAGU,UAAU,GAenB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DInputText, DInputTextOptions, DThemeInputText } from \"./d-input-text\";\n\nexport interface DTableBodyCellInputTreeInputOptions<\n\tTHEME extends DThemeTableBodyCellInputTreeInput = DThemeTableBodyCellInputTreeInput\n> extends DInputTextOptions<THEME> {}\n\nexport interface DThemeTableBodyCellInputTreeInput extends DThemeInputText {}\n\nexport class DTableBodyCellInputTreeInput<\n\tTHEME extends DThemeTableBodyCellInputTreeInput = DThemeTableBodyCellInputTreeInput,\n\tOPTIONS extends DTableBodyCellInputTreeInputOptions<THEME> = DTableBodyCellInputTreeInputOptions<THEME>\n> extends DInputText<THEME, OPTIONS> {\n\tprotected _padding!: DBasePaddingAdjustable;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._padding = new DBasePaddingAdjustable(this._padding);\n\t}\n\n\tget padding(): DBasePaddingAdjustable {\n\t\treturn this._padding;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellInputTreeInput\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-input-tree-input.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-input-tree-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAsC,MAAM,gBAAgB,CAAC;AAQhF;IAGU,gDAA0B;IAHpC;;IAqBA,CAAC;IAfmB,iDAAU,GAA7B,UACC,KAAY,EACZ,OAAiB,EACjB,QAAqB;QAErB,OAAO,IAAI,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,sBAAI,iDAAO;aAAX;YACC,OAAO,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;;;OAAA;IAES,8CAAO,GAAjB;QACC,OAAO,8BAA8B,CAAC;IACvC,CAAC;IACF,mCAAC;AAAD,CAAC,AArBD,CAGU,UAAU,GAkBnB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DInputText, DInputTextOptions, DThemeInputText } from \"./d-input-text\";\n\nexport interface DTableBodyCellInputTreeInputOptions<\n\tTHEME extends DThemeTableBodyCellInputTreeInput = DThemeTableBodyCellInputTreeInput\n> extends DInputTextOptions<THEME> {}\n\nexport interface DThemeTableBodyCellInputTreeInput extends DThemeInputText {}\n\nexport class DTableBodyCellInputTreeInput<\n\tTHEME extends DThemeTableBodyCellInputTreeInput = DThemeTableBodyCellInputTreeInput,\n\tOPTIONS extends DTableBodyCellInputTreeInputOptions<THEME> = DTableBodyCellInputTreeInputOptions<THEME>\n> extends DInputText<THEME, OPTIONS> {\n\tprotected _padding!: DBasePaddingAdjustable;\n\n\tprotected override newPadding(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS,\n\t\tcallback?: () => void\n\t): DBasePaddingAdjustable {\n\t\treturn new DBasePaddingAdjustable(theme, options, callback);\n\t}\n\n\tget padding(): DBasePaddingAdjustable {\n\t\treturn this._padding;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellInputTreeInput\";\n\t}\n}\n"]}
@@ -14,12 +14,12 @@ import { isNumber } from "./util/is-number";
14
14
  var DTableBodyCellTree = /** @class */ (function (_super) {
15
15
  __extends(DTableBodyCellTree, _super);
16
16
  function DTableBodyCellTree(columnIndex, column, onChange, options) {
17
- var _this = this;
18
17
  var _a;
19
- _this = _super.call(this, columnIndex, column, onChange, DLinks.toStateOptions((_a = options === null || options === void 0 ? void 0 : options.link) === null || _a === void 0 ? void 0 : _a.target, options)) || this;
20
- _this._padding = new DBasePaddingAdjustable(_this._padding);
21
- return _this;
18
+ return _super.call(this, columnIndex, column, onChange, DLinks.toStateOptions((_a = options === null || options === void 0 ? void 0 : options.link) === null || _a === void 0 ? void 0 : _a.target, options)) || this;
22
19
  }
20
+ DTableBodyCellTree.prototype.newPadding = function (theme, options, callback) {
21
+ return new DBasePaddingAdjustable(theme, options, callback);
22
+ };
23
23
  DTableBodyCellTree.prototype.onClick = function (e) {
24
24
  var _a;
25
25
  if (((_a = this.link) === null || _a === void 0 ? void 0 : _a.onClick(this, e)) !== true) {
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EACN,oBAAoB,EAGpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAiC,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAe5C;IASU,sCAAgD;IAIzD,4BACC,WAAmB,EACnB,MAAuC,EACvC,QAAmD,EACnD,OAAiB;QAJlB,iBAQC;;gBAFA,kBAAM,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3F,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;;IAC3D,CAAC;IAES,oCAAO,GAAjB,UAAkB,CAA+B;;QAChD,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAK,IAAI,EAAE;YACzC,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,sBAAI,oCAAI;aAAR;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,KAAK,SAAS,EAAE;gBACzB,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,oCAAO,GAAjB;;QACC,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC;QACpC,IAAI,OAAO,EAAE;YACZ,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,uCAAU,GAApB,UACC,CAA0E;;QAE1E,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;aAAM;YACN,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;IACF,CAAC;IAES,mCAAM,GAAhB;QACC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,EAAE;YACtB,OAAO;SACP;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO;SACP;QACD,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,OAAO;SACP;QACD,IAAM,IAAI,GAAI,IAAY,CAAC,IAAI,CAAC;QAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBACjC;aACD;iBAAM;gBACN,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC/B;aACD;SACD;IACF,CAAC;IAED,wCAAW,GAAX,UAAY,CAA+B,EAAE,KAAY;QACxD,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,gCAAG,GAAH,UACC,KAAc,EACd,GAAQ,EACR,YAAqB,EACrB,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,KAAqB,CAAC;QAElC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEjE,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC3B,IAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;YACxC,IAAM,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;YAC3C,IAAM,KAAK,GAAG,YAAY,IAAI,CAAC,CAAC;YAChC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACjD,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,IAAI,IAAI,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC;aAChC;SACD;aAAM;YACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;YACnE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACzB;SACD;IACF,CAAC;IAES,oCAAO,GAAjB;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IACF,yBAAC;AAAD,CAAC,AAvID,CASU,oBAAoB,GA8H7B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DLink } from \"./d-link\";\nimport { DLinks } from \"./d-links\";\nimport {\n\tDTableBodyCellButton,\n\tDTableBodyCellButtonOptions,\n\tDThemeTableBodyCellButton\n} from \"./d-table-body-cell-button\";\nimport { DTableBodyCellLinkLinkOptions, toLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableBodyCellOnChange } from \"./d-table-body-cell\";\n\nexport interface DTableBodyCellTreeOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>\n> extends DTableBodyCellButtonOptions<ROW, VALUE, THEME> {\n\tlink?: DTableBodyCellLinkLinkOptions<ROW, VALUE>;\n}\n\nexport interface DThemeTableBodyCellTree<VALUE = unknown> extends DThemeTableBodyCellButton<VALUE> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTableBodyCellTree<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>,\n\tOPTIONS extends DTableBodyCellTreeOptions<ROW, VALUE, THEME> = DTableBodyCellTreeOptions<\n\t\tROW,\n\t\tVALUE,\n\t\tTHEME\n\t>\n> extends DTableBodyCellButton<ROW, VALUE, THEME, OPTIONS> {\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _link?: DLink | null;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE | null>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE | null>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(columnIndex, column, onChange, DLinks.toStateOptions(options?.link?.target, options));\n\t\tthis._padding = new DBasePaddingAdjustable(this._padding);\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (this.link?.onClick(this, e) !== true) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tget link(): DLink | null {\n\t\tlet result = this._link;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newLink();\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newLink(): DLink | null {\n\t\tconst options = this._options?.link;\n\t\tif (options) {\n\t\t\treturn new DLink(toLinkOptions(this, options));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tif (this.state.is(DTableState.HAS_CHILDREN)) {\n\t\t\tthis.toggle();\n\t\t} else {\n\t\t\tthis.link?.open(e);\n\t\t}\n\t}\n\n\tprotected toggle(): void {\n\t\tconst row = this._row;\n\t\tif (row === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst body = parent.parent;\n\t\tif (body == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = (body as any).data;\n\t\tif (data && data.toggle) {\n\t\t\tif (data.isExpanded(row)) {\n\t\t\t\tif (data.collapse(row)) {\n\t\t\t\t\tthis.emit(\"collapse\", this);\n\t\t\t\t\tdata.emit(\"collapse\", row, this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (data.expand(row)) {\n\t\t\t\t\tthis.emit(\"expand\", this);\n\t\t\t\t\tdata.emit(\"expand\", row, this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowSelect(e: interaction.InteractionEvent, local: Point): boolean {\n\t\tif (local.x <= this.position.x + this.padding.getLeft()) {\n\t\t\tthis.toggle();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.text = value as VALUE | null;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column, false);\n\n\t\tconst link = this.link;\n\t\tconst padding = this._padding;\n\t\tif (isNumber(supplimental)) {\n\t\t\tconst isOpened = !!(supplimental & 0x1);\n\t\t\tconst hasChildren = !!(supplimental & 0x2);\n\t\t\tconst level = supplimental >> 2;\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.HAS_CHILDREN, hasChildren);\n\t\t\tstate.set(DTableState.OPENED, isOpened);\n\t\t\tstate.unlock();\n\t\t\tpadding.adjLeft(this.theme.getLevelPadding(level));\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = !hasChildren;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.state.removeAll(DTableState.OPENED, DTableState.HAS_CHILDREN);\n\t\t\tpadding.adjLeft(0);\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTree\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DLink } from \"./d-link\";\nimport { DLinks } from \"./d-links\";\nimport {\n\tDTableBodyCellButton,\n\tDTableBodyCellButtonOptions,\n\tDThemeTableBodyCellButton\n} from \"./d-table-body-cell-button\";\nimport { DTableBodyCellLinkLinkOptions, toLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableBodyCellOnChange } from \"./d-table-body-cell\";\n\nexport interface DTableBodyCellTreeOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>\n> extends DTableBodyCellButtonOptions<ROW, VALUE, THEME> {\n\tlink?: DTableBodyCellLinkLinkOptions<ROW, VALUE>;\n}\n\nexport interface DThemeTableBodyCellTree<VALUE = unknown> extends DThemeTableBodyCellButton<VALUE> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTableBodyCellTree<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>,\n\tOPTIONS extends DTableBodyCellTreeOptions<ROW, VALUE, THEME> = DTableBodyCellTreeOptions<\n\t\tROW,\n\t\tVALUE,\n\t\tTHEME\n\t>\n> extends DTableBodyCellButton<ROW, VALUE, THEME, OPTIONS> {\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _link?: DLink | null;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE | null>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE | null>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(columnIndex, column, onChange, DLinks.toStateOptions(options?.link?.target, options));\n\t}\n\n\tprotected override newPadding(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS,\n\t\tcallback?: () => void\n\t): DBasePaddingAdjustable {\n\t\treturn new DBasePaddingAdjustable(theme, options, callback);\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (this.link?.onClick(this, e) !== true) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tget link(): DLink | null {\n\t\tlet result = this._link;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newLink();\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newLink(): DLink | null {\n\t\tconst options = this._options?.link;\n\t\tif (options) {\n\t\t\treturn new DLink(toLinkOptions(this, options));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tif (this.state.is(DTableState.HAS_CHILDREN)) {\n\t\t\tthis.toggle();\n\t\t} else {\n\t\t\tthis.link?.open(e);\n\t\t}\n\t}\n\n\tprotected toggle(): void {\n\t\tconst row = this._row;\n\t\tif (row === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst body = parent.parent;\n\t\tif (body == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = (body as any).data;\n\t\tif (data && data.toggle) {\n\t\t\tif (data.isExpanded(row)) {\n\t\t\t\tif (data.collapse(row)) {\n\t\t\t\t\tthis.emit(\"collapse\", this);\n\t\t\t\t\tdata.emit(\"collapse\", row, this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (data.expand(row)) {\n\t\t\t\t\tthis.emit(\"expand\", this);\n\t\t\t\t\tdata.emit(\"expand\", row, this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowSelect(e: interaction.InteractionEvent, local: Point): boolean {\n\t\tif (local.x <= this.position.x + this.padding.getLeft()) {\n\t\t\tthis.toggle();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.text = value as VALUE | null;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column, false);\n\n\t\tconst link = this.link;\n\t\tconst padding = this._padding;\n\t\tif (isNumber(supplimental)) {\n\t\t\tconst isOpened = !!(supplimental & 0x1);\n\t\t\tconst hasChildren = !!(supplimental & 0x2);\n\t\t\tconst level = supplimental >> 2;\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.HAS_CHILDREN, hasChildren);\n\t\t\tstate.set(DTableState.OPENED, isOpened);\n\t\t\tstate.unlock();\n\t\t\tpadding.adjLeft(this.theme.getLevelPadding(level));\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = !hasChildren;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.state.removeAll(DTableState.OPENED, DTableState.HAS_CHILDREN);\n\t\t\tpadding.adjLeft(0);\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTree\";\n\t}\n}\n"]}
@@ -13,10 +13,12 @@ var DTreeItemText = /** @class */ (function (_super) {
13
13
  __extends(DTreeItemText, _super);
14
14
  function DTreeItemText(data, options) {
15
15
  var _this = _super.call(this, options) || this;
16
- _this._padding = new DBasePaddingAdjustable(_this._padding);
17
16
  _this._data = data;
18
17
  return _this;
19
18
  }
19
+ DTreeItemText.prototype.newPadding = function (theme, options, callback) {
20
+ return new DBasePaddingAdjustable(theme, options, callback);
21
+ };
20
22
  Object.defineProperty(DTreeItemText.prototype, "node", {
21
23
  get: function () {
22
24
  return this._node;
@@ -1 +1 @@
1
- {"version":3,"file":"d-tree-item-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DImageBase, DImageBaseEvents, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemState } from \"./d-tree-item-state\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\n/**\n * {@link DTreeItemText} events.\n */\nexport interface DTreeItemTextEvents<NODE, EMITTER> extends DImageBaseEvents<NODE, EMITTER> {\n\t/**\n\t * Triggered when a node is set.\n\t *\n\t * @param node a node\n\t * @param index an index number of a node\n\t * @param emitter an emitter\n\t */\n\tset(node: NODE, index: number, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when set to undefined.\n\t *\n\t * @param emitter an emitter\n\t */\n\tunset(emitter: EMITTER): void;\n}\n\n/**\n * {@link DTreeItemText} \"on\" options.\n */\nexport interface DTreeItemTextOnOptions<NODE, EMITTER>\n\textends Partial<DTreeItemTextEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTreeItemText} options.\n */\nexport interface DTreeItemTextOptions<\n\tNODE extends DTreeNode = DTreeNode,\n\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\tEMITTER = any\n> extends DImageBaseOptions<string, THEME> {\n\ton?: DTreeItemTextOnOptions<NODE, EMITTER>;\n}\n\nexport interface DThemeTreeItemText extends DThemeImageBase<string> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTreeItemText<\n\t\tNODE extends DTreeNode = DTreeNode,\n\t\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\t\tOPTIONS extends DTreeItemTextOptions<NODE, THEME> = DTreeItemTextOptions<NODE, THEME>\n\t>\n\textends DImageBase<string, THEME, OPTIONS>\n\timplements DTreeItem<NODE>\n{\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _data: DTreeData<NODE>;\n\tprotected _node?: NODE;\n\tprotected _index?: number;\n\n\tconstructor(data: DTreeData<NODE>, options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._padding = new DBasePaddingAdjustable(this._padding);\n\t\tthis._data = data;\n\t}\n\n\tget node(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget value(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget index(): number | undefined {\n\t\treturn this._index;\n\t}\n\n\tget data(): DTreeData<NODE> {\n\t\treturn this._data;\n\t}\n\n\ttoggle(): void {\n\t\tconst node = this._node;\n\t\tif (node !== undefined) {\n\t\t\tthis._data.toggle(node);\n\t\t}\n\t}\n\n\tset(node: NODE, index: number, forcibly?: boolean): void {\n\t\tconst data = this._data;\n\t\tconst isNodeChanged = forcibly || this._node !== node;\n\t\tif (isNodeChanged) {\n\t\t\tthis._node = node;\n\t\t\tthis._index = index;\n\n\t\t\tconst accessor = data.accessor;\n\t\t\tthis.text = accessor.toLabel(node);\n\t\t\tthis.title = accessor.toTitle(node) ?? \"\";\n\t\t\tthis.image = accessor.toImage(node);\n\t\t}\n\n\t\tconst level = data.mapped.levels[index];\n\t\tthis._padding.adjLeft(this.theme.getLevelPadding(level));\n\n\t\tconst children = data.accessor.toChildren(node);\n\t\tconst hasChildren = !!(children && 0 < children.length);\n\t\tconst state = this.state;\n\t\tstate.lock();\n\t\tstate.set(DBaseState.ACTIVE, data.selection.contains(node));\n\t\tstate.remove(DBaseState.DISABLED);\n\t\tstate.set(DTreeItemState.HAS_CHILDREN, hasChildren);\n\t\tstate.set(DTreeItemState.OPENED, data.isExpanded(node));\n\t\tstate.unlock();\n\n\t\tif (isNodeChanged) {\n\t\t\tthis.emit(\"set\", node, index, this);\n\t\t}\n\t}\n\n\tunset(): void {\n\t\tif (this._node !== undefined) {\n\t\t\tthis._node = undefined;\n\t\t\tthis._index = undefined;\n\n\t\t\tthis.text = undefined;\n\t\t\tthis.title = \"\";\n\t\t\tthis.image = undefined;\n\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.add(DBaseState.DISABLED);\n\t\t\tstate.remove(DBaseState.ACTIVE);\n\t\t\tstate.unlock();\n\n\t\t\tthis.emit(\"unset\", this);\n\t\t}\n\t}\n\n\tprotected onSelect(\n\t\te: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent | undefined,\n\t\tvalue: NODE\n\t): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tif (selection.type !== DTreeDataSelectionType.MULTIPLE) {\n\t\t\tselection.clearAndAdd(value);\n\t\t} else {\n\t\t\tconst originalEvent = e && \"data\" in e ? e.data.originalEvent : e;\n\t\t\tif (originalEvent?.ctrlKey) {\n\t\t\t\tselection.toggle(value);\n\t\t\t} else if (originalEvent?.shiftKey) {\n\t\t\t\tconst mapped = data.mapped;\n\t\t\t\tconst last = selection.last;\n\t\t\t\tif (value === last) {\n\t\t\t\t\tselection.clearAndAdd(value);\n\t\t\t\t} else {\n\t\t\t\t\tlet isFound = false;\n\t\t\t\t\tlet isReverse = false;\n\t\t\t\t\tconst newSelection: NODE[] = [];\n\t\t\t\t\tmapped.each((node): boolean | void => {\n\t\t\t\t\t\tif (isFound) {\n\t\t\t\t\t\t\tif (isReverse) {\n\t\t\t\t\t\t\t\tnewSelection.unshift(node);\n\t\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t\tif (node === last) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = false;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t} else if (node === last) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = true;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tselection.clearAndAddAll(newSelection);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tselection.clearAndAdd(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowRightKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.expand(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowLeftKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.collapse(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tthis.onSelect(e, node);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTreeItemText\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-tree-item-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DImageBase, DImageBaseEvents, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemState } from \"./d-tree-item-state\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\n/**\n * {@link DTreeItemText} events.\n */\nexport interface DTreeItemTextEvents<NODE, EMITTER> extends DImageBaseEvents<NODE, EMITTER> {\n\t/**\n\t * Triggered when a node is set.\n\t *\n\t * @param node a node\n\t * @param index an index number of a node\n\t * @param emitter an emitter\n\t */\n\tset(node: NODE, index: number, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when set to undefined.\n\t *\n\t * @param emitter an emitter\n\t */\n\tunset(emitter: EMITTER): void;\n}\n\n/**\n * {@link DTreeItemText} \"on\" options.\n */\nexport interface DTreeItemTextOnOptions<NODE, EMITTER>\n\textends Partial<DTreeItemTextEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTreeItemText} options.\n */\nexport interface DTreeItemTextOptions<\n\tNODE extends DTreeNode = DTreeNode,\n\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\tEMITTER = any\n> extends DImageBaseOptions<string, THEME> {\n\ton?: DTreeItemTextOnOptions<NODE, EMITTER>;\n}\n\nexport interface DThemeTreeItemText extends DThemeImageBase<string> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTreeItemText<\n\t\tNODE extends DTreeNode = DTreeNode,\n\t\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\t\tOPTIONS extends DTreeItemTextOptions<NODE, THEME> = DTreeItemTextOptions<NODE, THEME>\n\t>\n\textends DImageBase<string, THEME, OPTIONS>\n\timplements DTreeItem<NODE>\n{\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _data: DTreeData<NODE>;\n\tprotected _node?: NODE;\n\tprotected _index?: number;\n\n\tconstructor(data: DTreeData<NODE>, options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = data;\n\t}\n\n\tprotected override newPadding(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS,\n\t\tcallback?: () => void\n\t): DBasePaddingAdjustable {\n\t\treturn new DBasePaddingAdjustable(theme, options, callback);\n\t}\n\n\tget node(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget value(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget index(): number | undefined {\n\t\treturn this._index;\n\t}\n\n\tget data(): DTreeData<NODE> {\n\t\treturn this._data;\n\t}\n\n\ttoggle(): void {\n\t\tconst node = this._node;\n\t\tif (node !== undefined) {\n\t\t\tthis._data.toggle(node);\n\t\t}\n\t}\n\n\tset(node: NODE, index: number, forcibly?: boolean): void {\n\t\tconst data = this._data;\n\t\tconst isNodeChanged = forcibly || this._node !== node;\n\t\tif (isNodeChanged) {\n\t\t\tthis._node = node;\n\t\t\tthis._index = index;\n\n\t\t\tconst accessor = data.accessor;\n\t\t\tthis.text = accessor.toLabel(node);\n\t\t\tthis.title = accessor.toTitle(node) ?? \"\";\n\t\t\tthis.image = accessor.toImage(node);\n\t\t}\n\n\t\tconst level = data.mapped.levels[index];\n\t\tthis._padding.adjLeft(this.theme.getLevelPadding(level));\n\n\t\tconst children = data.accessor.toChildren(node);\n\t\tconst hasChildren = !!(children && 0 < children.length);\n\t\tconst state = this.state;\n\t\tstate.lock();\n\t\tstate.set(DBaseState.ACTIVE, data.selection.contains(node));\n\t\tstate.remove(DBaseState.DISABLED);\n\t\tstate.set(DTreeItemState.HAS_CHILDREN, hasChildren);\n\t\tstate.set(DTreeItemState.OPENED, data.isExpanded(node));\n\t\tstate.unlock();\n\n\t\tif (isNodeChanged) {\n\t\t\tthis.emit(\"set\", node, index, this);\n\t\t}\n\t}\n\n\tunset(): void {\n\t\tif (this._node !== undefined) {\n\t\t\tthis._node = undefined;\n\t\t\tthis._index = undefined;\n\n\t\t\tthis.text = undefined;\n\t\t\tthis.title = \"\";\n\t\t\tthis.image = undefined;\n\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.add(DBaseState.DISABLED);\n\t\t\tstate.remove(DBaseState.ACTIVE);\n\t\t\tstate.unlock();\n\n\t\t\tthis.emit(\"unset\", this);\n\t\t}\n\t}\n\n\tprotected onSelect(\n\t\te: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent | undefined,\n\t\tvalue: NODE\n\t): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tif (selection.type !== DTreeDataSelectionType.MULTIPLE) {\n\t\t\tselection.clearAndAdd(value);\n\t\t} else {\n\t\t\tconst originalEvent = e && \"data\" in e ? e.data.originalEvent : e;\n\t\t\tif (originalEvent?.ctrlKey) {\n\t\t\t\tselection.toggle(value);\n\t\t\t} else if (originalEvent?.shiftKey) {\n\t\t\t\tconst mapped = data.mapped;\n\t\t\t\tconst last = selection.last;\n\t\t\t\tif (value === last) {\n\t\t\t\t\tselection.clearAndAdd(value);\n\t\t\t\t} else {\n\t\t\t\t\tlet isFound = false;\n\t\t\t\t\tlet isReverse = false;\n\t\t\t\t\tconst newSelection: NODE[] = [];\n\t\t\t\t\tmapped.each((node): boolean | void => {\n\t\t\t\t\t\tif (isFound) {\n\t\t\t\t\t\t\tif (isReverse) {\n\t\t\t\t\t\t\t\tnewSelection.unshift(node);\n\t\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t\tif (node === last) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = false;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t} else if (node === last) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = true;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tselection.clearAndAddAll(newSelection);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tselection.clearAndAdd(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowRightKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.expand(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowLeftKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.collapse(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tthis.onSelect(e, node);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTreeItemText\";\n\t}\n}\n"]}
@@ -409,14 +409,18 @@ var EShapeConnectorEdgeImpl = /** @class */ (function () {
409
409
  EShapeConnectorEdgeImpl.prototype.attach = function () {
410
410
  var shape = this._acceptor.shape;
411
411
  if (shape) {
412
- shape.connector.add(this);
412
+ if (shape.connector.add(this)) {
413
+ this.onAcceptorChange();
414
+ }
413
415
  }
414
416
  return this;
415
417
  };
416
418
  EShapeConnectorEdgeImpl.prototype.detach = function () {
417
419
  var shape = this._acceptor.shape;
418
420
  if (shape) {
419
- shape.connector.remove(this);
421
+ if (shape.connector.remove(this)) {
422
+ this.onAcceptorChange();
423
+ }
420
424
  }
421
425
  return this;
422
426
  };