jpf-mobx 1.0.84 → 1.0.85
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/kendo/Treeview/Treeview.d.ts +17 -0
- package/dist/controls/kendo/Treeview/Treeview.js +107 -0
- package/dist/controls/kendo/Treeview/Treeview.js.map +1 -0
- package/dist/controls/kendo/index.d.ts +1 -1
- package/dist/controls/kendo/index.js +1 -1
- package/dist/controls/kendo/index.js.map +1 -1
- package/package.json +1 -1
- package/src/controls/kendo/{Tree/Tree.ts → Treeview/Treeview.ts} +5 -5
- package/src/controls/kendo/index.ts +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Element } from "../../../framework/element";
|
|
2
|
+
import { IProperties } from "../../../framework/properties";
|
|
3
|
+
import { HierarchicalListItemProperties } from "../../custom/ListItem/ListItem";
|
|
4
|
+
import { ISubscribable } from "../../../framework/observable";
|
|
5
|
+
export interface ITreeviewProperties extends IProperties {
|
|
6
|
+
items?: Array<HierarchicalListItemProperties> | ISubscribable<Array<HierarchicalListItemProperties>>;
|
|
7
|
+
selectedItem?: HierarchicalListItemProperties | ISubscribable<HierarchicalListItemProperties>;
|
|
8
|
+
select?: (dataItem: any) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare class TreeviewElement extends Element<ITreeviewProperties> {
|
|
11
|
+
constructor(properties: ITreeviewProperties);
|
|
12
|
+
private treeView;
|
|
13
|
+
private dataSource;
|
|
14
|
+
build(): void;
|
|
15
|
+
private buildItems;
|
|
16
|
+
}
|
|
17
|
+
export declare function treeviewElement(properties: ITreeviewProperties): TreeviewElement;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as kendo from "@progress/kendo-ui/js/kendo.treeview.js";
|
|
2
|
+
import { Element, render } from "../../../framework/element";
|
|
3
|
+
import { Properties, applyBindings as applyViewModelToElement, extendProperties } from "../../../framework/properties";
|
|
4
|
+
import { unwrap, isSubscribable } from "../../../framework/observable";
|
|
5
|
+
const getContent = "getContent";
|
|
6
|
+
export class TreeviewElement extends Element {
|
|
7
|
+
constructor(properties) {
|
|
8
|
+
super({
|
|
9
|
+
tagName: "div",
|
|
10
|
+
properties: extendProperties(properties, {
|
|
11
|
+
elementType: "KendoTree"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
treeView;
|
|
16
|
+
dataSource;
|
|
17
|
+
build() {
|
|
18
|
+
super.build();
|
|
19
|
+
const viewModel = this.properties;
|
|
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.properties.select) {
|
|
28
|
+
this.treeView.bind("select", (event) => {
|
|
29
|
+
const uid = event.node.getAttribute("data-uid");
|
|
30
|
+
const dataItem = this.dataSource.getByUid(uid);
|
|
31
|
+
this.properties.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, this.disposers);
|
|
50
|
+
if (hierarchicalListItemViewModel[getContent]) {
|
|
51
|
+
const content = hierarchicalListItemViewModel[getContent]();
|
|
52
|
+
if (content instanceof Properties) {
|
|
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 (isSubscribable(viewModel.items)) {
|
|
65
|
+
this.disposers.push(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
|
+
export function treeviewElement(properties) {
|
|
105
|
+
return new TreeviewElement(properties);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=Treeview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Treeview.js","sourceRoot":"","sources":["../../../../src/controls/kendo/Treeview/Treeview.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,6 @@ export * from "./DataSource/DataSource";
|
|
|
4
4
|
export * from "./Editor/Editor";
|
|
5
5
|
export * from "./Grid/Grid";
|
|
6
6
|
export * from "./Menu/Menu";
|
|
7
|
-
export * from "./
|
|
7
|
+
export * from "./Treeview/Treeview";
|
|
8
8
|
export * from "./Window/Window";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/kendo/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/kendo/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,14 +5,14 @@ import { HierarchicalListItemProperties } from "../../custom/ListItem/ListItem";
|
|
|
5
5
|
import { ISubscribable, unwrap, isSubscribable } from "../../../framework/observable";
|
|
6
6
|
const getContent = "getContent";
|
|
7
7
|
|
|
8
|
-
export interface
|
|
8
|
+
export interface ITreeviewProperties extends IProperties {
|
|
9
9
|
items?: Array<HierarchicalListItemProperties> | ISubscribable<Array<HierarchicalListItemProperties>>;
|
|
10
10
|
selectedItem?: HierarchicalListItemProperties | ISubscribable<HierarchicalListItemProperties>;
|
|
11
11
|
select?: (dataItem: any) => void;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export class
|
|
15
|
-
constructor(properties:
|
|
14
|
+
export class TreeviewElement extends Element<ITreeviewProperties> {
|
|
15
|
+
constructor(properties: ITreeviewProperties) {
|
|
16
16
|
super(
|
|
17
17
|
{
|
|
18
18
|
tagName: "div",
|
|
@@ -142,6 +142,6 @@ export class TreeElement extends Element<ITreeProperties> {
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
export function
|
|
146
|
-
return new
|
|
145
|
+
export function treeviewElement(properties: ITreeviewProperties) {
|
|
146
|
+
return new TreeviewElement(properties);
|
|
147
147
|
}
|