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