jsl-ui 9.28.2 → 9.28.3

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 (170) hide show
  1. package/lib/components/IntervalComponent.d.ts +17 -17
  2. package/lib/components/IntervalComponent.js +65 -68
  3. package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +22 -22
  4. package/lib/components/auto-suggest/AutoSuggestComponent.js +47 -49
  5. package/lib/components/button/ButtonComponent.d.ts +18 -18
  6. package/lib/components/button/ButtonComponent.js +29 -46
  7. package/lib/components/checkbox/CheckBoxComponent.d.ts +28 -28
  8. package/lib/components/checkbox/CheckBoxComponent.js +81 -98
  9. package/lib/components/date/DateComponent.d.ts +32 -32
  10. package/lib/components/date/DateComponent.js +89 -106
  11. package/lib/components/date-range/DateRangeComponent.d.ts +35 -35
  12. package/lib/components/date-range/DateRangeComponent.js +123 -136
  13. package/lib/components/date-time/DateTimeComponent.d.ts +15 -15
  14. package/lib/components/date-time/DateTimeComponent.js +39 -53
  15. package/lib/components/dialog/DialogComponent.d.ts +67 -67
  16. package/lib/components/dialog/DialogComponent.js +198 -251
  17. package/lib/components/drop-down/DropDownComponent.d.ts +27 -27
  18. package/lib/components/drop-down/DropDownComponent.js +60 -74
  19. package/lib/components/expander/ExpanderComponent.d.ts +27 -27
  20. package/lib/components/expander/ExpanderComponent.js +89 -90
  21. package/lib/components/form-field/FormComponent.d.ts +12 -12
  22. package/lib/components/form-field/FormComponent.js +23 -26
  23. package/lib/components/form-field/FormFieldComponent.d.ts +39 -39
  24. package/lib/components/form-field/FormFieldComponent.js +138 -140
  25. package/lib/components/grid/GridComponent.d.ts +26 -26
  26. package/lib/components/grid/GridComponent.js +110 -116
  27. package/lib/components/input/InputComponent.d.ts +33 -33
  28. package/lib/components/input/InputComponent.js +126 -147
  29. package/lib/components/loading/LoadingComponent.d.ts +8 -8
  30. package/lib/components/loading/LoadingComponent.js +20 -22
  31. package/lib/components/navigation/NavigationComponent.d.ts +34 -34
  32. package/lib/components/navigation/NavigationComponent.js +45 -70
  33. package/lib/components/notification/Notification.d.ts +19 -19
  34. package/lib/components/notification/Notification.js +65 -69
  35. package/lib/components/number/NumberComponent.d.ts +26 -26
  36. package/lib/components/number/NumberComponent.js +80 -98
  37. package/lib/components/overlay/OverlayComponent.d.ts +27 -27
  38. package/lib/components/overlay/OverlayComponent.js +137 -149
  39. package/lib/components/progress/ProgressComponent.d.ts +18 -18
  40. package/lib/components/progress/ProgressComponent.js +40 -42
  41. package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +12 -12
  42. package/lib/components/ribbon-menu/RibbonMenuComponent.js +23 -34
  43. package/lib/components/select/SelectComponent.d.ts +79 -79
  44. package/lib/components/select/SelectComponent.js +356 -369
  45. package/lib/components/select/SelectDDAreaComponent.d.ts +32 -32
  46. package/lib/components/select/SelectDDAreaComponent.js +303 -317
  47. package/lib/components/slider/nouislider.d.ts +44 -44
  48. package/lib/components/slider/nouislider.js +2158 -2158
  49. package/lib/components/stack-panel/SplitterComponent.d.ts +21 -21
  50. package/lib/components/stack-panel/SplitterComponent.js +124 -126
  51. package/lib/components/stack-panel/StackPanelComponent.d.ts +20 -20
  52. package/lib/components/stack-panel/StackPanelComponent.js +50 -64
  53. package/lib/components/tabs/TabsComponent.d.ts +40 -40
  54. package/lib/components/tabs/TabsComponent.js +200 -204
  55. package/lib/components/time/TimeComponent.d.ts +29 -29
  56. package/lib/components/time/TimeComponent.js +104 -113
  57. package/lib/components/tree-view/TreeViewComponent.d.ts +23 -23
  58. package/lib/components/tree-view/TreeViewComponent.js +43 -45
  59. package/lib/components/virtual-render/VirtualRenderComponent.d.ts +30 -30
  60. package/lib/components/virtual-render/VirtualRenderComponent.js +92 -104
  61. package/lib/core/culture.d.ts +5 -5
  62. package/lib/core/culture.js +385 -385
  63. package/lib/core/date.d.ts +14 -14
  64. package/lib/core/date.js +346 -350
  65. package/lib/core/helper.d.ts +13 -13
  66. package/lib/core/helper.js +100 -104
  67. package/lib/core/jq.d.ts +37 -37
  68. package/lib/core/jq.js +362 -371
  69. package/lib/core/lang.d.ts +24 -24
  70. package/lib/core/lang.js +24 -28
  71. package/lib/core/numeric.d.ts +7 -7
  72. package/lib/core/numeric.js +139 -143
  73. package/lib/core/polyfills.js +22 -22
  74. package/lib/core.d.ts +6 -6
  75. package/lib/core.js +6 -6
  76. package/lib/grid/filterDialogs/dateRangeFilter.d.ts +7 -7
  77. package/lib/grid/filterDialogs/dateRangeFilter.js +106 -156
  78. package/lib/grid/filterDialogs/excelFilter.d.ts +9 -9
  79. package/lib/grid/filterDialogs/excelFilter.js +250 -316
  80. package/lib/grid/plugins/ext.overlay.d.ts +2 -2
  81. package/lib/grid/plugins/ext.overlay.js +295 -295
  82. package/lib/grid/plugins/slick.cellrangedecorator.d.ts +12 -12
  83. package/lib/grid/plugins/slick.cellrangedecorator.js +68 -68
  84. package/lib/grid/plugins/slick.cellrangeselector.d.ts +1 -1
  85. package/lib/grid/plugins/slick.cellrangeselector.js +144 -144
  86. package/lib/grid/plugins/slick.cellselectionmodel.d.ts +1 -1
  87. package/lib/grid/plugins/slick.cellselectionmodel.js +194 -194
  88. package/lib/grid/plugins/slick.headerbuttons.d.ts +55 -55
  89. package/lib/grid/plugins/slick.headerbuttons.js +156 -156
  90. package/lib/grid/plugins/slick.headermenu.d.ts +74 -74
  91. package/lib/grid/plugins/slick.headermenu.js +260 -260
  92. package/lib/grid/plugins/slick.rowmovemanager.d.ts +18 -18
  93. package/lib/grid/plugins/slick.rowmovemanager.js +249 -249
  94. package/lib/grid/plugins/slick.rowselectionmodel.d.ts +1 -1
  95. package/lib/grid/plugins/slick.rowselectionmodel.js +167 -167
  96. package/lib/grid/slick.core.d.ts +91 -91
  97. package/lib/grid/slick.core.js +574 -574
  98. package/lib/grid/slick.creator.d.ts +81 -81
  99. package/lib/grid/slick.creator.js +726 -726
  100. package/lib/grid/slick.dataview.d.ts +71 -71
  101. package/lib/grid/slick.dataview.js +1069 -1080
  102. package/lib/grid/slick.editors.core.d.ts +4 -4
  103. package/lib/grid/slick.editors.core.js +235 -235
  104. package/lib/grid/slick.editors.date.d.ts +2 -2
  105. package/lib/grid/slick.editors.date.js +125 -125
  106. package/lib/grid/slick.editors.lookup.d.ts +14 -14
  107. package/lib/grid/slick.editors.lookup.js +352 -353
  108. package/lib/grid/slick.editors.nav.d.ts +6 -6
  109. package/lib/grid/slick.editors.nav.js +22 -22
  110. package/lib/grid/slick.formatters.d.ts +17 -17
  111. package/lib/grid/slick.formatters.js +144 -144
  112. package/lib/grid/slick.grid.d.ts +285 -285
  113. package/lib/grid/slick.grid.js +5409 -5412
  114. package/lib/grid/slick.groupitemmetadataprovider.d.ts +39 -39
  115. package/lib/grid/slick.groupitemmetadataprovider.js +165 -165
  116. package/lib/grid/slick.tree.d.ts +33 -33
  117. package/lib/grid/slick.tree.js +208 -220
  118. package/lib/grid.css +1 -705
  119. package/lib/grid.d.ts +13 -13
  120. package/lib/grid.js +13 -13
  121. package/lib/index.css +8 -2195
  122. package/lib/index.css.map +1 -1
  123. package/lib/index.d.ts +56 -55
  124. package/lib/index.js +61 -61
  125. package/lib/index.js.map +1 -1
  126. package/lib/interaction/dataconverter.d.ts +4 -4
  127. package/lib/interaction/dataconverter.js +0 -1
  128. package/lib/interaction/eventhandler.d.ts +13 -13
  129. package/lib/interaction/eventhandler.js +39 -42
  130. package/lib/interaction/moveable.d.ts +39 -39
  131. package/lib/interaction/moveable.js +160 -174
  132. package/lib/interaction/resizable.d.ts +37 -37
  133. package/lib/interaction/resizable.js +109 -123
  134. package/lib/ui/auto.suggest.d.ts +18 -18
  135. package/lib/ui/auto.suggest.js +244 -259
  136. package/lib/ui/date.picker/date-picker-options.d.ts +11 -11
  137. package/lib/ui/date.picker/date-picker-options.js +76 -76
  138. package/lib/ui/date.picker/lib/date-manip.d.ts +74 -74
  139. package/lib/ui/date.picker/lib/date-manip.js +120 -120
  140. package/lib/ui/date.picker/lib/dom.d.ts +23 -23
  141. package/lib/ui/date.picker/lib/dom.js +28 -28
  142. package/lib/ui/date.picker/lib/emitter.d.ts +13 -13
  143. package/lib/ui/date.picker/lib/emitter.js +49 -49
  144. package/lib/ui/date.picker/lib/fns.d.ts +23 -23
  145. package/lib/ui/date.picker/lib/fns.js +39 -43
  146. package/lib/ui/date.picker/mode/base-mode.d.ts +26 -26
  147. package/lib/ui/date.picker/mode/base-mode.js +248 -248
  148. package/lib/ui/date.picker/mode/dropdown-mode.d.ts +28 -28
  149. package/lib/ui/date.picker/mode/dropdown-mode.js +50 -50
  150. package/lib/ui/date.picker/mode/index.d.ts +28 -28
  151. package/lib/ui/date.picker/mode/index.js +18 -18
  152. package/lib/ui/date.picker/mode/modal-mode.d.ts +25 -25
  153. package/lib/ui/date.picker/mode/modal-mode.js +17 -17
  154. package/lib/ui/date.picker/mode/permanent-mode.d.ts +29 -29
  155. package/lib/ui/date.picker/mode/permanent-mode.js +19 -19
  156. package/lib/ui/date.picker/views/day-picker.d.ts +40 -40
  157. package/lib/ui/date.picker/views/day-picker.js +155 -155
  158. package/lib/ui/date.picker/views/month-picker.d.ts +26 -26
  159. package/lib/ui/date.picker/views/month-picker.js +65 -65
  160. package/lib/ui/date.picker/views/year-picker.d.ts +20 -20
  161. package/lib/ui/date.picker/views/year-picker.js +66 -66
  162. package/lib/ui/date.picker.d.ts +66 -66
  163. package/lib/ui/date.picker.js +32 -32
  164. package/lib/ui/dialog.d.ts +22 -22
  165. package/lib/ui/dialog.js +98 -113
  166. package/lib/ui/drop.down.d.ts +52 -52
  167. package/lib/ui/drop.down.js +2112 -2112
  168. package/lib/ui/number.input.d.ts +13 -13
  169. package/lib/ui/number.input.js +56 -67
  170. package/package.json +1 -1
@@ -1,251 +1,198 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- import { JSLRender } from "jsl-render";
49
- import { Dialog } from "../../ui/dialog";
50
- import { Moveable } from "../../interaction/moveable";
51
- import { EventHandler } from "../../interaction/eventhandler";
52
- import { Resizable } from "../../interaction/resizable";
53
- import { UILang } from "../../core/lang";
54
- var DialogComponent = /** @class */ (function () {
55
- function DialogComponent(options) {
56
- var _this = this;
57
- this.closeIcon = {
58
- tag: "div", content: "✖" /*"🗙"*/, attr: {
59
- class: "dlg-close-btn", click: function () {
60
- _this.ref.close();
61
- }
62
- }
63
- };
64
- this.resizeHandle = {
65
- tag: "div", attr: { class: "dlg-res-handle rs-b rs-r" }
66
- };
67
- this.options = __assign({ maxHeight: "calc(100vh - 7.5rem)", width: "50vw" }, options);
68
- }
69
- DialogComponent.Button = function (options) {
70
- var _this = this;
71
- var _a, _b, _c;
72
- var res = {
73
- tag: "button", attr: {
74
- class: "jsl-button " + ((_a = options.class) !== null && _a !== void 0 ? _a : ""),
75
- click: function () { return __awaiter(_this, void 0, void 0, function () {
76
- var clickRes, isPromise;
77
- return __generator(this, function (_a) {
78
- switch (_a.label) {
79
- case 0:
80
- if (!(options.onClick != null)) return [3 /*break*/, 3];
81
- clickRes = options.onClick();
82
- isPromise = clickRes && typeof clickRes.then === "function" && typeof clickRes.catch === "function";
83
- if (!isPromise) return [3 /*break*/, 2];
84
- return [4 /*yield*/, clickRes];
85
- case 1:
86
- clickRes = _a.sent();
87
- _a.label = 2;
88
- case 2:
89
- if (clickRes === false) {
90
- return [2 /*return*/];
91
- }
92
- _a.label = 3;
93
- case 3:
94
- if (DialogComponent.lastRenderedDlg != null) {
95
- DialogComponent.lastRenderedDlg.getRef().close();
96
- }
97
- return [2 /*return*/];
98
- }
99
- });
100
- }); }
101
- }, content: (_b = options.content) !== null && _b !== void 0 ? _b : "OK", raw: (_c = options.raw) !== null && _c !== void 0 ? _c : false
102
- };
103
- return res;
104
- };
105
- DialogComponent.Ok = function (onClick) {
106
- return DialogComponent.Button({ content: UILang.core.Ok, onClick: onClick, class: "dlg-ok-btn" });
107
- };
108
- DialogComponent.Cancel = function () {
109
- return DialogComponent.Button({ content: UILang.core.Cancel, class: "dlg-cancel-btn jsl-button-outline" });
110
- };
111
- // does not work -> dialog still exists in background and wrong renderer is active
112
- // public static closeAll() {
113
- // document.querySelectorAll(".jsl-dialog-overlay").forEach((x) => {
114
- // if (x.parentNode != null) {
115
- // x.parentNode.removeChild(x);
116
- // }
117
- // });
118
- // }
119
- DialogComponent.show = function (options) {
120
- var container = document.createElement("div");
121
- document.body.appendChild(container);
122
- var oldRenderer = JSLRender.lastCreatedRenderer;
123
- var oldLastDlg = DialogComponent.lastRenderedDlg;
124
- var renderer = new JSLRender(container, oldRenderer != null);
125
- if (oldRenderer != null) {
126
- JSLRender.lastCreatedRenderer = renderer;
127
- }
128
- var o = __assign({}, options);
129
- if (o.autoOpen == null) {
130
- o.autoOpen = true;
131
- }
132
- o.onClose = function () {
133
- if (options.onClose) {
134
- if (options.onClose() === false) {
135
- return;
136
- }
137
- }
138
- renderer.render({ tag: "div" }); // necessary to call all onRemove functions in rendered content
139
- document.body.removeChild(container);
140
- JSLRender.lastCreatedRenderer = oldRenderer;
141
- if (oldRenderer != null) {
142
- oldRenderer.refresh();
143
- }
144
- DialogComponent.lastRenderedDlg = oldLastDlg;
145
- };
146
- var dlg = new DialogComponent(o);
147
- DialogComponent.lastRenderedDlg = dlg;
148
- renderer.render(dlg);
149
- return dlg;
150
- };
151
- DialogComponent.prototype.render = function () {
152
- var header = this.toNode(this.options.header);
153
- var body = this.toNode(this.options.content);
154
- var footer = this.toNode(this.options.footer);
155
- var styleW = "";
156
- var styleH = "";
157
- if (this.options.width != null) {
158
- styleW += "width:" + this.options.width + ";";
159
- }
160
- if (this.options.minWidth != null) {
161
- styleW += "min-width:" + this.options.minWidth + ";";
162
- }
163
- if (this.options.maxWidth != null) {
164
- styleW += "max-width:" + this.options.maxWidth + ";";
165
- }
166
- if (this.options.height != null) {
167
- styleH += "height:" + this.options.height + ";";
168
- }
169
- if (this.options.minHeight != null) {
170
- styleH += "min-height:" + this.options.minHeight + ";";
171
- }
172
- if (this.options.maxHeight != null) {
173
- styleH += "max-height:" + this.options.maxHeight + ";";
174
- }
175
- var headerStyle = this.options.allowMove ? "cursor:move" : undefined;
176
- return {
177
- tag: "div", attr: {
178
- class: "jsl-dialog-overlay", wheel: function (e) {
179
- e.preventDefault();
180
- }
181
- }, children: [
182
- {
183
- tag: "div", attr: {
184
- class: "jsl-dialog " + (this.options.class || ""), style: styleW, wheel: function (e) {
185
- e.stopImmediatePropagation();
186
- e.stopPropagation();
187
- }
188
- }, children: [
189
- {
190
- tag: "div", attr: { class: "dlg-header", style: headerStyle },
191
- children: this.options.showCloseButton ? [header, this.closeIcon] : [header]
192
- },
193
- { tag: "div", attr: { class: "dlg-body", style: styleH }, children: [body] },
194
- {
195
- tag: "div", attr: { class: "dlg-footer" },
196
- children: [footer]
197
- },
198
- this.options.allowResize ? this.resizeHandle : undefined
199
- ]
200
- }
201
- ]
202
- };
203
- };
204
- DialogComponent.prototype.onCreate = function (node) {
205
- this.ref = Dialog(node.dom, this.options);
206
- if (this.options.allowMove) {
207
- Moveable(this.ref.getOverlay(), __assign({ onStart: new EventHandler(function (e) {
208
- var headerWasClicked = false;
209
- var parent = e.evt.target;
210
- while (parent != null && !parent.classList.contains("jsl-dialog-overlay")) {
211
- if (parent.classList.contains("dlg-header")) {
212
- headerWasClicked = true;
213
- break;
214
- }
215
- parent = parent.parentElement;
216
- }
217
- if (headerWasClicked) {
218
- var rect = e.target.getBoundingClientRect();
219
- e.target.style.transform = "translate(0, 0)";
220
- e.target.style.left = rect.left + "px";
221
- e.target.style.top = rect.top + "px";
222
- }
223
- else {
224
- e.cancelEvent();
225
- }
226
- }) }, this.options.moveOptions));
227
- }
228
- if (this.options.allowResize) {
229
- var dlgEl = this.ref.getOverlay().querySelector(".jsl-dialog");
230
- Resizable(dlgEl, this.options.resizeOptions);
231
- var rect = dlgEl.getBoundingClientRect();
232
- dlgEl.style.transform = "translate(0, 0)";
233
- dlgEl.style.left = rect.left + "px";
234
- dlgEl.style.top = rect.top + "px";
235
- var bodyEl = dlgEl.querySelector(".dlg-body");
236
- var bodyRect = bodyEl.getBoundingClientRect();
237
- bodyEl.style.height = "calc(100% - " + (rect.height - bodyRect.height) + "px)";
238
- }
239
- };
240
- DialogComponent.prototype.getRef = function () {
241
- return this.ref;
242
- };
243
- DialogComponent.prototype.toNode = function (content) {
244
- if (typeof content === "string") {
245
- return { tag: "div", content: content };
246
- }
247
- return content;
248
- };
249
- return DialogComponent;
250
- }());
251
- export { DialogComponent };
1
+ import { JSLRender } from "jsl-render";
2
+ import { Dialog } from "../../ui/dialog";
3
+ import { Moveable } from "../../interaction/moveable";
4
+ import { EventHandler } from "../../interaction/eventhandler";
5
+ import { Resizable } from "../../interaction/resizable";
6
+ import { UILang } from "../../core/lang";
7
+ export class DialogComponent {
8
+ constructor(options) {
9
+ this.closeIcon = {
10
+ tag: "div", content: "✖" /*"🗙"*/, attr: {
11
+ class: "dlg-close-btn", click: () => {
12
+ this.ref.close();
13
+ }
14
+ }
15
+ };
16
+ this.resizeHandle = {
17
+ tag: "div", attr: { class: "dlg-res-handle rs-b rs-r" }
18
+ };
19
+ this.options = { maxHeight: "calc(100vh - 7.5rem)", width: "50vw", ...options };
20
+ }
21
+ static Button(options) {
22
+ var _a, _b, _c;
23
+ const res = {
24
+ tag: "button",
25
+ attr: {
26
+ class: "jsl-button " + ((_a = options.class) !== null && _a !== void 0 ? _a : ""),
27
+ click: async () => {
28
+ if (options.onClick != null) {
29
+ let clickRes = options.onClick();
30
+ const isPromise = clickRes && typeof clickRes.then === "function" && typeof clickRes.catch === "function";
31
+ if (isPromise) {
32
+ clickRes = await clickRes;
33
+ }
34
+ if (clickRes === false) {
35
+ return;
36
+ }
37
+ }
38
+ if (DialogComponent.lastRenderedDlg != null) {
39
+ DialogComponent.lastRenderedDlg.getRef().close();
40
+ }
41
+ }
42
+ }, content: (_b = options.content) !== null && _b !== void 0 ? _b : "OK", raw: (_c = options.raw) !== null && _c !== void 0 ? _c : false
43
+ };
44
+ return res;
45
+ }
46
+ static Ok(onClick) {
47
+ return DialogComponent.Button({ content: UILang.core.Ok, onClick, class: "dlg-ok-btn" });
48
+ }
49
+ static Cancel() {
50
+ return DialogComponent.Button({ content: UILang.core.Cancel, class: "dlg-cancel-btn jsl-button-outline" });
51
+ }
52
+ // does not work -> dialog still exists in background and wrong renderer is active
53
+ // public static closeAll() {
54
+ // document.querySelectorAll(".jsl-dialog-overlay").forEach((x) => {
55
+ // if (x.parentNode != null) {
56
+ // x.parentNode.removeChild(x);
57
+ // }
58
+ // });
59
+ // }
60
+ static show(options) {
61
+ const container = document.createElement("div");
62
+ document.body.appendChild(container);
63
+ const oldRenderer = JSLRender.lastCreatedRenderer;
64
+ const oldLastDlg = DialogComponent.lastRenderedDlg;
65
+ const renderer = new JSLRender(container, oldRenderer != null);
66
+ if (oldRenderer != null) {
67
+ JSLRender.lastCreatedRenderer = renderer;
68
+ }
69
+ const o = { ...options };
70
+ if (o.autoOpen == null) {
71
+ o.autoOpen = true;
72
+ }
73
+ o.onClose = () => {
74
+ if (options.onClose) {
75
+ if (options.onClose() === false) {
76
+ return;
77
+ }
78
+ }
79
+ renderer.render({ tag: "div" }); // necessary to call all onRemove functions in rendered content
80
+ document.body.removeChild(container);
81
+ JSLRender.lastCreatedRenderer = oldRenderer;
82
+ if (oldRenderer != null) {
83
+ oldRenderer.refresh();
84
+ }
85
+ DialogComponent.lastRenderedDlg = oldLastDlg;
86
+ };
87
+ const dlg = new DialogComponent(o);
88
+ DialogComponent.lastRenderedDlg = dlg;
89
+ renderer.render(dlg);
90
+ return dlg;
91
+ }
92
+ render() {
93
+ const header = this.toNode(this.options.header);
94
+ const body = this.toNode(this.options.content);
95
+ const footer = this.toNode(this.options.footer);
96
+ let styleW = "";
97
+ let styleH = "";
98
+ if (this.options.width != null) {
99
+ styleW += "width:" + this.options.width + ";";
100
+ }
101
+ if (this.options.minWidth != null) {
102
+ styleW += "min-width:" + this.options.minWidth + ";";
103
+ }
104
+ if (this.options.maxWidth != null) {
105
+ styleW += "max-width:" + this.options.maxWidth + ";";
106
+ }
107
+ if (this.options.height != null) {
108
+ styleH += "height:" + this.options.height + ";";
109
+ }
110
+ if (this.options.minHeight != null) {
111
+ styleH += "min-height:" + this.options.minHeight + ";";
112
+ }
113
+ if (this.options.maxHeight != null) {
114
+ styleH += "max-height:" + this.options.maxHeight + ";";
115
+ }
116
+ const headerStyle = this.options.allowMove ? "cursor:move" : undefined;
117
+ return {
118
+ tag: "div",
119
+ attr: {
120
+ class: "jsl-dialog-overlay",
121
+ wheel: (e) => {
122
+ e.preventDefault();
123
+ }
124
+ }, children: [
125
+ {
126
+ tag: "div",
127
+ attr: {
128
+ class: "jsl-dialog " + (this.options.class || ""), style: styleW,
129
+ wheel: (e) => {
130
+ e.stopImmediatePropagation();
131
+ e.stopPropagation();
132
+ }
133
+ },
134
+ children: [
135
+ {
136
+ tag: "div", attr: { class: "dlg-header", style: headerStyle },
137
+ children: this.options.showCloseButton ? [header, this.closeIcon] : [header]
138
+ },
139
+ { tag: "div", attr: { class: "dlg-body", style: styleH }, children: [body] },
140
+ {
141
+ tag: "div", attr: { class: "dlg-footer" },
142
+ children: [footer]
143
+ },
144
+ this.options.allowResize ? this.resizeHandle : undefined
145
+ ]
146
+ }
147
+ ]
148
+ };
149
+ }
150
+ onCreate(node) {
151
+ this.ref = Dialog(node.dom, this.options);
152
+ if (this.options.allowMove) {
153
+ Moveable(this.ref.getOverlay(), {
154
+ onStart: new EventHandler((e) => {
155
+ let headerWasClicked = false;
156
+ let parent = e.evt.target;
157
+ while (parent != null && !parent.classList.contains("jsl-dialog-overlay")) {
158
+ if (parent.classList.contains("dlg-header")) {
159
+ headerWasClicked = true;
160
+ break;
161
+ }
162
+ parent = parent.parentElement;
163
+ }
164
+ if (headerWasClicked) {
165
+ const rect = e.target.getBoundingClientRect();
166
+ e.target.style.transform = "translate(0, 0)";
167
+ e.target.style.left = rect.left + "px";
168
+ e.target.style.top = rect.top + "px";
169
+ }
170
+ else {
171
+ e.cancelEvent();
172
+ }
173
+ }),
174
+ ...this.options.moveOptions
175
+ });
176
+ }
177
+ if (this.options.allowResize) {
178
+ const dlgEl = this.ref.getOverlay().querySelector(".jsl-dialog");
179
+ Resizable(dlgEl, this.options.resizeOptions);
180
+ const rect = dlgEl.getBoundingClientRect();
181
+ dlgEl.style.transform = "translate(0, 0)";
182
+ dlgEl.style.left = rect.left + "px";
183
+ dlgEl.style.top = rect.top + "px";
184
+ const bodyEl = dlgEl.querySelector(".dlg-body");
185
+ const bodyRect = bodyEl.getBoundingClientRect();
186
+ bodyEl.style.height = "calc(100% - " + (rect.height - bodyRect.height) + "px)";
187
+ }
188
+ }
189
+ getRef() {
190
+ return this.ref;
191
+ }
192
+ toNode(content) {
193
+ if (typeof content === "string") {
194
+ return { tag: "div", content };
195
+ }
196
+ return content;
197
+ }
198
+ }
@@ -1,27 +1,27 @@
1
- import { IJSLComponent, IJSLVNode } from "jsl-render";
2
- import { IDropDownOptions, IDropDown } from "../../ui/drop.down";
3
- import { EventHandler } from "../../interaction/eventhandler";
4
- import { IDataConverter } from "../../interaction/dataconverter";
5
- export interface IDropDownComponentOptions<T = any> extends IDropDownOptions {
6
- class?: string;
7
- placeholder?: string;
8
- /**
9
- * @deprecated
10
- */
11
- onSelect?: (value: string | string[]) => void;
12
- onChange?: EventHandler<string | string[]> | ((value?: string | string[]) => void);
13
- value?: string | string[];
14
- bindTo?: T;
15
- property?: keyof T;
16
- converter?: IDataConverter<any, string | string[]>;
17
- enabled?: boolean;
18
- }
19
- export declare class DropDownComponent<T = any> implements IJSLComponent {
20
- private ref;
21
- private options;
22
- constructor(options: IDropDownComponentOptions<T>);
23
- render(): IJSLVNode;
24
- getRef(): IDropDown;
25
- onCreate(node: IJSLVNode): void;
26
- onRemove(): void;
27
- }
1
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
2
+ import { IDropDownOptions, IDropDown } from "../../ui/drop.down";
3
+ import { EventHandler } from "../../interaction/eventhandler";
4
+ import { IDataConverter } from "../../interaction/dataconverter";
5
+ export interface IDropDownComponentOptions<T = any> extends IDropDownOptions {
6
+ class?: string;
7
+ placeholder?: string;
8
+ /**
9
+ * @deprecated
10
+ */
11
+ onSelect?: (value: string | string[]) => void;
12
+ onChange?: EventHandler<string | string[]> | ((value?: string | string[]) => void);
13
+ value?: string | string[];
14
+ bindTo?: T;
15
+ property?: keyof T;
16
+ converter?: IDataConverter<any, string | string[]>;
17
+ enabled?: boolean;
18
+ }
19
+ export declare class DropDownComponent<T = any> implements IJSLComponent {
20
+ private ref;
21
+ private options;
22
+ constructor(options: IDropDownComponentOptions<T>);
23
+ render(): IJSLVNode;
24
+ getRef(): IDropDown;
25
+ onCreate(node: IJSLVNode): void;
26
+ onRemove(): void;
27
+ }