jpf 4.1.6 → 4.1.11

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 (181) hide show
  1. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.d.ts +15 -0
  2. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js +127 -0
  3. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js.map +1 -0
  4. package/dist/controls/codeMirror/JsonEditor/JsonEditor.d.ts +15 -0
  5. package/dist/controls/codeMirror/JsonEditor/JsonEditor.js +111 -0
  6. package/dist/controls/codeMirror/JsonEditor/JsonEditor.js.map +1 -0
  7. package/dist/controls/codeMirror/index.d.ts +2 -0
  8. package/dist/controls/codeMirror/index.js +3 -0
  9. package/dist/controls/codeMirror/index.js.map +1 -0
  10. package/dist/controls/custom/Content/Content.d.ts +16 -0
  11. package/dist/controls/custom/Content/Content.js +45 -0
  12. package/dist/controls/custom/Content/Content.js.map +1 -0
  13. package/dist/controls/custom/FileSelector/FileSelector.d.ts +17 -0
  14. package/dist/controls/custom/FileSelector/FileSelector.js +54 -0
  15. package/dist/controls/custom/FileSelector/FileSelector.js.map +1 -0
  16. package/dist/controls/custom/LabeledControl/LabeledControl.d.ts +14 -0
  17. package/dist/controls/custom/LabeledControl/LabeledControl.js +32 -0
  18. package/dist/controls/custom/LabeledControl/LabeledControl.js.map +1 -0
  19. package/dist/controls/custom/ListItem/ListItem.d.ts +30 -0
  20. package/dist/controls/custom/ListItem/ListItem.js +61 -0
  21. package/dist/controls/custom/ListItem/ListItem.js.map +1 -0
  22. package/dist/controls/custom/index.d.ts +4 -0
  23. package/dist/controls/custom/index.js +5 -0
  24. package/dist/controls/custom/index.js.map +1 -0
  25. package/dist/controls/html/Button/Button.d.ts +15 -0
  26. package/dist/controls/html/Button/Button.js +48 -0
  27. package/dist/controls/html/Button/Button.js.map +1 -0
  28. package/dist/controls/html/Div/Div.d.ts +10 -0
  29. package/dist/controls/html/Div/Div.js +17 -0
  30. package/dist/controls/html/Div/Div.js.map +1 -0
  31. package/dist/controls/html/Image/Image.d.ts +7 -0
  32. package/dist/controls/html/Image/Image.js +16 -0
  33. package/dist/controls/html/Image/Image.js.map +1 -0
  34. package/dist/controls/html/Input/Input.d.ts +43 -0
  35. package/dist/controls/html/Input/Input.js +179 -0
  36. package/dist/controls/html/Input/Input.js.map +1 -0
  37. package/dist/controls/html/Select/Select.d.ts +27 -0
  38. package/dist/controls/html/Select/Select.js +116 -0
  39. package/dist/controls/html/Select/Select.js.map +1 -0
  40. package/dist/controls/html/Span/Span.d.ts +7 -0
  41. package/dist/controls/html/Span/Span.js +16 -0
  42. package/dist/controls/html/Span/Span.js.map +1 -0
  43. package/dist/controls/html/index.d.ts +6 -0
  44. package/dist/controls/html/index.js +7 -0
  45. package/dist/controls/html/index.js.map +1 -0
  46. package/dist/controls/index.d.ts +12 -0
  47. package/dist/controls/index.js +13 -0
  48. package/dist/controls/index.js.map +1 -0
  49. package/dist/controls/jsonViewAwesome/index.d.ts +1 -0
  50. package/dist/controls/jsonViewAwesome/index.js +2 -0
  51. package/dist/controls/jsonViewAwesome/index.js.map +1 -0
  52. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.d.ts +27 -0
  53. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.js +72 -0
  54. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.js.map +1 -0
  55. package/dist/controls/kendo/Culture/Culture.d.ts +1 -0
  56. package/dist/controls/kendo/Culture/Culture.js +26 -0
  57. package/dist/controls/kendo/Culture/Culture.js.map +1 -0
  58. package/dist/controls/kendo/DataSource/DataSource.d.ts +4 -0
  59. package/dist/controls/kendo/DataSource/DataSource.js +2 -0
  60. package/dist/controls/kendo/DataSource/DataSource.js.map +1 -0
  61. package/dist/controls/kendo/Dialog/Dialog.d.ts +13 -0
  62. package/dist/controls/kendo/Dialog/Dialog.js +46 -0
  63. package/dist/controls/kendo/Dialog/Dialog.js.map +1 -0
  64. package/dist/controls/kendo/Editor/Editor.d.ts +18 -0
  65. package/dist/controls/kendo/Editor/Editor.js +113 -0
  66. package/dist/controls/kendo/Editor/Editor.js.map +1 -0
  67. package/dist/controls/kendo/Grid/Grid.d.ts +52 -0
  68. package/dist/controls/kendo/Grid/Grid.js +244 -0
  69. package/dist/controls/kendo/Grid/Grid.js.map +1 -0
  70. package/dist/controls/kendo/Menu/Menu.d.ts +14 -0
  71. package/dist/controls/kendo/Menu/Menu.js +86 -0
  72. package/dist/controls/kendo/Menu/Menu.js.map +1 -0
  73. package/dist/controls/kendo/ObservableObject/ObservableObject.d.ts +5 -0
  74. package/dist/controls/kendo/ObservableObject/ObservableObject.js +35 -0
  75. package/dist/controls/kendo/ObservableObject/ObservableObject.js.map +1 -0
  76. package/dist/controls/kendo/Tree/Tree.d.ts +16 -0
  77. package/dist/controls/kendo/Tree/Tree.js +104 -0
  78. package/dist/controls/kendo/Tree/Tree.js.map +1 -0
  79. package/dist/controls/kendo/index.d.ts +8 -0
  80. package/dist/controls/kendo/index.js +9 -0
  81. package/dist/controls/kendo/index.js.map +1 -0
  82. package/dist/controls/leaflet/LabelControl/LabelControl.d.ts +11 -0
  83. package/dist/controls/leaflet/LabelControl/LabelControl.js +31 -0
  84. package/dist/controls/leaflet/LabelControl/LabelControl.js.map +1 -0
  85. package/dist/controls/leaflet/Map/Map.d.ts +46 -0
  86. package/dist/controls/leaflet/Map/Map.js +122 -0
  87. package/dist/controls/leaflet/Map/Map.js.map +1 -0
  88. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.d.ts +7 -0
  89. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js +11 -0
  90. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js.map +1 -0
  91. package/dist/controls/leaflet/PointerEvent/PointerEvent.d.ts +2 -0
  92. package/dist/controls/leaflet/PointerEvent/PointerEvent.js +8 -0
  93. package/dist/controls/leaflet/PointerEvent/PointerEvent.js.map +1 -0
  94. package/dist/controls/leaflet/index.d.ts +4 -0
  95. package/dist/controls/leaflet/index.js +5 -0
  96. package/dist/controls/leaflet/index.js.map +1 -0
  97. package/dist/framework/View.d.ts +32 -0
  98. package/dist/framework/View.js +98 -0
  99. package/dist/framework/View.js.map +1 -0
  100. package/dist/framework/ViewModel.d.ts +54 -0
  101. package/dist/framework/ViewModel.js +364 -0
  102. package/dist/framework/ViewModel.js.map +1 -0
  103. package/dist/framework/attributes.d.ts +45 -0
  104. package/dist/framework/attributes.js +2 -0
  105. package/dist/framework/attributes.js.map +1 -0
  106. package/dist/framework/event.d.ts +73 -0
  107. package/dist/framework/event.js +26 -0
  108. package/dist/framework/event.js.map +1 -0
  109. package/dist/framework/observable.d.ts +12 -0
  110. package/dist/framework/observable.js +59 -0
  111. package/dist/framework/observable.js.map +1 -0
  112. package/dist/framework/style.d.ts +658 -0
  113. package/dist/framework/style.js +154 -0
  114. package/dist/framework/style.js.map +1 -0
  115. package/dist/framework/types.d.ts +85 -0
  116. package/dist/framework/types.js +2 -0
  117. package/dist/framework/types.js.map +1 -0
  118. package/dist/framework/userAgent.d.ts +31 -0
  119. package/dist/framework/userAgent.js +47 -0
  120. package/dist/framework/userAgent.js.map +1 -0
  121. package/dist/index.d.ts +12 -0
  122. package/dist/index.js +13 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/utilities/blob/blob.d.ts +1 -0
  125. package/dist/utilities/blob/blob.js +18 -0
  126. package/dist/utilities/blob/blob.js.map +1 -0
  127. package/dist/utilities/cookie/cookie.d.ts +3 -0
  128. package/dist/utilities/cookie/cookie.js +27 -0
  129. package/dist/utilities/cookie/cookie.js.map +1 -0
  130. package/dist/utilities/dataReaderTable/dataReaderTable.d.ts +9 -0
  131. package/dist/utilities/dataReaderTable/dataReaderTable.js +24 -0
  132. package/dist/utilities/dataReaderTable/dataReaderTable.js.map +1 -0
  133. package/dist/utilities/fetch/fetch.d.ts +8 -0
  134. package/dist/utilities/fetch/fetch.js +138 -0
  135. package/dist/utilities/fetch/fetch.js.map +1 -0
  136. package/dist/utilities/float/float.d.ts +1 -0
  137. package/dist/utilities/float/float.js +4 -0
  138. package/dist/utilities/float/float.js.map +1 -0
  139. package/dist/utilities/formData/formData.d.ts +1 -0
  140. package/dist/utilities/formData/formData.js +12 -0
  141. package/dist/utilities/formData/formData.js.map +1 -0
  142. package/dist/utilities/html/html.d.ts +1 -0
  143. package/dist/utilities/html/html.js +8 -0
  144. package/dist/utilities/html/html.js.map +1 -0
  145. package/dist/utilities/htmlElement/htmlElement.d.ts +1 -0
  146. package/dist/utilities/htmlElement/htmlElement.js +17 -0
  147. package/dist/utilities/htmlElement/htmlElement.js.map +1 -0
  148. package/dist/utilities/image/image.d.ts +1 -0
  149. package/dist/utilities/image/image.js +2 -0
  150. package/dist/utilities/image/image.js.map +1 -0
  151. package/dist/utilities/index.d.ts +36 -0
  152. package/dist/utilities/index.js +37 -0
  153. package/dist/utilities/index.js.map +1 -0
  154. package/dist/utilities/integer/integer.d.ts +3 -0
  155. package/dist/utilities/integer/integer.js +28 -0
  156. package/dist/utilities/integer/integer.js.map +1 -0
  157. package/dist/utilities/key/key.d.ts +2 -0
  158. package/dist/utilities/key/key.js +7 -0
  159. package/dist/utilities/key/key.js.map +1 -0
  160. package/dist/utilities/navigator/navigator.d.ts +1 -0
  161. package/dist/utilities/navigator/navigator.js +9 -0
  162. package/dist/utilities/navigator/navigator.js.map +1 -0
  163. package/dist/utilities/notification/notification.d.ts +5 -0
  164. package/dist/utilities/notification/notification.js +67 -0
  165. package/dist/utilities/notification/notification.js.map +1 -0
  166. package/dist/utilities/querystring/querystring.d.ts +4 -0
  167. package/dist/utilities/querystring/querystring.js +38 -0
  168. package/dist/utilities/querystring/querystring.js.map +1 -0
  169. package/dist/utilities/router/router.d.ts +20 -0
  170. package/dist/utilities/router/router.js +63 -0
  171. package/dist/utilities/router/router.js.map +1 -0
  172. package/dist/utilities/stylesheet/stylesheet.d.ts +2 -0
  173. package/dist/utilities/stylesheet/stylesheet.js +48 -0
  174. package/dist/utilities/stylesheet/stylesheet.js.map +1 -0
  175. package/dist/utilities/uniqueId/uniqueId.d.ts +1 -0
  176. package/dist/utilities/uniqueId/uniqueId.js +5 -0
  177. package/dist/utilities/uniqueId/uniqueId.js.map +1 -0
  178. package/dist/utilities/webSocket/webSocket.d.ts +1 -0
  179. package/dist/utilities/webSocket/webSocket.js +53 -0
  180. package/dist/utilities/webSocket/webSocket.js.map +1 -0
  181. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ import { Subscribable } from "knockout";
2
+ import { View } from "../../../framework/View";
3
+ import { ViewModelOptions } from "../../../framework/ViewModel";
4
+ import { HierarchicalListItemViewModel } from "../../custom/ListItem/ListItem";
5
+ export interface MenuViewModelOptions extends ViewModelOptions {
6
+ items?: Array<HierarchicalListItemViewModel> | Subscribable<Array<HierarchicalListItemViewModel>>;
7
+ }
8
+ export declare class MenuView extends View<MenuViewModelOptions> {
9
+ constructor(viewModel: MenuViewModelOptions, designTimeOptions?: ViewModelOptions);
10
+ private menu;
11
+ private dataSource;
12
+ build(): void;
13
+ private buildItems;
14
+ }
@@ -0,0 +1,86 @@
1
+ import * as kendo from "@progress/kendo-ui/js/kendo.menu.js";
2
+ import { isObservable, unwrap } from "knockout";
3
+ import { View, render } from "../../../framework/View";
4
+ import { ViewModel, applyViewModelToElement, extendViewModel } from "../../../framework/ViewModel";
5
+ const getContent = "getContent";
6
+ export class MenuView extends View {
7
+ constructor(viewModel, designTimeOptions) {
8
+ super({
9
+ tagName: "div",
10
+ viewModel: viewModel
11
+ }, extendViewModel({
12
+ classNames: ["Menu"],
13
+ viewType: "KendoMenu"
14
+ }, designTimeOptions));
15
+ }
16
+ menu;
17
+ dataSource;
18
+ build() {
19
+ super.build();
20
+ const viewModel = this.viewModel;
21
+ this.dataSource = new kendo.data.HierarchicalDataSource({});
22
+ this.menu = new kendo.ui.Menu(this.element, {
23
+ dataTextField: "text",
24
+ dataSource: this.dataSource
25
+ });
26
+ this.menu.bind("dataBound", (event) => {
27
+ event.sender.wrapper.find(".k-menu-item[postrender]").each((index, element) => {
28
+ const uid = element.getAttribute("data-uid");
29
+ const hierarchicalListItemViewModel = this.dataSource.getByUid(uid);
30
+ if (hierarchicalListItemViewModel) {
31
+ applyViewModelToElement(hierarchicalListItemViewModel, element);
32
+ if (hierarchicalListItemViewModel[getContent]) {
33
+ const content = hierarchicalListItemViewModel[getContent]();
34
+ if (content instanceof ViewModel) {
35
+ const firstChild = element.firstElementChild;
36
+ firstChild.style.padding = "0";
37
+ firstChild.innerHTML = "";
38
+ firstChild.appendChild(render(content));
39
+ }
40
+ }
41
+ }
42
+ element.removeAttribute("postrender");
43
+ });
44
+ });
45
+ this.buildItems(unwrap(viewModel.items));
46
+ if (isObservable(viewModel.items)) {
47
+ viewModel.items.subscribe((items) => {
48
+ this.buildItems(items);
49
+ });
50
+ }
51
+ }
52
+ buildItems(listItems) {
53
+ const itemDictionary = {};
54
+ const topLevelItems = new Array();
55
+ if (listItems) {
56
+ listItems.forEach((listItem) => {
57
+ listItem["attr"] = { postrender: true };
58
+ if (typeof listItem.text !== "string") {
59
+ var content = listItem.text;
60
+ listItem[getContent] = () => { return content; };
61
+ listItem.text = "<post>";
62
+ }
63
+ if (unwrap(listItem.visible) !== false) {
64
+ itemDictionary[listItem.id] = listItem;
65
+ }
66
+ });
67
+ Object.keys(itemDictionary).forEach((key) => {
68
+ const menuItem = itemDictionary[key];
69
+ if (menuItem.parentId) {
70
+ const parent = itemDictionary[menuItem.parentId];
71
+ if (parent) {
72
+ if (!parent.items) {
73
+ parent.items = [];
74
+ }
75
+ parent.items.push(itemDictionary[menuItem.id]);
76
+ }
77
+ }
78
+ else {
79
+ topLevelItems.push(itemDictionary[menuItem.id]);
80
+ }
81
+ });
82
+ }
83
+ this.dataSource.data(topLevelItems);
84
+ }
85
+ }
86
+ //# sourceMappingURL=Menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/controls/kendo/Menu/Menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ObservableArray } from "knockout";
2
+ import * as kendo from "@progress/kendo-ui/js/kendo.data.js";
3
+ export declare function knockoutObservableToKendoObservable(object: object): kendo.data.ObservableObject;
4
+ export declare function getUnderlyingObject(observableObject: kendo.data.ObservableObject): object;
5
+ export declare function knockoutObservableToKendoObservableArray(array: Array<object> | ObservableArray<object>): Array<kendo.data.ObservableObject>;
@@ -0,0 +1,35 @@
1
+ import { isObservable, unwrap } from "knockout";
2
+ import * as kendo from "@progress/kendo-ui/js/kendo.data.js";
3
+ var getUnderlyingObjectFunctionName = "getUnderlyingObject";
4
+ export function knockoutObservableToKendoObservable(object) {
5
+ var observableObject = new kendo.data.ObservableObject();
6
+ observableObject[getUnderlyingObjectFunctionName] = () => {
7
+ return object;
8
+ };
9
+ Object.keys(object).forEach((key) => {
10
+ var value = object[key];
11
+ observableObject[key] = unwrap(value);
12
+ if (isObservable(value)) {
13
+ value.subscribe((newValue) => {
14
+ observableObject.set(key, newValue);
15
+ });
16
+ }
17
+ });
18
+ return observableObject;
19
+ }
20
+ export function getUnderlyingObject(observableObject) {
21
+ if (observableObject[getUnderlyingObjectFunctionName]) {
22
+ return observableObject[getUnderlyingObjectFunctionName]();
23
+ }
24
+ return null;
25
+ }
26
+ export function knockoutObservableToKendoObservableArray(array) {
27
+ var observableObjects = new Array();
28
+ if (array) {
29
+ unwrap(array).forEach((object) => {
30
+ observableObjects.push(knockoutObservableToKendoObservable(object));
31
+ });
32
+ }
33
+ return observableObjects;
34
+ }
35
+ //# sourceMappingURL=ObservableObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservableObject.js","sourceRoot":"","sources":["../../../../src/controls/kendo/ObservableObject/ObservableObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAC;AAE7D,IAAI,+BAA+B,GAAG,qBAAqB,CAAC;AAE5D,MAAM,UAAU,mCAAmC,CAAC,MAAc;IAC9D,IAAI,gBAAgB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzD,gBAAgB,CAAC,+BAA+B,CAAC,GAAG,GAAG,EAAE;QACrD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;QACxC,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAExB,gBAAgB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;YACrB,KAAK,CAAC,SAAS,CACX,CAAC,QAAQ,EAAE,EAAE;gBACT,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC,CACJ,CAAC;SACL;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,gBAA6C;IAC7E,IAAI,gBAAgB,CAAC,+BAA+B,CAAC,EAAE;QACnD,OAAO,gBAAgB,CAAC,+BAA+B,CAAC,EAAE,CAAC;KAC9D;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,KAA8C;IAEnG,IAAI,iBAAiB,GAAG,IAAI,KAAK,EAA+B,CAAC;IACjE,IAAI,KAAK,EAAE;QACP,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,iBAAiB,CAAC,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;KACN;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Subscribable } from "knockout";
2
+ import { View } from "../../../framework/View";
3
+ import { ViewModelOptions } from "../../../framework/ViewModel";
4
+ import { HierarchicalListItemViewModel } from "../../custom/ListItem/ListItem";
5
+ export interface TreeViewModelOptions extends ViewModelOptions {
6
+ items?: Array<HierarchicalListItemViewModel> | Subscribable<Array<HierarchicalListItemViewModel>>;
7
+ selectedItem?: HierarchicalListItemViewModel | Subscribable<HierarchicalListItemViewModel>;
8
+ select?: (dataItem: any) => void;
9
+ }
10
+ export declare class TreeView extends View<TreeViewModelOptions> {
11
+ constructor(viewModel: TreeViewModelOptions, designTimeOptions?: ViewModelOptions);
12
+ private treeView;
13
+ private dataSource;
14
+ build(): void;
15
+ private buildItems;
16
+ }
@@ -0,0 +1,104 @@
1
+ import * as kendo from "@progress/kendo-ui/js/kendo.treeview.js";
2
+ import { isObservable, unwrap } from "knockout";
3
+ import { View, render } from "../../../framework/View";
4
+ import { ViewModel, applyViewModelToElement, extendViewModel } from "../../../framework/ViewModel";
5
+ const getContent = "getContent";
6
+ export class TreeView extends View {
7
+ constructor(viewModel, designTimeOptions) {
8
+ super({
9
+ tagName: "div",
10
+ viewModel: viewModel
11
+ }, extendViewModel({
12
+ viewType: "KendoTree"
13
+ }, designTimeOptions));
14
+ }
15
+ treeView;
16
+ dataSource;
17
+ build() {
18
+ super.build();
19
+ const viewModel = this.viewModel;
20
+ this.dataSource = new kendo.data.HierarchicalDataSource({
21
+ sort: { field: "order", dir: "asc" }
22
+ });
23
+ this.treeView = new kendo.ui.TreeView(this.element, {
24
+ dataSource: this.dataSource
25
+ });
26
+ this.treeView.element.removeAttr("tabindex");
27
+ if (this.viewModel.select) {
28
+ this.treeView.bind("select", (event) => {
29
+ const uid = event.node.getAttribute("data-uid");
30
+ const dataItem = this.dataSource.getByUid(uid);
31
+ this.viewModel.select(dataItem);
32
+ });
33
+ }
34
+ this.treeView.bind("dataBound", (event) => {
35
+ var selectedItem = unwrap(viewModel.selectedItem);
36
+ if (selectedItem) {
37
+ event.sender.wrapper.find(".k-item").each((index, element) => {
38
+ const uid = element.getAttribute("data-uid");
39
+ const hierarchicalListItemViewModel = this.dataSource.getByUid(uid);
40
+ if (hierarchicalListItemViewModel.id === selectedItem.id) {
41
+ event.sender.select(element);
42
+ }
43
+ });
44
+ }
45
+ event.sender.wrapper.find(".k-item[postrender]").each((index, element) => {
46
+ const uid = element.getAttribute("data-uid");
47
+ const hierarchicalListItemViewModel = this.dataSource.getByUid(uid);
48
+ if (hierarchicalListItemViewModel) {
49
+ applyViewModelToElement(hierarchicalListItemViewModel, element);
50
+ if (hierarchicalListItemViewModel[getContent]) {
51
+ const content = hierarchicalListItemViewModel[getContent]();
52
+ if (content instanceof ViewModel) {
53
+ const firstChild = element.firstElementChild;
54
+ firstChild.style.padding = "0";
55
+ firstChild.innerHTML = "";
56
+ firstChild.appendChild(render(content));
57
+ }
58
+ }
59
+ }
60
+ element.removeAttribute("postrender");
61
+ });
62
+ });
63
+ this.buildItems(unwrap(viewModel.items));
64
+ if (isObservable(viewModel.items)) {
65
+ viewModel.items.subscribe((items) => {
66
+ this.buildItems(items);
67
+ });
68
+ }
69
+ }
70
+ buildItems(listItems) {
71
+ const itemDictionary = {};
72
+ const topLevelItems = new Array();
73
+ if (listItems) {
74
+ listItems.forEach((listItem) => {
75
+ listItem["attr"] = { postrender: true };
76
+ if (typeof listItem.text !== "string") {
77
+ var content = listItem.text;
78
+ listItem[getContent] = () => { return content; };
79
+ listItem.text = "<post>";
80
+ }
81
+ if (unwrap(listItem.visible) !== false) {
82
+ itemDictionary[listItem.id] = listItem;
83
+ }
84
+ });
85
+ Object.keys(itemDictionary).forEach((key) => {
86
+ const menuItem = itemDictionary[key];
87
+ if (menuItem.parentId) {
88
+ const parent = itemDictionary[menuItem.parentId];
89
+ if (parent) {
90
+ if (!parent.items) {
91
+ parent.items = [];
92
+ }
93
+ parent.items.push(itemDictionary[menuItem.id]);
94
+ }
95
+ }
96
+ else {
97
+ topLevelItems.push(itemDictionary[menuItem.id]);
98
+ }
99
+ });
100
+ }
101
+ this.dataSource.data(topLevelItems);
102
+ }
103
+ }
104
+ //# sourceMappingURL=Tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../src/controls/kendo/Tree/Tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from "./Culture/Culture";
2
+ export * from "./DataSource/DataSource";
3
+ export * from "./Dialog/Dialog";
4
+ export * from "./Editor/Editor";
5
+ export * from "./Grid/Grid";
6
+ export * from "./Menu/Menu";
7
+ export * from "./ObservableObject/ObservableObject";
8
+ export * from "./Tree/Tree";
@@ -0,0 +1,9 @@
1
+ export * from "./Culture/Culture";
2
+ export * from "./DataSource/DataSource";
3
+ export * from "./Dialog/Dialog";
4
+ export * from "./Editor/Editor";
5
+ export * from "./Grid/Grid";
6
+ export * from "./Menu/Menu";
7
+ export * from "./ObservableObject/ObservableObject";
8
+ export * from "./Tree/Tree";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/kendo/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,qCAAqC,CAAC;AACpD,cAAc,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as leaflet from "leaflet";
2
+ import { IView } from "../../../framework/View";
3
+ import { ViewModel } from "../../../framework/ViewModel";
4
+ export interface LeafletLabelControlOptions extends leaflet.ControlOptions {
5
+ content: string | IView | ViewModel;
6
+ }
7
+ export declare class LeafletLabelControl extends leaflet.Control {
8
+ constructor(options: LeafletLabelControlOptions);
9
+ private readonly content;
10
+ onAdd(map: leaflet.Map): HTMLElement;
11
+ }
@@ -0,0 +1,31 @@
1
+ import * as leaflet from "leaflet";
2
+ import { getView } from "../../../framework/View";
3
+ import { ViewModel } from "../../../framework/ViewModel";
4
+ export class LeafletLabelControl extends leaflet.Control {
5
+ constructor(options) {
6
+ super(options);
7
+ this.content = options.content;
8
+ }
9
+ content;
10
+ onAdd(map) {
11
+ const div = document.createElement("div");
12
+ let view;
13
+ if (this.content instanceof ViewModel) {
14
+ view = getView(this.content);
15
+ if (view) {
16
+ div.appendChild(view.render());
17
+ }
18
+ }
19
+ else if (typeof this.content === "string") {
20
+ div.innerText = this.content;
21
+ }
22
+ else {
23
+ view = this.content;
24
+ if (view.render) {
25
+ div.appendChild(view.render());
26
+ }
27
+ }
28
+ return div;
29
+ }
30
+ }
31
+ //# sourceMappingURL=LabelControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelControl.js","sourceRoot":"","sources":["../../../../src/controls/leaflet/LabelControl/LabelControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAS,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAMzD,MAAM,OAAO,mBAAoB,SAAQ,OAAO,CAAC,OAAO;IACpD,YAAY,OAAmC;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,CAAC;IAEgB,OAAO,CAA6B;IAErD,KAAK,CAAC,GAAgB;QAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,OAAO,YAAY,SAAS,EAAE;YACnC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,IAAI,EAAE;gBACN,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;aAClC;SACJ;aAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YACzC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;SAChC;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,OAAgB,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;aAClC;SACJ;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ"}
@@ -0,0 +1,46 @@
1
+ import { Observable, ObservableArray, Computed } from "knockout";
2
+ import * as leaflet from "leaflet";
3
+ import { View } from "../../../framework/View";
4
+ import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
5
+ import { EventListeners } from "../../../framework/event";
6
+ export interface MapViewModelOptions extends ViewModelOptions {
7
+ renderer?: leaflet.Renderer;
8
+ center?: leaflet.LatLngExpression | Observable<leaflet.LatLngExpression>;
9
+ zoom?: number;
10
+ tileLayers?: Array<leaflet.TileLayer>;
11
+ layers?: Array<leaflet.Layer> | ObservableArray<leaflet.Layer> | Computed<Array<leaflet.Layer>>;
12
+ controls?: Array<leaflet.Control> | ObservableArray<leaflet.Control>;
13
+ eventListeners?: MapEventListeners;
14
+ zoomInTitle?: string;
15
+ zoomOutTitle?: string;
16
+ }
17
+ export declare class MapViewModel extends ViewModel implements MapViewModelOptions {
18
+ constructor(options: MapViewModelOptions);
19
+ renderer?: leaflet.Renderer;
20
+ center: leaflet.LatLngExpression | Observable<leaflet.LatLngExpression>;
21
+ zoom: number;
22
+ south: number;
23
+ north: number;
24
+ west: number;
25
+ east: number;
26
+ tileLayers: Array<leaflet.TileLayer>;
27
+ layers: Array<leaflet.Layer> | ObservableArray<leaflet.Layer> | Computed<Array<leaflet.Layer>>;
28
+ controls: Array<leaflet.Control> | ObservableArray<leaflet.Control>;
29
+ zoomInTitle: string;
30
+ zoomOutTitle: string;
31
+ }
32
+ export declare class MapView extends View<MapViewModelOptions> {
33
+ constructor(viewModel: MapViewModelOptions, designTimeOptions?: ViewModelOptions);
34
+ private map;
35
+ private layers;
36
+ private controls;
37
+ build(): void;
38
+ private setTileLayers;
39
+ private setLayers;
40
+ private setControls;
41
+ }
42
+ export declare const burtonville: leaflet.LatLngExpression;
43
+ export interface MapEventListeners extends EventListeners {
44
+ zoomend?: (event: leaflet.LeafletEvent) => void;
45
+ moveend?: (event: leaflet.LeafletEvent) => void;
46
+ }
@@ -0,0 +1,122 @@
1
+ import { isObservable, unwrap } from "knockout";
2
+ import * as leaflet from "leaflet";
3
+ import { View, registerView } from "../../../framework/View";
4
+ import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
5
+ export class MapViewModel extends ViewModel {
6
+ constructor(options) {
7
+ super(options);
8
+ if (options) {
9
+ this.renderer = options.renderer;
10
+ this.center = options.center;
11
+ this.zoom = options.zoom;
12
+ this.tileLayers = options.tileLayers;
13
+ this.layers = options.layers;
14
+ this.controls = options.controls;
15
+ this.zoomInTitle = options.zoomInTitle;
16
+ this.zoomOutTitle = options.zoomOutTitle;
17
+ }
18
+ }
19
+ renderer;
20
+ center;
21
+ zoom;
22
+ south;
23
+ north;
24
+ west;
25
+ east;
26
+ tileLayers;
27
+ layers;
28
+ controls;
29
+ zoomInTitle;
30
+ zoomOutTitle;
31
+ }
32
+ export class MapView extends View {
33
+ constructor(viewModel, designTimeOptions) {
34
+ super({
35
+ tagName: "div",
36
+ viewModel: viewModel
37
+ }, extendViewModel({
38
+ viewType: "LeafletMap"
39
+ }, designTimeOptions));
40
+ }
41
+ map;
42
+ layers = new Array();
43
+ controls = new Array();
44
+ build() {
45
+ super.build();
46
+ const viewModel = this.viewModel;
47
+ if (!viewModel.center) {
48
+ viewModel.center = burtonville;
49
+ }
50
+ const options = {
51
+ renderer: viewModel.renderer,
52
+ zoomControl: false
53
+ };
54
+ setTimeout(() => {
55
+ this.map = leaflet.map(this.element, options).setView(unwrap(viewModel.center), this.viewModel.zoom);
56
+ leaflet.control.zoom({
57
+ position: "topleft",
58
+ zoomInTitle: viewModel.zoomInTitle,
59
+ zoomOutTitle: viewModel.zoomOutTitle
60
+ }).addTo(this.map);
61
+ if (this.viewModel.eventListeners) {
62
+ Object.keys(this.viewModel.eventListeners).forEach((key) => {
63
+ this.map.on(key, (event) => {
64
+ this.viewModel.eventListeners[key](event);
65
+ });
66
+ });
67
+ }
68
+ this.setTileLayers(viewModel.tileLayers);
69
+ this.setLayers(unwrap(viewModel.layers));
70
+ if (isObservable(viewModel.layers)) {
71
+ viewModel.layers.subscribe((layers) => {
72
+ this.setLayers(layers);
73
+ });
74
+ }
75
+ this.setControls(unwrap(viewModel.controls));
76
+ if (isObservable(viewModel.controls)) {
77
+ viewModel.controls.subscribe((controls) => {
78
+ this.setControls(controls);
79
+ });
80
+ }
81
+ if (isObservable(viewModel.center)) {
82
+ viewModel.center.subscribe((center) => {
83
+ this.map.panTo(center);
84
+ });
85
+ }
86
+ }, 100);
87
+ }
88
+ setTileLayers(tileLayers) {
89
+ if (tileLayers) {
90
+ tileLayers.forEach((tileLayer) => {
91
+ tileLayer.addTo(this.map);
92
+ });
93
+ }
94
+ }
95
+ setLayers(layers) {
96
+ this.layers.forEach((layer) => {
97
+ this.map.removeLayer(layer);
98
+ });
99
+ this.layers = [];
100
+ if (layers) {
101
+ layers.forEach((layer) => {
102
+ this.layers.push(layer);
103
+ layer.addTo(this.map);
104
+ });
105
+ }
106
+ }
107
+ setControls(controls) {
108
+ this.controls.forEach((control) => {
109
+ this.map.removeControl(control);
110
+ });
111
+ this.controls = [];
112
+ if (controls) {
113
+ controls.forEach((control) => {
114
+ this.controls.push(control);
115
+ control.addTo(this.map);
116
+ });
117
+ }
118
+ }
119
+ }
120
+ registerView(MapViewModel, MapView);
121
+ export const burtonville = [50.283939, 5.964070];
122
+ //# sourceMappingURL=Map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../../../src/controls/leaflet/Map/Map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TileLayerOptions, TileLayer } from "leaflet";
2
+ export interface OpenStreetMapTileLayerOptions extends TileLayerOptions {
3
+ attribution?: string;
4
+ }
5
+ export declare class OpenStreetMapTileLayer extends TileLayer {
6
+ constructor(options?: OpenStreetMapTileLayerOptions);
7
+ }
@@ -0,0 +1,11 @@
1
+ import { TileLayer } from "leaflet";
2
+ export class OpenStreetMapTileLayer extends TileLayer {
3
+ constructor(options) {
4
+ if (!options) {
5
+ options = {};
6
+ }
7
+ options.attribution = "&copy; <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors";
8
+ super("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", options);
9
+ }
10
+ }
11
+ //# sourceMappingURL=OpenStreetMapTileLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenStreetMapTileLayer.js","sourceRoot":"","sources":["../../../../src/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,SAAS,CAAC;AAMtD,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IACjD,YAAY,OAAuC;QAC/C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,EAAE,CAAC;SAChB;QACD,OAAO,CAAC,WAAW,GAAG,2FAA2F,CAAC;QAClH,KAAK,CAAC,oDAAoD,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ import { LeafletEvent } from "leaflet";
2
+ export declare function getPointerEvent(event: Event | LeafletEvent): PointerEvent;
@@ -0,0 +1,8 @@
1
+ export function getPointerEvent(event) {
2
+ const originalEvent = event["originalEvent"];
3
+ if (originalEvent instanceof PointerEvent) {
4
+ return originalEvent;
5
+ }
6
+ return null;
7
+ }
8
+ //# sourceMappingURL=PointerEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointerEvent.js","sourceRoot":"","sources":["../../../../src/controls/leaflet/PointerEvent/PointerEvent.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAAC,KAA2B;IACvD,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,aAAa,YAAY,YAAY,EAAE;QACvC,OAAO,aAA6B,CAAC;KACxC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./LabelControl/LabelControl";
2
+ export * from "./Map/Map";
3
+ export * from "./OpenStreetMapTileLayer/OpenStreetMapTileLayer";
4
+ export * from "./PointerEvent/PointerEvent";
@@ -0,0 +1,5 @@
1
+ export * from "./LabelControl/LabelControl";
2
+ export * from "./Map/Map";
3
+ export * from "./OpenStreetMapTileLayer/OpenStreetMapTileLayer";
4
+ export * from "./PointerEvent/PointerEvent";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/leaflet/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,WAAW,CAAC;AAC1B,cAAc,iDAAiD,CAAC;AAChE,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,32 @@
1
+ import "tocca";
2
+ import { ObservableArray, Computed } from "knockout";
3
+ import { ViewModelOptions, ViewModel } from "./ViewModel";
4
+ type TagName = "div" | "input" | "a" | "button" | "img" | "select" | "pre" | "form" | "span" | "textarea";
5
+ export interface IView {
6
+ render(): HTMLElement;
7
+ }
8
+ export interface ViewOptions<TViewModel> {
9
+ tagName: TagName;
10
+ viewModel?: TViewModel;
11
+ children?: Array<IView> | ObservableArray<IView> | Computed<Array<IView>>;
12
+ }
13
+ export declare class View<TViewModel = any> implements IView {
14
+ constructor(options: ViewOptions<TViewModel>, designTimeOptions?: ViewModelOptions);
15
+ private readonly tagName;
16
+ private readonly optionsChildren;
17
+ private children;
18
+ private buildChildren;
19
+ protected element: HTMLElement;
20
+ protected readonly viewModel: TViewModel;
21
+ protected build(): void;
22
+ protected remove(): void;
23
+ protected addChild(child: IView): View<TViewModel>;
24
+ protected setChildren(...children: Array<IView>): View<TViewModel>;
25
+ protected empty(): void;
26
+ render(): HTMLElement;
27
+ }
28
+ export declare var viewDictionary: Map<any, any>;
29
+ export declare function registerView(viewModel: any, resolver: any): void;
30
+ export declare function getView(viewModel: ViewModel): View;
31
+ export declare function render(viewModel: ViewModel): HTMLElement;
32
+ export {};