jsl-ui 9.28.3 → 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.d.ts +17 -17
- package/lib/components/IntervalComponent.js +65 -65
- package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +22 -22
- package/lib/components/auto-suggest/AutoSuggestComponent.js +47 -47
- package/lib/components/button/ButtonComponent.d.ts +18 -18
- package/lib/components/button/ButtonComponent.js +29 -29
- package/lib/components/checkbox/CheckBoxComponent.d.ts +28 -28
- package/lib/components/checkbox/CheckBoxComponent.js +81 -81
- package/lib/components/date/DateComponent.d.ts +32 -32
- package/lib/components/date/DateComponent.js +89 -89
- package/lib/components/date-range/DateRangeComponent.d.ts +35 -35
- package/lib/components/date-range/DateRangeComponent.js +121 -123
- package/lib/components/date-time/DateTimeComponent.d.ts +15 -15
- package/lib/components/date-time/DateTimeComponent.js +39 -39
- package/lib/components/dialog/DialogComponent.d.ts +67 -67
- package/lib/components/dialog/DialogComponent.js +192 -198
- package/lib/components/drop-down/DropDownComponent.d.ts +27 -27
- package/lib/components/drop-down/DropDownComponent.js +60 -60
- package/lib/components/expander/ExpanderComponent.d.ts +27 -27
- package/lib/components/expander/ExpanderComponent.js +87 -89
- package/lib/components/form-field/FormComponent.d.ts +12 -12
- package/lib/components/form-field/FormComponent.js +23 -23
- package/lib/components/form-field/FormFieldComponent.d.ts +39 -39
- package/lib/components/form-field/FormFieldComponent.js +138 -138
- package/lib/components/grid/GridComponent.d.ts +26 -26
- package/lib/components/grid/GridComponent.js +110 -110
- package/lib/components/input/InputComponent.d.ts +33 -33
- package/lib/components/input/InputComponent.js +126 -126
- package/lib/components/loading/LoadingComponent.d.ts +8 -8
- package/lib/components/loading/LoadingComponent.js +20 -20
- package/lib/components/navigation/NavigationComponent.d.ts +34 -34
- package/lib/components/navigation/NavigationComponent.js +47 -45
- package/lib/components/notification/Notification.d.ts +19 -19
- package/lib/components/notification/Notification.js +65 -65
- package/lib/components/number/NumberComponent.d.ts +26 -26
- package/lib/components/number/NumberComponent.js +80 -80
- package/lib/components/overlay/OverlayComponent.d.ts +27 -27
- package/lib/components/overlay/OverlayComponent.js +134 -137
- package/lib/components/progress/ProgressComponent.d.ts +18 -18
- package/lib/components/progress/ProgressComponent.js +40 -40
- package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +12 -12
- package/lib/components/ribbon-menu/RibbonMenuComponent.js +23 -23
- package/lib/components/select/SelectComponent.d.ts +79 -79
- package/lib/components/select/SelectComponent.js +352 -356
- package/lib/components/select/SelectDDAreaComponent.d.ts +32 -32
- package/lib/components/select/SelectDDAreaComponent.js +303 -303
- package/lib/components/slider/nouislider.d.ts +44 -44
- package/lib/components/slider/nouislider.js +2158 -2158
- package/lib/components/stack-panel/SplitterComponent.d.ts +21 -21
- package/lib/components/stack-panel/SplitterComponent.js +124 -124
- package/lib/components/stack-panel/StackPanelComponent.d.ts +20 -20
- package/lib/components/stack-panel/StackPanelComponent.js +50 -50
- package/lib/components/tabs/TabsComponent.d.ts +40 -40
- package/lib/components/tabs/TabsComponent.js +191 -200
- package/lib/components/time/TimeComponent.d.ts +29 -29
- package/lib/components/time/TimeComponent.js +102 -104
- package/lib/components/tree-view/TreeViewComponent.d.ts +23 -23
- package/lib/components/tree-view/TreeViewComponent.js +42 -43
- package/lib/components/virtual-render/VirtualRenderComponent.d.ts +30 -30
- package/lib/components/virtual-render/VirtualRenderComponent.js +90 -92
- package/lib/core/culture.d.ts +5 -5
- package/lib/core/culture.js +385 -385
- package/lib/core/date.d.ts +14 -14
- package/lib/core/date.js +346 -346
- package/lib/core/helper.d.ts +13 -13
- package/lib/core/helper.js +100 -100
- package/lib/core/jq.d.ts +37 -37
- package/lib/core/jq.js +362 -362
- package/lib/core/lang.d.ts +24 -24
- package/lib/core/lang.js +24 -24
- package/lib/core/numeric.d.ts +7 -7
- package/lib/core/numeric.js +139 -139
- package/lib/core/polyfills.js +22 -22
- package/lib/core.d.ts +6 -6
- package/lib/core.js +6 -6
- package/lib/grid/filterDialogs/dateRangeFilter.d.ts +7 -7
- package/lib/grid/filterDialogs/dateRangeFilter.js +106 -106
- package/lib/grid/filterDialogs/excelFilter.d.ts +9 -9
- package/lib/grid/filterDialogs/excelFilter.js +250 -250
- package/lib/grid/plugins/ext.overlay.d.ts +2 -2
- package/lib/grid/plugins/ext.overlay.js +295 -295
- package/lib/grid/plugins/slick.cellrangedecorator.d.ts +12 -12
- package/lib/grid/plugins/slick.cellrangedecorator.js +68 -68
- package/lib/grid/plugins/slick.cellrangeselector.d.ts +1 -1
- package/lib/grid/plugins/slick.cellrangeselector.js +144 -144
- package/lib/grid/plugins/slick.cellselectionmodel.d.ts +1 -1
- package/lib/grid/plugins/slick.cellselectionmodel.js +194 -194
- package/lib/grid/plugins/slick.headerbuttons.d.ts +55 -55
- package/lib/grid/plugins/slick.headerbuttons.js +156 -156
- package/lib/grid/plugins/slick.headermenu.d.ts +74 -74
- package/lib/grid/plugins/slick.headermenu.js +260 -260
- package/lib/grid/plugins/slick.rowmovemanager.d.ts +18 -18
- package/lib/grid/plugins/slick.rowmovemanager.js +249 -249
- package/lib/grid/plugins/slick.rowselectionmodel.d.ts +1 -1
- package/lib/grid/plugins/slick.rowselectionmodel.js +167 -167
- package/lib/grid/slick.core.d.ts +91 -91
- package/lib/grid/slick.core.js +574 -574
- package/lib/grid/slick.creator.d.ts +81 -81
- package/lib/grid/slick.creator.js +726 -726
- package/lib/grid/slick.dataview.d.ts +71 -71
- package/lib/grid/slick.dataview.js +1069 -1069
- package/lib/grid/slick.editors.core.d.ts +4 -4
- package/lib/grid/slick.editors.core.js +235 -235
- package/lib/grid/slick.editors.date.d.ts +2 -2
- package/lib/grid/slick.editors.date.js +125 -125
- package/lib/grid/slick.editors.lookup.d.ts +14 -14
- package/lib/grid/slick.editors.lookup.js +352 -352
- package/lib/grid/slick.editors.nav.d.ts +6 -6
- package/lib/grid/slick.editors.nav.js +22 -22
- package/lib/grid/slick.formatters.d.ts +17 -17
- package/lib/grid/slick.formatters.js +144 -144
- package/lib/grid/slick.grid.d.ts +285 -285
- package/lib/grid/slick.grid.js +5409 -5409
- package/lib/grid/slick.groupitemmetadataprovider.d.ts +39 -39
- package/lib/grid/slick.groupitemmetadataprovider.js +165 -165
- package/lib/grid/slick.tree.d.ts +33 -33
- package/lib/grid/slick.tree.js +208 -208
- package/lib/grid.css +705 -1
- package/lib/grid.d.ts +13 -13
- package/lib/grid.js +13 -13
- package/lib/index.css +2195 -8
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +55 -56
- package/lib/index.js +61 -61
- package/lib/index.js.map +1 -1
- package/lib/interaction/dataconverter.d.ts +4 -4
- package/lib/interaction/dataconverter.js +1 -0
- package/lib/interaction/eventhandler.d.ts +13 -13
- package/lib/interaction/eventhandler.js +39 -39
- package/lib/interaction/moveable.d.ts +39 -39
- package/lib/interaction/moveable.js +160 -160
- package/lib/interaction/resizable.d.ts +37 -37
- package/lib/interaction/resizable.js +109 -109
- package/lib/ui/auto.suggest.d.ts +18 -18
- package/lib/ui/auto.suggest.js +244 -244
- package/lib/ui/date.picker/date-picker-options.d.ts +11 -11
- package/lib/ui/date.picker/date-picker-options.js +76 -76
- package/lib/ui/date.picker/lib/date-manip.d.ts +74 -74
- package/lib/ui/date.picker/lib/date-manip.js +120 -120
- package/lib/ui/date.picker/lib/dom.d.ts +23 -23
- package/lib/ui/date.picker/lib/dom.js +28 -28
- package/lib/ui/date.picker/lib/emitter.d.ts +13 -13
- package/lib/ui/date.picker/lib/emitter.js +49 -49
- package/lib/ui/date.picker/lib/fns.d.ts +23 -23
- package/lib/ui/date.picker/lib/fns.js +39 -39
- package/lib/ui/date.picker/mode/base-mode.d.ts +26 -26
- package/lib/ui/date.picker/mode/base-mode.js +248 -248
- package/lib/ui/date.picker/mode/dropdown-mode.d.ts +28 -28
- package/lib/ui/date.picker/mode/dropdown-mode.js +50 -50
- package/lib/ui/date.picker/mode/index.d.ts +28 -28
- package/lib/ui/date.picker/mode/index.js +18 -18
- package/lib/ui/date.picker/mode/modal-mode.d.ts +25 -25
- package/lib/ui/date.picker/mode/modal-mode.js +17 -17
- package/lib/ui/date.picker/mode/permanent-mode.d.ts +29 -29
- package/lib/ui/date.picker/mode/permanent-mode.js +19 -19
- package/lib/ui/date.picker/views/day-picker.d.ts +40 -40
- package/lib/ui/date.picker/views/day-picker.js +155 -155
- package/lib/ui/date.picker/views/month-picker.d.ts +26 -26
- package/lib/ui/date.picker/views/month-picker.js +65 -65
- package/lib/ui/date.picker/views/year-picker.d.ts +20 -20
- package/lib/ui/date.picker/views/year-picker.js +66 -66
- package/lib/ui/date.picker.d.ts +66 -66
- package/lib/ui/date.picker.js +32 -32
- package/lib/ui/dialog.d.ts +22 -22
- package/lib/ui/dialog.js +98 -98
- package/lib/ui/drop.down.d.ts +52 -52
- package/lib/ui/drop.down.js +2112 -2112
- package/lib/ui/number.input.d.ts +13 -13
- package/lib/ui/number.input.js +56 -56
- package/package.json +1 -1
package/lib/core/lang.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export declare class UILang {
|
|
2
|
-
static core: {
|
|
3
|
-
All: string;
|
|
4
|
-
Ok: string;
|
|
5
|
-
Cancel: string;
|
|
6
|
-
};
|
|
7
|
-
static grid: {
|
|
8
|
-
Sort: string;
|
|
9
|
-
Asc: string;
|
|
10
|
-
Desc: string;
|
|
11
|
-
Filter: string;
|
|
12
|
-
ClearFilter: string;
|
|
13
|
-
Search: string;
|
|
14
|
-
};
|
|
15
|
-
static dropDown: {
|
|
16
|
-
SelectOption: string;
|
|
17
|
-
SelectOptionMultiple: string;
|
|
18
|
-
NoResults: string;
|
|
19
|
-
NoOptions: string;
|
|
20
|
-
MaxSelection: string;
|
|
21
|
-
AlreadyInUse: string;
|
|
22
|
-
Search: string;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
1
|
+
export declare class UILang {
|
|
2
|
+
static core: {
|
|
3
|
+
All: string;
|
|
4
|
+
Ok: string;
|
|
5
|
+
Cancel: string;
|
|
6
|
+
};
|
|
7
|
+
static grid: {
|
|
8
|
+
Sort: string;
|
|
9
|
+
Asc: string;
|
|
10
|
+
Desc: string;
|
|
11
|
+
Filter: string;
|
|
12
|
+
ClearFilter: string;
|
|
13
|
+
Search: string;
|
|
14
|
+
};
|
|
15
|
+
static dropDown: {
|
|
16
|
+
SelectOption: string;
|
|
17
|
+
SelectOptionMultiple: string;
|
|
18
|
+
NoResults: string;
|
|
19
|
+
NoOptions: string;
|
|
20
|
+
MaxSelection: string;
|
|
21
|
+
AlreadyInUse: string;
|
|
22
|
+
Search: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
package/lib/core/lang.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
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
|
-
};
|
|
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.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare abstract class numeric {
|
|
2
|
-
static parse(nrAsString: string): number;
|
|
3
|
-
static format(nr: number, format?: string): string;
|
|
4
|
-
private static formatCache;
|
|
5
|
-
private static parseNrFormat;
|
|
6
|
-
private static formatNumber;
|
|
7
|
-
}
|
|
1
|
+
export declare abstract class numeric {
|
|
2
|
+
static parse(nrAsString: string): number;
|
|
3
|
+
static format(nr: number, format?: string): string;
|
|
4
|
+
private static formatCache;
|
|
5
|
+
private static parseNrFormat;
|
|
6
|
+
private static formatNumber;
|
|
7
|
+
}
|
package/lib/core/numeric.js
CHANGED
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
import culture from "./culture";
|
|
2
|
-
export class numeric {
|
|
3
|
-
static parse(nrAsString) {
|
|
4
|
-
if (nrAsString === "" || nrAsString === undefined || nrAsString === null) {
|
|
5
|
-
return undefined;
|
|
6
|
-
}
|
|
7
|
-
if (!nrAsString) {
|
|
8
|
-
return undefined;
|
|
9
|
-
}
|
|
10
|
-
if (culture.info.decimalSep && culture.info.decimalSep.length > 1) {
|
|
11
|
-
throw "DecimalSep cannot be more than one character";
|
|
12
|
-
}
|
|
13
|
-
if (culture.info.thousandSep && culture.info.thousandSep.length > 1) {
|
|
14
|
-
throw "ThousandSep cannot be more than one character";
|
|
15
|
-
}
|
|
16
|
-
var str = "";
|
|
17
|
-
var comma_sep = culture.info.decimalSep;
|
|
18
|
-
for (var i = 0; i < nrAsString.length; i++) {
|
|
19
|
-
var c = nrAsString.charAt(i);
|
|
20
|
-
if (c === comma_sep) {
|
|
21
|
-
str += '.';
|
|
22
|
-
}
|
|
23
|
-
else if (c === '0' || c === '1' || c === '2' || c === '3' || c === '4' || c === '5' || c === '6' || c === '7' || c === '8' || c === '9' || (c === '-' && str === "")) {
|
|
24
|
-
str += c;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return parseFloat(str);
|
|
28
|
-
}
|
|
29
|
-
static format(nr, format) {
|
|
30
|
-
if (isNaN(nr) || nr === null || nr === undefined) {
|
|
31
|
-
return "";
|
|
32
|
-
}
|
|
33
|
-
if (culture.info.decimalSep && culture.info.decimalSep.length > 1) {
|
|
34
|
-
throw "DecimalSep cannot be more than one character";
|
|
35
|
-
}
|
|
36
|
-
if (culture.info.thousandSep && culture.info.thousandSep.length > 1) {
|
|
37
|
-
throw "ThousandSep cannot be more than one character";
|
|
38
|
-
}
|
|
39
|
-
const f = format || culture.info.numberFormat;
|
|
40
|
-
let cacheEntry = numeric.formatCache[f];
|
|
41
|
-
if (!cacheEntry) {
|
|
42
|
-
numeric.formatCache[f] = cacheEntry = numeric.parseNrFormat(f);
|
|
43
|
-
}
|
|
44
|
-
return numeric.formatNumber(nr, cacheEntry);
|
|
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++) {
|
|
52
|
-
if (format.charAt(i) === '.') {
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
if (format.charAt(i) === '0') {
|
|
56
|
-
min_length++;
|
|
57
|
-
}
|
|
58
|
-
if (min_length === 0 && format.charAt(i) !== ',' && format.charAt(i) !== '0' && format.charAt(i) !== '.' && format.charAt(i) !== '#') {
|
|
59
|
-
prefix += format.charAt(i);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
let max_comma_places = 0;
|
|
63
|
-
let min_comma_places = 0;
|
|
64
|
-
let comma_pos = format.indexOf('.');
|
|
65
|
-
if (comma_pos >= 0) {
|
|
66
|
-
for (let j = comma_pos + 1; j < format.length; j++) {
|
|
67
|
-
if (format.charAt(j) === '0') {
|
|
68
|
-
min_comma_places++;
|
|
69
|
-
}
|
|
70
|
-
else if (format.charAt(j) === '#') {
|
|
71
|
-
max_comma_places++;
|
|
72
|
-
}
|
|
73
|
-
else if (format.charAt(j) !== ',' && format.charAt(j) !== '.') {
|
|
74
|
-
suffix += format.charAt(j);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
max_comma_places += min_comma_places;
|
|
79
|
-
return { max_comma_places, min_comma_places, min_length, prefix, suffix, show_sep };
|
|
80
|
-
}
|
|
81
|
-
static formatNumber(nr, format) {
|
|
82
|
-
//defaults
|
|
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;
|
|
88
|
-
//check if number is negative
|
|
89
|
-
let negative = nr < 0;
|
|
90
|
-
if (negative) {
|
|
91
|
-
nr = -nr;
|
|
92
|
-
}
|
|
93
|
-
//convert number to a string and round
|
|
94
|
-
let nr_str_raw = nr.toFixed(cp_max);
|
|
95
|
-
let cp = cp_max;
|
|
96
|
-
//remove comma-places which are not necessary
|
|
97
|
-
let end = nr_str_raw.indexOf('.') + cp_min;
|
|
98
|
-
if (end >= 0) {
|
|
99
|
-
let x = nr_str_raw.length - 1;
|
|
100
|
-
while (x > end) {
|
|
101
|
-
if (nr_str_raw.charAt(x) === '0') {
|
|
102
|
-
cp--;
|
|
103
|
-
nr_str_raw = nr_str_raw.slice(0, -1);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
x--;
|
|
109
|
-
}
|
|
110
|
-
if (nr_str_raw.charAt(x) === '.') {
|
|
111
|
-
nr_str_raw = nr_str_raw.slice(0, -1);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
let nr_str = comma_separator !== "." ? nr_str_raw.replace(".", comma_separator) : nr_str_raw;
|
|
115
|
-
let t = cp ? cp + 1 : 0;
|
|
116
|
-
// add "0" at the front if necessary
|
|
117
|
-
while (nr_str.length < ml + t) {
|
|
118
|
-
nr_str = "0" + nr_str;
|
|
119
|
-
}
|
|
120
|
-
// insert thousand-separator if necessary
|
|
121
|
-
t += 3;
|
|
122
|
-
while (nr_str.length > t && format.show_sep) {
|
|
123
|
-
nr_str = nr_str.substr(0, nr_str.length - t) + thousand_separator + nr_str.substr(nr_str.length - t);
|
|
124
|
-
t += 4;
|
|
125
|
-
}
|
|
126
|
-
//remove first 0 if necessary
|
|
127
|
-
if (ml === 0 && nr_str.charAt(0) === '0') {
|
|
128
|
-
nr_str = nr_str.slice(1);
|
|
129
|
-
}
|
|
130
|
-
//return number
|
|
131
|
-
if (negative && parseFloat(nr_str_raw) !== 0) {
|
|
132
|
-
return (format.prefix || "") + "-" + nr_str + (format.suffix || "");
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
return (format.prefix || "") + nr_str + (format.suffix || "");
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
numeric.formatCache = {};
|
|
1
|
+
import culture from "./culture";
|
|
2
|
+
export class numeric {
|
|
3
|
+
static parse(nrAsString) {
|
|
4
|
+
if (nrAsString === "" || nrAsString === undefined || nrAsString === null) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
if (!nrAsString) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
if (culture.info.decimalSep && culture.info.decimalSep.length > 1) {
|
|
11
|
+
throw "DecimalSep cannot be more than one character";
|
|
12
|
+
}
|
|
13
|
+
if (culture.info.thousandSep && culture.info.thousandSep.length > 1) {
|
|
14
|
+
throw "ThousandSep cannot be more than one character";
|
|
15
|
+
}
|
|
16
|
+
var str = "";
|
|
17
|
+
var comma_sep = culture.info.decimalSep;
|
|
18
|
+
for (var i = 0; i < nrAsString.length; i++) {
|
|
19
|
+
var c = nrAsString.charAt(i);
|
|
20
|
+
if (c === comma_sep) {
|
|
21
|
+
str += '.';
|
|
22
|
+
}
|
|
23
|
+
else if (c === '0' || c === '1' || c === '2' || c === '3' || c === '4' || c === '5' || c === '6' || c === '7' || c === '8' || c === '9' || (c === '-' && str === "")) {
|
|
24
|
+
str += c;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return parseFloat(str);
|
|
28
|
+
}
|
|
29
|
+
static format(nr, format) {
|
|
30
|
+
if (isNaN(nr) || nr === null || nr === undefined) {
|
|
31
|
+
return "";
|
|
32
|
+
}
|
|
33
|
+
if (culture.info.decimalSep && culture.info.decimalSep.length > 1) {
|
|
34
|
+
throw "DecimalSep cannot be more than one character";
|
|
35
|
+
}
|
|
36
|
+
if (culture.info.thousandSep && culture.info.thousandSep.length > 1) {
|
|
37
|
+
throw "ThousandSep cannot be more than one character";
|
|
38
|
+
}
|
|
39
|
+
const f = format || culture.info.numberFormat;
|
|
40
|
+
let cacheEntry = numeric.formatCache[f];
|
|
41
|
+
if (!cacheEntry) {
|
|
42
|
+
numeric.formatCache[f] = cacheEntry = numeric.parseNrFormat(f);
|
|
43
|
+
}
|
|
44
|
+
return numeric.formatNumber(nr, cacheEntry);
|
|
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++) {
|
|
52
|
+
if (format.charAt(i) === '.') {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
if (format.charAt(i) === '0') {
|
|
56
|
+
min_length++;
|
|
57
|
+
}
|
|
58
|
+
if (min_length === 0 && format.charAt(i) !== ',' && format.charAt(i) !== '0' && format.charAt(i) !== '.' && format.charAt(i) !== '#') {
|
|
59
|
+
prefix += format.charAt(i);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
let max_comma_places = 0;
|
|
63
|
+
let min_comma_places = 0;
|
|
64
|
+
let comma_pos = format.indexOf('.');
|
|
65
|
+
if (comma_pos >= 0) {
|
|
66
|
+
for (let j = comma_pos + 1; j < format.length; j++) {
|
|
67
|
+
if (format.charAt(j) === '0') {
|
|
68
|
+
min_comma_places++;
|
|
69
|
+
}
|
|
70
|
+
else if (format.charAt(j) === '#') {
|
|
71
|
+
max_comma_places++;
|
|
72
|
+
}
|
|
73
|
+
else if (format.charAt(j) !== ',' && format.charAt(j) !== '.') {
|
|
74
|
+
suffix += format.charAt(j);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
max_comma_places += min_comma_places;
|
|
79
|
+
return { max_comma_places, min_comma_places, min_length, prefix, suffix, show_sep };
|
|
80
|
+
}
|
|
81
|
+
static formatNumber(nr, format) {
|
|
82
|
+
//defaults
|
|
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;
|
|
88
|
+
//check if number is negative
|
|
89
|
+
let negative = nr < 0;
|
|
90
|
+
if (negative) {
|
|
91
|
+
nr = -nr;
|
|
92
|
+
}
|
|
93
|
+
//convert number to a string and round
|
|
94
|
+
let nr_str_raw = nr.toFixed(cp_max);
|
|
95
|
+
let cp = cp_max;
|
|
96
|
+
//remove comma-places which are not necessary
|
|
97
|
+
let end = nr_str_raw.indexOf('.') + cp_min;
|
|
98
|
+
if (end >= 0) {
|
|
99
|
+
let x = nr_str_raw.length - 1;
|
|
100
|
+
while (x > end) {
|
|
101
|
+
if (nr_str_raw.charAt(x) === '0') {
|
|
102
|
+
cp--;
|
|
103
|
+
nr_str_raw = nr_str_raw.slice(0, -1);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
x--;
|
|
109
|
+
}
|
|
110
|
+
if (nr_str_raw.charAt(x) === '.') {
|
|
111
|
+
nr_str_raw = nr_str_raw.slice(0, -1);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
let nr_str = comma_separator !== "." ? nr_str_raw.replace(".", comma_separator) : nr_str_raw;
|
|
115
|
+
let t = cp ? cp + 1 : 0;
|
|
116
|
+
// add "0" at the front if necessary
|
|
117
|
+
while (nr_str.length < ml + t) {
|
|
118
|
+
nr_str = "0" + nr_str;
|
|
119
|
+
}
|
|
120
|
+
// insert thousand-separator if necessary
|
|
121
|
+
t += 3;
|
|
122
|
+
while (nr_str.length > t && format.show_sep) {
|
|
123
|
+
nr_str = nr_str.substr(0, nr_str.length - t) + thousand_separator + nr_str.substr(nr_str.length - t);
|
|
124
|
+
t += 4;
|
|
125
|
+
}
|
|
126
|
+
//remove first 0 if necessary
|
|
127
|
+
if (ml === 0 && nr_str.charAt(0) === '0') {
|
|
128
|
+
nr_str = nr_str.slice(1);
|
|
129
|
+
}
|
|
130
|
+
//return number
|
|
131
|
+
if (negative && parseFloat(nr_str_raw) !== 0) {
|
|
132
|
+
return (format.prefix || "") + "-" + nr_str + (format.suffix || "");
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
return (format.prefix || "") + nr_str + (format.suffix || "");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
numeric.formatCache = {};
|
package/lib/core/polyfills.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
// source: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
|
|
2
|
-
(function () {
|
|
3
|
-
if (typeof window.CustomEvent === "function") {
|
|
4
|
-
return false;
|
|
5
|
-
}
|
|
6
|
-
;
|
|
7
|
-
function CustomEvent(event, params) {
|
|
8
|
-
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
|
9
|
-
var evt = document.createEvent("CustomEvent");
|
|
10
|
-
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
|
|
11
|
-
return evt;
|
|
12
|
-
}
|
|
13
|
-
CustomEvent.prototype = window.Event.prototype;
|
|
14
|
-
window.CustomEvent = CustomEvent;
|
|
15
|
-
if (!("remove" in Element.prototype)) {
|
|
16
|
-
Element.prototype.remove = function () {
|
|
17
|
-
if (this.parentNode) {
|
|
18
|
-
this.parentNode.removeChild(this);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
})();
|
|
1
|
+
// source: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
|
|
2
|
+
(function () {
|
|
3
|
+
if (typeof window.CustomEvent === "function") {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
;
|
|
7
|
+
function CustomEvent(event, params) {
|
|
8
|
+
params = params || { bubbles: false, cancelable: false, detail: undefined };
|
|
9
|
+
var evt = document.createEvent("CustomEvent");
|
|
10
|
+
evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
|
|
11
|
+
return evt;
|
|
12
|
+
}
|
|
13
|
+
CustomEvent.prototype = window.Event.prototype;
|
|
14
|
+
window.CustomEvent = CustomEvent;
|
|
15
|
+
if (!("remove" in Element.prototype)) {
|
|
16
|
+
Element.prototype.remove = function () {
|
|
17
|
+
if (this.parentNode) {
|
|
18
|
+
this.parentNode.removeChild(this);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
})();
|
package/lib/core.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from "./core/culture";
|
|
2
|
-
export * from "./core/date";
|
|
3
|
-
export * from "./core/helper";
|
|
4
|
-
export * from "./core/jq";
|
|
5
|
-
export * from "./core/numeric";
|
|
6
|
-
import "./core/polyfills";
|
|
1
|
+
export * from "./core/culture";
|
|
2
|
+
export * from "./core/date";
|
|
3
|
+
export * from "./core/helper";
|
|
4
|
+
export * from "./core/jq";
|
|
5
|
+
export * from "./core/numeric";
|
|
6
|
+
import "./core/polyfills";
|
package/lib/core.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from "./core/culture";
|
|
2
|
-
export * from "./core/date";
|
|
3
|
-
export * from "./core/helper";
|
|
4
|
-
export * from "./core/jq";
|
|
5
|
-
export * from "./core/numeric";
|
|
6
|
-
import "./core/polyfills";
|
|
1
|
+
export * from "./core/culture";
|
|
2
|
+
export * from "./core/date";
|
|
3
|
+
export * from "./core/helper";
|
|
4
|
+
export * from "./core/jq";
|
|
5
|
+
export * from "./core/numeric";
|
|
6
|
+
import "./core/polyfills";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ISlickColumn } from "../slick.core";
|
|
2
|
-
import { IJSLGrid } from "../../index";
|
|
3
|
-
export declare class DateRangeFilter {
|
|
4
|
-
private grid;
|
|
5
|
-
constructor(grid: IJSLGrid<any>);
|
|
6
|
-
show(col: ISlickColumn): Promise<void>;
|
|
7
|
-
}
|
|
1
|
+
import { ISlickColumn } from "../slick.core";
|
|
2
|
+
import { IJSLGrid } from "../../index";
|
|
3
|
+
export declare class DateRangeFilter {
|
|
4
|
+
private grid;
|
|
5
|
+
constructor(grid: IJSLGrid<any>);
|
|
6
|
+
show(col: ISlickColumn): Promise<void>;
|
|
7
|
+
}
|