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,9 +1,9 @@
1
1
  export * from "./Chart/Chart";
2
2
  export * from "./Culture/Culture";
3
3
  export * from "./DataSource/DataSource";
4
- export * from "./Dialog/Dialog";
5
4
  export * from "./Editor/Editor";
6
5
  export * from "./Grid/Grid";
7
6
  export * from "./Menu/Menu";
8
- export * from "./ObservableObject/ObservableObject";
9
- export * from "./Tree/Tree";
7
+ //export * from "./ObservableObject/ObservableObject";
8
+ export * from "./Treeview/Treeview";
9
+ export * from "./Window/Window";
@@ -1,33 +1,33 @@
1
1
  import * as leaflet from "leaflet";
2
- import { IView, getView } from "../../../framework/View";
3
- import { ViewModel } from "../../../framework/ViewModel";
2
+ import { IElement, getElement } from "../../../framework/element";
3
+ import { Properties } from "../../../framework/properties";
4
4
 
5
- export interface LeafletLabelControlOptions extends leaflet.ControlOptions {
6
- content: string | IView | ViewModel
5
+ export interface ILeafletLabelControlOptions extends leaflet.ControlOptions {
6
+ content: string | IElement | Properties
7
7
  }
8
8
 
9
9
  export class LeafletLabelControl extends leaflet.Control {
10
- constructor(options: LeafletLabelControlOptions) {
10
+ constructor(options: ILeafletLabelControlOptions) {
11
11
  super(options);
12
12
 
13
13
  this.content = options.content;
14
14
  }
15
15
 
16
- private readonly content: string | IView | ViewModel;
16
+ private readonly content: string | IElement | Properties;
17
17
 
18
18
  onAdd(map: leaflet.Map): HTMLElement {
19
19
  const div = document.createElement("div");
20
20
 
21
21
  let view;
22
- if (this.content instanceof ViewModel) {
23
- view = getView(this.content);
22
+ if (this.content instanceof Properties) {
23
+ view = getElement(this.content);
24
24
  if (view) {
25
25
  div.appendChild(view.render());
26
26
  }
27
27
  } else if (typeof this.content === "string") {
28
28
  div.innerText = this.content;
29
29
  } else {
30
- view = this.content as IView;
30
+ view = this.content as IElement;
31
31
  if (view.render) {
32
32
  div.appendChild(view.render());
33
33
  }
@@ -37,6 +37,6 @@ export class LeafletLabelControl extends leaflet.Control {
37
37
  }
38
38
  }
39
39
 
40
- export function leafletLabelControl(options: LeafletLabelControlOptions) {
40
+ export function createLeafletLabelControl(options: ILeafletLabelControlOptions) {
41
41
  return new LeafletLabelControl(options);
42
42
  }
@@ -1,33 +1,35 @@
1
- import { isObservable, unwrap, Observable, ObservableArray, Computed } from "knockout";
1
+ import { isSubscribable, unwrap, ISubscribable } from "../../../framework/observable";
2
2
  import * as leaflet from "leaflet";
3
- import { View, registerView } from "../../../framework/View";
4
- import { ViewModel, Properties, extendProperties } from "../../../framework/ViewModel";
3
+ import { Element, registerElement } from "../../../framework/element";
4
+ import { Properties, IProperties, extendProperties } from "../../../framework/properties";
5
+ import { ILeafletEventListener } from "../../../framework/event";
5
6
 
6
- export interface MapProperties extends Properties {
7
+ export interface IMapProperties extends IProperties {
7
8
  renderer?: leaflet.Renderer;
8
- center?: leaflet.LatLngExpression | Observable<leaflet.LatLngExpression>;
9
+ center?: leaflet.LatLngExpression | ISubscribable<leaflet.LatLngExpression>;
9
10
  zoom?: number;
10
11
  south?: number;
11
12
  north?: number;
12
13
  west?: number;
13
14
  east?: number;
14
15
  tileLayers?: Array<leaflet.TileLayer>;
15
- layers?: Array<leaflet.Layer> | ObservableArray<leaflet.Layer> | Computed<Array<leaflet.Layer>>;
16
- controls?: Array<leaflet.Control> | ObservableArray<leaflet.Control>;
16
+ layers?: Array<leaflet.Layer> | ISubscribable<Array<leaflet.Layer>>;
17
+ controls?: Array<leaflet.Control> | ISubscribable<Array<leaflet.Control>>;
17
18
  zoomInTitle?: string;
18
19
  zoomOutTitle?: string;
19
20
  }
20
21
 
21
- export class MapView extends View<MapProperties> {
22
- constructor(properties: MapProperties) {
22
+ export class MapElement extends Element<IMapProperties> {
23
+ constructor(properties: IMapProperties) {
23
24
  super(
24
25
  {
25
26
  tagName: "div",
26
27
  properties: extendProperties(
28
+ properties,
27
29
  {
28
- viewType: "LeafletMap"
30
+ elementType: "LeafletMap"
29
31
  },
30
- properties
32
+
31
33
  )
32
34
  }
33
35
  );
@@ -40,26 +42,26 @@ export class MapView extends View<MapProperties> {
40
42
  build(): void {
41
43
  super.build();
42
44
 
43
- const viewModel = this.properties;
44
- if (!viewModel.center) {
45
- viewModel.center = burtonville;
45
+ const properties = this.properties;
46
+ if (!properties.center) {
47
+ properties.center = burtonville;
46
48
  }
47
49
 
48
50
  const options: leaflet.MapOptions = {
49
- renderer: viewModel.renderer,
51
+ renderer: properties.renderer,
50
52
  zoomControl: false
51
53
  };
52
54
 
53
55
  //Leaflet can not handle rendering from an element not attached to the DOM
54
56
  setTimeout(
55
57
  () => {
56
- this.map = leaflet.map(this.element, options).setView(unwrap(viewModel.center), this.properties.zoom);
58
+ this.map = leaflet.map(this.element, options).setView(unwrap(properties.center), this.properties.zoom);
57
59
 
58
60
  //Add the language specific zoom element
59
61
  leaflet.control.zoom({
60
62
  position: "topleft",
61
- zoomInTitle: viewModel.zoomInTitle,
62
- zoomOutTitle: viewModel.zoomOutTitle
63
+ zoomInTitle: properties.zoomInTitle,
64
+ zoomOutTitle: properties.zoomOutTitle
63
65
  }).addTo(this.map);
64
66
 
65
67
  if (this.properties.eventListeners) {
@@ -67,35 +69,36 @@ export class MapView extends View<MapProperties> {
67
69
  this.map.on(
68
70
  key,
69
71
  (event) => {
70
- this.properties.eventListeners[key](event);
72
+ const eventListener = this.properties.eventListeners[key] as ILeafletEventListener;
73
+ eventListener.listener(event);
71
74
  }
72
75
  );
73
76
  });
74
77
  }
75
78
 
76
- this.setTileLayers(viewModel.tileLayers);
79
+ this.setTileLayers(properties.tileLayers);
77
80
 
78
- this.setLayers(unwrap(viewModel.layers));
79
- if (isObservable(viewModel.layers)) {
80
- this.subscriptions.push(
81
- viewModel.layers.subscribe((layers) => {
81
+ this.setLayers(unwrap(properties.layers));
82
+ if (isSubscribable(properties.layers)) {
83
+ this.disposers.push(
84
+ properties.layers.subscribe((layers) => {
82
85
  this.setLayers(layers);
83
86
  })
84
87
  );
85
88
  }
86
89
 
87
- this.setControls(unwrap(viewModel.controls));
88
- if (isObservable(viewModel.controls)) {
89
- this.subscriptions.push(
90
- viewModel.controls.subscribe((controls) => {
90
+ this.setControls(unwrap(properties.controls));
91
+ if (isSubscribable(properties.controls)) {
92
+ this.disposers.push(
93
+ properties.controls.subscribe((controls) => {
91
94
  this.setControls(controls);
92
95
  })
93
96
  );
94
97
  }
95
98
 
96
- if (isObservable(viewModel.center)) {
97
- this.subscriptions.push(
98
- viewModel.center.subscribe((center) => {
99
+ if (isSubscribable(properties.center)) {
100
+ this.disposers.push(
101
+ properties.center.subscribe((center) => {
99
102
  this.map.panTo(center);
100
103
  })
101
104
  );
@@ -148,33 +151,33 @@ export class MapView extends View<MapProperties> {
148
151
  }
149
152
  }
150
153
 
151
- export function mapView(properties: MapProperties) {
152
- return new MapView(properties);
154
+ export function createMap(properties: IMapProperties) {
155
+ return new MapElement(properties);
153
156
  }
154
157
 
155
158
  export const burtonville: leaflet.LatLngExpression = [50.283939, 5.964070];
156
159
 
157
- export class MapViewModel extends ViewModel implements MapProperties {
158
- constructor(properties: MapProperties) {
160
+ export class MapProperties extends Properties implements IMapProperties {
161
+ constructor(properties: IMapProperties) {
159
162
  super();
160
163
  this.setProperties(this, properties);
161
164
  }
162
165
 
163
166
  renderer?: leaflet.Renderer;
164
- center?: leaflet.LatLngExpression | Observable<leaflet.LatLngExpression>;
167
+ center?: leaflet.LatLngExpression | ISubscribable<leaflet.LatLngExpression>;
165
168
  zoom?: number;
166
169
  south?: number;
167
170
  north?: number;
168
171
  west?: number;
169
172
  east?: number;
170
173
  tileLayers?: Array<leaflet.TileLayer>;
171
- layers?: Array<leaflet.Layer> | ObservableArray<leaflet.Layer> | Computed<Array<leaflet.Layer>>;
172
- controls?: Array<leaflet.Control> | ObservableArray<leaflet.Control>;
174
+ layers?: Array<leaflet.Layer> | ISubscribable<Array<leaflet.Layer>>;
175
+ controls?: Array<leaflet.Control> | ISubscribable<Array<leaflet.Control>>;
173
176
  zoomInTitle?: string;
174
177
  zoomOutTitle?: string;
175
178
  }
176
179
 
177
- registerView(
178
- MapViewModel,
179
- MapView
180
+ registerElement(
181
+ MapProperties.prototype.constructor,
182
+ MapElement
180
183
  );
@@ -1,11 +1,11 @@
1
1
  import { TileLayerOptions, TileLayer } from "leaflet";
2
2
 
3
- export interface OpenStreetMapTileLayerOptions extends TileLayerOptions {
3
+ export interface IOpenStreetMapTileLayerOptions extends TileLayerOptions {
4
4
  attribution?: string
5
5
  }
6
6
 
7
7
  export class OpenStreetMapTileLayer extends TileLayer {
8
- constructor(options?: OpenStreetMapTileLayerOptions) {
8
+ constructor(options?: IOpenStreetMapTileLayerOptions) {
9
9
  if (!options) {
10
10
  options = {};
11
11
  }
@@ -14,6 +14,6 @@ export class OpenStreetMapTileLayer extends TileLayer {
14
14
  }
15
15
  }
16
16
 
17
- export function openStreetMapTileLayer(options?: OpenStreetMapTileLayerOptions) {
17
+ export function createOpenStreetMapTileLayer(options?: IOpenStreetMapTileLayerOptions) {
18
18
  return new OpenStreetMapTileLayer(options);
19
19
  }
@@ -1,34 +1,34 @@
1
- import { View } from "../../../framework/View";
2
- import { Properties, extendProperties} from "../../../framework/ViewModel";
3
- import { Subscribable } from "knockout";
1
+ import { Element } from "../../../framework/element";
2
+ import { IProperties, extendProperties} from "../../../framework/properties";
3
+ import { ISubscribable } from "../../../framework/observable";
4
4
 
5
- export interface CircleProperties extends Properties {
6
- cx: number | string | Subscribable<number | string>;
7
- cy: number | string | Subscribable<number | string>;
8
- r: number | string | Subscribable<number | string>;
5
+ export interface ICircleProperties extends IProperties {
6
+ cx: number | string | ISubscribable<number | string>;
7
+ cy: number | string | ISubscribable<number | string>;
8
+ r: number | string | ISubscribable<number | string>;
9
9
  }
10
10
 
11
- export class CircleView extends View<CircleProperties> {
12
- constructor(properties: CircleProperties) {
11
+ export class CircleElement extends Element<ICircleProperties> {
12
+ constructor(properties: ICircleProperties) {
13
13
  super(
14
14
  {
15
15
  tagName: "circle",
16
16
  properties: extendProperties(
17
+ properties,
17
18
  {
18
- viewType: "Circle",
19
+ elementType: "Circle",
19
20
  attributes: {
20
21
  cx: properties.cx,
21
22
  cy: properties.cy,
22
23
  r: properties.r
23
24
  }
24
- },
25
- properties
25
+ }
26
26
  )
27
27
  }
28
28
  );
29
29
  }
30
30
  }
31
31
 
32
- export function circleView(properties: CircleProperties) {
33
- return new CircleView(properties);
32
+ export function createCircle(properties: ICircleProperties) {
33
+ return new CircleElement(properties);
34
34
  }
@@ -1,36 +1,36 @@
1
- import { View } from "../../../framework/View";
2
- import { Properties, extendProperties} from "../../../framework/ViewModel";
3
- import { Subscribable } from "knockout";
1
+ import { Element } from "../../../framework/element";
2
+ import { IProperties, extendProperties} from "../../../framework/properties";
3
+ import { ISubscribable } from "../../../framework/observable";
4
4
 
5
- export interface EllipseProperties extends Properties {
6
- cx: number | string | Subscribable<number | string>;
7
- cy: number | string | Subscribable<number | string>;
8
- rx: number | string | Subscribable<number | string>;
9
- ry: number | string | Subscribable<number | string>;
5
+ export interface IEllipseProperties extends IProperties {
6
+ cx: number | string | ISubscribable<number | string>;
7
+ cy: number | string | ISubscribable<number | string>;
8
+ rx: number | string | ISubscribable<number | string>;
9
+ ry: number | string | ISubscribable<number | string>;
10
10
  }
11
11
 
12
- export class EllipseView extends View<EllipseProperties> {
13
- constructor(properties: EllipseProperties) {
12
+ export class EllipseElement extends Element<IEllipseProperties> {
13
+ constructor(properties: IEllipseProperties) {
14
14
  super(
15
15
  {
16
16
  tagName: "ellipse",
17
17
  properties: extendProperties(
18
+ properties,
18
19
  {
19
- viewType: "Ellipse",
20
+ elementType: "Ellipse",
20
21
  attributes: {
21
22
  cx: properties.cx,
22
23
  cy: properties.cy,
23
24
  rx: properties.rx,
24
25
  ry: properties.ry
25
26
  }
26
- },
27
- properties
27
+ }
28
28
  )
29
29
  }
30
30
  );
31
31
  }
32
32
  }
33
33
 
34
- export function ellipseView(properties: EllipseProperties) {
35
- return new EllipseView(properties);
34
+ export function createEllipse(properties: IEllipseProperties) {
35
+ return new EllipseElement(properties);
36
36
  }
@@ -1,38 +1,37 @@
1
- import { View, IView } from "../../../framework/View";
2
- import { Properties, extendProperties } from "../../../framework/ViewModel";
3
- import { Computed, ObservableArray, Subscribable } from "knockout";
1
+ import { Element, IElement } from "../../../framework/element";
2
+ import { IProperties, extendProperties } from "../../../framework/properties";
3
+ import { ISubscribable } from "../../../framework/observable";
4
4
 
5
- export interface ForeignObjectProperties extends Properties {
6
- height?: number | string | Subscribable<number | string>;
7
- width?: number | string | Subscribable<number | string>;
8
- x?: number | string | Subscribable<number | string>;
9
- y?: number | string | Subscribable<number | string>;
10
- children?: Array<IView> | ObservableArray<IView> | Computed<Array<IView>>;
5
+ export interface IForeignObjectProperties extends IProperties {
6
+ height?: number | string | ISubscribable<number | string>;
7
+ width?: number | string | ISubscribable<number | string>;
8
+ x?: number | string | ISubscribable<number | string>;
9
+ y?: number | string | ISubscribable<number | string>;
10
+ children?: Array<IElement> | ISubscribable<Array<IElement>>;
11
11
  }
12
-
13
- export class ForeignObjectView extends View<ForeignObjectProperties> {
14
- constructor(properties: ForeignObjectProperties) {
12
+ class ForeignObjectElement extends Element<IForeignObjectProperties> {
13
+ constructor(properties: IForeignObjectProperties,) {
15
14
  super(
16
15
  {
17
16
  tagName: "foreignObject",
18
17
  properties: extendProperties(
18
+ properties,
19
19
  {
20
- viewType: "ForeignObject",
20
+ elementType: "ForeignObject",
21
21
  attributes: {
22
22
  height: properties.height,
23
23
  width: properties.width,
24
24
  x: properties.x,
25
25
  y: properties.y
26
26
  }
27
- },
28
- properties
29
- ),
30
- children: properties.children
31
- }
27
+ }
28
+ )
29
+ },
30
+ properties.children
32
31
  );
33
32
  }
34
33
  }
35
34
 
36
- export function foreignObjectView(properties: ForeignObjectProperties) {
37
- return new ForeignObjectView(properties);
35
+ export function createForeignObject(properties: IForeignObjectProperties) {
36
+ return new ForeignObjectElement(properties);
38
37
  }
@@ -1,38 +1,38 @@
1
- import { View, IView } from "../../../framework/View";
2
- import { Properties, extendProperties } from "../../../framework/ViewModel";
3
- import { Computed, ObservableArray, Subscribable } from "knockout";
1
+ import { Element, IElement } from "../../../framework/element";
2
+ import { IProperties, extendProperties } from "../../../framework/properties";
3
+ import { ISubscribable } from "../../../framework/observable";
4
4
 
5
- export interface GroupProperties extends Properties {
6
- x1?: number | string | Subscribable<number | string>;
7
- x2?: number | string | Subscribable<number | string>;
8
- y1?: number | string | Subscribable<number | string>;
9
- y2?: number | string | Subscribable<number | string>;
10
- children?: Array<IView> | ObservableArray<IView> | Computed<Array<IView>>;
5
+ export interface IGroupProperties extends IProperties {
6
+ x1?: number | string | ISubscribable<number | string>;
7
+ x2?: number | string | ISubscribable<number | string>;
8
+ y1?: number | string | ISubscribable<number | string>;
9
+ y2?: number | string | ISubscribable<number | string>;
10
+ children?: Array<IElement> | ISubscribable<Array<IElement>>;
11
11
  }
12
12
 
13
- export class GroupView extends View<GroupProperties> {
14
- constructor(properties: GroupProperties) {
13
+ class GroupElement extends Element<IGroupProperties> {
14
+ constructor(properties: IGroupProperties) {
15
15
  super(
16
16
  {
17
17
  tagName: "g",
18
18
  properties: extendProperties(
19
+ properties,
19
20
  {
20
- viewType: "Group",
21
+ elementType: "Group",
21
22
  attributes: {
22
23
  x1: properties.x1,
23
24
  x2: properties.x2,
24
25
  y1: properties.y1,
25
26
  y2: properties.y2
26
27
  }
27
- },
28
- properties
29
- ),
30
- children: properties.children
31
- }
28
+ }
29
+ )
30
+ },
31
+ properties.children
32
32
  );
33
33
  }
34
34
  }
35
35
 
36
- export function groupView(properties: GroupProperties) {
37
- return new GroupView(properties);
36
+ export function createGroup(properties: IGroupProperties) {
37
+ return new GroupElement(properties);
38
38
  }
@@ -1,36 +1,36 @@
1
- import { View } from "../../../framework/View";
2
- import { Properties, extendProperties } from "../../../framework/ViewModel";
3
- import { Subscribable } from "knockout";
1
+ import { Element } from "../../../framework/element";
2
+ import { IProperties, extendProperties } from "../../../framework/properties";
3
+ import { ISubscribable } from "../../../framework/observable";
4
4
 
5
- export interface LineProperties extends Properties {
6
- x1: number | string | Subscribable<number | string>;
7
- x2: number | string | Subscribable<number | string>;
8
- y1: number | string | Subscribable<number | string>;
9
- y2: number | string | Subscribable<number | string>;
5
+ export interface ILineProperties extends IProperties {
6
+ x1: number | string | ISubscribable<number | string>;
7
+ x2: number | string | ISubscribable<number | string>;
8
+ y1: number | string | ISubscribable<number | string>;
9
+ y2: number | string | ISubscribable<number | string>;
10
10
  }
11
11
 
12
- export class LineView extends View<LineProperties> {
13
- constructor(properties: LineProperties) {
12
+ export class LineElement extends Element<ILineProperties> {
13
+ constructor(properties: ILineProperties) {
14
14
  super(
15
15
  {
16
16
  tagName: "line",
17
17
  properties: extendProperties(
18
+ properties,
18
19
  {
19
- viewType: "Line",
20
+ elementType: "Line",
20
21
  attributes: {
21
22
  x1: properties.x1,
22
23
  x2: properties.x2,
23
24
  y1: properties.y1,
24
25
  y2: properties.y2
25
26
  }
26
- },
27
- properties
27
+ }
28
28
  )
29
29
  }
30
30
  );
31
31
  }
32
32
  }
33
33
 
34
- export function lineView(properties: LineProperties) {
35
- return new LineView(properties);
34
+ export function createLine(properties: ILineProperties) {
35
+ return new LineElement(properties);
36
36
  }
@@ -1,33 +1,34 @@
1
- import { View } from "../../../framework/View";
2
- import { Properties, extendProperties } from "../../../framework/ViewModel";
3
- import { Subscribable } from "knockout";
1
+ import { Element } from "../../../framework/element";
2
+ import { IProperties, extendProperties } from "../../../framework/properties";
3
+ import { ISubscribable } from "../../../framework/observable";
4
4
  import { PatternUnits } from "../../../framework/types";
5
5
 
6
- import { CircleView } from "../Circle/Circle";
7
- import { EllipseView } from "../Ellipse/Ellipse";
8
- import { LineView } from "../Line/Line";
9
- import { PolygonView } from "../Polygon/Polygon";
10
- import { PolylineView } from "../Polyline/Polyline";
11
- import { TextView } from "../Text/Text";
6
+ import { CircleElement } from "../Circle/Circle";
7
+ import { EllipseElement } from "../Ellipse/Ellipse";
8
+ import { LineElement } from "../Line/Line";
9
+ import { PolygonElement } from "../Polygon/Polygon";
10
+ import { PolylineElement } from "../Polyline/Polyline";
11
+ import { TextElement } from "../Text/Text";
12
12
 
13
13
 
14
- export interface PatternProperties extends Properties {
14
+ export interface IPatternProperties extends IProperties {
15
15
  id: string;
16
- width: number | string | Subscribable<number | string>;
17
- height: number | string | Subscribable<number | string>;
18
- patternUnits: PatternUnits | Subscribable<PatternUnits>;
19
- patternTransform: string | Subscribable<string>;
20
- pattern: CircleView | EllipseView | LineView | PolygonView | PolylineView | TextView;
16
+ width: number | string | ISubscribable<number | string>;
17
+ height: number | string | ISubscribable<number | string>;
18
+ patternUnits: PatternUnits | ISubscribable<PatternUnits>;
19
+ patternTransform: string | ISubscribable<string>;
20
+ pattern: CircleElement | EllipseElement | LineElement | PolygonElement | PolylineElement | TextElement;
21
21
  }
22
22
 
23
- export class PatternView extends View<PatternProperties> {
24
- constructor(properties: PatternProperties) {
23
+ export class PatternElement extends Element<IPatternProperties> {
24
+ constructor(properties: IPatternProperties) {
25
25
  super(
26
26
  {
27
27
  tagName: "pattern",
28
28
  properties: extendProperties(
29
+ properties,
29
30
  {
30
- viewType: "Pattern",
31
+ elementType: "Pattern",
31
32
  attributes: {
32
33
  id: properties.id,
33
34
  width: properties.width,
@@ -35,15 +36,14 @@ export class PatternView extends View<PatternProperties> {
35
36
  patternUnits: properties.patternUnits,
36
37
  patternTransform: properties.patternTransform
37
38
  }
38
- },
39
- properties
40
- ),
41
- children: [properties.pattern]
42
- }
39
+ }
40
+ )
41
+ },
42
+ [properties.pattern]
43
43
  );
44
44
  }
45
45
  }
46
46
 
47
- export function patternView(properties: PatternProperties) {
48
- return new PatternView(properties);
47
+ export function createPattern(properties: IPatternProperties) {
48
+ return new PatternElement(properties);
49
49
  }