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.
- package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.d.ts +15 -0
- package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js +127 -0
- package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js.map +1 -0
- package/dist/controls/codeMirror/JsonEditor/JsonEditor.d.ts +15 -0
- package/dist/controls/codeMirror/JsonEditor/JsonEditor.js +111 -0
- package/dist/controls/codeMirror/JsonEditor/JsonEditor.js.map +1 -0
- package/dist/controls/codeMirror/index.d.ts +2 -0
- package/dist/controls/codeMirror/index.js +3 -0
- package/dist/controls/codeMirror/index.js.map +1 -0
- package/dist/controls/custom/Content/Content.d.ts +16 -0
- package/dist/controls/custom/Content/Content.js +45 -0
- package/dist/controls/custom/Content/Content.js.map +1 -0
- package/dist/controls/custom/FileSelector/FileSelector.d.ts +17 -0
- package/dist/controls/custom/FileSelector/FileSelector.js +54 -0
- package/dist/controls/custom/FileSelector/FileSelector.js.map +1 -0
- package/dist/controls/custom/LabeledControl/LabeledControl.d.ts +14 -0
- package/dist/controls/custom/LabeledControl/LabeledControl.js +32 -0
- package/dist/controls/custom/LabeledControl/LabeledControl.js.map +1 -0
- package/dist/controls/custom/ListItem/ListItem.d.ts +30 -0
- package/dist/controls/custom/ListItem/ListItem.js +61 -0
- package/dist/controls/custom/ListItem/ListItem.js.map +1 -0
- package/dist/controls/custom/index.d.ts +4 -0
- package/dist/controls/custom/index.js +5 -0
- package/dist/controls/custom/index.js.map +1 -0
- package/dist/controls/html/Button/Button.d.ts +15 -0
- package/dist/controls/html/Button/Button.js +48 -0
- package/dist/controls/html/Button/Button.js.map +1 -0
- package/dist/controls/html/Div/Div.d.ts +10 -0
- package/dist/controls/html/Div/Div.js +17 -0
- package/dist/controls/html/Div/Div.js.map +1 -0
- package/dist/controls/html/Image/Image.d.ts +7 -0
- package/dist/controls/html/Image/Image.js +16 -0
- package/dist/controls/html/Image/Image.js.map +1 -0
- package/dist/controls/html/Input/Input.d.ts +43 -0
- package/dist/controls/html/Input/Input.js +179 -0
- package/dist/controls/html/Input/Input.js.map +1 -0
- package/dist/controls/html/Select/Select.d.ts +27 -0
- package/dist/controls/html/Select/Select.js +116 -0
- package/dist/controls/html/Select/Select.js.map +1 -0
- package/dist/controls/html/Span/Span.d.ts +7 -0
- package/dist/controls/html/Span/Span.js +16 -0
- package/dist/controls/html/Span/Span.js.map +1 -0
- package/dist/controls/html/index.d.ts +6 -0
- package/dist/controls/html/index.js +7 -0
- package/dist/controls/html/index.js.map +1 -0
- package/dist/controls/index.d.ts +12 -0
- package/dist/controls/index.js +13 -0
- package/dist/controls/index.js.map +1 -0
- package/dist/controls/jsonViewAwesome/index.d.ts +1 -0
- package/dist/controls/jsonViewAwesome/index.js +2 -0
- package/dist/controls/jsonViewAwesome/index.js.map +1 -0
- package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.d.ts +27 -0
- package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.js +72 -0
- package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.js.map +1 -0
- package/dist/controls/kendo/Culture/Culture.d.ts +1 -0
- package/dist/controls/kendo/Culture/Culture.js +26 -0
- package/dist/controls/kendo/Culture/Culture.js.map +1 -0
- package/dist/controls/kendo/DataSource/DataSource.d.ts +4 -0
- package/dist/controls/kendo/DataSource/DataSource.js +2 -0
- package/dist/controls/kendo/DataSource/DataSource.js.map +1 -0
- package/dist/controls/kendo/Dialog/Dialog.d.ts +13 -0
- package/dist/controls/kendo/Dialog/Dialog.js +46 -0
- package/dist/controls/kendo/Dialog/Dialog.js.map +1 -0
- package/dist/controls/kendo/Editor/Editor.d.ts +18 -0
- package/dist/controls/kendo/Editor/Editor.js +113 -0
- package/dist/controls/kendo/Editor/Editor.js.map +1 -0
- package/dist/controls/kendo/Grid/Grid.d.ts +52 -0
- package/dist/controls/kendo/Grid/Grid.js +244 -0
- package/dist/controls/kendo/Grid/Grid.js.map +1 -0
- package/dist/controls/kendo/Menu/Menu.d.ts +14 -0
- package/dist/controls/kendo/Menu/Menu.js +86 -0
- package/dist/controls/kendo/Menu/Menu.js.map +1 -0
- package/dist/controls/kendo/ObservableObject/ObservableObject.d.ts +5 -0
- package/dist/controls/kendo/ObservableObject/ObservableObject.js +35 -0
- package/dist/controls/kendo/ObservableObject/ObservableObject.js.map +1 -0
- package/dist/controls/kendo/Tree/Tree.d.ts +16 -0
- package/dist/controls/kendo/Tree/Tree.js +104 -0
- package/dist/controls/kendo/Tree/Tree.js.map +1 -0
- package/dist/controls/kendo/index.d.ts +8 -0
- package/dist/controls/kendo/index.js +9 -0
- package/dist/controls/kendo/index.js.map +1 -0
- package/dist/controls/leaflet/LabelControl/LabelControl.d.ts +11 -0
- package/dist/controls/leaflet/LabelControl/LabelControl.js +31 -0
- package/dist/controls/leaflet/LabelControl/LabelControl.js.map +1 -0
- package/dist/controls/leaflet/Map/Map.d.ts +46 -0
- package/dist/controls/leaflet/Map/Map.js +122 -0
- package/dist/controls/leaflet/Map/Map.js.map +1 -0
- package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.d.ts +7 -0
- package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js +11 -0
- package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js.map +1 -0
- package/dist/controls/leaflet/PointerEvent/PointerEvent.d.ts +2 -0
- package/dist/controls/leaflet/PointerEvent/PointerEvent.js +8 -0
- package/dist/controls/leaflet/PointerEvent/PointerEvent.js.map +1 -0
- package/dist/controls/leaflet/index.d.ts +4 -0
- package/dist/controls/leaflet/index.js +5 -0
- package/dist/controls/leaflet/index.js.map +1 -0
- package/dist/framework/View.d.ts +32 -0
- package/dist/framework/View.js +98 -0
- package/dist/framework/View.js.map +1 -0
- package/dist/framework/ViewModel.d.ts +54 -0
- package/dist/framework/ViewModel.js +364 -0
- package/dist/framework/ViewModel.js.map +1 -0
- package/dist/framework/attributes.d.ts +45 -0
- package/dist/framework/attributes.js +2 -0
- package/dist/framework/attributes.js.map +1 -0
- package/dist/framework/event.d.ts +73 -0
- package/dist/framework/event.js +26 -0
- package/dist/framework/event.js.map +1 -0
- package/dist/framework/observable.d.ts +12 -0
- package/dist/framework/observable.js +59 -0
- package/dist/framework/observable.js.map +1 -0
- package/dist/framework/style.d.ts +658 -0
- package/dist/framework/style.js +154 -0
- package/dist/framework/style.js.map +1 -0
- package/dist/framework/types.d.ts +85 -0
- package/dist/framework/types.js +2 -0
- package/dist/framework/types.js.map +1 -0
- package/dist/framework/userAgent.d.ts +31 -0
- package/dist/framework/userAgent.js +47 -0
- package/dist/framework/userAgent.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/utilities/blob/blob.d.ts +1 -0
- package/dist/utilities/blob/blob.js +18 -0
- package/dist/utilities/blob/blob.js.map +1 -0
- package/dist/utilities/cookie/cookie.d.ts +3 -0
- package/dist/utilities/cookie/cookie.js +27 -0
- package/dist/utilities/cookie/cookie.js.map +1 -0
- package/dist/utilities/dataReaderTable/dataReaderTable.d.ts +9 -0
- package/dist/utilities/dataReaderTable/dataReaderTable.js +24 -0
- package/dist/utilities/dataReaderTable/dataReaderTable.js.map +1 -0
- package/dist/utilities/fetch/fetch.d.ts +8 -0
- package/dist/utilities/fetch/fetch.js +138 -0
- package/dist/utilities/fetch/fetch.js.map +1 -0
- package/dist/utilities/float/float.d.ts +1 -0
- package/dist/utilities/float/float.js +4 -0
- package/dist/utilities/float/float.js.map +1 -0
- package/dist/utilities/formData/formData.d.ts +1 -0
- package/dist/utilities/formData/formData.js +12 -0
- package/dist/utilities/formData/formData.js.map +1 -0
- package/dist/utilities/html/html.d.ts +1 -0
- package/dist/utilities/html/html.js +8 -0
- package/dist/utilities/html/html.js.map +1 -0
- package/dist/utilities/htmlElement/htmlElement.d.ts +1 -0
- package/dist/utilities/htmlElement/htmlElement.js +17 -0
- package/dist/utilities/htmlElement/htmlElement.js.map +1 -0
- package/dist/utilities/image/image.d.ts +1 -0
- package/dist/utilities/image/image.js +2 -0
- package/dist/utilities/image/image.js.map +1 -0
- package/dist/utilities/index.d.ts +36 -0
- package/dist/utilities/index.js +37 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/integer/integer.d.ts +3 -0
- package/dist/utilities/integer/integer.js +28 -0
- package/dist/utilities/integer/integer.js.map +1 -0
- package/dist/utilities/key/key.d.ts +2 -0
- package/dist/utilities/key/key.js +7 -0
- package/dist/utilities/key/key.js.map +1 -0
- package/dist/utilities/navigator/navigator.d.ts +1 -0
- package/dist/utilities/navigator/navigator.js +9 -0
- package/dist/utilities/navigator/navigator.js.map +1 -0
- package/dist/utilities/notification/notification.d.ts +5 -0
- package/dist/utilities/notification/notification.js +67 -0
- package/dist/utilities/notification/notification.js.map +1 -0
- package/dist/utilities/querystring/querystring.d.ts +4 -0
- package/dist/utilities/querystring/querystring.js +38 -0
- package/dist/utilities/querystring/querystring.js.map +1 -0
- package/dist/utilities/router/router.d.ts +20 -0
- package/dist/utilities/router/router.js +63 -0
- package/dist/utilities/router/router.js.map +1 -0
- package/dist/utilities/stylesheet/stylesheet.d.ts +2 -0
- package/dist/utilities/stylesheet/stylesheet.js +48 -0
- package/dist/utilities/stylesheet/stylesheet.js.map +1 -0
- package/dist/utilities/uniqueId/uniqueId.d.ts +1 -0
- package/dist/utilities/uniqueId/uniqueId.js +5 -0
- package/dist/utilities/uniqueId/uniqueId.js.map +1 -0
- package/dist/utilities/webSocket/webSocket.d.ts +1 -0
- package/dist/utilities/webSocket/webSocket.js +53 -0
- package/dist/utilities/webSocket/webSocket.js.map +1 -0
- 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 = "© <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 @@
|
|
|
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 @@
|
|
|
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 {};
|