jpf 5.0.3 → 5.0.7

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 +15 -11
  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 +37 -37
  221. package/src/controls/html/Button/Button.ts +37 -30
  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 +63 -65
  225. package/src/controls/html/Select/Select.ts +39 -41
  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 +24 -24
  229. package/src/controls/kendo/Chart/Chart.ts +37 -37
  230. package/src/controls/kendo/DataSource/DataSource.ts +1 -1
  231. package/src/controls/kendo/Editor/Editor.ts +59 -69
  232. package/src/controls/kendo/Grid/Grid.ts +81 -84
  233. package/src/controls/kendo/Menu/Menu.ts +24 -24
  234. package/src/controls/kendo/ObservableObject/ObservableObject.ts +45 -45
  235. package/src/controls/kendo/{Tree/Tree.ts → Treeview/Treeview.ts} +17 -17
  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 +44 -41
  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} +54 -41
  256. package/src/framework/event.ts +7 -7
  257. package/src/framework/observable.ts +93 -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,24 +1,22 @@
1
1
  import * as kendo from "@progress/kendo-ui/js/kendo.grid.js";
2
- import { View, registerView } from "../../../framework/View";
3
- import { Properties, ViewModel, extendProperties } from "../../../framework/ViewModel";
4
- import { ObservableArrayProperty, ObservableProperty } from "../../../framework/observable";
5
- import { unwrap, utils, Subscribable, isSubscribable } from "knockout";
6
- import { ChangedItem } from "../DataSource/DataSource";
7
- import { knockoutObservableToKendoObservableArray, getUnderlyingObject } from "../ObservableObject/ObservableObject";
8
-
9
- export interface GridProperties<TItem> extends Properties {
10
- items?: Array<TItem> | Subscribable<Array<TItem>>;
2
+ import { Element, registerElement } from "../../../framework/element";
3
+ import { Properties, IProperties, extendProperties } from "../../../framework/properties";
4
+ import { isObservableArray, isObservableValue, unwrap, ISubscribable, isSubscribable } from "../../../framework/observable";
5
+ import { IChangedItem as ChangedItem } from "../DataSource/DataSource";
6
+
7
+ export interface IGridProperties<TItem> extends IProperties {
8
+ items?: Array<TItem> | ISubscribable<Array<TItem>>;
11
9
  idProperty?: keyof TItem;
12
10
  columns?: Array<kendo.ui.GridColumn>;
13
11
  pageSize?: number;
14
12
  sortable?: boolean | kendo.ui.GridSortable;
15
13
  scrollable?: kendo.ui.GridScrollable;
16
14
  editable?: kendo.ui.GridEditable;
17
- filterable?: boolean | kendo.ui.GridFilterable | Subscribable<boolean | kendo.ui.GridFilterable>;
15
+ filterable?: boolean | kendo.ui.GridFilterable | ISubscribable<boolean | kendo.ui.GridFilterable>;
18
16
  toolbar?: string | Array<string>;
19
17
  selectable?: boolean | string;
20
- selectedItem?: TItem | Subscribable<TItem>;
21
- selectedItems?: Array<TItem> | Subscribable<Array<TItem>>;
18
+ selectedItem?: TItem | ISubscribable<TItem>;
19
+ selectedItems?: Array<TItem> | ISubscribable<Array<TItem>>;
22
20
  onDataSourceChange?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
23
21
  onDataSourceAdd?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
24
22
  onDataSourceRemove?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
@@ -26,16 +24,16 @@ export interface GridProperties<TItem> extends Properties {
26
24
  onRowContextMenu?: (event: PointerEvent, dataItem: any) => void;
27
25
  }
28
26
 
29
- export class GridView<TItem = any> extends View<GridProperties<TItem>> {
30
- constructor(properties: GridProperties<TItem>) {
27
+ export class GridElement<TItem = any> extends Element<IGridProperties<TItem>> {
28
+ constructor(properties: IGridProperties<TItem>) {
31
29
  super(
32
30
  {
33
31
  tagName: "div",
34
32
  properties: extendProperties(
33
+ properties,
35
34
  {
36
- viewType: "KendoGrid"
37
- },
38
- properties
35
+ elementType: "KendoGrid"
36
+ }
39
37
  )
40
38
  }
41
39
  );
@@ -47,7 +45,9 @@ export class GridView<TItem = any> extends View<GridProperties<TItem>> {
47
45
  private getItemById(id) {
48
46
  if (this.properties.idProperty) {
49
47
  const items = this.dataSource.data() as any as Array<any>;
50
- return utils.arrayFirst(items, (item) => { return item[this.properties.idProperty] === id });
48
+ return items.find((item) => {
49
+ return item[this.properties.idProperty] === id;
50
+ });
51
51
  }
52
52
 
53
53
  throw "Can only getItem when idProperty is set";
@@ -56,29 +56,29 @@ export class GridView<TItem = any> extends View<GridProperties<TItem>> {
56
56
  build(): void {
57
57
  super.build();
58
58
 
59
- const viewModel = this.properties;
59
+ const properties = this.properties;
60
60
 
61
61
  this.dataSource = new kendo.data.DataSource({
62
- data: knockoutObservableToKendoObservableArray(viewModel.items),
62
+ data: unwrap(properties.items),
63
63
  pageSize: this.properties.pageSize || 30,
64
64
  change: (event: kendo.data.DataSourceChangeEvent) => {
65
65
  var items = event.items as Array<ChangedItem>;
66
66
  switch (event.action) {
67
67
  case "itemchange":
68
- if (viewModel.onDataSourceChange) {
69
- viewModel.onDataSourceChange(items, event.sender);
68
+ if (properties.onDataSourceChange) {
69
+ properties.onDataSourceChange(items, event.sender);
70
70
  }
71
71
  break;
72
72
 
73
73
  case "add":
74
- if (viewModel.onDataSourceAdd) {
75
- viewModel.onDataSourceAdd(items, event.sender);
74
+ if (properties.onDataSourceAdd) {
75
+ properties.onDataSourceAdd(items, event.sender);
76
76
  }
77
77
  break;
78
78
 
79
79
  case "remove":
80
- if (viewModel.onDataSourceRemove) {
81
- viewModel.onDataSourceRemove(items, event.sender);
80
+ if (properties.onDataSourceRemove) {
81
+ properties.onDataSourceRemove(items, event.sender);
82
82
  }
83
83
  break;
84
84
  }
@@ -94,29 +94,23 @@ export class GridView<TItem = any> extends View<GridProperties<TItem>> {
94
94
  editable: this.properties.editable,
95
95
  filterable: unwrap(this.properties.filterable),
96
96
  change: (event: kendo.ui.GridChangeEvent) => {
97
- if (this.properties.selectedItem) {
98
- const selectedItem = getSelectedDataItem(event.sender);
99
- const observableProperty = this.properties.selectedItem as ObservableProperty;
100
- if (observableProperty.set) {
101
- observableProperty.set(selectedItem);
102
- }
97
+ if (isObservableValue(properties.selectedItem)) {
98
+ const selectedItem = getSelectedDataItem(event.sender) as TItem;
99
+ properties.selectedItem.setValue(selectedItem);
103
100
  }
104
- if (this.properties.selectedItems) {
105
- const selectedItems = getSelectedDataItems<TItem>(event.sender);
106
- const observableArrayProperty = this.properties.selectedItems as ObservableArrayProperty<TItem>;
107
- if (observableArrayProperty.set) {
108
- observableArrayProperty.set(selectedItems);
109
- }
101
+
102
+ if (isObservableArray(properties.selectedItems)) {
103
+ properties.selectedItems.setItems(getSelectedDataItems<TItem>(event.sender));
110
104
  }
111
105
 
112
- if (this.properties.onGridChange) {
113
- this.properties.onGridChange(getSelectedDataItems<TItem>(event.sender), event.sender);
106
+ if (properties.onGridChange) {
107
+ properties.onGridChange(getSelectedDataItems<TItem>(event.sender), event.sender);
114
108
  }
115
109
  },
116
110
  selectable: this.properties.selectable
117
111
  });
118
112
 
119
- if (viewModel.onRowContextMenu) {
113
+ if (properties.onRowContextMenu) {
120
114
  this.grid.table.contextmenu((event: PointerEvent) => {
121
115
  event.preventDefault();
122
116
  var target = event.target;
@@ -137,70 +131,73 @@ export class GridView<TItem = any> extends View<GridProperties<TItem>> {
137
131
  if (row) {
138
132
  let dataItem = this.grid.dataItem(row);
139
133
  if (dataItem) {
140
- const underlyingObject = getUnderlyingObject(dataItem);
141
- if (underlyingObject) {
142
- dataItem = underlyingObject as any;
143
- }
134
+ //const underlyingObject = getUnderlyingObject(dataItem);
135
+ //if (underlyingObject) {
136
+ // dataItem = underlyingObject as any;
137
+ //}
144
138
  setTimeout(() => {
145
- viewModel.onRowContextMenu(event, dataItem);
139
+ properties.onRowContextMenu(event, dataItem);
146
140
  });
147
141
 
148
142
  };
149
143
  }
150
144
  });
151
145
  }
152
- if (isSubscribable(viewModel.items)) {
153
- this.subscriptions.push(
154
- viewModel.items.subscribe((items) => {
146
+
147
+ if (isSubscribable(properties.items)) {
148
+ this.disposers.push(
149
+ properties.items.subscribe((items) => {
155
150
  if (items) {
156
- this.dataSource.data(new kendo.data.ObservableArray(knockoutObservableToKendoObservableArray(items)));
151
+ this.dataSource.data(items);
157
152
  } else {
158
153
  this.dataSource.data([]);
159
154
  }
160
155
  })
161
156
  );
162
157
  }
163
- if (isSubscribable(viewModel.filterable)) {
164
- this.subscriptions.push(
165
- viewModel.filterable.subscribe((filterable) => {
158
+
159
+ if (isSubscribable(properties.filterable)) {
160
+ this.disposers.push(
161
+ properties.filterable.subscribe((filterable) => {
166
162
  this.grid.setOptions({ filterable: filterable });
167
163
  })
168
164
  );
169
165
  }
170
166
 
171
- if (isSubscribable(viewModel.selectedItem)) {
172
- this.subscriptions.push(
173
- viewModel.selectedItem.subscribe((selectedItem: TItem) => {
174
- if (selectedItem && viewModel.idProperty) {
167
+ if (isSubscribable(properties.selectedItem)) {
168
+ this.disposers.push(
169
+ properties.selectedItem.subscribe((selectedItem) => {
170
+ if (selectedItem && properties.idProperty) {
175
171
  setTimeout(
176
172
  () => {
177
- const id = selectedItem[viewModel.idProperty];
173
+ const id = selectedItem[properties.idProperty];
178
174
  const item = this.getItemById(id);
179
- //Remove previous selected row
180
- this.grid.tbody.find("tr.k-state-selected").removeClass("k-state-selected");
175
+
176
+ this.grid.clearSelection();
177
+
181
178
  //Add the selected class to the newly selected row
182
179
  this.grid.tbody.find("tr[data-uid='" + item.uid + "']").addClass("k-state-selected");
183
180
  },
184
181
  10
185
182
  );
186
- } else {
187
- this.grid.select();
188
183
  }
189
184
  })
190
185
  );
191
186
  }
192
187
 
193
- if (isSubscribable(viewModel.selectedItems)) {
194
- this.subscriptions.push(
195
- viewModel.selectedItems.subscribe((selectedItems: Array<TItem>) => {
196
- if (selectedItems && selectedItems.length > 0 && viewModel.idProperty) {
188
+ if (isSubscribable(properties.selectedItems)) {
189
+ this.disposers.push(
190
+ properties.selectedItems.subscribe((selectedItems) => {
191
+ if (selectedItems && selectedItems.length > 0 && properties.idProperty) {
197
192
  setTimeout(
198
193
  () => {
199
194
  //Remove all previous selected rows
200
- this.grid.tbody.find("tr.k-state-selected").removeClass("k-state-selected");
195
+ this.grid.clearSelection();
196
+
197
+ //Select all new selected rows
201
198
  for (let index = 0; index < selectedItems.length; index++) {
202
199
  const selectedItem = selectedItems[index];
203
- const id = selectedItem[viewModel.idProperty];
200
+ const id = selectedItem[properties.idProperty];
204
201
  const item = this.getItemById(id);
205
202
 
206
203
  //Add the selected class to the newly selected row
@@ -223,18 +220,18 @@ export class GridView<TItem = any> extends View<GridProperties<TItem>> {
223
220
  }
224
221
  }
225
222
 
226
- export function gridView<TItem>(properties: GridProperties<TItem>) {
227
- return new GridView(properties);
223
+ export function createGrid<TItem>(properties: IGridProperties<TItem>) {
224
+ return new GridElement(properties);
228
225
  }
229
226
 
230
227
  export function getSelectedDataItem<TDataItem>(grid: kendo.ui.Grid): TDataItem {
231
228
  const selection = grid.select() as any as Array<any>;
232
229
  if (selection.length === 1) {
233
230
  const dataItem = grid.dataItem(selection[0]);
234
- const underlyingObject = getUnderlyingObject(dataItem);
235
- if (underlyingObject) {
236
- return underlyingObject as any as TDataItem;
237
- }
231
+ //const underlyingObject = getUnderlyingObject(dataItem);
232
+ //if (underlyingObject) {
233
+ // return underlyingObject as any as TDataItem;
234
+ //}
238
235
  return dataItem.toJSON() as TDataItem;
239
236
  }
240
237
 
@@ -247,7 +244,7 @@ export function getSelectedDataItems<TItem>(grid: kendo.ui.Grid): Array<TItem> {
247
244
  if (selection && selection.length > 0) {
248
245
  for (let index = 0; index < selection.length; index++) {
249
246
  const dataItem = grid.dataItem(selection[index]);
250
- const underlyingObject = getUnderlyingObject(dataItem);
247
+ const underlyingObject = null; // getUnderlyingObject(dataItem);
251
248
  if (underlyingObject) {
252
249
  selectedDataItems.push(underlyingObject);
253
250
  } else {
@@ -259,25 +256,25 @@ export function getSelectedDataItems<TItem>(grid: kendo.ui.Grid): Array<TItem> {
259
256
  return selectedDataItems;
260
257
  }
261
258
 
262
- export class GridViewModel<TItem = any> extends ViewModel implements GridProperties<TItem>
259
+ export class GridProperties<TItem = any> extends Properties implements IGridProperties<TItem>
263
260
  {
264
- constructor(properties: GridProperties<TItem>) {
261
+ constructor(properties: IGridProperties<TItem>) {
265
262
  super();
266
263
  this.setProperties(this, properties);
267
264
  }
268
265
 
269
- items?: Array<TItem> | Subscribable<Array<TItem>>;
266
+ items?: Array<TItem> | ISubscribable<Array<TItem>>;
270
267
  idProperty?: keyof TItem;
271
268
  columns?: Array<kendo.ui.GridColumn>;
272
269
  pageSize?: number;
273
270
  sortable?: boolean | kendo.ui.GridSortable;
274
271
  scrollable?: kendo.ui.GridScrollable;
275
272
  editable?: kendo.ui.GridEditable;
276
- filterable?: boolean | kendo.ui.GridFilterable | Subscribable<boolean | kendo.ui.GridFilterable>;
273
+ filterable?: boolean | kendo.ui.GridFilterable | ISubscribable<boolean | kendo.ui.GridFilterable>;
277
274
  toolbar?: string | Array<string>;
278
275
  selectable?: boolean | string;
279
- selectedItem?: TItem | Subscribable<TItem>;
280
- selectedItems?: Array<TItem> | Subscribable<Array<TItem>>;
276
+ selectedItem?: TItem | ISubscribable<TItem>;
277
+ selectedItems?: Array<TItem> | ISubscribable<Array<TItem>>;
281
278
  onDataSourceChange?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
282
279
  onDataSourceAdd?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
283
280
  onDataSourceRemove?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
@@ -285,7 +282,7 @@ export class GridViewModel<TItem = any> extends ViewModel implements GridPropert
285
282
  onRowContextMenu?: (event: PointerEvent, dataItem: any) => void;
286
283
  }
287
284
 
288
- registerView(
289
- GridViewModel,
290
- GridView
285
+ registerElement(
286
+ GridProperties.prototype.constructor,
287
+ GridElement
291
288
  );
@@ -1,25 +1,25 @@
1
1
  import * as kendo from "@progress/kendo-ui/js/kendo.menu.js";
2
- import { isObservable, unwrap, Subscribable } from "knockout";
3
- import { View, render } from "../../../framework/View";
4
- import { ViewModel, Properties, applyBindings as applyViewModelToElement, extendProperties } from "../../../framework/ViewModel";
5
- import { HierarchicalListItemProperties , HierarchicalListItemViewModel} from "../../custom/ListItem/ListItem";
2
+ import { isSubscribable, unwrap, ISubscribable } from "../../../framework/observable";
3
+ import { Element, render } from "../../../framework/element";
4
+ import { Properties, IProperties, applyBindings as applyViewModelToElement, extendProperties } from "../../../framework/properties";
5
+ import { HierarchicalListItemProperties, IHierarchicalListItemProperties } from "../../custom/ListItem/ListItem";
6
6
  const getContent = "getContent";
7
7
 
8
- export interface MenuProperties extends Properties {
9
- items?: Array<HierarchicalListItemProperties| HierarchicalListItemViewModel > | Subscribable<Array<HierarchicalListItemProperties| HierarchicalListItemViewModel>>;
8
+ export interface IMenuProperties extends IProperties {
9
+ items?: Array<IHierarchicalListItemProperties> | ISubscribable<Array<IHierarchicalListItemProperties>>;
10
10
  }
11
11
 
12
- export class MenuView extends View<MenuProperties> {
13
- constructor(properties: MenuProperties) {
12
+ export class MenuElement extends Element<IMenuProperties> {
13
+ constructor(properties: IMenuProperties) {
14
14
  super(
15
15
  {
16
16
  tagName: "div",
17
17
  properties: extendProperties(
18
+ properties,
18
19
  {
19
- classNames: ["Menu"],
20
- viewType: "KendoMenu"
21
- },
22
- properties
20
+ classNames: ["jpf-menu"],
21
+ elementType: "KendoMenu"
22
+ }
23
23
  )
24
24
  }
25
25
  );
@@ -47,12 +47,12 @@ export class MenuView extends View<MenuProperties> {
47
47
  const uid = element.getAttribute("data-uid");
48
48
  const hierarchicalListItemViewModel = this.dataSource.getByUid(uid) as any as HierarchicalListItemProperties;
49
49
  if (hierarchicalListItemViewModel) {
50
- applyViewModelToElement(hierarchicalListItemViewModel, element, this.subscriptions);
50
+ applyViewModelToElement(hierarchicalListItemViewModel, element, this.disposers);
51
51
 
52
52
 
53
53
  if (hierarchicalListItemViewModel[getContent]) {
54
54
  const content = hierarchicalListItemViewModel[getContent]();
55
- if (content instanceof ViewModel) {
55
+ if (content instanceof Properties) {
56
56
  const firstChild = element.firstElementChild as HTMLElement;
57
57
  firstChild.style.padding = "0";
58
58
  firstChild.innerHTML = "";
@@ -66,23 +66,23 @@ export class MenuView extends View<MenuProperties> {
66
66
  );
67
67
 
68
68
  this.buildItems(unwrap(viewModel.items));
69
- if (isObservable(viewModel.items)) {
70
- this.subscriptions.push(
71
- viewModel.items.subscribe((items) => {
72
- this.buildItems(items);
69
+ if (isSubscribable(viewModel.items)) {
70
+ this.disposers.push(
71
+ viewModel.items.subscribe((items)=>{
72
+ this.buildItems(items);
73
73
  })
74
74
  );
75
75
  }
76
76
  }
77
77
 
78
- private buildItems(listItems: Array<HierarchicalListItemProperties| HierarchicalListItemViewModel>) {
79
- const itemDictionary: { [id: string]: HierarchicalListItemProperties } = {};
80
- const topLevelItems = new Array<HierarchicalListItemProperties>();
78
+ private buildItems(listItems: Array<IHierarchicalListItemProperties>) {
79
+ const itemDictionary: { [id: string]: IHierarchicalListItemProperties } = {};
80
+ const topLevelItems = new Array<IHierarchicalListItemProperties>();
81
81
 
82
82
  if (listItems) {
83
83
  //Add all visible menuItems to a dictionary
84
84
  listItems.forEach((listItem) => {
85
- if (listItem as any instanceof ViewModel) {
85
+ if (listItem as any instanceof Properties) {
86
86
  listItem["attr"] = { postrender: true };
87
87
  }
88
88
 
@@ -120,6 +120,6 @@ export class MenuView extends View<MenuProperties> {
120
120
  }
121
121
  }
122
122
 
123
- export function menuView(properties: MenuProperties) {
124
- return new MenuView(properties);
123
+ export function createMenu(properties: IMenuProperties) {
124
+ return new MenuElement(properties);
125
125
  }
@@ -1,45 +1,45 @@
1
- import { Subscribable, isObservable, unwrap } from "knockout";
2
- import * as kendo from "@progress/kendo-ui/js/kendo.data.js";
3
-
4
- var getUnderlyingObjectFunctionName = "getUnderlyingObject";
5
-
6
- export function knockoutObservableToKendoObservable(object: object): kendo.data.ObservableObject {
7
- var observableObject = new kendo.data.ObservableObject();
8
- observableObject[getUnderlyingObjectFunctionName] = () => {
9
- return object;
10
- }
11
- Object.keys(object).forEach((key: string) => {
12
- var value = object[key];
13
-
14
- observableObject[key] = unwrap(value);
15
-
16
- if (isObservable(value)) {
17
- value.subscribe(
18
- (newValue) => {
19
- observableObject.set(key, newValue);
20
- }
21
- );
22
- }
23
- });
24
-
25
- return observableObject;
26
- }
27
-
28
- export function getUnderlyingObject(observableObject: kendo.data.ObservableObject): object {
29
- if (observableObject[getUnderlyingObjectFunctionName]) {
30
- return observableObject[getUnderlyingObjectFunctionName]();
31
- }
32
- return null;
33
- }
34
-
35
- export function knockoutObservableToKendoObservableArray(array: Array<any> | Subscribable<Array<any>>): Array<kendo.data.ObservableObject> {
36
-
37
- var observableObjects = new Array<kendo.data.ObservableObject>();
38
- if (array) {
39
- unwrap(array).forEach((object) => {
40
- observableObjects.push(knockoutObservableToKendoObservable(object));
41
- });
42
- }
43
-
44
- return observableObjects;
45
- }
1
+ //import { Subscribable, isSubscribable, unwrap , action} from "../../../framework/observable";
2
+ //import * as kendo from "@progress/kendo-ui/js/kendo.data.js";
3
+
4
+ //var getUnderlyingObjectFunctionName = "getUnderlyingObject";
5
+
6
+ //export function knockoutObservableToKendoObservable(object: object): kendo.data.ObservableObject {
7
+ // var observableObject = new kendo.data.ObservableObject();
8
+ // observableObject[getUnderlyingObjectFunctionName] = () => {
9
+ // return object;
10
+ // }
11
+ // Object.keys(object).forEach((key: string) => {
12
+ // var value = object[key];
13
+
14
+ // observableObject[key] = unwrap(value);
15
+
16
+ // if (isSubscribable(value)) {
17
+ // value.subscribe(
18
+ // (newValue) => {
19
+ // observableObject.set(key, newValue);
20
+ // }
21
+ // );
22
+ // }
23
+ // });
24
+
25
+ // return observableObject;
26
+ //}
27
+
28
+ //export function getUnderlyingObject(observableObject: kendo.data.ObservableObject): object {
29
+ // if (observableObject[getUnderlyingObjectFunctionName]) {
30
+ // return observableObject[getUnderlyingObjectFunctionName]();
31
+ // }
32
+ // return null;
33
+ //}
34
+
35
+ //export function knockoutObservableToKendoObservableArray(array: Array<any> | Subscribable<Array<any>>): Array<kendo.data.ObservableObject> {
36
+
37
+ // var observableObjects = new Array<kendo.data.ObservableObject>();
38
+ // if (array) {
39
+ // unwrap(array).forEach((object) => {
40
+ // observableObjects.push(knockoutObservableToKendoObservable(object));
41
+ // });
42
+ // }
43
+
44
+ // return observableObjects;
45
+ //}
@@ -1,26 +1,26 @@
1
1
  import * as kendo from "@progress/kendo-ui/js/kendo.treeview.js";
2
- import { isObservable, unwrap, Subscribable } from "knockout";
3
- import { View, render } from "../../../framework/View";
4
- import { ViewModel, Properties, applyBindings as applyViewModelToElement, extendProperties } from "../../../framework/ViewModel";
2
+ import { Element, render } from "../../../framework/element";
3
+ import { Properties, IProperties, applyBindings as applyViewModelToElement, extendProperties } from "../../../framework/properties";
5
4
  import { HierarchicalListItemProperties } from "../../custom/ListItem/ListItem";
5
+ import { ISubscribable, unwrap, isSubscribable } from "../../../framework/observable";
6
6
  const getContent = "getContent";
7
7
 
8
- export interface TreeProperties extends Properties {
9
- items?: Array<HierarchicalListItemProperties> | Subscribable<Array<HierarchicalListItemProperties>>;
10
- selectedItem?: HierarchicalListItemProperties | Subscribable<HierarchicalListItemProperties>;
8
+ export interface ITreeviewProperties extends IProperties {
9
+ items?: Array<HierarchicalListItemProperties> | ISubscribable<Array<HierarchicalListItemProperties>>;
10
+ selectedItem?: HierarchicalListItemProperties | ISubscribable<HierarchicalListItemProperties>;
11
11
  select?: (dataItem: any) => void;
12
12
  }
13
13
 
14
- export class TreeView extends View<TreeProperties> {
15
- constructor(properties: TreeProperties) {
14
+ export class TreeviewElement extends Element<ITreeviewProperties> {
15
+ constructor(properties: ITreeviewProperties) {
16
16
  super(
17
17
  {
18
18
  tagName: "div",
19
19
  properties: extendProperties(
20
+ properties,
20
21
  {
21
- viewType: "KendoTree"
22
- },
23
- properties
22
+ elementType: "KendoTree"
23
+ }
24
24
  )
25
25
  }
26
26
  );
@@ -73,11 +73,11 @@ export class TreeView extends View<TreeProperties> {
73
73
  const uid = element.getAttribute("data-uid");
74
74
  const hierarchicalListItemViewModel = this.dataSource.getByUid(uid) as any as HierarchicalListItemProperties;
75
75
  if (hierarchicalListItemViewModel) {
76
- applyViewModelToElement(hierarchicalListItemViewModel, element, this.subscriptions);
76
+ applyViewModelToElement(hierarchicalListItemViewModel, element, this.disposers);
77
77
 
78
78
  if (hierarchicalListItemViewModel[getContent]) {
79
79
  const content = hierarchicalListItemViewModel[getContent]();
80
- if (content instanceof ViewModel) {
80
+ if (content instanceof Properties) {
81
81
  const firstChild = element.firstElementChild as HTMLElement;
82
82
  firstChild.style.padding = "0";
83
83
  firstChild.innerHTML = "";
@@ -91,8 +91,8 @@ export class TreeView extends View<TreeProperties> {
91
91
  );
92
92
 
93
93
  this.buildItems(unwrap(viewModel.items));
94
- if (isObservable(viewModel.items)) {
95
- this.subscriptions.push(
94
+ if (isSubscribable(viewModel.items)) {
95
+ this.disposers.push(
96
96
  viewModel.items.subscribe((items) => {
97
97
  this.buildItems(items);
98
98
  })
@@ -142,6 +142,6 @@ export class TreeView extends View<TreeProperties> {
142
142
  }
143
143
  }
144
144
 
145
- export function treeView(properties: TreeProperties) {
146
- return new TreeView(properties);
145
+ export function treeviewElement(properties: ITreeviewProperties) {
146
+ return new TreeviewElement(properties);
147
147
  }
@@ -1,19 +1,19 @@
1
1
  import * as kendo from "@progress/kendo-ui/js/kendo.window.js";
2
- import { View } from "../../../framework/View";
3
- import { DivView } from "../../html/Div/Div";
4
- import { ButtonView } from "../../html/Button/Button";
2
+ import { Element } from "../../../framework/element";
3
+ import { createDiv } from "../../html/Div/Div";
4
+ import { ButtonElement } from "../../html/Button/Button";
5
5
 
6
- export interface DialogOptions {
7
- content?: View;
8
- buttons?: Array<ButtonView>;
6
+ export interface IWindowOptions {
7
+ content?: Element;
8
+ buttons?: Array<ButtonElement>;
9
9
  }
10
10
 
11
- export class Dialog {
12
- constructor(options: DialogOptions) {
11
+ export class WindowDialog {
12
+ constructor(options: IWindowOptions) {
13
13
  this.options = options;
14
14
  }
15
15
 
16
- private options: DialogOptions;
16
+ private readonly options: IWindowOptions;
17
17
  private dialog: kendo.ui.Window;
18
18
 
19
19
  open() {
@@ -34,15 +34,17 @@ export class Dialog {
34
34
  }
35
35
  }
36
36
  if (this.options.buttons) {
37
- const footer = new DivView({
38
- children: this.options.buttons,
39
- style: {
40
- display: "flex",
41
- justifyContent: "flex-end",
42
- borderTop: "1px solid gray",
43
- padding: "5px"
37
+ const footer = createDiv(
38
+ {
39
+ style: {
40
+ display: "flex",
41
+ justifyContent: "flex-end",
42
+ borderTop: "1px solid gray",
43
+ padding: "5px"
44
+ },
45
+ children: this.options.buttons
44
46
  }
45
- });
47
+ );
46
48
  wrapper.appendChild(footer.render());
47
49
  }
48
50
  }
@@ -59,6 +61,6 @@ export class Dialog {
59
61
  }
60
62
  }
61
63
 
62
- export function dialog(options: DialogOptions) {
63
- return new Dialog(options);
64
+ export function windowDialog(options: IWindowOptions) {
65
+ return new WindowDialog(options);
64
66
  }