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,140 +1,138 @@
1
- import "./FormFieldStyle.scss";
2
- import { DatePicker } from "../../ui/date.picker";
3
- import { NumberInput } from "../../ui/number.input";
4
- import { helper } from "../../core/helper";
5
- import { AutoSuggest } from "../../ui/auto.suggest";
6
- var FormFieldComponent = /** @class */ (function () {
7
- function FormFieldComponent(options) {
8
- this.options = options;
9
- this.id = options.id || helper.newDomGuid();
10
- this.type = this.options.type === "password" ? "password" : "text";
11
- }
12
- FormFieldComponent.prototype.render = function () {
13
- var _a, _b;
14
- return {
15
- tag: "div",
16
- attr: { class: "form-field " + (this.options.value ? "form-field--is-filled " : "") + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") },
17
- children: [{
18
- tag: "div",
19
- attr: { class: "form-field__control" + (this.validationMessage ? " failed__valid" : "") },
20
- children: [
21
- {
22
- tag: "label",
23
- attr: { for: this.id, class: "form-field__label" },
24
- content: this.options.label +
25
- (this.options.required ? " *" : "") +
26
- (this.validationMessage ? (" " + ((_b = this.validationMessage) !== null && _b !== void 0 ? _b : "")) : "")
27
- },
28
- {
29
- tag: "input",
30
- attr: {
31
- id: this.id,
32
- type: this.type,
33
- value: this.options.value,
34
- maxLength: this.options.maxLength,
35
- class: "form-field__input",
36
- blur: this.setInActive,
37
- focus: this.setActive,
38
- input: this.onInput,
39
- disabled: this.options.disabled ? "disabled" : undefined
40
- }
41
- }
42
- ]
43
- }]
44
- };
45
- };
46
- FormFieldComponent.prototype.onCreate = function (node) {
47
- var InputDom = node.dom.firstElementChild.children[1];
48
- if (this.options.type === "number") {
49
- NumberInput(InputDom, this.options.numberOptions);
50
- }
51
- else if (this.options.type === "date") {
52
- this.datepickerRef = DatePicker(InputDom, this.options.dateOptions);
53
- }
54
- else if (this.options.type === "autosuggest") {
55
- AutoSuggest(InputDom, this.options.autoSuggestOptions);
56
- }
57
- };
58
- FormFieldComponent.prototype.onRemove = function (node) {
59
- if (this.datepickerRef != null) {
60
- this.datepickerRef.destroy();
61
- }
62
- };
63
- FormFieldComponent.prototype.validate = function () {
64
- var value = this.getValue();
65
- if (this.options.required && !value) {
66
- this.validationMessage = " ";
67
- return false;
68
- }
69
- if (this.options.onValidate) {
70
- var validationResult = this.options.onValidate(value);
71
- if (validationResult === false) {
72
- this.validationMessage = " ";
73
- return false;
74
- }
75
- if (validationResult !== true) {
76
- this.validationMessage = validationResult;
77
- return false;
78
- }
79
- }
80
- this.validationMessage = null;
81
- return true;
82
- };
83
- FormFieldComponent.prototype.getValue = function () {
84
- var _a;
85
- return (_a = document.getElementById(this.id)) === null || _a === void 0 ? void 0 : _a.value;
86
- };
87
- FormFieldComponent.prototype.setValue = function (value) {
88
- var el = document.getElementById(this.id);
89
- if (el == null) {
90
- return;
91
- }
92
- el.value = value || "";
93
- if (value) {
94
- el.parentElement.classList.add("form-field--is-filled");
95
- }
96
- else {
97
- el.parentElement.classList.remove("form-field--is-filled");
98
- }
99
- };
100
- FormFieldComponent.prototype.setInActive = function (evt, node) {
101
- var formField = node.dom.parentElement.parentElement;
102
- if (formField == null) {
103
- return;
104
- }
105
- setTimeout(function () {
106
- formField.classList.remove("form-field--is-active");
107
- if (node.dom.value === "") {
108
- formField.classList.remove("form-field--is-filled");
109
- }
110
- else {
111
- formField.classList.add("form-field--is-filled");
112
- }
113
- }, 250);
114
- if (this.options.onBlur) {
115
- this.options.onBlur(evt, node);
116
- return;
117
- }
118
- return false;
119
- };
120
- FormFieldComponent.prototype.setActive = function (evt, node) {
121
- var formField = node.dom.parentElement.parentElement;
122
- if (formField == null) {
123
- return;
124
- }
125
- formField.classList.add("form-field--is-active");
126
- if (this.options.onFocus) {
127
- this.options.onFocus(evt, node);
128
- return;
129
- }
130
- return false;
131
- };
132
- FormFieldComponent.prototype.onInput = function (evt, node) {
133
- if (this.options.onInput) {
134
- this.options.onInput(evt, node);
135
- return;
136
- }
137
- };
138
- return FormFieldComponent;
139
- }());
140
- export { FormFieldComponent };
1
+ import "./FormFieldStyle.scss";
2
+ import { DatePicker } from "../../ui/date.picker";
3
+ import { NumberInput } from "../../ui/number.input";
4
+ import { helper } from "../../core/helper";
5
+ import { AutoSuggest } from "../../ui/auto.suggest";
6
+ export class FormFieldComponent {
7
+ constructor(options) {
8
+ this.options = options;
9
+ this.id = options.id || helper.newDomGuid();
10
+ this.type = this.options.type === "password" ? "password" : "text";
11
+ }
12
+ render() {
13
+ var _a, _b;
14
+ return {
15
+ tag: "div",
16
+ attr: { class: "form-field " + (this.options.value ? "form-field--is-filled " : "") + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") },
17
+ children: [{
18
+ tag: "div",
19
+ attr: { class: "form-field__control" + (this.validationMessage ? " failed__valid" : "") },
20
+ children: [
21
+ {
22
+ tag: "label",
23
+ attr: { for: this.id, class: "form-field__label" },
24
+ content: this.options.label +
25
+ (this.options.required ? " *" : "") +
26
+ (this.validationMessage ? (" " + ((_b = this.validationMessage) !== null && _b !== void 0 ? _b : "")) : "")
27
+ },
28
+ {
29
+ tag: "input",
30
+ attr: {
31
+ id: this.id,
32
+ type: this.type,
33
+ value: this.options.value,
34
+ maxLength: this.options.maxLength,
35
+ class: "form-field__input",
36
+ blur: this.setInActive,
37
+ focus: this.setActive,
38
+ input: this.onInput,
39
+ disabled: this.options.disabled ? "disabled" : undefined
40
+ }
41
+ }
42
+ ]
43
+ }]
44
+ };
45
+ }
46
+ onCreate(node) {
47
+ const InputDom = node.dom.firstElementChild.children[1];
48
+ if (this.options.type === "number") {
49
+ NumberInput(InputDom, this.options.numberOptions);
50
+ }
51
+ else if (this.options.type === "date") {
52
+ this.datepickerRef = DatePicker(InputDom, this.options.dateOptions);
53
+ }
54
+ else if (this.options.type === "autosuggest") {
55
+ AutoSuggest(InputDom, this.options.autoSuggestOptions);
56
+ }
57
+ }
58
+ onRemove(node) {
59
+ if (this.datepickerRef != null) {
60
+ this.datepickerRef.destroy();
61
+ }
62
+ }
63
+ validate() {
64
+ const value = this.getValue();
65
+ if (this.options.required && !value) {
66
+ this.validationMessage = " ";
67
+ return false;
68
+ }
69
+ if (this.options.onValidate) {
70
+ const validationResult = this.options.onValidate(value);
71
+ if (validationResult === false) {
72
+ this.validationMessage = " ";
73
+ return false;
74
+ }
75
+ if (validationResult !== true) {
76
+ this.validationMessage = validationResult;
77
+ return false;
78
+ }
79
+ }
80
+ this.validationMessage = null;
81
+ return true;
82
+ }
83
+ getValue() {
84
+ var _a;
85
+ return (_a = document.getElementById(this.id)) === null || _a === void 0 ? void 0 : _a.value;
86
+ }
87
+ setValue(value) {
88
+ const el = document.getElementById(this.id);
89
+ if (el == null) {
90
+ return;
91
+ }
92
+ el.value = value || "";
93
+ if (value) {
94
+ el.parentElement.classList.add("form-field--is-filled");
95
+ }
96
+ else {
97
+ el.parentElement.classList.remove("form-field--is-filled");
98
+ }
99
+ }
100
+ setInActive(evt, node) {
101
+ const formField = node.dom.parentElement.parentElement;
102
+ if (formField == null) {
103
+ return;
104
+ }
105
+ setTimeout(() => {
106
+ formField.classList.remove("form-field--is-active");
107
+ if (node.dom.value === "") {
108
+ formField.classList.remove("form-field--is-filled");
109
+ }
110
+ else {
111
+ formField.classList.add("form-field--is-filled");
112
+ }
113
+ }, 250);
114
+ if (this.options.onBlur) {
115
+ this.options.onBlur(evt, node);
116
+ return;
117
+ }
118
+ return false;
119
+ }
120
+ setActive(evt, node) {
121
+ const formField = node.dom.parentElement.parentElement;
122
+ if (formField == null) {
123
+ return;
124
+ }
125
+ formField.classList.add("form-field--is-active");
126
+ if (this.options.onFocus) {
127
+ this.options.onFocus(evt, node);
128
+ return;
129
+ }
130
+ return false;
131
+ }
132
+ onInput(evt, node) {
133
+ if (this.options.onInput) {
134
+ this.options.onInput(evt, node);
135
+ return;
136
+ }
137
+ }
138
+ }
@@ -1,26 +1,26 @@
1
- import { ISlickColumn } from "../../grid/slick.core";
2
- import { ISlickCreatorOptions, IJSLGrid } from "../../grid/slick.creator";
3
- import { IJSLComponent, IJSLVNode } from "jsl-render";
4
- export declare class GridComponent<T> implements IJSLComponent {
5
- private data;
6
- private columns;
7
- private options;
8
- private gridRef;
9
- private ref;
10
- private refResolver;
11
- private currentlyVisible;
12
- private checkVisibleTimeout;
13
- private rootTag;
14
- private initEventsFnc;
15
- constructor(data: Promise<T[]> | T[], columns: ISlickColumn[], options: ISlickCreatorOptions, height?: string);
16
- getRootTag(): IJSLVNode;
17
- getRef(): Promise<IJSLGrid<T>>;
18
- initEvents(fnc: (grid: IJSLGrid<T>) => void): void;
19
- onCreate(vnode: IJSLVNode): void;
20
- onRemove(vnode: IJSLVNode): void;
21
- render(): IJSLVNode;
22
- private checkVisibility;
23
- private resizeEventListener;
24
- private anyInputIsFocused;
25
- private isVisible;
26
- }
1
+ import { ISlickColumn } from "../../grid/slick.core";
2
+ import { ISlickCreatorOptions, IJSLGrid } from "../../grid/slick.creator";
3
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
4
+ export declare class GridComponent<T> implements IJSLComponent {
5
+ private data;
6
+ private columns;
7
+ private options;
8
+ private gridRef;
9
+ private ref;
10
+ private refResolver;
11
+ private currentlyVisible;
12
+ private checkVisibleTimeout;
13
+ private rootTag;
14
+ private initEventsFnc;
15
+ constructor(data: Promise<T[]> | T[], columns: ISlickColumn[], options: ISlickCreatorOptions, height?: string);
16
+ getRootTag(): IJSLVNode;
17
+ getRef(): Promise<IJSLGrid<T>>;
18
+ initEvents(fnc: (grid: IJSLGrid<T>) => void): void;
19
+ onCreate(vnode: IJSLVNode): void;
20
+ onRemove(vnode: IJSLVNode): void;
21
+ render(): IJSLVNode;
22
+ private checkVisibility;
23
+ private resizeEventListener;
24
+ private anyInputIsFocused;
25
+ private isVisible;
26
+ }
@@ -1,116 +1,110 @@
1
- import { Slick } from "../../grid/slick.core";
2
- import { createJSLGrid } from "../../grid/slick.creator";
3
- var GridComponent = /** @class */ (function () {
4
- function GridComponent(data, columns, options, height) {
5
- var _this = this;
6
- this.data = data;
7
- this.columns = columns;
8
- this.options = options;
9
- this.currentlyVisible = true;
10
- this.checkVisibleTimeout = 0;
11
- this.initEventsFnc = [];
12
- this.resizeEventListener = function () {
13
- _this.ref.then(function (g) {
14
- if (_this.isVisible(g) && !_this.anyInputIsFocused()) {
15
- g.resizeCanvas();
16
- }
17
- });
18
- };
19
- var style = "";
20
- if (!options.autoHeight) {
21
- style = "height:" + (height !== null && height !== void 0 ? height : "400px");
22
- }
23
- this.rootTag = {
24
- tag: "div",
25
- attr: {
26
- style: style
27
- }
28
- };
29
- this.ref = new Promise(function (resolve, reject) {
30
- _this.refResolver = resolve;
31
- });
32
- }
33
- GridComponent.prototype.getRootTag = function () {
34
- return this.rootTag;
35
- };
36
- GridComponent.prototype.getRef = function () {
37
- return this.ref;
38
- };
39
- GridComponent.prototype.initEvents = function (fnc) {
40
- this.initEventsFnc.push(fnc);
41
- };
42
- GridComponent.prototype.onCreate = function (vnode) {
43
- var _this = this;
44
- // let grid;
45
- setTimeout(function () {
46
- if (Array.isArray(_this.data)) {
47
- _this.gridRef = createJSLGrid(vnode.dom, _this.data, _this.columns, _this.options);
48
- }
49
- else {
50
- var rawData_1 = [];
51
- _this.gridRef = createJSLGrid(vnode.dom, rawData_1, _this.columns, _this.options);
52
- _this.data.then(function (result) {
53
- for (var i = 0; i < result.length; i++) {
54
- rawData_1.push(result[i]);
55
- }
56
- _this.gridRef.refreshData();
57
- });
58
- }
59
- _this.refResolver(_this.gridRef);
60
- for (var idx = 0; idx < _this.initEventsFnc.length; idx++) {
61
- _this.initEventsFnc[idx](_this.gridRef);
62
- }
63
- window.addEventListener("resize", _this.resizeEventListener);
64
- _this.checkVisibility(_this.gridRef);
65
- }, 1);
66
- };
67
- GridComponent.prototype.onRemove = function (vnode) {
68
- var _this = this;
69
- if (this.gridRef != null) {
70
- this.gridRef.destroy();
71
- this.gridRef = null;
72
- }
73
- this.ref = new Promise(function (resolve, reject) {
74
- _this.refResolver = resolve;
75
- });
76
- if (this.checkVisibleTimeout !== 0) {
77
- clearTimeout(this.checkVisibleTimeout);
78
- }
79
- window.removeEventListener("resize", this.resizeEventListener);
80
- };
81
- GridComponent.prototype.render = function () {
82
- return this.rootTag;
83
- };
84
- GridComponent.prototype.checkVisibility = function (g) {
85
- var _this = this;
86
- if (!this.isVisible(g)) {
87
- this.currentlyVisible = false;
88
- this.checkVisibleTimeout = setTimeout(function () { _this.checkVisibility(g); }, 1000);
89
- }
90
- else {
91
- if (!this.currentlyVisible) {
92
- this.currentlyVisible = true;
93
- g.invalidateAllRows();
94
- g.resizeCanvas();
95
- }
96
- this.checkVisibleTimeout = 0;
97
- }
98
- };
99
- GridComponent.prototype.anyInputIsFocused = function () {
100
- // this check is necessary because of mobile virtual keyboard
101
- // -> virtual keyboard triggers window resize event -> which would reset any editors
102
- return Slick.GlobalEditorLock.isActive() && document.querySelector("input:focus") != null;
103
- };
104
- GridComponent.prototype.isVisible = function (g) {
105
- var el = g.getViewportNode().parentElement;
106
- while (el != null && el !== document.body) {
107
- if (getComputedStyle(el, null).display === "none") {
108
- return false;
109
- }
110
- el = el.parentElement;
111
- }
112
- return el != null;
113
- };
114
- return GridComponent;
115
- }());
116
- export { GridComponent };
1
+ import { Slick } from "../../grid/slick.core";
2
+ import { createJSLGrid } from "../../grid/slick.creator";
3
+ export class GridComponent {
4
+ constructor(data, columns, options, height) {
5
+ this.data = data;
6
+ this.columns = columns;
7
+ this.options = options;
8
+ this.currentlyVisible = true;
9
+ this.checkVisibleTimeout = 0;
10
+ this.initEventsFnc = [];
11
+ this.resizeEventListener = () => {
12
+ this.ref.then((g) => {
13
+ if (this.isVisible(g) && !this.anyInputIsFocused()) {
14
+ g.resizeCanvas();
15
+ }
16
+ });
17
+ };
18
+ let style = "";
19
+ if (!options.autoHeight) {
20
+ style = "height:" + (height !== null && height !== void 0 ? height : "400px");
21
+ }
22
+ this.rootTag = {
23
+ tag: "div",
24
+ attr: {
25
+ style
26
+ }
27
+ };
28
+ this.ref = new Promise((resolve, reject) => {
29
+ this.refResolver = resolve;
30
+ });
31
+ }
32
+ getRootTag() {
33
+ return this.rootTag;
34
+ }
35
+ getRef() {
36
+ return this.ref;
37
+ }
38
+ initEvents(fnc) {
39
+ this.initEventsFnc.push(fnc);
40
+ }
41
+ onCreate(vnode) {
42
+ // let grid;
43
+ setTimeout(() => {
44
+ if (Array.isArray(this.data)) {
45
+ this.gridRef = createJSLGrid(vnode.dom, this.data, this.columns, this.options);
46
+ }
47
+ else {
48
+ const rawData = [];
49
+ this.gridRef = createJSLGrid(vnode.dom, rawData, this.columns, this.options);
50
+ this.data.then((result) => {
51
+ for (let i = 0; i < result.length; i++) {
52
+ rawData.push(result[i]);
53
+ }
54
+ this.gridRef.refreshData();
55
+ });
56
+ }
57
+ this.refResolver(this.gridRef);
58
+ for (let idx = 0; idx < this.initEventsFnc.length; idx++) {
59
+ this.initEventsFnc[idx](this.gridRef);
60
+ }
61
+ window.addEventListener("resize", this.resizeEventListener);
62
+ this.checkVisibility(this.gridRef);
63
+ }, 1);
64
+ }
65
+ onRemove(vnode) {
66
+ if (this.gridRef != null) {
67
+ this.gridRef.destroy();
68
+ this.gridRef = null;
69
+ }
70
+ this.ref = new Promise((resolve, reject) => {
71
+ this.refResolver = resolve;
72
+ });
73
+ if (this.checkVisibleTimeout !== 0) {
74
+ clearTimeout(this.checkVisibleTimeout);
75
+ }
76
+ window.removeEventListener("resize", this.resizeEventListener);
77
+ }
78
+ render() {
79
+ return this.rootTag;
80
+ }
81
+ checkVisibility(g) {
82
+ if (!this.isVisible(g)) {
83
+ this.currentlyVisible = false;
84
+ this.checkVisibleTimeout = setTimeout(() => { this.checkVisibility(g); }, 1000);
85
+ }
86
+ else {
87
+ if (!this.currentlyVisible) {
88
+ this.currentlyVisible = true;
89
+ g.invalidateAllRows();
90
+ g.resizeCanvas();
91
+ }
92
+ this.checkVisibleTimeout = 0;
93
+ }
94
+ }
95
+ anyInputIsFocused() {
96
+ // this check is necessary because of mobile virtual keyboard
97
+ // -> virtual keyboard triggers window resize event -> which would reset any editors
98
+ return Slick.GlobalEditorLock.isActive() && document.querySelector("input:focus") != null;
99
+ }
100
+ isVisible(g) {
101
+ let el = g.getViewportNode().parentElement;
102
+ while (el != null && el !== document.body) {
103
+ if (getComputedStyle(el, null).display === "none") {
104
+ return false;
105
+ }
106
+ el = el.parentElement;
107
+ }
108
+ return el != null;
109
+ }
110
+ }
@@ -1,33 +1,33 @@
1
- import { IJSLComponent, IJSLVNode } from "jsl-render";
2
- import { EventHandler } from "../../interaction/eventhandler";
3
- import { IDataConverter } from "../../interaction/dataconverter";
4
- export interface IInputOptions<T = any> {
5
- value?: string;
6
- enabled?: boolean;
7
- class?: string;
8
- style?: string;
9
- onChange?: EventHandler<string> | ((v?: string) => void);
10
- onInput?: EventHandler<string> | ((v?: string) => void);
11
- id?: string;
12
- bindTo?: T;
13
- property?: keyof T;
14
- placeholder?: string;
15
- converter?: IDataConverter<any, string>;
16
- bindMode?: "toModel" | "fromModel" | "both";
17
- bindOnInput?: boolean;
18
- maxLength?: number;
19
- type?: "input" | "text" | "password" | "textarea" | "color" | "time" | "email" | "month" | "number" | "search" | "tel" | "url" | "week";
20
- }
21
- export declare class InputComponent<T = any> implements IJSLComponent {
22
- private options;
23
- private currentDom;
24
- get onChange(): EventHandler<string>;
25
- get onInput(): EventHandler<string>;
26
- constructor(options: IInputOptions<T>);
27
- render(): IJSLVNode;
28
- getValue(): string;
29
- setValue(value: string): void;
30
- onCreate(node: IJSLVNode): void;
31
- private raiseChangeEvent;
32
- private raiseInputEvent;
33
- }
1
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
2
+ import { EventHandler } from "../../interaction/eventhandler";
3
+ import { IDataConverter } from "../../interaction/dataconverter";
4
+ export interface IInputOptions<T = any> {
5
+ value?: string;
6
+ enabled?: boolean;
7
+ class?: string;
8
+ style?: string;
9
+ onChange?: EventHandler<string> | ((v?: string) => void);
10
+ onInput?: EventHandler<string> | ((v?: string) => void);
11
+ id?: string;
12
+ bindTo?: T;
13
+ property?: keyof T;
14
+ placeholder?: string;
15
+ converter?: IDataConverter<any, string>;
16
+ bindMode?: "toModel" | "fromModel" | "both";
17
+ bindOnInput?: boolean;
18
+ maxLength?: number;
19
+ type?: "input" | "text" | "password" | "textarea" | "color" | "time" | "email" | "month" | "number" | "search" | "tel" | "url" | "week";
20
+ }
21
+ export declare class InputComponent<T = any> implements IJSLComponent {
22
+ private options;
23
+ private currentDom;
24
+ get onChange(): EventHandler<string>;
25
+ get onInput(): EventHandler<string>;
26
+ constructor(options: IInputOptions<T>);
27
+ render(): IJSLVNode;
28
+ getValue(): string;
29
+ setValue(value: string): void;
30
+ onCreate(node: IJSLVNode): void;
31
+ private raiseChangeEvent;
32
+ private raiseInputEvent;
33
+ }