jpf 4.2.18 → 5.0.6

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 (292) hide show
  1. package/dist/controls/codeMirror/Editor/Editor.d.ts +19 -0
  2. package/dist/controls/codeMirror/Editor/Editor.js +151 -0
  3. package/dist/controls/codeMirror/Editor/Editor.js.map +1 -0
  4. package/dist/controls/codeMirror/index.d.ts +1 -2
  5. package/dist/controls/codeMirror/index.js +1 -2
  6. package/dist/controls/codeMirror/index.js.map +1 -1
  7. package/dist/controls/custom/FileSelector/FileSelector.d.ts +18 -18
  8. package/dist/controls/custom/FileSelector/FileSelector.js +47 -46
  9. package/dist/controls/custom/FileSelector/FileSelector.js.map +1 -1
  10. package/dist/controls/custom/LabeledControl/LabeledControl.d.ts +15 -15
  11. package/dist/controls/custom/LabeledControl/LabeledControl.js +31 -36
  12. package/dist/controls/custom/LabeledControl/LabeledControl.js.map +1 -1
  13. package/dist/controls/custom/ListItem/ListItem.d.ts +37 -36
  14. package/dist/controls/custom/ListItem/ListItem.js +62 -62
  15. package/dist/controls/custom/ListItem/ListItem.js.map +1 -1
  16. package/dist/controls/custom/index.d.ts +3 -3
  17. package/dist/controls/custom/index.js +3 -3
  18. package/dist/controls/html/Button/Button.d.ts +16 -16
  19. package/dist/controls/html/Button/Button.js +47 -50
  20. package/dist/controls/html/Button/Button.js.map +1 -1
  21. package/dist/controls/html/Div/Div.d.ts +14 -14
  22. package/dist/controls/html/Div/Div.js +23 -24
  23. package/dist/controls/html/Div/Div.js.map +1 -1
  24. package/dist/controls/html/Image/Image.d.ts +16 -16
  25. package/dist/controls/html/Image/Image.js +29 -28
  26. package/dist/controls/html/Image/Image.js.map +1 -1
  27. package/dist/controls/html/Input/Input.d.ts +34 -34
  28. package/dist/controls/html/Input/Input.js +166 -170
  29. package/dist/controls/html/Input/Input.js.map +1 -1
  30. package/dist/controls/html/Select/Select.d.ts +30 -30
  31. package/dist/controls/html/Select/Select.js +109 -110
  32. package/dist/controls/html/Select/Select.js.map +1 -1
  33. package/dist/controls/html/Span/Span.d.ts +11 -11
  34. package/dist/controls/html/Span/Span.js +22 -22
  35. package/dist/controls/html/Span/Span.js.map +1 -1
  36. package/dist/controls/html/index.d.ts +6 -6
  37. package/dist/controls/html/index.js +6 -6
  38. package/dist/controls/index.d.ts +14 -14
  39. package/dist/controls/index.js +14 -14
  40. package/dist/controls/index.js.map +1 -1
  41. package/dist/controls/{jsonViewAwesome → jsonViewerAwesome}/index.d.ts +1 -1
  42. package/dist/controls/{jsonViewAwesome → jsonViewerAwesome}/index.js +1 -1
  43. package/dist/controls/jsonViewerAwesome/index.js.map +1 -0
  44. package/dist/controls/jsonViewerAwesome/jsonFormatter/JsonFormatter.d.ts +28 -0
  45. package/dist/controls/{jsonViewAwesome → jsonViewerAwesome}/jsonFormatter/JsonFormatter.js +65 -65
  46. package/dist/controls/jsonViewerAwesome/jsonFormatter/JsonFormatter.js.map +1 -0
  47. package/dist/controls/kendo/Chart/Chart.d.ts +19 -19
  48. package/dist/controls/kendo/Chart/Chart.js +62 -62
  49. package/dist/controls/kendo/Chart/Chart.js.map +1 -1
  50. package/dist/controls/kendo/Culture/Culture.d.ts +1 -1
  51. package/dist/controls/kendo/Culture/Culture.js +25 -25
  52. package/dist/controls/kendo/Culture/Culture.js.map +1 -1
  53. package/dist/controls/kendo/DataSource/DataSource.d.ts +4 -4
  54. package/dist/controls/kendo/DataSource/DataSource.js +1 -1
  55. package/dist/controls/kendo/Editor/Editor.d.ts +14 -19
  56. package/dist/controls/kendo/Editor/Editor.js +94 -104
  57. package/dist/controls/kendo/Editor/Editor.js.map +1 -1
  58. package/dist/controls/kendo/Grid/Grid.d.ts +54 -54
  59. package/dist/controls/kendo/Grid/Grid.js +201 -218
  60. package/dist/controls/kendo/Grid/Grid.js.map +1 -1
  61. package/dist/controls/kendo/Menu/Menu.d.ts +15 -15
  62. package/dist/controls/kendo/Menu/Menu.js +90 -90
  63. package/dist/controls/kendo/Menu/Menu.js.map +1 -1
  64. package/dist/controls/kendo/ObservableObject/ObservableObject.d.ts +0 -5
  65. package/dist/controls/kendo/ObservableObject/ObservableObject.js +0 -34
  66. package/dist/controls/kendo/ObservableObject/ObservableObject.js.map +1 -1
  67. package/dist/controls/kendo/Treeview/Treeview.d.ts +17 -0
  68. package/dist/controls/kendo/{Tree/Tree.js → Treeview/Treeview.js} +107 -107
  69. package/dist/controls/kendo/Treeview/Treeview.js.map +1 -0
  70. package/dist/controls/kendo/Window/Window.d.ts +14 -0
  71. package/dist/controls/kendo/{Dialog/Dialog.js → Window/Window.js} +49 -49
  72. package/dist/controls/kendo/Window/Window.js.map +1 -0
  73. package/dist/controls/kendo/index.d.ts +8 -9
  74. package/dist/controls/kendo/index.js +8 -9
  75. package/dist/controls/kendo/index.js.map +1 -1
  76. package/dist/controls/leaflet/LabelControl/LabelControl.d.ts +12 -12
  77. package/dist/controls/leaflet/LabelControl/LabelControl.js +33 -33
  78. package/dist/controls/leaflet/LabelControl/LabelControl.js.map +1 -1
  79. package/dist/controls/leaflet/Map/Map.d.ts +45 -45
  80. package/dist/controls/leaflet/Map/Map.js +116 -115
  81. package/dist/controls/leaflet/Map/Map.js.map +1 -1
  82. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.d.ts +8 -8
  83. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js +13 -13
  84. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js.map +1 -1
  85. package/dist/controls/leaflet/PointerEvent/PointerEvent.d.ts +2 -2
  86. package/dist/controls/leaflet/PointerEvent/PointerEvent.js +7 -7
  87. package/dist/controls/leaflet/PointerEvent/PointerEvent.js.map +1 -1
  88. package/dist/controls/leaflet/index.d.ts +4 -4
  89. package/dist/controls/leaflet/index.js +4 -4
  90. package/dist/controls/svg/Circle/Circle.d.ts +12 -12
  91. package/dist/controls/svg/Circle/Circle.js +20 -20
  92. package/dist/controls/svg/Circle/Circle.js.map +1 -1
  93. package/dist/controls/svg/Ellipse/Ellipse.d.ts +13 -13
  94. package/dist/controls/svg/Ellipse/Ellipse.js +21 -21
  95. package/dist/controls/svg/Ellipse/Ellipse.js.map +1 -1
  96. package/dist/controls/svg/ForeignObject/ForeignObject.d.ts +15 -14
  97. package/dist/controls/svg/ForeignObject/ForeignObject.js +21 -22
  98. package/dist/controls/svg/ForeignObject/ForeignObject.js.map +1 -1
  99. package/dist/controls/svg/Group/Group.d.ts +15 -14
  100. package/dist/controls/svg/Group/Group.js +21 -22
  101. package/dist/controls/svg/Group/Group.js.map +1 -1
  102. package/dist/controls/svg/Line/Line.d.ts +13 -13
  103. package/dist/controls/svg/Line/Line.js +21 -21
  104. package/dist/controls/svg/Line/Line.js.map +1 -1
  105. package/dist/controls/svg/Pattern/Pattern.d.ts +22 -22
  106. package/dist/controls/svg/Pattern/Pattern.js +22 -23
  107. package/dist/controls/svg/Pattern/Pattern.js.map +1 -1
  108. package/dist/controls/svg/Polygon/Polygon.d.ts +11 -11
  109. package/dist/controls/svg/Polygon/Polygon.js +20 -20
  110. package/dist/controls/svg/Polygon/Polygon.js.map +1 -1
  111. package/dist/controls/svg/Polyline/Polyline.d.ts +11 -11
  112. package/dist/controls/svg/Polyline/Polyline.js +19 -19
  113. package/dist/controls/svg/Polyline/Polyline.js.map +1 -1
  114. package/dist/controls/svg/Rectangle/Rectangle.d.ts +13 -13
  115. package/dist/controls/svg/Rectangle/Rectangle.js +21 -21
  116. package/dist/controls/svg/Rectangle/Rectangle.js.map +1 -1
  117. package/dist/controls/svg/Svg/Svg.d.ts +17 -17
  118. package/dist/controls/svg/Svg/Svg.js +23 -24
  119. package/dist/controls/svg/Svg/Svg.js.map +1 -1
  120. package/dist/controls/svg/Text/Text.d.ts +14 -14
  121. package/dist/controls/svg/Text/Text.js +22 -22
  122. package/dist/controls/svg/Text/Text.js.map +1 -1
  123. package/dist/controls/svg/Title/Title.d.ts +10 -10
  124. package/dist/controls/svg/Title/Title.js +16 -16
  125. package/dist/controls/svg/Title/Title.js.map +1 -1
  126. package/dist/controls/svg/index.d.ts +13 -13
  127. package/dist/controls/svg/index.js +13 -13
  128. package/dist/controls/svg/svg.d.ts +6 -6
  129. package/dist/controls/svg/svg.js +12 -12
  130. package/dist/controls/svg/svg.js.map +1 -1
  131. package/dist/framework/attributes.d.ts +90 -90
  132. package/dist/framework/attributes.js +1 -1
  133. package/dist/framework/{View.d.ts → element.d.ts} +61 -62
  134. package/dist/framework/{View.js → element.js} +157 -150
  135. package/dist/framework/element.js.map +1 -0
  136. package/dist/framework/event.d.ts +80 -80
  137. package/dist/framework/event.js +25 -25
  138. package/dist/framework/event.js.map +1 -1
  139. package/dist/framework/observable.d.ts +37 -12
  140. package/dist/framework/observable.js +66 -58
  141. package/dist/framework/observable.js.map +1 -1
  142. package/dist/framework/properties.d.ts +40 -0
  143. package/dist/framework/{ViewModel.js → properties.js} +303 -312
  144. package/dist/framework/properties.js.map +1 -0
  145. package/dist/framework/root.d.ts +9 -0
  146. package/dist/framework/root.js +38 -0
  147. package/dist/framework/root.js.map +1 -0
  148. package/dist/framework/style.d.ts +657 -658
  149. package/dist/framework/style.js +146 -153
  150. package/dist/framework/style.js.map +1 -1
  151. package/dist/framework/types.d.ts +87 -87
  152. package/dist/framework/types.js +1 -1
  153. package/dist/index.d.ts +12 -12
  154. package/dist/index.js +12 -12
  155. package/dist/index.js.map +1 -1
  156. package/dist/utilities/blob/blob.d.ts +1 -1
  157. package/dist/utilities/blob/blob.js +17 -17
  158. package/dist/utilities/blob/blob.js.map +1 -1
  159. package/dist/utilities/contextMenu/contextMenu.d.ts +2 -0
  160. package/dist/utilities/contextMenu/contextMenu.js +11 -0
  161. package/dist/utilities/contextMenu/contextMenu.js.map +1 -0
  162. package/dist/utilities/cookie/cookie.d.ts +3 -3
  163. package/dist/utilities/cookie/cookie.js +26 -26
  164. package/dist/utilities/cookie/cookie.js.map +1 -1
  165. package/dist/utilities/dataReaderTable/dataReaderTable.d.ts +9 -9
  166. package/dist/utilities/dataReaderTable/dataReaderTable.js +23 -23
  167. package/dist/utilities/dataReaderTable/dataReaderTable.js.map +1 -1
  168. package/dist/utilities/fetch/fetch.d.ts +7 -8
  169. package/dist/utilities/fetch/fetch.js +139 -137
  170. package/dist/utilities/fetch/fetch.js.map +1 -1
  171. package/dist/utilities/float/float.d.ts +1 -1
  172. package/dist/utilities/float/float.js +3 -3
  173. package/dist/utilities/formData/formData.d.ts +1 -1
  174. package/dist/utilities/formData/formData.js +11 -11
  175. package/dist/utilities/formData/formData.js.map +1 -1
  176. package/dist/utilities/formatting/formatting.d.ts +4 -0
  177. package/dist/utilities/formatting/formatting.js +26 -0
  178. package/dist/utilities/formatting/formatting.js.map +1 -0
  179. package/dist/utilities/htmlElement/htmlElement.d.ts +1 -1
  180. package/dist/utilities/htmlElement/htmlElement.js +16 -16
  181. package/dist/utilities/htmlElement/htmlElement.js.map +1 -1
  182. package/dist/utilities/image/image.d.ts +1 -1
  183. package/dist/utilities/image/image.js +1 -1
  184. package/dist/utilities/index.d.ts +40 -36
  185. package/dist/utilities/index.js +40 -36
  186. package/dist/utilities/index.js.map +1 -1
  187. package/dist/utilities/integer/integer.d.ts +3 -3
  188. package/dist/utilities/integer/integer.js +27 -27
  189. package/dist/utilities/integer/integer.js.map +1 -1
  190. package/dist/utilities/key/key.d.ts +2 -2
  191. package/dist/utilities/key/key.js +6 -6
  192. package/dist/utilities/navigator/navigator.d.ts +1 -1
  193. package/dist/utilities/navigator/navigator.js +8 -8
  194. package/dist/utilities/navigator/navigator.js.map +1 -1
  195. package/dist/utilities/notification/notification.d.ts +5 -5
  196. package/dist/utilities/notification/notification.js +66 -66
  197. package/dist/utilities/notification/notification.js.map +1 -1
  198. package/dist/utilities/querystring/querystring.d.ts +6 -6
  199. package/dist/utilities/querystring/querystring.js +53 -53
  200. package/dist/utilities/querystring/querystring.js.map +1 -1
  201. package/dist/utilities/router/router.d.ts +19 -19
  202. package/dist/utilities/router/router.js +80 -80
  203. package/dist/utilities/router/router.js.map +1 -1
  204. package/dist/utilities/stylesheet/stylesheet.d.ts +2 -2
  205. package/dist/utilities/stylesheet/stylesheet.js +47 -47
  206. package/dist/utilities/stylesheet/stylesheet.js.map +1 -1
  207. package/dist/utilities/uniqueId/uniqueId.d.ts +1 -1
  208. package/dist/utilities/uniqueId/uniqueId.js +4 -4
  209. package/dist/{framework → utilities/userAgent}/userAgent.d.ts +31 -31
  210. package/dist/{framework → utilities/userAgent}/userAgent.js +46 -46
  211. package/dist/utilities/userAgent/userAgent.js.map +1 -0
  212. package/dist/utilities/webSocket/webSocket.d.ts +1 -1
  213. package/dist/utilities/webSocket/webSocket.js +54 -54
  214. package/dist/utilities/webSocket/webSocket.js.map +1 -1
  215. package/package.json +18 -14
  216. package/src/controls/codeMirror/Editor/Editor.ts +207 -0
  217. package/src/controls/codeMirror/index.ts +1 -2
  218. package/src/controls/custom/FileSelector/FileSelector.ts +30 -28
  219. package/src/controls/custom/LabeledControl/LabeledControl.ts +32 -36
  220. package/src/controls/custom/ListItem/ListItem.ts +36 -36
  221. package/src/controls/html/Button/Button.ts +36 -29
  222. package/src/controls/html/Div/Div.ts +20 -21
  223. package/src/controls/html/Image/Image.ts +22 -20
  224. package/src/controls/html/Input/Input.ts +59 -61
  225. package/src/controls/html/Select/Select.ts +37 -39
  226. package/src/controls/html/Span/Span.ts +14 -14
  227. package/src/controls/index.ts +2 -2
  228. package/src/controls/{jsonViewAwesome → jsonViewerAwesome}/jsonFormatter/JsonFormatter.ts +23 -23
  229. package/src/controls/kendo/Chart/Chart.ts +34 -34
  230. package/src/controls/kendo/DataSource/DataSource.ts +1 -1
  231. package/src/controls/kendo/Editor/Editor.ts +58 -68
  232. package/src/controls/kendo/Grid/Grid.ts +77 -80
  233. package/src/controls/kendo/Menu/Menu.ts +22 -22
  234. package/src/controls/kendo/ObservableObject/ObservableObject.ts +45 -45
  235. package/src/controls/kendo/{Tree/Tree.ts → Treeview/Treeview.ts} +15 -15
  236. package/src/controls/kendo/{Dialog/Dialog.ts → Window/Window.ts} +21 -19
  237. package/src/controls/kendo/index.ts +3 -3
  238. package/src/controls/leaflet/LabelControl/LabelControl.ts +10 -10
  239. package/src/controls/leaflet/Map/Map.ts +41 -38
  240. package/src/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.ts +3 -3
  241. package/src/controls/svg/Circle/Circle.ts +14 -14
  242. package/src/controls/svg/Ellipse/Ellipse.ts +15 -15
  243. package/src/controls/svg/ForeignObject/ForeignObject.ts +19 -20
  244. package/src/controls/svg/Group/Group.ts +19 -19
  245. package/src/controls/svg/Line/Line.ts +15 -15
  246. package/src/controls/svg/Pattern/Pattern.ts +25 -25
  247. package/src/controls/svg/Polygon/Polygon.ts +13 -13
  248. package/src/controls/svg/Polyline/Polyline.ts +13 -13
  249. package/src/controls/svg/Rectangle/Rectangle.ts +15 -15
  250. package/src/controls/svg/Svg/Svg.ts +19 -19
  251. package/src/controls/svg/Text/Text.ts +16 -16
  252. package/src/controls/svg/Title/Title.ts +12 -12
  253. package/src/controls/svg/svg.ts +4 -4
  254. package/src/framework/attributes.ts +46 -46
  255. package/src/framework/{View.ts → element.ts} +52 -39
  256. package/src/framework/event.ts +7 -7
  257. package/src/framework/observable.ts +94 -60
  258. package/src/framework/properties.ts +393 -0
  259. package/src/framework/root.ts +45 -0
  260. package/src/framework/style.ts +330 -340
  261. package/src/index.ts +4 -4
  262. package/src/utilities/contextMenu/contextMenu.ts +16 -0
  263. package/src/utilities/fetch/fetch.ts +16 -14
  264. package/src/utilities/formatting/formatting.ts +29 -0
  265. package/src/utilities/index.ts +7 -3
  266. package/src/utilities/router/router.ts +3 -3
  267. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.d.ts +0 -16
  268. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js +0 -120
  269. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js.map +0 -1
  270. package/dist/controls/codeMirror/JsonEditor/JsonEditor.d.ts +0 -16
  271. package/dist/controls/codeMirror/JsonEditor/JsonEditor.js +0 -104
  272. package/dist/controls/codeMirror/JsonEditor/JsonEditor.js.map +0 -1
  273. package/dist/controls/jsonViewAwesome/index.js.map +0 -1
  274. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.d.ts +0 -28
  275. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.js.map +0 -1
  276. package/dist/controls/kendo/Dialog/Dialog.d.ts +0 -14
  277. package/dist/controls/kendo/Dialog/Dialog.js.map +0 -1
  278. package/dist/controls/kendo/Tree/Tree.d.ts +0 -17
  279. package/dist/controls/kendo/Tree/Tree.js.map +0 -1
  280. package/dist/framework/View.js.map +0 -1
  281. package/dist/framework/ViewModel.d.ts +0 -42
  282. package/dist/framework/ViewModel.js.map +0 -1
  283. package/dist/framework/userAgent.js.map +0 -1
  284. package/dist/utilities/html/html.d.ts +0 -1
  285. package/dist/utilities/html/html.js +0 -8
  286. package/dist/utilities/html/html.js.map +0 -1
  287. package/src/controls/codeMirror/HtmlEditor/HtmlEditor.ts +0 -153
  288. package/src/controls/codeMirror/JsonEditor/JsonEditor.ts +0 -136
  289. package/src/framework/ViewModel.ts +0 -528
  290. package/src/utilities/html/html.ts +0 -8
  291. /package/src/controls/{jsonViewAwesome → jsonViewerAwesome}/index.ts +0 -0
  292. /package/src/{framework → utilities/userAgent}/userAgent.ts +0 -0
@@ -1,171 +1,167 @@
1
- import { isSubscribable, unwrap, isObservable } from "knockout";
2
- import { View, registerView } from "../../../framework/View";
3
- import { ViewModel, extendProperties, isNullOrUndefined } from "../../../framework/ViewModel";
4
- import { isObservableProperty } from "../../../framework/observable";
5
- import { isInteger } from "../../../utilities/integer/integer";
6
- import { isFloat } from "../../../utilities/float/float";
7
- export var ValueUpdateModeEnum;
8
- (function (ValueUpdateModeEnum) {
9
- ValueUpdateModeEnum[ValueUpdateModeEnum["OnChange"] = 1] = "OnChange";
10
- ValueUpdateModeEnum[ValueUpdateModeEnum["OnInput"] = 2] = "OnInput";
11
- })(ValueUpdateModeEnum || (ValueUpdateModeEnum = {}));
12
- export class InputView extends View {
13
- constructor(properties) {
14
- super({
15
- tagName: "input",
16
- properties: extendProperties({
17
- viewType: "Input"
18
- }, properties)
19
- });
20
- }
21
- build() {
22
- super.build();
23
- const element = this.element;
24
- const viewModel = this.properties;
25
- if (!viewModel.valueUpdateMode) {
26
- viewModel.valueUpdateMode = ValueUpdateModeEnum.OnChange;
27
- }
28
- const input = this.element;
29
- input.type = viewModel.type;
30
- if (!isNullOrUndefined(viewModel.min)) {
31
- input.min = viewModel.min;
32
- }
33
- if (!isNullOrUndefined(viewModel.max)) {
34
- input.max = viewModel.max;
35
- }
36
- if (!isNullOrUndefined(viewModel.step)) {
37
- input.step = viewModel.step;
38
- }
39
- switch (viewModel.type) {
40
- case "checkbox":
41
- input.checked = unwrap(viewModel.value);
42
- if (isObservable(viewModel.value)) {
43
- this.subscriptions.push(viewModel.value.subscribe((value) => {
44
- input.checked = value;
45
- }));
46
- }
47
- break;
48
- case "file":
49
- break;
50
- case "radio":
51
- input.checked = input.value === unwrap(viewModel.value);
52
- if (isSubscribable(viewModel.value)) {
53
- this.subscriptions.push(viewModel.value.subscribe((value) => {
54
- input.checked = input.value === value;
55
- }));
56
- }
57
- break;
58
- default:
59
- const value = unwrap(viewModel.value);
60
- if (value) {
61
- input.value = value;
62
- }
63
- if (isObservable(viewModel.value)) {
64
- this.subscriptions.push(viewModel.value.subscribe((value) => {
65
- input.value = value;
66
- }));
67
- }
68
- }
69
- const placeholder = unwrap(viewModel.placeholder);
70
- if (placeholder) {
71
- input.placeholder = placeholder;
72
- }
73
- if (isSubscribable(viewModel.placeholder)) {
74
- this.subscriptions.push(viewModel.placeholder.subscribe((placeholder) => {
75
- if (placeholder) {
76
- input.placeholder = placeholder;
77
- }
78
- else {
79
- input.removeAttribute("placeholder");
80
- }
81
- }));
82
- }
83
- if (this.properties.valueUpdateMode === ValueUpdateModeEnum.OnChange) {
84
- this.element.addEventListener("change", handleEvent);
85
- }
86
- if (this.properties.valueUpdateMode === ValueUpdateModeEnum.OnInput || viewModel.inputValidator) {
87
- this.element.addEventListener("input", handleEvent);
88
- }
89
- async function handleEvent(event) {
90
- let newValue = null;
91
- switch (viewModel.type) {
92
- case "checkbox":
93
- newValue = input.checked;
94
- break;
95
- case "file":
96
- newValue = input.files;
97
- break;
98
- case "radio":
99
- const name = element.getAttribute("name");
100
- if (name) {
101
- const selectedRadioButton = document.querySelector("input[type='radio'][name='" + name + "']:checked");
102
- if (selectedRadioButton) {
103
- newValue = selectedRadioButton.value;
104
- }
105
- }
106
- break;
107
- default:
108
- newValue = input.value;
109
- if (newValue + "" === "") {
110
- newValue = null;
111
- }
112
- }
113
- if (viewModel.inputValidator) {
114
- if (!await viewModel.inputValidator(event, viewModel, newValue)) {
115
- input.value = unwrap(viewModel.value);
116
- return;
117
- }
118
- ;
119
- }
120
- if (viewModel.type === "integer") {
121
- if (isInteger(newValue)) {
122
- newValue = parseInt(newValue);
123
- }
124
- else {
125
- input.value = unwrap(viewModel.value);
126
- return;
127
- }
128
- }
129
- if (viewModel.type === "float") {
130
- if (isFloat(newValue)) {
131
- newValue = parseFloat(newValue);
132
- }
133
- else {
134
- input.value = unwrap(viewModel.value);
135
- return;
136
- }
137
- }
138
- if (isObservableProperty(viewModel.value)) {
139
- if ((event.type === "change" && viewModel.valueUpdateMode === ValueUpdateModeEnum.OnChange) ||
140
- (event.type === "input" && viewModel.valueUpdateMode === ValueUpdateModeEnum.OnInput)) {
141
- viewModel.value.set(newValue);
142
- }
143
- else {
144
- viewModel.value.set(newValue, false);
145
- }
146
- }
147
- else if (isObservable(viewModel.value)) {
148
- viewModel.value(newValue);
149
- }
150
- }
151
- }
152
- }
153
- export function inputView(properties) {
154
- return new InputView(properties);
155
- }
156
- export class InputViewModel extends ViewModel {
157
- constructor(properties) {
158
- super();
159
- this.setProperties(this, properties);
160
- }
161
- value;
162
- inputValidator;
163
- placeholder;
164
- valueUpdateMode;
165
- min;
166
- max;
167
- step;
168
- type;
169
- }
170
- registerView(InputViewModel, InputView);
1
+ import { Element, registerElement } from "../../../framework/element";
2
+ import { Properties, extendProperties, isNullOrUndefined } from "../../../framework/properties";
3
+ import { isSubscribable, unwrap, isObservableValue } from "../../../framework/observable";
4
+ import { isInteger } from "../../../utilities/integer/integer";
5
+ import { isFloat } from "../../../utilities/float/float";
6
+ export var ValueUpdateModeEnum;
7
+ (function (ValueUpdateModeEnum) {
8
+ ValueUpdateModeEnum[ValueUpdateModeEnum["OnChange"] = 1] = "OnChange";
9
+ ValueUpdateModeEnum[ValueUpdateModeEnum["OnInput"] = 2] = "OnInput";
10
+ })(ValueUpdateModeEnum || (ValueUpdateModeEnum = {}));
11
+ export class InputElement extends Element {
12
+ constructor(properties) {
13
+ super({
14
+ tagName: "input",
15
+ properties: extendProperties(properties, {
16
+ elementType: "Input"
17
+ })
18
+ });
19
+ }
20
+ build() {
21
+ super.build();
22
+ const element = this.element;
23
+ const properties = this.properties;
24
+ if (!properties.valueUpdateMode) {
25
+ properties.valueUpdateMode = ValueUpdateModeEnum.OnChange;
26
+ }
27
+ const input = this.element;
28
+ input.type = properties.type;
29
+ if (!isNullOrUndefined(properties.min)) {
30
+ input.min = properties.min;
31
+ }
32
+ if (!isNullOrUndefined(properties.max)) {
33
+ input.max = properties.max;
34
+ }
35
+ if (!isNullOrUndefined(properties.step)) {
36
+ input.step = properties.step;
37
+ }
38
+ switch (properties.type) {
39
+ case "checkbox":
40
+ input.checked = unwrap(properties.value);
41
+ if (isSubscribable(properties.value)) {
42
+ this.subscriptions.push(properties.value.subscribe((value) => {
43
+ input.checked = value;
44
+ }));
45
+ }
46
+ break;
47
+ case "file":
48
+ break;
49
+ case "radio":
50
+ input.checked = input.value === (unwrap(properties.value));
51
+ if (isSubscribable(properties.value)) {
52
+ this.subscriptions.push(properties.value.subscribe((value) => {
53
+ input.checked = input.value === value;
54
+ }));
55
+ }
56
+ break;
57
+ default:
58
+ const value = unwrap(properties.value);
59
+ if (value) {
60
+ input.value = value;
61
+ }
62
+ if (isSubscribable(properties.value)) {
63
+ this.subscriptions.push(properties.value.subscribe((value) => {
64
+ input.value = value;
65
+ }));
66
+ }
67
+ }
68
+ const placeholder = unwrap(properties.placeholder);
69
+ if (placeholder) {
70
+ input.placeholder = placeholder;
71
+ }
72
+ if (isSubscribable(properties.placeholder)) {
73
+ this.subscriptions.push(properties.placeholder.subscribe((placeholder) => {
74
+ if (placeholder) {
75
+ input.placeholder = placeholder;
76
+ }
77
+ else {
78
+ input.removeAttribute("placeholder");
79
+ }
80
+ }));
81
+ }
82
+ if (this.properties.valueUpdateMode === ValueUpdateModeEnum.OnChange) {
83
+ this.element.addEventListener("change", handleEvent);
84
+ }
85
+ if (this.properties.valueUpdateMode === ValueUpdateModeEnum.OnInput || properties.inputValidator) {
86
+ this.element.addEventListener("input", handleEvent);
87
+ }
88
+ async function handleEvent(event) {
89
+ let newValue = null;
90
+ switch (properties.type) {
91
+ case "checkbox":
92
+ newValue = input.checked;
93
+ break;
94
+ case "file":
95
+ newValue = input.files;
96
+ break;
97
+ case "radio":
98
+ const name = element.getAttribute("name");
99
+ if (name) {
100
+ const selectedRadioButton = document.querySelector("input[type='radio'][name='" + name + "']:checked");
101
+ if (selectedRadioButton) {
102
+ newValue = selectedRadioButton.value;
103
+ }
104
+ }
105
+ break;
106
+ default:
107
+ newValue = input.value;
108
+ if (newValue + "" === "") {
109
+ newValue = null;
110
+ }
111
+ }
112
+ if (properties.inputValidator) {
113
+ if (!await properties.inputValidator(event, properties, newValue)) {
114
+ input.value = unwrap(properties.value);
115
+ return;
116
+ }
117
+ ;
118
+ }
119
+ if (properties.type === "integer") {
120
+ if (isInteger(newValue)) {
121
+ newValue = parseInt(newValue);
122
+ }
123
+ else {
124
+ input.value = unwrap(properties.value);
125
+ return;
126
+ }
127
+ }
128
+ if (properties.type === "float") {
129
+ if (isFloat(newValue)) {
130
+ newValue = parseFloat(newValue);
131
+ }
132
+ else {
133
+ input.value = unwrap(properties.value);
134
+ return;
135
+ }
136
+ }
137
+ if (isObservableValue(properties.value)) {
138
+ if ((event.type === "change" && properties.valueUpdateMode === ValueUpdateModeEnum.OnChange) ||
139
+ (event.type === "input" && properties.valueUpdateMode === ValueUpdateModeEnum.OnInput)) {
140
+ properties.value.setValueInAction(newValue);
141
+ }
142
+ else {
143
+ properties.value.setInternal(newValue);
144
+ }
145
+ }
146
+ }
147
+ }
148
+ }
149
+ export function createInput(properties) {
150
+ return new InputElement(properties);
151
+ }
152
+ export class InputProperties extends Properties {
153
+ constructor(properties) {
154
+ super();
155
+ this.setProperties(this, properties);
156
+ }
157
+ value;
158
+ inputValidator;
159
+ placeholder;
160
+ valueUpdateMode;
161
+ min;
162
+ max;
163
+ step;
164
+ type;
165
+ }
166
+ registerElement(InputProperties.prototype.constructor, InputElement);
171
167
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/controls/html/Input/Input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/controls/html/Input/Input.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,30 @@
1
- import { View } from "../../../framework/View";
2
- import { ViewModel, Properties } from "../../../framework/ViewModel";
3
- import { ObservableProperty, ObservableArrayProperty } from "../../../framework/observable";
4
- export interface SelectProperties<TItem, TValue, TSetter = TValue> extends Properties {
5
- value?: TValue | ObservableProperty<TValue, TSetter>;
6
- items?: Array<TItem> | ObservableArrayProperty<TItem>;
7
- textFunction: (item: TItem) => string;
8
- valueFunction: (item: TItem) => TValue;
9
- setFunction?: (item: TItem) => TSetter;
10
- inputValidator?: (event: Event, selectViewModel: SelectProperties<TItem, TValue, TSetter>, value: TValue) => Promise<boolean>;
11
- emptyItemText?: string;
12
- }
13
- export declare class SelectView<TItem, TValue, TSetter = TValue> extends View<SelectProperties<TItem, TValue, TSetter>> {
14
- constructor(properties: SelectProperties<TItem, TValue, TSetter>);
15
- protected build(): void;
16
- private itemDictionary;
17
- private setItems;
18
- private setSelectedValue;
19
- }
20
- export declare function selectView<TItem, TValue, TSetter = TValue>(properties: SelectProperties<TItem, TValue, TSetter>): SelectView<TItem, TValue, TSetter>;
21
- export declare class SelectViewModel<TItem, TValue, TSetter = TValue> extends ViewModel implements SelectProperties<TItem, TValue, TSetter> {
22
- constructor(properties: SelectProperties<TItem, TValue, TSetter>);
23
- value?: TValue | ObservableProperty<TValue, TSetter>;
24
- items?: Array<TItem> | ObservableArrayProperty<TItem>;
25
- textFunction: (item: TItem) => string;
26
- valueFunction: (item: TItem) => TValue;
27
- setFunction?: (item: TItem) => TSetter;
28
- inputValidator?: (event: Event, selectViewModel: SelectProperties<TItem, TValue, TSetter>, value: TValue) => Promise<boolean>;
29
- emptyItemText?: string;
30
- }
1
+ import { Element } from "../../../framework/element";
2
+ import { Properties, IProperties } from "../../../framework/properties";
3
+ import { ISubscribable } from "../../../framework/observable";
4
+ export interface ISelectProperties<TItem, TValue, TSetter = TValue> extends IProperties {
5
+ value?: TValue | ISubscribable<TValue>;
6
+ items?: Array<TItem> | ISubscribable<Array<TItem>>;
7
+ textFunction: (item: TItem) => string;
8
+ valueFunction: (item: TItem) => TValue;
9
+ setFunction?: (item: TItem) => TSetter;
10
+ inputValidator?: (event: Event, selectViewModel: ISelectProperties<TItem, TValue, TSetter>, value: TValue) => Promise<boolean>;
11
+ emptyItemText?: string;
12
+ }
13
+ export declare class SelectElement<TItem, TValue, TSetter = TValue> extends Element<ISelectProperties<TItem, TValue, TSetter>> {
14
+ constructor(properties: ISelectProperties<TItem, TValue, TSetter>);
15
+ protected build(): void;
16
+ private itemDictionary;
17
+ private setItems;
18
+ private setSelectedValue;
19
+ }
20
+ export declare function createSelect<TItem, TValue, TSetter = TValue>(properties: ISelectProperties<TItem, TValue, TSetter>): SelectElement<TItem, TValue, TSetter>;
21
+ export declare class SelectProperties<TItem, TValue, TSetter = TValue> extends Properties implements ISelectProperties<TItem, TValue, TSetter> {
22
+ constructor(properties: ISelectProperties<TItem, TValue, TSetter>);
23
+ value?: TValue | ISubscribable<TValue>;
24
+ items?: Array<TItem> | ISubscribable<Array<TItem>>;
25
+ textFunction: (item: TItem) => string;
26
+ valueFunction: (item: TItem) => TValue;
27
+ setFunction?: (item: TItem) => TSetter;
28
+ inputValidator?: (event: Event, selectViewModel: ISelectProperties<TItem, TValue, TSetter>, value: TValue) => Promise<boolean>;
29
+ emptyItemText?: string;
30
+ }