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.
Files changed (170) hide show
  1. package/lib/components/IntervalComponent.d.ts +17 -17
  2. package/lib/components/IntervalComponent.js +65 -65
  3. package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +22 -22
  4. package/lib/components/auto-suggest/AutoSuggestComponent.js +47 -47
  5. package/lib/components/button/ButtonComponent.d.ts +18 -18
  6. package/lib/components/button/ButtonComponent.js +29 -29
  7. package/lib/components/checkbox/CheckBoxComponent.d.ts +28 -28
  8. package/lib/components/checkbox/CheckBoxComponent.js +81 -81
  9. package/lib/components/date/DateComponent.d.ts +32 -32
  10. package/lib/components/date/DateComponent.js +89 -89
  11. package/lib/components/date-range/DateRangeComponent.d.ts +35 -35
  12. package/lib/components/date-range/DateRangeComponent.js +121 -123
  13. package/lib/components/date-time/DateTimeComponent.d.ts +15 -15
  14. package/lib/components/date-time/DateTimeComponent.js +39 -39
  15. package/lib/components/dialog/DialogComponent.d.ts +67 -67
  16. package/lib/components/dialog/DialogComponent.js +192 -198
  17. package/lib/components/drop-down/DropDownComponent.d.ts +27 -27
  18. package/lib/components/drop-down/DropDownComponent.js +60 -60
  19. package/lib/components/expander/ExpanderComponent.d.ts +27 -27
  20. package/lib/components/expander/ExpanderComponent.js +87 -89
  21. package/lib/components/form-field/FormComponent.d.ts +12 -12
  22. package/lib/components/form-field/FormComponent.js +23 -23
  23. package/lib/components/form-field/FormFieldComponent.d.ts +39 -39
  24. package/lib/components/form-field/FormFieldComponent.js +138 -138
  25. package/lib/components/grid/GridComponent.d.ts +26 -26
  26. package/lib/components/grid/GridComponent.js +110 -110
  27. package/lib/components/input/InputComponent.d.ts +33 -33
  28. package/lib/components/input/InputComponent.js +126 -126
  29. package/lib/components/loading/LoadingComponent.d.ts +8 -8
  30. package/lib/components/loading/LoadingComponent.js +20 -20
  31. package/lib/components/navigation/NavigationComponent.d.ts +34 -34
  32. package/lib/components/navigation/NavigationComponent.js +47 -45
  33. package/lib/components/notification/Notification.d.ts +19 -19
  34. package/lib/components/notification/Notification.js +65 -65
  35. package/lib/components/number/NumberComponent.d.ts +26 -26
  36. package/lib/components/number/NumberComponent.js +80 -80
  37. package/lib/components/overlay/OverlayComponent.d.ts +27 -27
  38. package/lib/components/overlay/OverlayComponent.js +134 -137
  39. package/lib/components/progress/ProgressComponent.d.ts +18 -18
  40. package/lib/components/progress/ProgressComponent.js +40 -40
  41. package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +12 -12
  42. package/lib/components/ribbon-menu/RibbonMenuComponent.js +23 -23
  43. package/lib/components/select/SelectComponent.d.ts +79 -79
  44. package/lib/components/select/SelectComponent.js +352 -356
  45. package/lib/components/select/SelectDDAreaComponent.d.ts +32 -32
  46. package/lib/components/select/SelectDDAreaComponent.js +303 -303
  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 -124
  51. package/lib/components/stack-panel/StackPanelComponent.d.ts +20 -20
  52. package/lib/components/stack-panel/StackPanelComponent.js +50 -50
  53. package/lib/components/tabs/TabsComponent.d.ts +40 -40
  54. package/lib/components/tabs/TabsComponent.js +191 -200
  55. package/lib/components/time/TimeComponent.d.ts +29 -29
  56. package/lib/components/time/TimeComponent.js +102 -104
  57. package/lib/components/tree-view/TreeViewComponent.d.ts +23 -23
  58. package/lib/components/tree-view/TreeViewComponent.js +42 -43
  59. package/lib/components/virtual-render/VirtualRenderComponent.d.ts +30 -30
  60. package/lib/components/virtual-render/VirtualRenderComponent.js +90 -92
  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 -346
  65. package/lib/core/helper.d.ts +13 -13
  66. package/lib/core/helper.js +100 -100
  67. package/lib/core/jq.d.ts +37 -37
  68. package/lib/core/jq.js +362 -362
  69. package/lib/core/lang.d.ts +24 -24
  70. package/lib/core/lang.js +24 -24
  71. package/lib/core/numeric.d.ts +7 -7
  72. package/lib/core/numeric.js +139 -139
  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 -106
  78. package/lib/grid/filterDialogs/excelFilter.d.ts +9 -9
  79. package/lib/grid/filterDialogs/excelFilter.js +250 -250
  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 -1069
  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 -352
  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 -5409
  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 -208
  118. package/lib/grid.css +705 -1
  119. package/lib/grid.d.ts +13 -13
  120. package/lib/grid.js +13 -13
  121. package/lib/index.css +2195 -8
  122. package/lib/index.css.map +1 -1
  123. package/lib/index.d.ts +55 -56
  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 +1 -0
  128. package/lib/interaction/eventhandler.d.ts +13 -13
  129. package/lib/interaction/eventhandler.js +39 -39
  130. package/lib/interaction/moveable.d.ts +39 -39
  131. package/lib/interaction/moveable.js +160 -160
  132. package/lib/interaction/resizable.d.ts +37 -37
  133. package/lib/interaction/resizable.js +109 -109
  134. package/lib/ui/auto.suggest.d.ts +18 -18
  135. package/lib/ui/auto.suggest.js +244 -244
  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 -39
  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 -98
  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 -56
  170. package/package.json +1 -1
@@ -1,126 +1,126 @@
1
- import { EventHandler } from "../../interaction/eventhandler";
2
- // tslint:disable-next-line: max-classes-per-file
3
- export class InputComponent {
4
- constructor(options) {
5
- var _a;
6
- this.options = { ...{ type: "text", enabled: true, bindMode: "toModel" }, ...options };
7
- if (this.options.bindTo != null && this.options.property != null && this.options.value == null) {
8
- this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
9
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
10
- this.options.bindTo[this.options.property]);
11
- }
12
- this.options.onChange = EventHandler.Create(this.options.onChange);
13
- this.options.onInput = EventHandler.Create(this.options.onInput);
14
- if (this.options.type === "input") {
15
- this.options.type = "text";
16
- }
17
- }
18
- get onChange() {
19
- return this.options.onChange;
20
- }
21
- get onInput() {
22
- return this.options.onInput;
23
- }
24
- // public isEqual(node: IJSLComponent): boolean {
25
- // return (this as any).__proto__ === (node as any).__proto__;
26
- // }
27
- render() {
28
- var _a;
29
- let val = this.options.value;
30
- if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
31
- if (this.onInput.count() > 0) {
32
- this.options.bindOnInput = true;
33
- }
34
- // const current = this.getValue();
35
- const newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
36
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
37
- this.options.bindTo[this.options.property]);
38
- // if (newVal !== current)
39
- {
40
- val = newVal;
41
- if (this.currentDom != null) {
42
- this.currentDom.value = val !== null && val !== void 0 ? val : "";
43
- }
44
- }
45
- }
46
- return {
47
- tag: this.options.type !== "textarea" ? "input" : "textarea",
48
- attr: {
49
- type: this.options.type !== "textarea" ? this.options.type : undefined,
50
- disabled: !this.options.enabled ? "disabled" : undefined,
51
- class: this.options.class,
52
- style: this.options.style,
53
- change: this.raiseChangeEvent,
54
- input: this.raiseInputEvent,
55
- value: this.options.type !== "textarea" ? val : undefined,
56
- placeholder: this.options.placeholder,
57
- id: typeof this.options.id === "string" ? this.options.id : undefined,
58
- maxLength: this.options.maxLength
59
- },
60
- content: this.options.type === "textarea" ? val : undefined
61
- };
62
- }
63
- getValue() {
64
- if (this.currentDom == null) {
65
- return this.options.value || "";
66
- // return "";
67
- }
68
- return this.currentDom.value;
69
- }
70
- setValue(value) {
71
- var _a;
72
- this.options.value = value;
73
- if (this.currentDom != null) {
74
- this.currentDom.value = value;
75
- }
76
- if (this.options.bindMode !== "fromModel" && this.options.bindTo && this.options.property) {
77
- this.options.bindTo[this.options.property] =
78
- ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
79
- }
80
- }
81
- onCreate(node) {
82
- this.currentDom = node.dom;
83
- }
84
- // public onUpdate(node: IJSLVNode) {
85
- // this.currentDom = node.dom as HTMLInputElement;
86
- // if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
87
- // if (this.onInput.count() > 0) {
88
- // this.options.bindOnInput = true;
89
- // }
90
- // const current = this.getValue();
91
- // const newVal = (this.options.converter?.toUI ?
92
- // this.options.converter.toUI(this.options.bindTo[this.options.property]) :
93
- // this.options.bindTo[this.options.property]) as string;
94
- // if (newVal !== current) {
95
- // if (this.currentDom != null) {
96
- // this.currentDom.value = newVal ?? "";
97
- // }
98
- // }
99
- // }
100
- // }
101
- raiseChangeEvent(e, node) {
102
- var _a;
103
- if (this.options.enabled) {
104
- const value = node.dom.value;
105
- if (this.options.bindMode !== "fromModel" && this.options.bindTo && this.options.property) {
106
- this.options.bindTo[this.options.property] =
107
- ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
108
- }
109
- this.options.onChange.notify(value);
110
- }
111
- }
112
- raiseInputEvent(e, node) {
113
- var _a;
114
- if (this.onInput.count() === 0) {
115
- return false;
116
- }
117
- if (this.options.enabled) {
118
- const value = node.dom.value;
119
- if (this.options.bindOnInput && this.options.bindMode !== "fromModel" && this.options.bindTo && this.options.property) {
120
- this.options.bindTo[this.options.property] =
121
- ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
122
- }
123
- this.options.onInput.notify(value);
124
- }
125
- }
126
- }
1
+ import { EventHandler } from "../../interaction/eventhandler";
2
+ // tslint:disable-next-line: max-classes-per-file
3
+ export class InputComponent {
4
+ get onChange() {
5
+ return this.options.onChange;
6
+ }
7
+ get onInput() {
8
+ return this.options.onInput;
9
+ }
10
+ constructor(options) {
11
+ var _a;
12
+ this.options = { ...{ type: "text", enabled: true, bindMode: "toModel" }, ...options };
13
+ if (this.options.bindTo != null && this.options.property != null && this.options.value == null) {
14
+ this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
15
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
16
+ this.options.bindTo[this.options.property]);
17
+ }
18
+ this.options.onChange = EventHandler.Create(this.options.onChange);
19
+ this.options.onInput = EventHandler.Create(this.options.onInput);
20
+ if (this.options.type === "input") {
21
+ this.options.type = "text";
22
+ }
23
+ }
24
+ // public isEqual(node: IJSLComponent): boolean {
25
+ // return (this as any).__proto__ === (node as any).__proto__;
26
+ // }
27
+ render() {
28
+ var _a;
29
+ let val = this.options.value;
30
+ if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
31
+ if (this.onInput.count() > 0) {
32
+ this.options.bindOnInput = true;
33
+ }
34
+ // const current = this.getValue();
35
+ const newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
36
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
37
+ this.options.bindTo[this.options.property]);
38
+ // if (newVal !== current)
39
+ {
40
+ val = newVal;
41
+ if (this.currentDom != null) {
42
+ this.currentDom.value = val !== null && val !== void 0 ? val : "";
43
+ }
44
+ }
45
+ }
46
+ return {
47
+ tag: this.options.type !== "textarea" ? "input" : "textarea",
48
+ attr: {
49
+ type: this.options.type !== "textarea" ? this.options.type : undefined,
50
+ disabled: !this.options.enabled ? "disabled" : undefined,
51
+ class: this.options.class,
52
+ style: this.options.style,
53
+ change: this.raiseChangeEvent,
54
+ input: this.raiseInputEvent,
55
+ value: this.options.type !== "textarea" ? val : undefined,
56
+ placeholder: this.options.placeholder,
57
+ id: typeof this.options.id === "string" ? this.options.id : undefined,
58
+ maxLength: this.options.maxLength
59
+ },
60
+ content: this.options.type === "textarea" ? val : undefined
61
+ };
62
+ }
63
+ getValue() {
64
+ if (this.currentDom == null) {
65
+ return this.options.value || "";
66
+ // return "";
67
+ }
68
+ return this.currentDom.value;
69
+ }
70
+ setValue(value) {
71
+ var _a;
72
+ this.options.value = value;
73
+ if (this.currentDom != null) {
74
+ this.currentDom.value = value;
75
+ }
76
+ if (this.options.bindMode !== "fromModel" && this.options.bindTo && this.options.property) {
77
+ this.options.bindTo[this.options.property] =
78
+ ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
79
+ }
80
+ }
81
+ onCreate(node) {
82
+ this.currentDom = node.dom;
83
+ }
84
+ // public onUpdate(node: IJSLVNode) {
85
+ // this.currentDom = node.dom as HTMLInputElement;
86
+ // if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
87
+ // if (this.onInput.count() > 0) {
88
+ // this.options.bindOnInput = true;
89
+ // }
90
+ // const current = this.getValue();
91
+ // const newVal = (this.options.converter?.toUI ?
92
+ // this.options.converter.toUI(this.options.bindTo[this.options.property]) :
93
+ // this.options.bindTo[this.options.property]) as string;
94
+ // if (newVal !== current) {
95
+ // if (this.currentDom != null) {
96
+ // this.currentDom.value = newVal ?? "";
97
+ // }
98
+ // }
99
+ // }
100
+ // }
101
+ raiseChangeEvent(e, node) {
102
+ var _a;
103
+ if (this.options.enabled) {
104
+ const value = node.dom.value;
105
+ if (this.options.bindMode !== "fromModel" && this.options.bindTo && this.options.property) {
106
+ this.options.bindTo[this.options.property] =
107
+ ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
108
+ }
109
+ this.options.onChange.notify(value);
110
+ }
111
+ }
112
+ raiseInputEvent(e, node) {
113
+ var _a;
114
+ if (this.onInput.count() === 0) {
115
+ return false;
116
+ }
117
+ if (this.options.enabled) {
118
+ const value = node.dom.value;
119
+ if (this.options.bindOnInput && this.options.bindMode !== "fromModel" && this.options.bindTo && this.options.property) {
120
+ this.options.bindTo[this.options.property] =
121
+ ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
122
+ }
123
+ this.options.onInput.notify(value);
124
+ }
125
+ }
126
+ }
@@ -1,8 +1,8 @@
1
- import "./LoadingStyle.css";
2
- import { IJSLComponent, IJSLVNode } from "jsl-render";
3
- export declare class LoadingComponent implements IJSLComponent {
4
- private sizeInRem?;
5
- constructor(sizeInRem?: number);
6
- isEqual(node: IJSLComponent): boolean;
7
- render(): IJSLVNode;
8
- }
1
+ import "./LoadingStyle.css";
2
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
3
+ export declare class LoadingComponent implements IJSLComponent {
4
+ private sizeInRem?;
5
+ constructor(sizeInRem?: number);
6
+ isEqual(node: IJSLComponent): boolean;
7
+ render(): IJSLVNode;
8
+ }
@@ -1,20 +1,20 @@
1
- import "./LoadingStyle.css";
2
- export class LoadingComponent {
3
- constructor(sizeInRem) {
4
- this.sizeInRem = sizeInRem;
5
- if (sizeInRem == null) {
6
- this.sizeInRem = 6;
7
- }
8
- }
9
- isEqual(node) {
10
- return this.__proto__ === node.__proto__;
11
- }
12
- render() {
13
- return {
14
- tag: "div",
15
- attr: { style: "font-size:" + this.sizeInRem + "rem" },
16
- content: "<div class='lds-dual-ring'></div>",
17
- raw: true
18
- };
19
- }
20
- }
1
+ import "./LoadingStyle.css";
2
+ export class LoadingComponent {
3
+ constructor(sizeInRem) {
4
+ this.sizeInRem = sizeInRem;
5
+ if (sizeInRem == null) {
6
+ this.sizeInRem = 6;
7
+ }
8
+ }
9
+ isEqual(node) {
10
+ return this.__proto__ === node.__proto__;
11
+ }
12
+ render() {
13
+ return {
14
+ tag: "div",
15
+ attr: { style: "font-size:" + this.sizeInRem + "rem" },
16
+ content: "<div class='lds-dual-ring'></div>",
17
+ raw: true
18
+ };
19
+ }
20
+ }
@@ -1,34 +1,34 @@
1
- import "./NavigationStyle.scss";
2
- import { IJSLComponent, IJSLVNode } from "jsl-render";
3
- export interface INavItemChild {
4
- content: string | IJSLVNode;
5
- link?: string;
6
- target?: string;
7
- click?: (e: MouseEvent) => void;
8
- }
9
- export interface INavItem {
10
- content: string | IJSLVNode;
11
- link?: string;
12
- target?: string;
13
- children?: INavItemChild[];
14
- click?: (e: MouseEvent) => void;
15
- }
16
- export interface INavigationOptions {
17
- title: string | IJSLVNode;
18
- titleLink?: string;
19
- data: INavItem[];
20
- style?: string;
21
- class?: string;
22
- position?: "default" | "static" | "fixed" | "fixed-bottom";
23
- alignment?: "right" | "left";
24
- id?: string;
25
- }
26
- export declare class NavigationComponent implements IJSLComponent {
27
- private options;
28
- constructor(options: INavigationOptions);
29
- isEqual(node: IJSLComponent): boolean;
30
- render(): IJSLVNode;
31
- private itemToNode;
32
- private isActive;
33
- private toNode;
34
- }
1
+ import "./NavigationStyle.scss";
2
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
3
+ export interface INavItemChild {
4
+ content: string | IJSLVNode;
5
+ link?: string;
6
+ target?: string;
7
+ click?: (e: MouseEvent) => void;
8
+ }
9
+ export interface INavItem {
10
+ content: string | IJSLVNode;
11
+ link?: string;
12
+ target?: string;
13
+ children?: INavItemChild[];
14
+ click?: (e: MouseEvent) => void;
15
+ }
16
+ export interface INavigationOptions {
17
+ title: string | IJSLVNode;
18
+ titleLink?: string;
19
+ data: INavItem[];
20
+ style?: string;
21
+ class?: string;
22
+ position?: "default" | "static" | "fixed" | "fixed-bottom";
23
+ alignment?: "right" | "left";
24
+ id?: string;
25
+ }
26
+ export declare class NavigationComponent implements IJSLComponent {
27
+ private options;
28
+ constructor(options: INavigationOptions);
29
+ isEqual(node: IJSLComponent): boolean;
30
+ render(): IJSLVNode;
31
+ private itemToNode;
32
+ private isActive;
33
+ private toNode;
34
+ }
@@ -1,45 +1,47 @@
1
- import "./NavigationStyle.scss";
2
- export class NavigationComponent {
3
- constructor(options) {
4
- this.options = { position: "fixed", id: "luxbar-checkbox", alignment: "left", ...options };
5
- }
6
- isEqual(node) {
7
- return this.__proto__ === node.__proto__;
8
- }
9
- render() {
10
- var _a, _b;
11
- return {
12
- tag: "header",
13
- attr: { style: this.options.style, class: "nav-comp " + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") },
14
- children: [
15
- { tag: "div", attr: { class: "luxbar luxbar-" + this.options.position }, children: [
16
- { tag: "input", attr: { type: "checkbox", class: "luxbar-checkbox", id: this.options.id } },
17
- { tag: "div", attr: { class: "luxbar-menu luxbar-menu-" + this.options.alignment + " luxbar-menu-light" }, children: [{ tag: "ul", attr: { class: "luxbar-navigation" }, children: [
18
- { tag: "li", attr: { class: "luxbar-header" }, children: [
19
- { tag: "a", attr: { href: (_b = this.options.titleLink) !== null && _b !== void 0 ? _b : "#", class: "luxbar-brand" }, children: [this.toNode(this.options.title)] },
20
- { tag: "label", attr: { class: "luxbar-hamburger luxbar-hamburger-spin", for: this.options.id },
21
- children: [{ tag: "span" }] },
22
- ] },
23
- ...this.options.data.map((x) => this.itemToNode(x))
24
- ] }] }
25
- ] }
26
- ]
27
- };
28
- }
29
- itemToNode(x) {
30
- var _a, _b, _c;
31
- return { tag: "li", attr: { class: "luxbar-item" + (((_a = x.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? " dropdown" : "") + (this.isActive(x.link) ? " active" : "") }, children: [
32
- { tag: "a", attr: { href: (_b = x.link) !== null && _b !== void 0 ? _b : "#", target: x.target, click: x.click }, children: [this.toNode(x.content)] },
33
- (((_c = x.children) === null || _c === void 0 ? void 0 : _c.length) > 0 ? { tag: "ul", children: x.children.map((c) => this.itemToNode(c)) } : undefined)
34
- ] };
35
- }
36
- isActive(link) {
37
- return location.hash.startsWith(link);
38
- }
39
- toNode(content) {
40
- if (typeof content === "string") {
41
- return { tag: "span", content };
42
- }
43
- return content;
44
- }
45
- }
1
+ import "./NavigationStyle.scss";
2
+ export class NavigationComponent {
3
+ constructor(options) {
4
+ this.options = { position: "fixed", id: "luxbar-checkbox", alignment: "left", ...options };
5
+ }
6
+ isEqual(node) {
7
+ return this.__proto__ === node.__proto__;
8
+ }
9
+ render() {
10
+ var _a, _b;
11
+ return {
12
+ tag: "header",
13
+ attr: { style: this.options.style, class: "nav-comp " + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") },
14
+ children: [
15
+ { tag: "div", attr: { class: "luxbar luxbar-" + this.options.position },
16
+ children: [
17
+ { tag: "input", attr: { type: "checkbox", class: "luxbar-checkbox", id: this.options.id } },
18
+ { tag: "div", attr: { class: "luxbar-menu luxbar-menu-" + this.options.alignment + " luxbar-menu-light" },
19
+ children: [{ tag: "ul", attr: { class: "luxbar-navigation" }, children: [
20
+ { tag: "li", attr: { class: "luxbar-header" }, children: [
21
+ { tag: "a", attr: { href: (_b = this.options.titleLink) !== null && _b !== void 0 ? _b : "#", class: "luxbar-brand" }, children: [this.toNode(this.options.title)] },
22
+ { tag: "label", attr: { class: "luxbar-hamburger luxbar-hamburger-spin", for: this.options.id },
23
+ children: [{ tag: "span" }] },
24
+ ] },
25
+ ...this.options.data.map((x) => this.itemToNode(x))
26
+ ] }] }
27
+ ] }
28
+ ]
29
+ };
30
+ }
31
+ itemToNode(x) {
32
+ var _a, _b, _c;
33
+ return { tag: "li", attr: { class: "luxbar-item" + (((_a = x.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? " dropdown" : "") + (this.isActive(x.link) ? " active" : "") }, children: [
34
+ { tag: "a", attr: { href: (_b = x.link) !== null && _b !== void 0 ? _b : "#", target: x.target, click: x.click }, children: [this.toNode(x.content)] },
35
+ (((_c = x.children) === null || _c === void 0 ? void 0 : _c.length) > 0 ? { tag: "ul", children: x.children.map((c) => this.itemToNode(c)) } : undefined)
36
+ ] };
37
+ }
38
+ isActive(link) {
39
+ return location.hash.startsWith(link);
40
+ }
41
+ toNode(content) {
42
+ if (typeof content === "string") {
43
+ return { tag: "span", content };
44
+ }
45
+ return content;
46
+ }
47
+ }
@@ -1,19 +1,19 @@
1
- import "./Notification.scss";
2
- import { IJSLVNode, IJSLComponent } from "jsl-render";
3
- export interface INotificationOptions {
4
- content: string | IJSLVNode | IJSLComponent;
5
- closeOnClick?: boolean;
6
- timeOut?: number;
7
- class?: string;
8
- style?: string;
9
- onClick?: () => void;
10
- }
11
- export declare class Notification {
12
- static show(options: INotificationOptions): string;
13
- static clearNotification(id: string): void;
14
- static clearAll(): void;
15
- private static container;
16
- private static containerVNode;
17
- private static renderer;
18
- private static createContainer;
19
- }
1
+ import "./Notification.scss";
2
+ import { IJSLVNode, IJSLComponent } from "jsl-render";
3
+ export interface INotificationOptions {
4
+ content: string | IJSLVNode | IJSLComponent;
5
+ closeOnClick?: boolean;
6
+ timeOut?: number;
7
+ class?: string;
8
+ style?: string;
9
+ onClick?: () => void;
10
+ }
11
+ export declare class Notification {
12
+ static show(options: INotificationOptions): string;
13
+ static clearNotification(id: string): void;
14
+ static clearAll(): void;
15
+ private static container;
16
+ private static containerVNode;
17
+ private static renderer;
18
+ private static createContainer;
19
+ }
@@ -1,65 +1,65 @@
1
- import "./Notification.scss";
2
- import { JSLRender } from "jsl-render";
3
- import { helper } from "../../core/helper";
4
- export class Notification {
5
- static show(options) {
6
- if (Notification.container == null) {
7
- Notification.createContainer();
8
- }
9
- const id = helper.newDomGuid();
10
- // add
11
- const notification = {
12
- tag: "div",
13
- attr: { id, style: options.style, class: "jsl-notification " + (options.class || "") },
14
- animation: { attr: "opacity", from: 0, to: 1, duration: 600 },
15
- children: [
16
- typeof options.content === "string" ? { tag: "div", content: options.content } : options.content
17
- ]
18
- };
19
- Notification.containerVNode.children.push(notification);
20
- Notification.renderer.refresh();
21
- // remove
22
- if (options.timeOut) {
23
- setTimeout(() => {
24
- const idx = Notification.containerVNode.children.indexOf(notification);
25
- if (idx >= 0) {
26
- Notification.containerVNode.children.splice(idx, 1);
27
- }
28
- Notification.renderer.refresh();
29
- }, options.timeOut);
30
- }
31
- notification.attr.click = () => {
32
- var _a;
33
- if (options.onClick != null) {
34
- options.onClick();
35
- }
36
- if (((_a = options.closeOnClick) !== null && _a !== void 0 ? _a : true) === true) {
37
- const idx = Notification.containerVNode.children.indexOf(notification);
38
- if (idx >= 0) {
39
- Notification.containerVNode.children.splice(idx, 1);
40
- }
41
- }
42
- };
43
- return id;
44
- }
45
- static clearNotification(id) {
46
- Notification.containerVNode.children = Notification.containerVNode.children.filter((x) => { var _a; return ((_a = x.attr) === null || _a === void 0 ? void 0 : _a.id) !== id; });
47
- Notification.renderer.refresh();
48
- }
49
- static clearAll() {
50
- if (Notification.containerVNode != null) {
51
- Notification.containerVNode.children = [];
52
- }
53
- if (Notification.renderer != null) {
54
- Notification.renderer.refresh();
55
- }
56
- }
57
- static createContainer() {
58
- Notification.container = document.createElement("div");
59
- document.body.appendChild(Notification.container);
60
- Notification.container.className = "jsl-notification-container";
61
- Notification.containerVNode = { tag: "div", children: [] };
62
- Notification.renderer = new JSLRender(Notification.container, false);
63
- Notification.renderer.render(Notification.containerVNode);
64
- }
65
- }
1
+ import "./Notification.scss";
2
+ import { JSLRender } from "jsl-render";
3
+ import { helper } from "../../core/helper";
4
+ export class Notification {
5
+ static show(options) {
6
+ if (Notification.container == null) {
7
+ Notification.createContainer();
8
+ }
9
+ const id = helper.newDomGuid();
10
+ // add
11
+ const notification = {
12
+ tag: "div",
13
+ attr: { id, style: options.style, class: "jsl-notification " + (options.class || "") },
14
+ animation: { attr: "opacity", from: 0, to: 1, duration: 600 },
15
+ children: [
16
+ typeof options.content === "string" ? { tag: "div", content: options.content } : options.content
17
+ ]
18
+ };
19
+ Notification.containerVNode.children.push(notification);
20
+ Notification.renderer.refresh();
21
+ // remove
22
+ if (options.timeOut) {
23
+ setTimeout(() => {
24
+ const idx = Notification.containerVNode.children.indexOf(notification);
25
+ if (idx >= 0) {
26
+ Notification.containerVNode.children.splice(idx, 1);
27
+ }
28
+ Notification.renderer.refresh();
29
+ }, options.timeOut);
30
+ }
31
+ notification.attr.click = () => {
32
+ var _a;
33
+ if (options.onClick != null) {
34
+ options.onClick();
35
+ }
36
+ if (((_a = options.closeOnClick) !== null && _a !== void 0 ? _a : true) === true) {
37
+ const idx = Notification.containerVNode.children.indexOf(notification);
38
+ if (idx >= 0) {
39
+ Notification.containerVNode.children.splice(idx, 1);
40
+ }
41
+ }
42
+ };
43
+ return id;
44
+ }
45
+ static clearNotification(id) {
46
+ Notification.containerVNode.children = Notification.containerVNode.children.filter((x) => { var _a; return ((_a = x.attr) === null || _a === void 0 ? void 0 : _a.id) !== id; });
47
+ Notification.renderer.refresh();
48
+ }
49
+ static clearAll() {
50
+ if (Notification.containerVNode != null) {
51
+ Notification.containerVNode.children = [];
52
+ }
53
+ if (Notification.renderer != null) {
54
+ Notification.renderer.refresh();
55
+ }
56
+ }
57
+ static createContainer() {
58
+ Notification.container = document.createElement("div");
59
+ document.body.appendChild(Notification.container);
60
+ Notification.container.className = "jsl-notification-container";
61
+ Notification.containerVNode = { tag: "div", children: [] };
62
+ Notification.renderer = new JSLRender(Notification.container, false);
63
+ Notification.renderer.render(Notification.containerVNode);
64
+ }
65
+ }