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,32 +1,32 @@
1
- import { IJSLComponent, IJSLVNode } from "jsl-render";
2
- import { IDatePickerOptions, IDatePicker } from "../../ui/date.picker";
3
- import { EventHandler } from "../../interaction/eventhandler";
4
- import { IDataConverter } from "../../interaction/dataconverter";
5
- export interface IDateComponentOptions<T = any> extends IDatePickerOptions {
6
- id?: string;
7
- class?: string;
8
- style?: string;
9
- placeholder?: string;
10
- value?: Date;
11
- onChange?: EventHandler<Date> | ((v?: Date) => void);
12
- bindTo?: T;
13
- property?: keyof T;
14
- bindMode?: "toModel" | "fromModel" | "both";
15
- converter?: IDataConverter<any, Date>;
16
- enabled?: boolean;
17
- }
18
- export declare class DateComponent<T = any> implements IJSLComponent {
19
- private options;
20
- private ref;
21
- private currentDom;
22
- constructor(options: IDateComponentOptions<T>);
23
- get onChange(): EventHandler<Date>;
24
- render(): IJSLVNode;
25
- getValue(): string;
26
- getValueAsDate(): Date;
27
- getRef(): IDatePicker;
28
- onCreate(node: IJSLVNode): void;
29
- onUpdate(node: IJSLVNode): void;
30
- onRemove(): void;
31
- private raiseEvent;
32
- }
1
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
2
+ import { IDatePickerOptions, IDatePicker } from "../../ui/date.picker";
3
+ import { EventHandler } from "../../interaction/eventhandler";
4
+ import { IDataConverter } from "../../interaction/dataconverter";
5
+ export interface IDateComponentOptions<T = any> extends IDatePickerOptions {
6
+ id?: string;
7
+ class?: string;
8
+ style?: string;
9
+ placeholder?: string;
10
+ value?: Date;
11
+ onChange?: EventHandler<Date> | ((v?: Date) => void);
12
+ bindTo?: T;
13
+ property?: keyof T;
14
+ bindMode?: "toModel" | "fromModel" | "both";
15
+ converter?: IDataConverter<any, Date>;
16
+ enabled?: boolean;
17
+ }
18
+ export declare class DateComponent<T = any> implements IJSLComponent {
19
+ private options;
20
+ private ref;
21
+ private currentDom;
22
+ constructor(options: IDateComponentOptions<T>);
23
+ get onChange(): EventHandler<Date>;
24
+ render(): IJSLVNode;
25
+ getValue(): string;
26
+ getValueAsDate(): Date;
27
+ getRef(): IDatePicker;
28
+ onCreate(node: IJSLVNode): void;
29
+ onUpdate(node: IJSLVNode): void;
30
+ onRemove(): void;
31
+ private raiseEvent;
32
+ }
@@ -1,89 +1,89 @@
1
- import { DatePicker } from "../../ui/date.picker";
2
- import { date } from "../../core/date";
3
- import { helper } from "../../core/helper";
4
- import { EventHandler } from "../../interaction/eventhandler";
5
- export class DateComponent {
6
- constructor(options) {
7
- var _a;
8
- this.options = { ...{ enabled: true, id: helper.newDomGuid(), bindMode: "toModel" }, ...options };
9
- if (this.options.bindTo != null && this.options.property != null && this.options.value == null) {
10
- this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
11
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
12
- this.options.bindTo[this.options.property]);
13
- }
14
- this.options.onChange = EventHandler.Create(this.options.onChange);
15
- }
16
- get onChange() {
17
- return this.options.onChange;
18
- }
19
- render() {
20
- var _a;
21
- let val = this.options.value;
22
- if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
23
- const current = this.getValue();
24
- const newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
25
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
26
- this.options.bindTo[this.options.property]);
27
- const newValStr = date.format(newVal);
28
- val = newVal;
29
- if (newValStr !== current) {
30
- if (this.currentDom != null) {
31
- this.currentDom.value = newValStr;
32
- }
33
- }
34
- }
35
- return {
36
- tag: "input",
37
- attr: {
38
- id: this.options.id,
39
- class: this.options.class,
40
- style: this.options.style,
41
- disabled: !this.options.enabled ? "disabled" : undefined,
42
- placeholder: this.options.placeholder,
43
- value: date.format(val),
44
- change: this.raiseEvent,
45
- }
46
- };
47
- }
48
- getValue() {
49
- if (this.currentDom == null) {
50
- return "";
51
- }
52
- return this.currentDom.value;
53
- }
54
- getValueAsDate() {
55
- if (this.currentDom == null) {
56
- return null;
57
- }
58
- if (this.options.parse) {
59
- return this.options.parse(this.currentDom.value);
60
- }
61
- return date.parse(this.currentDom.value);
62
- }
63
- getRef() {
64
- return this.ref;
65
- }
66
- onCreate(node) {
67
- this.currentDom = node.dom;
68
- this.ref = DatePicker(this.currentDom, this.options);
69
- }
70
- onUpdate(node) {
71
- this.currentDom = node.dom;
72
- }
73
- onRemove() {
74
- if (this.ref != null) {
75
- this.ref.destroy();
76
- }
77
- }
78
- raiseEvent(e, node) {
79
- var _a;
80
- if (this.options.enabled) {
81
- const val = date.parse(node.dom.value);
82
- if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
83
- this.options.bindTo[this.options.property] =
84
- ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(val) : val;
85
- }
86
- this.options.onChange.notify(val);
87
- }
88
- }
89
- }
1
+ import { DatePicker } from "../../ui/date.picker";
2
+ import { date } from "../../core/date";
3
+ import { helper } from "../../core/helper";
4
+ import { EventHandler } from "../../interaction/eventhandler";
5
+ export class DateComponent {
6
+ constructor(options) {
7
+ var _a;
8
+ this.options = { ...{ enabled: true, id: helper.newDomGuid(), bindMode: "toModel" }, ...options };
9
+ if (this.options.bindTo != null && this.options.property != null && this.options.value == null) {
10
+ this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
11
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
12
+ this.options.bindTo[this.options.property]);
13
+ }
14
+ this.options.onChange = EventHandler.Create(this.options.onChange);
15
+ }
16
+ get onChange() {
17
+ return this.options.onChange;
18
+ }
19
+ render() {
20
+ var _a;
21
+ let val = this.options.value;
22
+ if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
23
+ const current = this.getValue();
24
+ const newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
25
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
26
+ this.options.bindTo[this.options.property]);
27
+ const newValStr = date.format(newVal);
28
+ val = newVal;
29
+ if (newValStr !== current) {
30
+ if (this.currentDom != null) {
31
+ this.currentDom.value = newValStr;
32
+ }
33
+ }
34
+ }
35
+ return {
36
+ tag: "input",
37
+ attr: {
38
+ id: this.options.id,
39
+ class: this.options.class,
40
+ style: this.options.style,
41
+ disabled: !this.options.enabled ? "disabled" : undefined,
42
+ placeholder: this.options.placeholder,
43
+ value: date.format(val),
44
+ change: this.raiseEvent,
45
+ }
46
+ };
47
+ }
48
+ getValue() {
49
+ if (this.currentDom == null) {
50
+ return "";
51
+ }
52
+ return this.currentDom.value;
53
+ }
54
+ getValueAsDate() {
55
+ if (this.currentDom == null) {
56
+ return null;
57
+ }
58
+ if (this.options.parse) {
59
+ return this.options.parse(this.currentDom.value);
60
+ }
61
+ return date.parse(this.currentDom.value);
62
+ }
63
+ getRef() {
64
+ return this.ref;
65
+ }
66
+ onCreate(node) {
67
+ this.currentDom = node.dom;
68
+ this.ref = DatePicker(this.currentDom, this.options);
69
+ }
70
+ onUpdate(node) {
71
+ this.currentDom = node.dom;
72
+ }
73
+ onRemove() {
74
+ if (this.ref != null) {
75
+ this.ref.destroy();
76
+ }
77
+ }
78
+ raiseEvent(e, node) {
79
+ var _a;
80
+ if (this.options.enabled) {
81
+ const val = date.parse(node.dom.value);
82
+ if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
83
+ this.options.bindTo[this.options.property] =
84
+ ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(val) : val;
85
+ }
86
+ this.options.onChange.notify(val);
87
+ }
88
+ }
89
+ }
@@ -1,35 +1,35 @@
1
- import "./DateRangeStyle.scss";
2
- import { IJSLComponent, IJSLVNode } from "jsl-render";
3
- import { EventHandler } from "../../interaction/eventhandler";
4
- export interface IDateRangeValue {
5
- minValue: Date;
6
- maxValue: Date;
7
- }
8
- export interface IDateRangeOptions {
9
- class?: string;
10
- style?: string;
11
- min: Date;
12
- max: Date;
13
- minValue?: Date;
14
- maxValue?: Date;
15
- increment: "days" | "weeks" | "month" | "years";
16
- onChange?: EventHandler<IDateRangeValue> | ((v?: IDateRangeValue) => void);
17
- }
18
- export declare class DateRangeComponent implements IJSLComponent {
19
- State: {
20
- currentMin: any;
21
- currentMax: any;
22
- };
23
- private manualChange;
24
- private minDate;
25
- private maxDate;
26
- private options;
27
- private slider;
28
- constructor(o: IDateRangeOptions);
29
- render(): IJSLVNode;
30
- onCreate(node: IJSLVNode): void;
31
- onRemove(): void;
32
- getMin(): Date;
33
- getMax(): Date;
34
- private triggerChange;
35
- }
1
+ import "./DateRangeStyle.scss";
2
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
3
+ import { EventHandler } from "../../interaction/eventhandler";
4
+ export interface IDateRangeValue {
5
+ minValue: Date;
6
+ maxValue: Date;
7
+ }
8
+ export interface IDateRangeOptions {
9
+ class?: string;
10
+ style?: string;
11
+ min: Date;
12
+ max: Date;
13
+ minValue?: Date;
14
+ maxValue?: Date;
15
+ increment: "days" | "weeks" | "month" | "years";
16
+ onChange?: EventHandler<IDateRangeValue> | ((v?: IDateRangeValue) => void);
17
+ }
18
+ export declare class DateRangeComponent implements IJSLComponent {
19
+ State: {
20
+ currentMin: any;
21
+ currentMax: any;
22
+ };
23
+ private manualChange;
24
+ private minDate;
25
+ private maxDate;
26
+ private options;
27
+ private slider;
28
+ constructor(o: IDateRangeOptions);
29
+ render(): IJSLVNode;
30
+ onCreate(node: IJSLVNode): void;
31
+ onRemove(): void;
32
+ getMin(): Date;
33
+ getMax(): Date;
34
+ private triggerChange;
35
+ }
@@ -1,123 +1,121 @@
1
- import "./DateRangeStyle.scss";
2
- import { noUiSlider } from "../slider/nouislider";
3
- import { DateComponent } from "../date/DateComponent";
4
- import { date } from "../../core/date";
5
- import { EventHandler } from "../../interaction/eventhandler";
6
- export class DateRangeComponent {
7
- constructor(o) {
8
- this.State = { currentMin: null, currentMax: null };
9
- this.manualChange = false;
10
- this.options = { ...o };
11
- if (this.options.minValue == null) {
12
- this.options.minValue = this.options.min;
13
- }
14
- if (this.options.maxValue == null) {
15
- this.options.maxValue = this.options.max;
16
- }
17
- this.options.onChange = EventHandler.Create(this.options.onChange);
18
- this.minDate = new DateComponent({
19
- min: this.options.min,
20
- max: this.options.max,
21
- value: this.options.minValue,
22
- style: "width:6rem;",
23
- onChange: (val) => {
24
- if (this.manualChange) {
25
- return;
26
- }
27
- this.manualChange = true;
28
- const min = this.minDate.getValueAsDate();
29
- const max = this.maxDate.getValueAsDate();
30
- this.slider.set([date.getDaysBetween(this.options.min, min), date.getDaysBetween(this.options.min, max)]);
31
- this.manualChange = false;
32
- this.triggerChange();
33
- }
34
- });
35
- this.maxDate = new DateComponent({
36
- min: this.options.min,
37
- max: this.options.max,
38
- value: this.options.maxValue,
39
- style: "width:6rem;text-align:right;",
40
- onChange: (val) => {
41
- if (this.manualChange) {
42
- return;
43
- }
44
- this.manualChange = true;
45
- const min = this.minDate.getValueAsDate();
46
- const max = this.maxDate.getValueAsDate();
47
- this.slider.set([date.getDaysBetween(this.options.min, min), date.getDaysBetween(this.options.min, max)]);
48
- this.manualChange = false;
49
- this.triggerChange();
50
- }
51
- });
52
- }
53
- render() {
54
- var _a;
55
- return {
56
- tag: "div",
57
- attr: { style: this.options.style, class: "date-range-comp " + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") },
58
- children: [
59
- {
60
- tag: "div", children: [
61
- this.minDate,
62
- { tag: "span", content: " - " },
63
- this.maxDate
64
- ]
65
- }, {
66
- tag: "div", children: [
67
- { tag: "div", attr: { class: "slider-div" } }
68
- ]
69
- }
70
- ]
71
- };
72
- }
73
- onCreate(node) {
74
- const diffInDays = date.getDaysBetween(this.options.min, this.options.max);
75
- if (this.options.increment !== "days") {
76
- console.warn(" only days as increments are currently supported");
77
- }
78
- const min = 0;
79
- const max = diffInDays;
80
- this.slider = noUiSlider.create(node.dom.querySelector(".slider-div"), {
81
- start: [date.getDaysBetween(this.options.min, this.options.minValue),
82
- date.getDaysBetween(this.options.min, this.options.maxValue)],
83
- connect: true,
84
- step: 1,
85
- range: {
86
- min,
87
- max
88
- },
89
- });
90
- this.slider.on("update", (values) => {
91
- if (this.manualChange) {
92
- return;
93
- }
94
- this.manualChange = true;
95
- this.State.currentMin = values[0];
96
- this.State.currentMax = values[1];
97
- const minVal = date.addDays(this.options.min, parseFloat(values[0]));
98
- const maxVal = date.addDays(this.options.min, parseFloat(values[1]));
99
- this.minDate.getRef().setState({ selectedDate: minVal });
100
- this.maxDate.getRef().setState({ selectedDate: maxVal });
101
- this.manualChange = false;
102
- this.triggerChange();
103
- });
104
- }
105
- onRemove() {
106
- if (this.slider != null) {
107
- this.slider.destroy();
108
- this.slider = null;
109
- }
110
- }
111
- getMin() {
112
- return this.minDate.getValueAsDate();
113
- }
114
- getMax() {
115
- return this.maxDate.getValueAsDate();
116
- }
117
- triggerChange() {
118
- this.options.onChange.notify({
119
- minValue: this.getMin(),
120
- maxValue: this.getMin()
121
- });
122
- }
123
- }
1
+ import "./DateRangeStyle.scss";
2
+ import { noUiSlider } from "../slider/nouislider";
3
+ import { DateComponent } from "../date/DateComponent";
4
+ import { date } from "../../core/date";
5
+ import { EventHandler } from "../../interaction/eventhandler";
6
+ export class DateRangeComponent {
7
+ constructor(o) {
8
+ this.State = { currentMin: null, currentMax: null };
9
+ this.manualChange = false;
10
+ this.options = { ...o };
11
+ if (this.options.minValue == null) {
12
+ this.options.minValue = this.options.min;
13
+ }
14
+ if (this.options.maxValue == null) {
15
+ this.options.maxValue = this.options.max;
16
+ }
17
+ this.options.onChange = EventHandler.Create(this.options.onChange);
18
+ this.minDate = new DateComponent({
19
+ min: this.options.min,
20
+ max: this.options.max,
21
+ value: this.options.minValue,
22
+ style: "width:6rem;",
23
+ onChange: (val) => {
24
+ if (this.manualChange) {
25
+ return;
26
+ }
27
+ this.manualChange = true;
28
+ const min = this.minDate.getValueAsDate();
29
+ const max = this.maxDate.getValueAsDate();
30
+ this.slider.set([date.getDaysBetween(this.options.min, min), date.getDaysBetween(this.options.min, max)]);
31
+ this.manualChange = false;
32
+ this.triggerChange();
33
+ }
34
+ });
35
+ this.maxDate = new DateComponent({
36
+ min: this.options.min,
37
+ max: this.options.max,
38
+ value: this.options.maxValue,
39
+ style: "width:6rem;text-align:right;",
40
+ onChange: (val) => {
41
+ if (this.manualChange) {
42
+ return;
43
+ }
44
+ this.manualChange = true;
45
+ const min = this.minDate.getValueAsDate();
46
+ const max = this.maxDate.getValueAsDate();
47
+ this.slider.set([date.getDaysBetween(this.options.min, min), date.getDaysBetween(this.options.min, max)]);
48
+ this.manualChange = false;
49
+ this.triggerChange();
50
+ }
51
+ });
52
+ }
53
+ render() {
54
+ var _a;
55
+ return {
56
+ tag: "div", attr: { style: this.options.style, class: "date-range-comp " + ((_a = this.options.class) !== null && _a !== void 0 ? _a : "") }, children: [
57
+ {
58
+ tag: "div", children: [
59
+ this.minDate,
60
+ { tag: "span", content: " - " },
61
+ this.maxDate
62
+ ]
63
+ }, {
64
+ tag: "div", children: [
65
+ { tag: "div", attr: { class: "slider-div" } }
66
+ ]
67
+ }
68
+ ]
69
+ };
70
+ }
71
+ onCreate(node) {
72
+ const diffInDays = date.getDaysBetween(this.options.min, this.options.max);
73
+ if (this.options.increment !== "days") {
74
+ console.warn(" only days as increments are currently supported");
75
+ }
76
+ const min = 0;
77
+ const max = diffInDays;
78
+ this.slider = noUiSlider.create(node.dom.querySelector(".slider-div"), {
79
+ start: [date.getDaysBetween(this.options.min, this.options.minValue),
80
+ date.getDaysBetween(this.options.min, this.options.maxValue)],
81
+ connect: true,
82
+ step: 1,
83
+ range: {
84
+ min,
85
+ max
86
+ },
87
+ });
88
+ this.slider.on("update", (values) => {
89
+ if (this.manualChange) {
90
+ return;
91
+ }
92
+ this.manualChange = true;
93
+ this.State.currentMin = values[0];
94
+ this.State.currentMax = values[1];
95
+ const minVal = date.addDays(this.options.min, parseFloat(values[0]));
96
+ const maxVal = date.addDays(this.options.min, parseFloat(values[1]));
97
+ this.minDate.getRef().setState({ selectedDate: minVal });
98
+ this.maxDate.getRef().setState({ selectedDate: maxVal });
99
+ this.manualChange = false;
100
+ this.triggerChange();
101
+ });
102
+ }
103
+ onRemove() {
104
+ if (this.slider != null) {
105
+ this.slider.destroy();
106
+ this.slider = null;
107
+ }
108
+ }
109
+ getMin() {
110
+ return this.minDate.getValueAsDate();
111
+ }
112
+ getMax() {
113
+ return this.maxDate.getValueAsDate();
114
+ }
115
+ triggerChange() {
116
+ this.options.onChange.notify({
117
+ minValue: this.getMin(),
118
+ maxValue: this.getMin()
119
+ });
120
+ }
121
+ }
@@ -1,15 +1,15 @@
1
- import "./DateTimeStyle.scss";
2
- import { IJSLComponent, IJSLVNode } from "jsl-render";
3
- import { IDateComponentOptions } from "../date/DateComponent";
4
- import { ITimeComponentOptions } from "../time/TimeComponent";
5
- export interface IDateTimeComponentOptions<T> extends IDateComponentOptions<T>, ITimeComponentOptions<T> {
6
- }
7
- export declare class DateTimeComponent<T = any> implements IJSLComponent {
8
- private options;
9
- private dateComp;
10
- private timeComp;
11
- constructor(options: IDateTimeComponentOptions<T>);
12
- render(): IJSLVNode;
13
- getValue(): string;
14
- getValueAsDate(): Date;
15
- }
1
+ import "./DateTimeStyle.scss";
2
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
3
+ import { IDateComponentOptions } from "../date/DateComponent";
4
+ import { ITimeComponentOptions } from "../time/TimeComponent";
5
+ export interface IDateTimeComponentOptions<T> extends IDateComponentOptions<T>, ITimeComponentOptions<T> {
6
+ }
7
+ export declare class DateTimeComponent<T = any> implements IJSLComponent {
8
+ private options;
9
+ private dateComp;
10
+ private timeComp;
11
+ constructor(options: IDateTimeComponentOptions<T>);
12
+ render(): IJSLVNode;
13
+ getValue(): string;
14
+ getValueAsDate(): Date;
15
+ }