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,113 +1,104 @@
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
- import "./TimeComponent.scss";
13
- import { EventHandler } from "../../interaction/eventhandler";
14
- import { helper } from "../../core/helper";
15
- import { date } from "../../core/date";
16
- var TimeComponent = /** @class */ (function () {
17
- function TimeComponent(options) {
18
- var _a;
19
- this.options = __assign({
20
- enabled: true,
21
- id: helper.newDomGuid(),
22
- inputMode: "HourMinute",
23
- bindMode: "toModel",
24
- placeholder: (options === null || options === void 0 ? void 0 : options.inputMode) === "HourMinuteSecond" ? "__:__:__" : "__:__"
25
- }, options);
26
- if (this.options.bindTo != null && this.options.bindMode !== "fromModel" && this.options.property != null && this.options.value == null) {
27
- this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
28
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
29
- this.options.bindTo[this.options.property]);
30
- }
31
- this.options.onChange = EventHandler.Create(this.options.onChange);
32
- }
33
- TimeComponent.prototype.render = function () {
34
- var _a, _b;
35
- var val = this.options.value;
36
- if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
37
- var current = this.getValue();
38
- var newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
39
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
40
- this.options.bindTo[this.options.property]);
41
- var newValStr = date.formatTime(newVal, this.options.inputMode);
42
- if (newValStr !== current) {
43
- val = newVal;
44
- if (this.currentDom != null) {
45
- this.currentDom.value = newValStr;
46
- }
47
- }
48
- }
49
- return {
50
- tag: "input", attr: {
51
- id: this.options.id,
52
- enabled: this.options.enabled,
53
- value: date.formatTime(val, this.options.inputMode),
54
- class: "time-comp " + ((_b = this.options.class) !== null && _b !== void 0 ? _b : ""),
55
- style: this.options.style,
56
- placeholder: this.options.placeholder,
57
- change: this.raiseChangeEvent
58
- }
59
- };
60
- };
61
- TimeComponent.prototype.onCreate = function (node) {
62
- this.currentDom = node.dom;
63
- };
64
- TimeComponent.prototype.onUpdate = function (node) {
65
- this.currentDom = node.dom;
66
- };
67
- TimeComponent.prototype.getValue = function () {
68
- if (this.currentDom == null) {
69
- return "";
70
- }
71
- return this.currentDom.value;
72
- };
73
- TimeComponent.prototype.getValueAsDate = function (datePart) {
74
- var x = datePart ? new Date(datePart.getTime()) : new Date();
75
- try {
76
- var parts = this.getValue().split(":");
77
- x.setHours(parseInt(parts[0], 10));
78
- if (parts.length > 1) {
79
- x.setMinutes(parseInt(parts[1], 10));
80
- }
81
- else {
82
- x.setMinutes(0);
83
- }
84
- if (this.options.inputMode === "HourMinuteSecond" && parts.length > 2) {
85
- x.setSeconds(parseInt(parts[2], 10));
86
- }
87
- else {
88
- x.setSeconds(0);
89
- }
90
- }
91
- catch (e) {
92
- console.log(e);
93
- this.currentDom.value = "";
94
- x.setHours(0);
95
- x.setMinutes(0);
96
- x.setSeconds(0);
97
- }
98
- return x;
99
- };
100
- TimeComponent.prototype.raiseChangeEvent = function (e, node) {
101
- var _a;
102
- if (this.options.enabled) {
103
- var val = this.getValueAsDate(this.options.value);
104
- if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
105
- this.options.bindTo[this.options.property] =
106
- ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(val) : val;
107
- }
108
- this.options.onChange.notify(val);
109
- }
110
- };
111
- return TimeComponent;
112
- }());
113
- export { TimeComponent };
1
+ import "./TimeComponent.scss";
2
+ import { EventHandler } from "../../interaction/eventhandler";
3
+ import { helper } from "../../core/helper";
4
+ import { date } from "../../core/date";
5
+ export class TimeComponent {
6
+ constructor(options) {
7
+ var _a;
8
+ this.options = {
9
+ ...{
10
+ enabled: true,
11
+ id: helper.newDomGuid(),
12
+ inputMode: "HourMinute",
13
+ bindMode: "toModel",
14
+ placeholder: (options === null || options === void 0 ? void 0 : options.inputMode) === "HourMinuteSecond" ? "__:__:__" : "__:__"
15
+ },
16
+ ...options
17
+ };
18
+ if (this.options.bindTo != null && this.options.bindMode !== "fromModel" && this.options.property != null && this.options.value == null) {
19
+ this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
20
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
21
+ this.options.bindTo[this.options.property]);
22
+ }
23
+ this.options.onChange = EventHandler.Create(this.options.onChange);
24
+ }
25
+ render() {
26
+ var _a, _b;
27
+ let val = this.options.value;
28
+ if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
29
+ const current = this.getValue();
30
+ const newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
31
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
32
+ this.options.bindTo[this.options.property]);
33
+ const newValStr = date.formatTime(newVal, this.options.inputMode);
34
+ val = newVal;
35
+ if (newValStr !== current) {
36
+ if (this.currentDom != null) {
37
+ this.currentDom.value = newValStr;
38
+ }
39
+ }
40
+ }
41
+ return {
42
+ tag: "input",
43
+ attr: {
44
+ id: this.options.id,
45
+ enabled: this.options.enabled,
46
+ value: date.formatTime(val, this.options.inputMode),
47
+ class: "time-comp " + ((_b = this.options.class) !== null && _b !== void 0 ? _b : ""),
48
+ style: this.options.style,
49
+ placeholder: this.options.placeholder,
50
+ change: this.raiseChangeEvent
51
+ }
52
+ };
53
+ }
54
+ onCreate(node) {
55
+ this.currentDom = node.dom;
56
+ }
57
+ onUpdate(node) {
58
+ this.currentDom = node.dom;
59
+ }
60
+ getValue() {
61
+ if (this.currentDom == null) {
62
+ return "";
63
+ }
64
+ return this.currentDom.value;
65
+ }
66
+ getValueAsDate(datePart) {
67
+ const x = datePart ? new Date(datePart.getTime()) : new Date();
68
+ try {
69
+ const parts = this.getValue().split(":");
70
+ x.setHours(parseInt(parts[0], 10));
71
+ if (parts.length > 1) {
72
+ x.setMinutes(parseInt(parts[1], 10));
73
+ }
74
+ else {
75
+ x.setMinutes(0);
76
+ }
77
+ if (this.options.inputMode === "HourMinuteSecond" && parts.length > 2) {
78
+ x.setSeconds(parseInt(parts[2], 10));
79
+ }
80
+ else {
81
+ x.setSeconds(0);
82
+ }
83
+ }
84
+ catch (e) {
85
+ console.log(e);
86
+ this.currentDom.value = "";
87
+ x.setHours(0);
88
+ x.setMinutes(0);
89
+ x.setSeconds(0);
90
+ }
91
+ return x;
92
+ }
93
+ raiseChangeEvent(e, node) {
94
+ var _a;
95
+ if (this.options.enabled) {
96
+ const val = this.getValueAsDate(this.options.value);
97
+ if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
98
+ this.options.bindTo[this.options.property] =
99
+ ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(val) : val;
100
+ }
101
+ this.options.onChange.notify(val);
102
+ }
103
+ }
104
+ }
@@ -1,23 +1,23 @@
1
- import "./TreeViewStyle.scss";
2
- import { IJSLComponent, IJSLVNode } from "jsl-render";
3
- export interface ITreeViewComponentOptions {
4
- data: ITreeViewChild;
5
- renderItem?: (data: any) => IJSLVNode;
6
- style?: string;
7
- class?: string;
8
- }
9
- export interface ITreeViewChild {
10
- id: string;
11
- content: IJSLVNode | string;
12
- children?: ITreeViewChild[];
13
- collapsed?: boolean;
14
- }
15
- export declare class TreeViewComponent implements IJSLComponent {
16
- private options;
17
- private filteredData;
18
- constructor(options: ITreeViewComponentOptions);
19
- isEqual(node: IJSLComponent): boolean;
20
- render(): IJSLVNode;
21
- private renderNode;
22
- private addChild;
23
- }
1
+ import "./TreeViewStyle.scss";
2
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
3
+ export interface ITreeViewComponentOptions {
4
+ data: ITreeViewChild;
5
+ renderItem?: (data: any) => IJSLVNode;
6
+ style?: string;
7
+ class?: string;
8
+ }
9
+ export interface ITreeViewChild {
10
+ id: string;
11
+ content: IJSLVNode | string;
12
+ children?: ITreeViewChild[];
13
+ collapsed?: boolean;
14
+ }
15
+ export declare class TreeViewComponent implements IJSLComponent {
16
+ private options;
17
+ private filteredData;
18
+ constructor(options: ITreeViewComponentOptions);
19
+ isEqual(node: IJSLComponent): boolean;
20
+ render(): IJSLVNode;
21
+ private renderNode;
22
+ private addChild;
23
+ }
@@ -1,45 +1,43 @@
1
- import "./TreeViewStyle.scss";
2
- var TreeViewComponent = /** @class */ (function () {
3
- function TreeViewComponent(options) {
4
- this.options = options;
5
- }
6
- TreeViewComponent.prototype.isEqual = function (node) {
7
- return this.__proto__ === node.__proto__;
8
- };
9
- TreeViewComponent.prototype.render = function () {
10
- var _a, _b;
11
- return {
12
- tag: "div", attr: { style: this.options.style, class: "treeview-comp hover " + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") }, children: [
13
- { tag: "ul", attr: { class: "tv-ul" }, children: [this.renderNode((_b = this.filteredData) !== null && _b !== void 0 ? _b : this.options.data)] }
14
- ]
15
- };
16
- };
17
- TreeViewComponent.prototype.renderNode = function (el) {
18
- var _this = this;
19
- function getInput() {
20
- var res = { tag: "input", attr: { class: "tv-input", type: "checkbox", id: el.id } };
21
- if (el.collapsed) {
22
- res.attr.checked = "checked";
23
- }
24
- return res;
25
- }
26
- return (el.children && el.children.length > 0) ?
27
- { tag: "li", children: [
28
- getInput(),
29
- this.addChild({ tag: "label", attr: { for: el.id } }, this.options.renderItem != null ? this.options.renderItem(el) : el.content),
30
- { tag: "ul", attr: { class: "tv-ul" }, children: el.children.map(function (c) { return _this.renderNode(c); }) }
31
- ] } :
32
- this.addChild({ tag: "li" }, this.options.renderItem != null ? this.options.renderItem(el) : el.content);
33
- };
34
- TreeViewComponent.prototype.addChild = function (parent, content) {
35
- if (typeof content === "string") {
36
- parent.content = content;
37
- }
38
- else {
39
- parent.children = [content];
40
- }
41
- return parent;
42
- };
43
- return TreeViewComponent;
44
- }());
45
- export { TreeViewComponent };
1
+ import "./TreeViewStyle.scss";
2
+ export class TreeViewComponent {
3
+ constructor(options) {
4
+ this.options = options;
5
+ }
6
+ isEqual(node) {
7
+ return this.__proto__ === node.__proto__;
8
+ }
9
+ render() {
10
+ var _a, _b;
11
+ return {
12
+ tag: "div",
13
+ attr: { style: this.options.style, class: "treeview-comp hover " + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") }, children: [
14
+ { tag: "ul", attr: { class: "tv-ul" }, children: [this.renderNode((_b = this.filteredData) !== null && _b !== void 0 ? _b : this.options.data)] }
15
+ ]
16
+ };
17
+ }
18
+ renderNode(el) {
19
+ function getInput() {
20
+ const res = { tag: "input", attr: { class: "tv-input", type: "checkbox", id: el.id } };
21
+ if (el.collapsed) {
22
+ res.attr.checked = "checked";
23
+ }
24
+ return res;
25
+ }
26
+ return (el.children && el.children.length > 0) ?
27
+ { tag: "li", children: [
28
+ getInput(),
29
+ this.addChild({ tag: "label", attr: { for: el.id } }, this.options.renderItem != null ? this.options.renderItem(el) : el.content),
30
+ { tag: "ul", attr: { class: "tv-ul" }, children: el.children.map((c) => this.renderNode(c)) }
31
+ ] } :
32
+ this.addChild({ tag: "li" }, this.options.renderItem != null ? this.options.renderItem(el) : el.content);
33
+ }
34
+ addChild(parent, content) {
35
+ if (typeof content === "string") {
36
+ parent.content = content;
37
+ }
38
+ else {
39
+ parent.children = [content];
40
+ }
41
+ return parent;
42
+ }
43
+ }
@@ -1,30 +1,30 @@
1
- import "./VirtualRenderStyle.scss";
2
- import { IJSLComponent, IJSLVNode, JSLRender } from "jsl-render";
3
- export interface IVirtualArg {
4
- index: number;
5
- rowData: any;
6
- container: IJSLVNode;
7
- }
8
- export interface IVirtualRenderOptions {
9
- data: any[];
10
- renderRow: (args: IVirtualArg) => string | IJSLVNode | IJSLComponent | void;
11
- rowHeight?: number;
12
- rowTag?: string;
13
- bufferSizeInPx?: number;
14
- viewportSizeInPX?: number;
15
- class?: string;
16
- style?: string;
17
- }
18
- export declare class VirtualRenderComponent implements IJSLComponent {
19
- State: {
20
- scrollPos: number;
21
- renderer?: JSLRender;
22
- };
23
- private options;
24
- constructor(options: IVirtualRenderOptions);
25
- isEqual(node: IJSLComponent): boolean;
26
- setData(data: any[]): void;
27
- onInit(renderer: JSLRender): void;
28
- render(): IJSLVNode;
29
- private getChildren;
30
- }
1
+ import "./VirtualRenderStyle.scss";
2
+ import { IJSLComponent, IJSLVNode, JSLRender } from "jsl-render";
3
+ export interface IVirtualArg {
4
+ index: number;
5
+ rowData: any;
6
+ container: IJSLVNode;
7
+ }
8
+ export interface IVirtualRenderOptions {
9
+ data: any[];
10
+ renderRow: (args: IVirtualArg) => string | IJSLVNode | IJSLComponent | void;
11
+ rowHeight?: number;
12
+ rowTag?: string;
13
+ bufferSizeInPx?: number;
14
+ viewportSizeInPX?: number;
15
+ class?: string;
16
+ style?: string;
17
+ }
18
+ export declare class VirtualRenderComponent implements IJSLComponent {
19
+ State: {
20
+ scrollPos: number;
21
+ renderer?: JSLRender;
22
+ };
23
+ private options;
24
+ constructor(options: IVirtualRenderOptions);
25
+ isEqual(node: IJSLComponent): boolean;
26
+ setData(data: any[]): void;
27
+ onInit(renderer: JSLRender): void;
28
+ render(): IJSLVNode;
29
+ private getChildren;
30
+ }
@@ -1,104 +1,92 @@
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
- import "./VirtualRenderStyle.scss";
13
- var VirtualRenderComponent = /** @class */ (function () {
14
- function VirtualRenderComponent(options) {
15
- this.State = { scrollPos: 0 };
16
- var defaultOptions = {
17
- data: null,
18
- renderRow: null,
19
- bufferSizeInPx: 200,
20
- rowHeight: 20,
21
- rowTag: "div",
22
- viewportSizeInPX: window.innerHeight
23
- };
24
- this.options = __assign(__assign({}, defaultOptions), options);
25
- }
26
- VirtualRenderComponent.prototype.isEqual = function (node) {
27
- return this.__proto__ === node.__proto__;
28
- };
29
- VirtualRenderComponent.prototype.setData = function (data) {
30
- this.options.data = data;
31
- };
32
- VirtualRenderComponent.prototype.onInit = function (renderer) {
33
- this.State.renderer = renderer;
34
- };
35
- VirtualRenderComponent.prototype.render = function () {
36
- var _this = this;
37
- var _a, _b;
38
- var o = this.options;
39
- var vrBody = {
40
- tag: "div",
41
- attr: { class: "v-r-child", style: "height:" + (o.data.length * o.rowHeight) + "px;position:relative" },
42
- children: this.getChildren()
43
- };
44
- var vrContainer = {
45
- tag: "div", attr: {
46
- class: "v-r-comp " + ((_a = o.class) !== null && _a !== void 0 ? _a : ""),
47
- style: "overflow-y:auto;" + ((_b = o.style) !== null && _b !== void 0 ? _b : ""),
48
- scroll: function (e, node) {
49
- var newScrollPos = node.dom.scrollTop;
50
- if (Math.abs(_this.State.scrollPos - newScrollPos) < o.bufferSizeInPx) {
51
- return false;
52
- }
53
- _this.State.scrollPos = newScrollPos;
54
- vrBody.children = _this.getChildren();
55
- node.children[0].children = [{ tag: "dummy" }];
56
- _this.State.renderer.updateNode(node.children[0], vrBody);
57
- return false;
58
- }
59
- }, children: [vrBody]
60
- };
61
- return vrContainer;
62
- };
63
- // public scrollRowToTop(idx: number) {
64
- // }
65
- // public scrollRowToCenter(idx: number) {
66
- // }
67
- // public scrollRowToBottom(idx: number) {
68
- // }
69
- VirtualRenderComponent.prototype.getChildren = function () {
70
- var o = this.options;
71
- var children = [];
72
- var viewport = {
73
- top: Math.floor((this.State.scrollPos - o.bufferSizeInPx) / o.rowHeight),
74
- bottom: Math.ceil((this.State.scrollPos + o.viewportSizeInPX + o.bufferSizeInPx) / o.rowHeight)
75
- };
76
- for (var idx = viewport.top; idx < viewport.bottom; idx++) {
77
- if (idx < 0 || idx >= o.data.length) {
78
- continue;
79
- }
80
- var node = {
81
- tag: o.rowTag, attr: {
82
- style: {
83
- top: (idx * o.rowHeight) + "px",
84
- height: o.rowHeight + "px",
85
- position: "absolute",
86
- left: "0",
87
- right: "0"
88
- }
89
- }, children: []
90
- };
91
- var result = o.renderRow({ index: idx, container: node, rowData: o.data[idx] });
92
- if (typeof result === "string") {
93
- node.content = result;
94
- }
95
- else if (result != null) {
96
- node.children.push(result);
97
- }
98
- children.push(node);
99
- }
100
- return children;
101
- };
102
- return VirtualRenderComponent;
103
- }());
104
- export { VirtualRenderComponent };
1
+ import "./VirtualRenderStyle.scss";
2
+ export class VirtualRenderComponent {
3
+ constructor(options) {
4
+ this.State = { scrollPos: 0 };
5
+ const defaultOptions = {
6
+ data: null,
7
+ renderRow: null,
8
+ bufferSizeInPx: 200,
9
+ rowHeight: 20,
10
+ rowTag: "div",
11
+ viewportSizeInPX: window.innerHeight
12
+ };
13
+ this.options = { ...defaultOptions, ...options };
14
+ }
15
+ isEqual(node) {
16
+ return this.__proto__ === node.__proto__;
17
+ }
18
+ setData(data) {
19
+ this.options.data = data;
20
+ }
21
+ onInit(renderer) {
22
+ this.State.renderer = renderer;
23
+ }
24
+ render() {
25
+ var _a, _b;
26
+ const o = this.options;
27
+ const vrBody = {
28
+ tag: "div",
29
+ attr: { class: "v-r-child", style: "height:" + (o.data.length * o.rowHeight) + "px;position:relative" },
30
+ children: this.getChildren()
31
+ };
32
+ const vrContainer = {
33
+ tag: "div",
34
+ attr: {
35
+ class: "v-r-comp " + ((_a = o.class) !== null && _a !== void 0 ? _a : ""),
36
+ style: "overflow-y:auto;" + ((_b = o.style) !== null && _b !== void 0 ? _b : ""),
37
+ scroll: (e, node) => {
38
+ const newScrollPos = node.dom.scrollTop;
39
+ if (Math.abs(this.State.scrollPos - newScrollPos) < o.bufferSizeInPx) {
40
+ return false;
41
+ }
42
+ this.State.scrollPos = newScrollPos;
43
+ vrBody.children = this.getChildren();
44
+ node.children[0].children = [{ tag: "dummy" }];
45
+ this.State.renderer.updateNode(node.children[0], vrBody);
46
+ return false;
47
+ }
48
+ },
49
+ children: [vrBody]
50
+ };
51
+ return vrContainer;
52
+ }
53
+ // public scrollRowToTop(idx: number) {
54
+ // }
55
+ // public scrollRowToCenter(idx: number) {
56
+ // }
57
+ // public scrollRowToBottom(idx: number) {
58
+ // }
59
+ getChildren() {
60
+ const o = this.options;
61
+ const children = [];
62
+ const viewport = {
63
+ top: Math.floor((this.State.scrollPos - o.bufferSizeInPx) / o.rowHeight),
64
+ bottom: Math.ceil((this.State.scrollPos + o.viewportSizeInPX + o.bufferSizeInPx) / o.rowHeight)
65
+ };
66
+ for (let idx = viewport.top; idx < viewport.bottom; idx++) {
67
+ if (idx < 0 || idx >= o.data.length) {
68
+ continue;
69
+ }
70
+ const node = {
71
+ tag: o.rowTag, attr: {
72
+ style: {
73
+ top: (idx * o.rowHeight) + "px",
74
+ height: o.rowHeight + "px",
75
+ position: "absolute",
76
+ left: "0",
77
+ right: "0"
78
+ }
79
+ }, children: []
80
+ };
81
+ const result = o.renderRow({ index: idx, container: node, rowData: o.data[idx] });
82
+ if (typeof result === "string") {
83
+ node.content = result;
84
+ }
85
+ else if (result != null) {
86
+ node.children.push(result);
87
+ }
88
+ children.push(node);
89
+ }
90
+ return children;
91
+ }
92
+ }
@@ -1,5 +1,5 @@
1
- declare let culture: any;
2
- /**
3
- * culture info for date and number formatting and parsing
4
- */
5
- export default culture;
1
+ declare let culture: any;
2
+ /**
3
+ * culture info for date and number formatting and parsing
4
+ */
5
+ export default culture;