jsl-ui 9.28.3 → 9.28.5

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 +255 -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,17 +1,17 @@
1
- import { IJSLComponent, JSLRender, IJSLVNode } from "jsl-render";
2
- export interface IIntervalOptions {
3
- interval: number;
4
- stopOnError?: boolean;
5
- noRefresh?: boolean;
6
- }
7
- export declare class IntervalComponent implements IJSLComponent {
8
- private fnc;
9
- private options;
10
- private renderer;
11
- constructor(fnc: any, options: IIntervalOptions);
12
- isEqual(node: IJSLComponent): boolean;
13
- render(): IJSLVNode;
14
- onInit(render: JSLRender): void;
15
- onCreate(node: IJSLVNode): void;
16
- onRemove(node: IJSLVNode): void;
17
- }
1
+ import { IJSLComponent, JSLRender, IJSLVNode } from "jsl-render";
2
+ export interface IIntervalOptions {
3
+ interval: number;
4
+ stopOnError?: boolean;
5
+ noRefresh?: boolean;
6
+ }
7
+ export declare class IntervalComponent implements IJSLComponent {
8
+ private fnc;
9
+ private options;
10
+ private renderer;
11
+ constructor(fnc: any, options: IIntervalOptions);
12
+ isEqual(node: IJSLComponent): boolean;
13
+ render(): IJSLVNode;
14
+ onInit(render: JSLRender): void;
15
+ onCreate(node: IJSLVNode): void;
16
+ onRemove(node: IJSLVNode): void;
17
+ }
@@ -1,65 +1,65 @@
1
- export class IntervalComponent {
2
- constructor(fnc, options) {
3
- this.fnc = fnc;
4
- this.options = options;
5
- }
6
- isEqual(node) {
7
- return this.__proto__ === node.__proto__;
8
- }
9
- render() {
10
- return { tag: "input", attr: { type: "hidden" } };
11
- }
12
- onInit(render) {
13
- this.renderer = render;
14
- }
15
- onCreate(node) {
16
- const timeoutRef = node.dom.value;
17
- if (timeoutRef && timeoutRef !== "0") {
18
- clearTimeout(parseInt(timeoutRef, 10));
19
- node.dom.value = "";
20
- }
21
- const f = () => {
22
- let result;
23
- try {
24
- result = this.fnc();
25
- }
26
- catch (e) {
27
- console.error(e);
28
- if (this.options.stopOnError) {
29
- return;
30
- }
31
- }
32
- const isPromise = result && typeof result.then === "function" && typeof result.catch === "function";
33
- if (isPromise) {
34
- result.then(() => {
35
- if (!this.options.noRefresh) {
36
- this.renderer.refresh();
37
- }
38
- node.dom.value = setTimeout(f, this.options.interval).toString();
39
- }).catch((e) => {
40
- console.error(e);
41
- if (!this.options.stopOnError) {
42
- if (!this.options.noRefresh) {
43
- this.renderer.refresh();
44
- }
45
- node.dom.value = setTimeout(f, this.options.interval).toString();
46
- }
47
- });
48
- }
49
- else {
50
- if (!this.options.noRefresh) {
51
- this.renderer.refresh();
52
- }
53
- node.dom.value = setTimeout(f, this.options.interval).toString();
54
- }
55
- };
56
- f();
57
- }
58
- onRemove(node) {
59
- const timeoutRef = node.dom.value;
60
- if (timeoutRef && timeoutRef !== "0") {
61
- clearTimeout(parseInt(timeoutRef, 10));
62
- node.dom.value = "";
63
- }
64
- }
65
- }
1
+ export class IntervalComponent {
2
+ constructor(fnc, options) {
3
+ this.fnc = fnc;
4
+ this.options = options;
5
+ }
6
+ isEqual(node) {
7
+ return this.__proto__ === node.__proto__;
8
+ }
9
+ render() {
10
+ return { tag: "input", attr: { type: "hidden" } };
11
+ }
12
+ onInit(render) {
13
+ this.renderer = render;
14
+ }
15
+ onCreate(node) {
16
+ const timeoutRef = node.dom.value;
17
+ if (timeoutRef && timeoutRef !== "0") {
18
+ clearTimeout(parseInt(timeoutRef, 10));
19
+ node.dom.value = "";
20
+ }
21
+ const f = () => {
22
+ let result;
23
+ try {
24
+ result = this.fnc();
25
+ }
26
+ catch (e) {
27
+ console.error(e);
28
+ if (this.options.stopOnError) {
29
+ return;
30
+ }
31
+ }
32
+ const isPromise = result && typeof result.then === "function" && typeof result.catch === "function";
33
+ if (isPromise) {
34
+ result.then(() => {
35
+ if (!this.options.noRefresh) {
36
+ this.renderer.refresh();
37
+ }
38
+ node.dom.value = setTimeout(f, this.options.interval).toString();
39
+ }).catch((e) => {
40
+ console.error(e);
41
+ if (!this.options.stopOnError) {
42
+ if (!this.options.noRefresh) {
43
+ this.renderer.refresh();
44
+ }
45
+ node.dom.value = setTimeout(f, this.options.interval).toString();
46
+ }
47
+ });
48
+ }
49
+ else {
50
+ if (!this.options.noRefresh) {
51
+ this.renderer.refresh();
52
+ }
53
+ node.dom.value = setTimeout(f, this.options.interval).toString();
54
+ }
55
+ };
56
+ f();
57
+ }
58
+ onRemove(node) {
59
+ const timeoutRef = node.dom.value;
60
+ if (timeoutRef && timeoutRef !== "0") {
61
+ clearTimeout(parseInt(timeoutRef, 10));
62
+ node.dom.value = "";
63
+ }
64
+ }
65
+ }
@@ -1,22 +1,22 @@
1
- import { IJSLComponent, IJSLVNode } from "jsl-render";
2
- import { IAutoSuggestOptions, IAutoSuggest } from "../../ui/auto.suggest";
3
- export interface IAutoSuggestComponentOptions extends IAutoSuggestOptions {
4
- value?: string;
5
- class?: string;
6
- style?: string;
7
- placeholder?: string;
8
- }
9
- export declare class AutoSuggestComponent implements IJSLComponent {
10
- private options;
11
- private ref;
12
- private dom;
13
- constructor(options: IAutoSuggestComponentOptions);
14
- render(): IJSLVNode;
15
- getRef(): IAutoSuggest;
16
- getValue(): string;
17
- setValue(val: string): void;
18
- focus(): void;
19
- onCreate(node: IJSLVNode): void;
20
- onUpdate(node: IJSLVNode): void;
21
- onRemove(): void;
22
- }
1
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
2
+ import { IAutoSuggestOptions, IAutoSuggest } from "../../ui/auto.suggest";
3
+ export interface IAutoSuggestComponentOptions extends IAutoSuggestOptions {
4
+ value?: string;
5
+ class?: string;
6
+ style?: string;
7
+ placeholder?: string;
8
+ }
9
+ export declare class AutoSuggestComponent implements IJSLComponent {
10
+ private options;
11
+ private ref;
12
+ private dom;
13
+ constructor(options: IAutoSuggestComponentOptions);
14
+ render(): IJSLVNode;
15
+ getRef(): IAutoSuggest;
16
+ getValue(): string;
17
+ setValue(val: string): void;
18
+ focus(): void;
19
+ onCreate(node: IJSLVNode): void;
20
+ onUpdate(node: IJSLVNode): void;
21
+ onRemove(): void;
22
+ }
@@ -1,47 +1,47 @@
1
- import { AutoSuggest } from "../../ui/auto.suggest";
2
- export class AutoSuggestComponent {
3
- constructor(options) {
4
- this.options = options;
5
- // this.id = this.options.id ?? helper.newDomGuid();
6
- }
7
- render() {
8
- var _a;
9
- return {
10
- tag: "input",
11
- attr: { value: this.options.value, class: this.options.class, style: this.options.style, placeholder: (_a = this.options.placeholder) !== null && _a !== void 0 ? _a : "" }
12
- };
13
- }
14
- getRef() {
15
- return this.ref;
16
- }
17
- getValue() {
18
- if (this.dom == null) {
19
- return "";
20
- }
21
- return this.dom.value;
22
- }
23
- setValue(val) {
24
- if (this.dom == null) {
25
- return;
26
- }
27
- this.dom.value = val;
28
- }
29
- focus() {
30
- if (this.dom == null) {
31
- return;
32
- }
33
- this.dom.focus();
34
- }
35
- onCreate(node) {
36
- this.dom = node.dom;
37
- AutoSuggest(node.dom, this.options);
38
- }
39
- onUpdate(node) {
40
- this.dom = node.dom;
41
- }
42
- onRemove() {
43
- if (this.ref != null) {
44
- this.ref.destroy();
45
- }
46
- }
47
- }
1
+ import { AutoSuggest } from "../../ui/auto.suggest";
2
+ export class AutoSuggestComponent {
3
+ constructor(options) {
4
+ this.options = options;
5
+ // this.id = this.options.id ?? helper.newDomGuid();
6
+ }
7
+ render() {
8
+ var _a;
9
+ return {
10
+ tag: "input",
11
+ attr: { value: this.options.value, class: this.options.class, style: this.options.style, placeholder: (_a = this.options.placeholder) !== null && _a !== void 0 ? _a : "" }
12
+ };
13
+ }
14
+ getRef() {
15
+ return this.ref;
16
+ }
17
+ getValue() {
18
+ if (this.dom == null) {
19
+ return "";
20
+ }
21
+ return this.dom.value;
22
+ }
23
+ setValue(val) {
24
+ if (this.dom == null) {
25
+ return;
26
+ }
27
+ this.dom.value = val;
28
+ }
29
+ focus() {
30
+ if (this.dom == null) {
31
+ return;
32
+ }
33
+ this.dom.focus();
34
+ }
35
+ onCreate(node) {
36
+ this.dom = node.dom;
37
+ AutoSuggest(node.dom, this.options);
38
+ }
39
+ onUpdate(node) {
40
+ this.dom = node.dom;
41
+ }
42
+ onRemove() {
43
+ if (this.ref != null) {
44
+ this.ref.destroy();
45
+ }
46
+ }
47
+ }
@@ -1,18 +1,18 @@
1
- import { IJSLComponent, IJSLVNode } from "jsl-render";
2
- import { EventHandler } from "../../interaction/eventhandler";
3
- export interface IButtonOptions {
4
- content: string | IJSLVNode | IJSLComponent;
5
- enabled?: boolean;
6
- class?: string;
7
- outlined?: boolean;
8
- style?: string;
9
- click?: EventHandler<MouseEvent> | ((evt?: MouseEvent) => void);
10
- }
11
- export declare class ButtonComponent implements IJSLComponent {
12
- private options;
13
- get click(): EventHandler<MouseEvent>;
14
- constructor(options: IButtonOptions);
15
- isEqual(node: IJSLComponent): boolean;
16
- render(): IJSLVNode;
17
- private raiseEvent;
18
- }
1
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
2
+ import { EventHandler } from "../../interaction/eventhandler";
3
+ export interface IButtonOptions {
4
+ content: string | IJSLVNode | IJSLComponent;
5
+ enabled?: boolean;
6
+ class?: string;
7
+ outlined?: boolean;
8
+ style?: string;
9
+ click?: EventHandler<MouseEvent> | ((evt?: MouseEvent) => void);
10
+ }
11
+ export declare class ButtonComponent implements IJSLComponent {
12
+ private options;
13
+ get click(): EventHandler<MouseEvent>;
14
+ constructor(options: IButtonOptions);
15
+ isEqual(node: IJSLComponent): boolean;
16
+ render(): IJSLVNode;
17
+ private raiseEvent;
18
+ }
@@ -1,29 +1,29 @@
1
- import { EventHandler } from "../../interaction/eventhandler";
2
- export class ButtonComponent {
3
- constructor(options) {
4
- this.options = { ...{ enabled: true, class: "" }, ...options };
5
- this.options.click = EventHandler.Create(this.options.click);
6
- }
7
- get click() {
8
- return this.options.click;
9
- }
10
- isEqual(node) {
11
- return this.__proto__ === node.__proto__;
12
- }
13
- render() {
14
- return {
15
- tag: "button",
16
- attr: {
17
- class: "jsl-button " + (this.options.outlined ? "jsl-button-outline " : "") +
18
- this.options.class + (!this.options.enabled ? " disabled" : ""), style: this.options.style, click: this.raiseEvent
19
- },
20
- content: typeof this.options.content === "string" ? this.options.content : "",
21
- children: typeof this.options.content !== "string" ? [this.options.content] : []
22
- };
23
- }
24
- raiseEvent(evt) {
25
- if (this.options.enabled) {
26
- this.options.click.notify(evt);
27
- }
28
- }
29
- }
1
+ import { EventHandler } from "../../interaction/eventhandler";
2
+ export class ButtonComponent {
3
+ get click() {
4
+ return this.options.click;
5
+ }
6
+ constructor(options) {
7
+ this.options = { ...{ enabled: true, class: "" }, ...options };
8
+ this.options.click = EventHandler.Create(this.options.click);
9
+ }
10
+ isEqual(node) {
11
+ return this.__proto__ === node.__proto__;
12
+ }
13
+ render() {
14
+ return {
15
+ tag: "button",
16
+ attr: {
17
+ class: "jsl-button " + (this.options.outlined ? "jsl-button-outline " : "") +
18
+ this.options.class + (!this.options.enabled ? " disabled" : ""), style: this.options.style, click: this.raiseEvent
19
+ },
20
+ content: typeof this.options.content === "string" ? this.options.content : "",
21
+ children: typeof this.options.content !== "string" ? [this.options.content] : []
22
+ };
23
+ }
24
+ raiseEvent(evt) {
25
+ if (this.options.enabled) {
26
+ this.options.click.notify(evt);
27
+ }
28
+ }
29
+ }
@@ -1,28 +1,28 @@
1
- import "./CheckBoxStyle.scss";
2
- import { IJSLComponent, IJSLVNode } from "jsl-render";
3
- import { EventHandler } from "../../interaction/eventhandler";
4
- import { IDataConverter } from "../../interaction/dataconverter";
5
- export interface ICheckBoxOptions<T = any> {
6
- value?: boolean;
7
- label: string;
8
- enabled?: boolean;
9
- class?: string;
10
- style?: string;
11
- onChange?: EventHandler<boolean> | ((v?: boolean) => void);
12
- id?: string;
13
- bindTo?: T;
14
- property?: keyof T;
15
- bindMode?: "toModel" | "fromModel" | "both";
16
- converter?: IDataConverter<any, boolean>;
17
- }
18
- export declare class CheckBoxComponent<T = any> implements IJSLComponent {
19
- private options;
20
- private currentDom;
21
- get onChange(): EventHandler<boolean>;
22
- constructor(options: ICheckBoxOptions<T>);
23
- render(): IJSLVNode;
24
- getValue(): boolean;
25
- setValue(val: boolean): void;
26
- onCreate(node: IJSLVNode): void;
27
- private raiseEvent;
28
- }
1
+ import "./CheckBoxStyle.scss";
2
+ import { IJSLComponent, IJSLVNode } from "jsl-render";
3
+ import { EventHandler } from "../../interaction/eventhandler";
4
+ import { IDataConverter } from "../../interaction/dataconverter";
5
+ export interface ICheckBoxOptions<T = any> {
6
+ value?: boolean;
7
+ label: string;
8
+ enabled?: boolean;
9
+ class?: string;
10
+ style?: string;
11
+ onChange?: EventHandler<boolean> | ((v?: boolean) => void);
12
+ id?: string;
13
+ bindTo?: T;
14
+ property?: keyof T;
15
+ bindMode?: "toModel" | "fromModel" | "both";
16
+ converter?: IDataConverter<any, boolean>;
17
+ }
18
+ export declare class CheckBoxComponent<T = any> implements IJSLComponent {
19
+ private options;
20
+ private currentDom;
21
+ get onChange(): EventHandler<boolean>;
22
+ constructor(options: ICheckBoxOptions<T>);
23
+ render(): IJSLVNode;
24
+ getValue(): boolean;
25
+ setValue(val: boolean): void;
26
+ onCreate(node: IJSLVNode): void;
27
+ private raiseEvent;
28
+ }
@@ -1,81 +1,81 @@
1
- import "./CheckBoxStyle.scss";
2
- import { EventHandler } from "../../interaction/eventhandler";
3
- import { helper } from "../../core/helper";
4
- export class CheckBoxComponent {
5
- constructor(options) {
6
- var _a;
7
- this.options = { ...{ enabled: true, class: "", bindMode: "toModel" }, ...options };
8
- if (!this.options.id) {
9
- this.options.id = helper.newDomGuid();
10
- }
11
- if (this.options.bindTo != null && this.options.property != null && this.options.value == null) {
12
- this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
13
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
14
- this.options.bindTo[this.options.property]);
15
- }
16
- this.options.onChange = EventHandler.Create(this.options.onChange);
17
- }
18
- get onChange() {
19
- return this.options.onChange;
20
- }
21
- // public isEqual(node: IJSLComponent): boolean {
22
- // return (this as any).__proto__ === (node as any).__proto__;
23
- // }
24
- render() {
25
- var _a;
26
- let val = this.options.value;
27
- if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
28
- const current = this.getValue();
29
- const newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
30
- this.options.converter.toUI(this.options.bindTo[this.options.property]) :
31
- this.options.bindTo[this.options.property]);
32
- val = newVal;
33
- if (newVal !== current) {
34
- if (this.currentDom != null) {
35
- this.currentDom.checked = val;
36
- }
37
- }
38
- }
39
- return {
40
- tag: "span",
41
- attr: { style: this.options.style },
42
- children: [{
43
- tag: "input",
44
- attr: {
45
- type: "checkbox",
46
- disabled: !this.options.enabled ? "disabled" : undefined,
47
- class: "checkbox-comp " + (this.options.class || ""),
48
- change: this.raiseEvent,
49
- checked: val ? "checked" : undefined,
50
- id: typeof this.options.id === "string" ? this.options.id : undefined
51
- }
52
- }, { tag: "label", content: this.options.label, attr: { for: this.options.id } }]
53
- };
54
- }
55
- getValue() {
56
- var _a;
57
- return ((_a = this.currentDom) === null || _a === void 0 ? void 0 : _a.checked) || false;
58
- }
59
- setValue(val) {
60
- var _a;
61
- if (this.currentDom != null) {
62
- this.currentDom.checked = val;
63
- }
64
- if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
65
- this.options.bindTo[this.options.property] = ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(val) : val;
66
- }
67
- }
68
- onCreate(node) {
69
- this.currentDom = node.dom.querySelector("input");
70
- }
71
- raiseEvent(e, node) {
72
- var _a;
73
- if (this.options.enabled) {
74
- const value = node.dom.checked;
75
- if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
76
- this.options.bindTo[this.options.property] = ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
77
- }
78
- this.options.onChange.notify(value);
79
- }
80
- }
81
- }
1
+ import "./CheckBoxStyle.scss";
2
+ import { EventHandler } from "../../interaction/eventhandler";
3
+ import { helper } from "../../core/helper";
4
+ export class CheckBoxComponent {
5
+ get onChange() {
6
+ return this.options.onChange;
7
+ }
8
+ constructor(options) {
9
+ var _a;
10
+ this.options = { ...{ enabled: true, class: "", bindMode: "toModel" }, ...options };
11
+ if (!this.options.id) {
12
+ this.options.id = helper.newDomGuid();
13
+ }
14
+ if (this.options.bindTo != null && this.options.property != null && this.options.value == null) {
15
+ this.options.value = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
16
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
17
+ this.options.bindTo[this.options.property]);
18
+ }
19
+ this.options.onChange = EventHandler.Create(this.options.onChange);
20
+ }
21
+ // public isEqual(node: IJSLComponent): boolean {
22
+ // return (this as any).__proto__ === (node as any).__proto__;
23
+ // }
24
+ render() {
25
+ var _a;
26
+ let val = this.options.value;
27
+ if (this.options.bindMode !== "toModel" && this.options.bindTo != null && this.options.property != null) {
28
+ const current = this.getValue();
29
+ const newVal = (((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toUI) ?
30
+ this.options.converter.toUI(this.options.bindTo[this.options.property]) :
31
+ this.options.bindTo[this.options.property]);
32
+ val = newVal;
33
+ if (newVal !== current) {
34
+ if (this.currentDom != null) {
35
+ this.currentDom.checked = val;
36
+ }
37
+ }
38
+ }
39
+ return {
40
+ tag: "span",
41
+ attr: { style: this.options.style },
42
+ children: [{
43
+ tag: "input",
44
+ attr: {
45
+ type: "checkbox",
46
+ disabled: !this.options.enabled ? "disabled" : undefined,
47
+ class: "checkbox-comp " + (this.options.class || ""),
48
+ change: this.raiseEvent,
49
+ checked: val ? "checked" : undefined,
50
+ id: typeof this.options.id === "string" ? this.options.id : undefined
51
+ }
52
+ }, { tag: "label", content: this.options.label, attr: { for: this.options.id } }]
53
+ };
54
+ }
55
+ getValue() {
56
+ var _a;
57
+ return ((_a = this.currentDom) === null || _a === void 0 ? void 0 : _a.checked) || false;
58
+ }
59
+ setValue(val) {
60
+ var _a;
61
+ if (this.currentDom != null) {
62
+ this.currentDom.checked = val;
63
+ }
64
+ if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
65
+ this.options.bindTo[this.options.property] = ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(val) : val;
66
+ }
67
+ }
68
+ onCreate(node) {
69
+ this.currentDom = node.dom.querySelector("input");
70
+ }
71
+ raiseEvent(e, node) {
72
+ var _a;
73
+ if (this.options.enabled) {
74
+ const value = node.dom.checked;
75
+ if (this.options.bindTo && this.options.bindMode !== "fromModel" && this.options.property) {
76
+ this.options.bindTo[this.options.property] = ((_a = this.options.converter) === null || _a === void 0 ? void 0 : _a.toData) ? this.options.converter.toData(value) : value;
77
+ }
78
+ this.options.onChange.notify(value);
79
+ }
80
+ }
81
+ }