jsl-ui 9.28.2 → 9.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/IntervalComponent.js +32 -35
- package/lib/components/auto-suggest/AutoSuggestComponent.js +19 -21
- package/lib/components/button/ButtonComponent.js +13 -30
- package/lib/components/checkbox/CheckBoxComponent.js +22 -39
- package/lib/components/date/DateComponent.js +29 -46
- package/lib/components/date-range/DateRangeComponent.js +48 -63
- package/lib/components/date-time/DateTimeComponent.js +17 -31
- package/lib/components/dialog/DialogComponent.js +75 -134
- package/lib/components/drop-down/DropDownComponent.js +23 -37
- package/lib/components/expander/ExpanderComponent.js +20 -23
- package/lib/components/form-field/FormComponent.js +9 -12
- package/lib/components/form-field/FormFieldComponent.js +28 -30
- package/lib/components/grid/GridComponent.js +46 -52
- package/lib/components/input/InputComponent.js +26 -47
- package/lib/components/loading/LoadingComponent.js +7 -9
- package/lib/components/navigation/NavigationComponent.js +20 -43
- package/lib/components/notification/Notification.js +18 -22
- package/lib/components/number/NumberComponent.js +28 -46
- package/lib/components/overlay/OverlayComponent.js +45 -60
- package/lib/components/progress/ProgressComponent.js +15 -17
- package/lib/components/ribbon-menu/RibbonMenuComponent.js +9 -20
- package/lib/components/select/SelectComponent.js +105 -122
- package/lib/components/select/SelectDDAreaComponent.js +108 -122
- package/lib/components/slider/nouislider.js +1 -1
- package/lib/components/stack-panel/SplitterComponent.js +27 -29
- package/lib/components/stack-panel/StackPanelComponent.js +17 -31
- package/lib/components/tabs/TabsComponent.js +53 -66
- package/lib/components/time/TimeComponent.js +32 -43
- package/lib/components/tree-view/TreeViewComponent.js +13 -16
- package/lib/components/virtual-render/VirtualRenderComponent.js +30 -44
- package/lib/core/culture.js +2 -2
- package/lib/core/date.js +68 -72
- package/lib/core/helper.js +30 -34
- package/lib/core/jq.js +54 -63
- package/lib/core/lang.js +24 -28
- package/lib/core/numeric.js +35 -39
- package/lib/grid/filterDialogs/dateRangeFilter.js +98 -148
- package/lib/grid/filterDialogs/excelFilter.js +205 -271
- package/lib/grid/plugins/ext.overlay.js +9 -9
- package/lib/grid/plugins/slick.cellrangedecorator.js +2 -2
- package/lib/grid/plugins/slick.cellrangeselector.js +1 -1
- package/lib/grid/plugins/slick.cellselectionmodel.js +8 -8
- package/lib/grid/plugins/slick.headerbuttons.js +1 -1
- package/lib/grid/plugins/slick.headermenu.js +1 -1
- package/lib/grid/plugins/slick.rowmovemanager.js +2 -2
- package/lib/grid/plugins/slick.rowselectionmodel.js +1 -1
- package/lib/grid/slick.core.js +1 -1
- package/lib/grid/slick.creator.js +144 -144
- package/lib/grid/slick.dataview.js +127 -138
- package/lib/grid/slick.editors.core.js +1 -1
- package/lib/grid/slick.editors.date.js +2 -2
- package/lib/grid/slick.editors.lookup.js +36 -37
- package/lib/grid/slick.editors.nav.js +1 -1
- package/lib/grid/slick.formatters.js +26 -26
- package/lib/grid/slick.grid.js +163 -166
- package/lib/grid/slick.groupitemmetadataprovider.js +4 -4
- package/lib/grid/slick.tree.js +91 -103
- package/lib/index.js.map +1 -1
- package/lib/interaction/eventhandler.js +20 -23
- package/lib/interaction/moveable.js +76 -90
- package/lib/interaction/resizable.js +58 -72
- package/lib/ui/auto.suggest.js +13 -28
- package/lib/ui/date.picker/lib/fns.js +1 -5
- package/lib/ui/dialog.js +28 -43
- package/lib/ui/drop.down.js +4 -4
- package/lib/ui/number.input.js +8 -19
- package/package.json +1 -1
package/lib/core/jq.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
function deepExtend(out) {
|
|
2
|
-
var a = [];
|
|
3
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
4
|
-
a[_i - 1] = arguments[_i];
|
|
5
|
-
}
|
|
1
|
+
function deepExtend(out, ...a) {
|
|
6
2
|
out = out || {};
|
|
7
|
-
for (
|
|
8
|
-
|
|
3
|
+
for (let i = 1; i < arguments.length; i++) {
|
|
4
|
+
let obj = arguments[i];
|
|
9
5
|
if (!obj)
|
|
10
6
|
continue;
|
|
11
|
-
for (
|
|
7
|
+
for (let key in obj) {
|
|
12
8
|
if (obj.hasOwnProperty(key)) {
|
|
13
9
|
if (obj[key] !== null && typeof obj[key] === 'object')
|
|
14
10
|
out[key] = deepExtend((Array.isArray(obj[key]) && out[key] === undefined) ? [] : out[key], obj[key]);
|
|
@@ -30,27 +26,26 @@ function getParentWithClass(el, c, stopAt) {
|
|
|
30
26
|
return undefined;
|
|
31
27
|
}
|
|
32
28
|
function jQWrapper(elements) {
|
|
33
|
-
|
|
29
|
+
let _elements = elements;
|
|
34
30
|
_elements.empty = function () {
|
|
35
|
-
for (
|
|
36
|
-
var x = _elements_1[_i];
|
|
31
|
+
for (let x of _elements) {
|
|
37
32
|
x.innerHTML = '';
|
|
38
33
|
}
|
|
39
34
|
return this;
|
|
40
35
|
};
|
|
41
36
|
_elements.appendTo = function (selector) {
|
|
42
|
-
for (
|
|
37
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
43
38
|
if (selector instanceof HTMLElement) {
|
|
44
39
|
selector.appendChild(_elements[i]);
|
|
45
40
|
}
|
|
46
41
|
else if (typeof (selector) === "string") {
|
|
47
|
-
|
|
48
|
-
for (
|
|
49
|
-
parents[
|
|
42
|
+
const parents = document.querySelectorAll(selector);
|
|
43
|
+
for (let i = 0, len = parents.length; i < len; i++) {
|
|
44
|
+
parents[i].appendChild(_elements[i]);
|
|
50
45
|
}
|
|
51
46
|
}
|
|
52
47
|
else {
|
|
53
|
-
for (
|
|
48
|
+
for (let j = 0; j < selector.length; j++) {
|
|
54
49
|
selector[j].appendChild(_elements[i]);
|
|
55
50
|
}
|
|
56
51
|
}
|
|
@@ -58,7 +53,7 @@ function jQWrapper(elements) {
|
|
|
58
53
|
return this;
|
|
59
54
|
};
|
|
60
55
|
_elements.append = function (el) {
|
|
61
|
-
for (
|
|
56
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
62
57
|
_elements[i].appendChild(el);
|
|
63
58
|
}
|
|
64
59
|
return this;
|
|
@@ -69,7 +64,7 @@ function jQWrapper(elements) {
|
|
|
69
64
|
_elements.push(selector);
|
|
70
65
|
}
|
|
71
66
|
else {
|
|
72
|
-
for (
|
|
67
|
+
for (let i = 0; i < selector.length; i++) {
|
|
73
68
|
_elements.push(selector[i]);
|
|
74
69
|
}
|
|
75
70
|
}
|
|
@@ -83,7 +78,7 @@ function jQWrapper(elements) {
|
|
|
83
78
|
if (!_elements.length) {
|
|
84
79
|
return undefined;
|
|
85
80
|
}
|
|
86
|
-
|
|
81
|
+
const computed = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight",
|
|
87
82
|
"borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"];
|
|
88
83
|
if (computed.indexOf(key) < 0) {
|
|
89
84
|
return _elements[0].style[key];
|
|
@@ -91,11 +86,11 @@ function jQWrapper(elements) {
|
|
|
91
86
|
return window.getComputedStyle(_elements[0])[key];
|
|
92
87
|
}
|
|
93
88
|
else {
|
|
94
|
-
for (
|
|
89
|
+
for (const keyEl in key) {
|
|
95
90
|
if (!key.hasOwnProperty(keyEl)) {
|
|
96
91
|
continue;
|
|
97
92
|
}
|
|
98
|
-
for (
|
|
93
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
99
94
|
if (["height", "width", "top", "left", "bottom", "right"].indexOf(keyEl) >= 0 && typeof key[keyEl] === "number") {
|
|
100
95
|
_elements[i].style[keyEl] = key[keyEl] + "px";
|
|
101
96
|
}
|
|
@@ -106,7 +101,7 @@ function jQWrapper(elements) {
|
|
|
106
101
|
}
|
|
107
102
|
}
|
|
108
103
|
}
|
|
109
|
-
for (
|
|
104
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
110
105
|
if (["height", "width", "top", "left", "bottom", "right"].indexOf(key) >= 0 && typeof value === "number") {
|
|
111
106
|
_elements[i].style[key] = value + "px";
|
|
112
107
|
}
|
|
@@ -120,22 +115,22 @@ function jQWrapper(elements) {
|
|
|
120
115
|
if (value === undefined) {
|
|
121
116
|
return _elements.length ? _elements[0][key] : undefined;
|
|
122
117
|
}
|
|
123
|
-
for (
|
|
118
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
124
119
|
_elements[i][key] = value;
|
|
125
120
|
}
|
|
126
121
|
return this;
|
|
127
122
|
};
|
|
128
123
|
_elements.closestClass = function (name, stopAt) {
|
|
129
|
-
|
|
130
|
-
for (
|
|
131
|
-
|
|
124
|
+
let result = jQueryReplacement();
|
|
125
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
126
|
+
let match = getParentWithClass(_elements[i], name, stopAt);
|
|
132
127
|
result.add(match);
|
|
133
128
|
}
|
|
134
129
|
return result;
|
|
135
130
|
};
|
|
136
131
|
_elements.remove = function () {
|
|
137
|
-
for (
|
|
138
|
-
|
|
132
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
133
|
+
let el = _elements[i];
|
|
139
134
|
if (el.parentNode) {
|
|
140
135
|
el.parentNode.removeChild(el);
|
|
141
136
|
}
|
|
@@ -147,7 +142,7 @@ function jQWrapper(elements) {
|
|
|
147
142
|
if (value === undefined) {
|
|
148
143
|
return _elements[0][name];
|
|
149
144
|
}
|
|
150
|
-
for (
|
|
145
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
151
146
|
_elements[i][name] = value;
|
|
152
147
|
}
|
|
153
148
|
return this;
|
|
@@ -156,13 +151,13 @@ function jQWrapper(elements) {
|
|
|
156
151
|
if (value === undefined) {
|
|
157
152
|
return _elements.length ? _elements[0].innerHTML : undefined;
|
|
158
153
|
}
|
|
159
|
-
for (
|
|
154
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
160
155
|
_elements[i].innerHTML = value;
|
|
161
156
|
}
|
|
162
157
|
return this;
|
|
163
158
|
};
|
|
164
159
|
_elements.text = function (value) {
|
|
165
|
-
for (
|
|
160
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
166
161
|
_elements[i].innerText = value;
|
|
167
162
|
}
|
|
168
163
|
return this;
|
|
@@ -172,7 +167,7 @@ function jQWrapper(elements) {
|
|
|
172
167
|
if (!_elements.length) {
|
|
173
168
|
return undefined;
|
|
174
169
|
}
|
|
175
|
-
|
|
170
|
+
let cssHeight = parseInt(_elements[0].style.height);
|
|
176
171
|
if (isNaN(cssHeight)) {
|
|
177
172
|
return _elements[0].offsetHeight;
|
|
178
173
|
}
|
|
@@ -180,7 +175,7 @@ function jQWrapper(elements) {
|
|
|
180
175
|
return cssHeight;
|
|
181
176
|
}
|
|
182
177
|
}
|
|
183
|
-
for (
|
|
178
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
184
179
|
if (typeof value === "string") {
|
|
185
180
|
_elements[i].style.height = value;
|
|
186
181
|
}
|
|
@@ -203,7 +198,7 @@ function jQWrapper(elements) {
|
|
|
203
198
|
// return cssHeight;
|
|
204
199
|
// }
|
|
205
200
|
}
|
|
206
|
-
for (
|
|
201
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
207
202
|
if (typeof value === "string") {
|
|
208
203
|
_elements[i].style.width = value;
|
|
209
204
|
}
|
|
@@ -215,10 +210,10 @@ function jQWrapper(elements) {
|
|
|
215
210
|
return this;
|
|
216
211
|
};
|
|
217
212
|
_elements.removeClass = function (name) {
|
|
218
|
-
for (
|
|
213
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
219
214
|
if (name.indexOf(' ') > 0) {
|
|
220
|
-
|
|
221
|
-
for (
|
|
215
|
+
let names = name.split(' ');
|
|
216
|
+
for (let nIdx = 0; nIdx < names.length; nIdx++) {
|
|
222
217
|
_elements[i].classList.remove(names[nIdx]);
|
|
223
218
|
}
|
|
224
219
|
}
|
|
@@ -231,30 +226,30 @@ function jQWrapper(elements) {
|
|
|
231
226
|
_elements.offset = function () {
|
|
232
227
|
if (_elements.length === 0)
|
|
233
228
|
return undefined;
|
|
234
|
-
|
|
235
|
-
|
|
229
|
+
let el = _elements[0];
|
|
230
|
+
let rect = el.getBoundingClientRect();
|
|
236
231
|
return {
|
|
237
232
|
top: rect.top + document.body.scrollTop,
|
|
238
233
|
left: rect.left + document.body.scrollLeft
|
|
239
234
|
};
|
|
240
235
|
};
|
|
241
236
|
_elements.children = function () {
|
|
242
|
-
|
|
243
|
-
for (
|
|
244
|
-
for (
|
|
237
|
+
let result = [];
|
|
238
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
239
|
+
for (let cidx = 0; cidx < _elements[i].children.length; cidx++) {
|
|
245
240
|
result.push(_elements[i].children[cidx]);
|
|
246
241
|
}
|
|
247
242
|
}
|
|
248
243
|
return jQWrapper(result);
|
|
249
244
|
};
|
|
250
245
|
_elements.on = function (eventname, fnc) {
|
|
251
|
-
for (
|
|
246
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
252
247
|
_elements[i].addEventListener(eventname, fnc);
|
|
253
248
|
}
|
|
254
249
|
return this;
|
|
255
250
|
};
|
|
256
251
|
_elements.toggleClass = function (name, state) {
|
|
257
|
-
for (
|
|
252
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
258
253
|
if (state === false || _elements[i].classList.contains(name)) {
|
|
259
254
|
_elements[i].classList.remove(name);
|
|
260
255
|
}
|
|
@@ -266,9 +261,9 @@ function jQWrapper(elements) {
|
|
|
266
261
|
};
|
|
267
262
|
_elements.find = function (selector) {
|
|
268
263
|
var result = jQueryReplacement();
|
|
269
|
-
for (
|
|
270
|
-
|
|
271
|
-
for (
|
|
264
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
265
|
+
let found = _elements[i].querySelectorAll(selector);
|
|
266
|
+
for (let j = 0; j < found.length; j++) {
|
|
272
267
|
result.add(found[j]);
|
|
273
268
|
}
|
|
274
269
|
}
|
|
@@ -276,14 +271,14 @@ function jQWrapper(elements) {
|
|
|
276
271
|
};
|
|
277
272
|
_elements.slideDown = function (speed, done) {
|
|
278
273
|
//TODO
|
|
279
|
-
for (
|
|
274
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
280
275
|
_elements[i].style.display = '';
|
|
281
276
|
}
|
|
282
277
|
return this;
|
|
283
278
|
};
|
|
284
279
|
_elements.slideUp = function (speed, done) {
|
|
285
280
|
//TODO
|
|
286
|
-
for (
|
|
281
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
287
282
|
_elements[i].style.display = 'none';
|
|
288
283
|
}
|
|
289
284
|
return this;
|
|
@@ -291,7 +286,7 @@ function jQWrapper(elements) {
|
|
|
291
286
|
_elements.addClass = function (name) {
|
|
292
287
|
if (name) {
|
|
293
288
|
{
|
|
294
|
-
for (
|
|
289
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
295
290
|
_elements[i].classList.add(name);
|
|
296
291
|
}
|
|
297
292
|
}
|
|
@@ -299,7 +294,7 @@ function jQWrapper(elements) {
|
|
|
299
294
|
return this;
|
|
300
295
|
};
|
|
301
296
|
_elements.hasClass = function (name) {
|
|
302
|
-
for (
|
|
297
|
+
for (let i = 0; i < _elements.length; i++) {
|
|
303
298
|
if (_elements[i].classList.contains(name))
|
|
304
299
|
return true;
|
|
305
300
|
}
|
|
@@ -307,7 +302,7 @@ function jQWrapper(elements) {
|
|
|
307
302
|
};
|
|
308
303
|
_elements.index = function () {
|
|
309
304
|
var index = 0;
|
|
310
|
-
|
|
305
|
+
let node = _elements[0];
|
|
311
306
|
if (!node)
|
|
312
307
|
return -1;
|
|
313
308
|
while ((node = node.previousElementSibling)) {
|
|
@@ -317,8 +312,8 @@ function jQWrapper(elements) {
|
|
|
317
312
|
};
|
|
318
313
|
return _elements;
|
|
319
314
|
}
|
|
320
|
-
|
|
321
|
-
|
|
315
|
+
const jqueryCreate = function (selector) {
|
|
316
|
+
let elements = [];
|
|
322
317
|
if (typeof selector === "string") {
|
|
323
318
|
if (selector[0] === '<') {
|
|
324
319
|
var tmp = document.createElement("div");
|
|
@@ -328,8 +323,8 @@ var jqueryCreate = function (selector) {
|
|
|
328
323
|
else {
|
|
329
324
|
var q = document.querySelectorAll(selector);
|
|
330
325
|
if (q) {
|
|
331
|
-
for (
|
|
332
|
-
|
|
326
|
+
for (let i = 0; i < q.length; i++) {
|
|
327
|
+
let node = q[i];
|
|
333
328
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
334
329
|
elements.push(node);
|
|
335
330
|
}
|
|
@@ -345,15 +340,11 @@ var jqueryCreate = function (selector) {
|
|
|
345
340
|
return jQWrapper(elements);
|
|
346
341
|
};
|
|
347
342
|
function each(array, fnc) {
|
|
348
|
-
for (
|
|
343
|
+
for (let i = 0; i < array.length; i++) {
|
|
349
344
|
fnc(i, array[i]);
|
|
350
345
|
}
|
|
351
346
|
}
|
|
352
|
-
function shallowExtend(out) {
|
|
353
|
-
var rest = [];
|
|
354
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
355
|
-
rest[_i - 1] = arguments[_i];
|
|
356
|
-
}
|
|
347
|
+
function shallowExtend(out, ...rest) {
|
|
357
348
|
out = out || {};
|
|
358
349
|
for (var i = 1; i < arguments.length; i++) {
|
|
359
350
|
if (!arguments[i])
|
|
@@ -368,4 +359,4 @@ function shallowExtend(out) {
|
|
|
368
359
|
jqueryCreate.deepExtend = deepExtend;
|
|
369
360
|
jqueryCreate.each = each;
|
|
370
361
|
jqueryCreate.shallowExtend = shallowExtend;
|
|
371
|
-
export
|
|
362
|
+
export let jQueryReplacement = jqueryCreate;
|
package/lib/core/lang.js
CHANGED
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
return UILang;
|
|
27
|
-
}());
|
|
28
|
-
export { UILang };
|
|
1
|
+
export class UILang {
|
|
2
|
+
}
|
|
3
|
+
UILang.core = {
|
|
4
|
+
All: "All",
|
|
5
|
+
Ok: "Ok",
|
|
6
|
+
Cancel: "Cancel"
|
|
7
|
+
};
|
|
8
|
+
UILang.grid = {
|
|
9
|
+
Sort: "Sort",
|
|
10
|
+
Asc: "Ascending",
|
|
11
|
+
Desc: "Descending",
|
|
12
|
+
Filter: "Filter",
|
|
13
|
+
ClearFilter: "Clear Filter",
|
|
14
|
+
Search: "Search"
|
|
15
|
+
};
|
|
16
|
+
UILang.dropDown = {
|
|
17
|
+
SelectOption: "Select an option...",
|
|
18
|
+
SelectOptionMultiple: "Enter options...",
|
|
19
|
+
NoResults: "No results",
|
|
20
|
+
NoOptions: "No options available",
|
|
21
|
+
MaxSelection: "A maximum of {max} items can be selected",
|
|
22
|
+
AlreadyInUse: "That tag is already in use",
|
|
23
|
+
Search: "Search ..."
|
|
24
|
+
};
|
package/lib/core/numeric.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import culture from "./culture";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
numeric.parse = function (nrAsString) {
|
|
2
|
+
export class numeric {
|
|
3
|
+
static parse(nrAsString) {
|
|
6
4
|
if (nrAsString === "" || nrAsString === undefined || nrAsString === null) {
|
|
7
5
|
return undefined;
|
|
8
6
|
}
|
|
@@ -27,8 +25,8 @@ var numeric = /** @class */ (function () {
|
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
return parseFloat(str);
|
|
30
|
-
}
|
|
31
|
-
|
|
28
|
+
}
|
|
29
|
+
static format(nr, format) {
|
|
32
30
|
if (isNaN(nr) || nr === null || nr === undefined) {
|
|
33
31
|
return "";
|
|
34
32
|
}
|
|
@@ -38,19 +36,19 @@ var numeric = /** @class */ (function () {
|
|
|
38
36
|
if (culture.info.thousandSep && culture.info.thousandSep.length > 1) {
|
|
39
37
|
throw "ThousandSep cannot be more than one character";
|
|
40
38
|
}
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
const f = format || culture.info.numberFormat;
|
|
40
|
+
let cacheEntry = numeric.formatCache[f];
|
|
43
41
|
if (!cacheEntry) {
|
|
44
42
|
numeric.formatCache[f] = cacheEntry = numeric.parseNrFormat(f);
|
|
45
43
|
}
|
|
46
44
|
return numeric.formatNumber(nr, cacheEntry);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
for (
|
|
45
|
+
}
|
|
46
|
+
static parseNrFormat(format) {
|
|
47
|
+
let prefix = "";
|
|
48
|
+
let suffix = "";
|
|
49
|
+
let show_sep = format.indexOf(',#') > 0 || format.indexOf(',0') > 0;
|
|
50
|
+
let min_length = 0;
|
|
51
|
+
for (let i = 0; i < format.length; i++) {
|
|
54
52
|
if (format.charAt(i) === '.') {
|
|
55
53
|
break;
|
|
56
54
|
}
|
|
@@ -61,11 +59,11 @@ var numeric = /** @class */ (function () {
|
|
|
61
59
|
prefix += format.charAt(i);
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
let max_comma_places = 0;
|
|
63
|
+
let min_comma_places = 0;
|
|
64
|
+
let comma_pos = format.indexOf('.');
|
|
67
65
|
if (comma_pos >= 0) {
|
|
68
|
-
for (
|
|
66
|
+
for (let j = comma_pos + 1; j < format.length; j++) {
|
|
69
67
|
if (format.charAt(j) === '0') {
|
|
70
68
|
min_comma_places++;
|
|
71
69
|
}
|
|
@@ -78,27 +76,27 @@ var numeric = /** @class */ (function () {
|
|
|
78
76
|
}
|
|
79
77
|
}
|
|
80
78
|
max_comma_places += min_comma_places;
|
|
81
|
-
return { max_comma_places
|
|
82
|
-
}
|
|
83
|
-
|
|
79
|
+
return { max_comma_places, min_comma_places, min_length, prefix, suffix, show_sep };
|
|
80
|
+
}
|
|
81
|
+
static formatNumber(nr, format) {
|
|
84
82
|
//defaults
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
83
|
+
let comma_separator = culture.info.decimalSep;
|
|
84
|
+
let thousand_separator = culture.info.thousandSep;
|
|
85
|
+
let cp_min = format.min_comma_places || 0;
|
|
86
|
+
let cp_max = format.max_comma_places || 0;
|
|
87
|
+
let ml = format.min_length || 0;
|
|
90
88
|
//check if number is negative
|
|
91
|
-
|
|
89
|
+
let negative = nr < 0;
|
|
92
90
|
if (negative) {
|
|
93
91
|
nr = -nr;
|
|
94
92
|
}
|
|
95
93
|
//convert number to a string and round
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
let nr_str_raw = nr.toFixed(cp_max);
|
|
95
|
+
let cp = cp_max;
|
|
98
96
|
//remove comma-places which are not necessary
|
|
99
|
-
|
|
97
|
+
let end = nr_str_raw.indexOf('.') + cp_min;
|
|
100
98
|
if (end >= 0) {
|
|
101
|
-
|
|
99
|
+
let x = nr_str_raw.length - 1;
|
|
102
100
|
while (x > end) {
|
|
103
101
|
if (nr_str_raw.charAt(x) === '0') {
|
|
104
102
|
cp--;
|
|
@@ -113,8 +111,8 @@ var numeric = /** @class */ (function () {
|
|
|
113
111
|
nr_str_raw = nr_str_raw.slice(0, -1);
|
|
114
112
|
}
|
|
115
113
|
}
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
let nr_str = comma_separator !== "." ? nr_str_raw.replace(".", comma_separator) : nr_str_raw;
|
|
115
|
+
let t = cp ? cp + 1 : 0;
|
|
118
116
|
// add "0" at the front if necessary
|
|
119
117
|
while (nr_str.length < ml + t) {
|
|
120
118
|
nr_str = "0" + nr_str;
|
|
@@ -136,8 +134,6 @@ var numeric = /** @class */ (function () {
|
|
|
136
134
|
else {
|
|
137
135
|
return (format.prefix || "") + nr_str + (format.suffix || "");
|
|
138
136
|
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}());
|
|
143
|
-
export { numeric };
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
numeric.formatCache = {};
|