jpf 4.1.6 → 4.1.10
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,48 @@
|
|
|
1
|
+
import { unwrap, isSubscribable } from "knockout";
|
|
2
|
+
import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
|
|
3
|
+
import { View, getView, registerView } from "../../../framework/View";
|
|
4
|
+
export class ButtonViewModel extends ViewModel {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
super(options);
|
|
7
|
+
this.content = options.content;
|
|
8
|
+
}
|
|
9
|
+
content;
|
|
10
|
+
}
|
|
11
|
+
export class ButtonView extends View {
|
|
12
|
+
constructor(viewModel, designTimeOptions) {
|
|
13
|
+
super({
|
|
14
|
+
tagName: "button",
|
|
15
|
+
viewModel: viewModel
|
|
16
|
+
}, extendViewModel({
|
|
17
|
+
viewType: "Button"
|
|
18
|
+
}, designTimeOptions));
|
|
19
|
+
}
|
|
20
|
+
build() {
|
|
21
|
+
super.build();
|
|
22
|
+
const viewModel = this.viewModel;
|
|
23
|
+
if (viewModel.content) {
|
|
24
|
+
if (isSubscribable(viewModel.content)) {
|
|
25
|
+
this.buildContent(unwrap(viewModel.content));
|
|
26
|
+
viewModel.content.subscribe((content) => {
|
|
27
|
+
this.buildContent(content);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.buildContent(viewModel.content);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
buildContent(content) {
|
|
36
|
+
if (content == null || content === undefined) {
|
|
37
|
+
this.element.innerText = null;
|
|
38
|
+
}
|
|
39
|
+
else if (typeof content === "string") {
|
|
40
|
+
this.element.innerText = content;
|
|
41
|
+
}
|
|
42
|
+
else if (content instanceof ViewModel) {
|
|
43
|
+
this.setChildren(getView(content));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
registerView(ButtonViewModel, ButtonView);
|
|
48
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/controls/html/Button/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,cAAc,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,SAAS,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC3F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMtE,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC1C,YAAY,OAA+B;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnC,CAAC;IAEQ,OAAO,CAAwD;CAC3E;AAED,MAAM,OAAO,UAAW,SAAQ,IAA4B;IACxD,YAAY,SAAiC,EAAE,iBAAoC;QAC/E,KAAK,CACD;YACI,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,SAAS;SACvB,EACD,eAAe,CACX;YACI,QAAQ,EAAE,QAAQ;SACrB,EACD,iBAAiB,CACpB,CACJ,CAAC;IACN,CAAC;IAED,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,SAAS,CAAC,OAAO,EAAE;YACnB,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;oBACpC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aACxC;SACJ;IACL,CAAC;IAEO,YAAY,CAAC,OAA2B;QAC5C,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;SACjC;aACI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;SACpC;aACI,IAAI,OAAO,YAAY,SAAS,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAoB,CAAC,CAAC,CAAC;SACnD;IACL,CAAC;CACJ;AAED,YAAY,CACR,eAAe,EACf,UAAU,CACb,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { View, IView } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
export declare class DivViewModel extends ViewModel implements ViewModelOptions {
|
|
4
|
+
}
|
|
5
|
+
export interface DivViewOptions extends ViewModelOptions {
|
|
6
|
+
children?: Array<IView>;
|
|
7
|
+
}
|
|
8
|
+
export declare class DivView extends View<ViewModelOptions> {
|
|
9
|
+
constructor(viewModel: DivViewOptions, designTimeOptions?: ViewModelOptions);
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { View, registerView } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
|
|
3
|
+
export class DivViewModel extends ViewModel {
|
|
4
|
+
}
|
|
5
|
+
export class DivView extends View {
|
|
6
|
+
constructor(viewModel, designTimeOptions) {
|
|
7
|
+
super({
|
|
8
|
+
tagName: "div",
|
|
9
|
+
viewModel: viewModel,
|
|
10
|
+
children: viewModel.children
|
|
11
|
+
}, extendViewModel({
|
|
12
|
+
viewType: "Div"
|
|
13
|
+
}, designTimeOptions));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
registerView(DivViewModel, DivView);
|
|
17
|
+
//# sourceMappingURL=Div.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Div.js","sourceRoot":"","sources":["../../../../src/controls/html/Div/Div.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAS,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE5F,MAAM,OAAO,YAAa,SAAQ,SAAS;CAE1C;AAMD,MAAM,OAAO,OAAQ,SAAQ,IAAsB;IAC/C,YAAY,SAAyB,EAAE,iBAAoC;QACvE,KAAK,CACD;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;SAC/B,EACD,eAAe,CACX;YACI,QAAQ,EAAE,KAAK;SAClB,EACD,iBAAiB,CACpB,CACJ,CAAC;IACN,CAAC;CACJ;AAED,YAAY,CACR,YAAY,EACZ,OAAO,CACV,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
export declare class ImageViewModel extends ViewModel {
|
|
4
|
+
}
|
|
5
|
+
export declare class ImageView extends View<ViewModelOptions> {
|
|
6
|
+
constructor(viewModel: ViewModelOptions, designTimeOptions?: ViewModelOptions);
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { View, registerView } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
|
|
3
|
+
export class ImageViewModel extends ViewModel {
|
|
4
|
+
}
|
|
5
|
+
export class ImageView extends View {
|
|
6
|
+
constructor(viewModel, designTimeOptions) {
|
|
7
|
+
super({
|
|
8
|
+
tagName: "img",
|
|
9
|
+
viewModel: viewModel
|
|
10
|
+
}, extendViewModel({
|
|
11
|
+
viewType: "Image"
|
|
12
|
+
}, designTimeOptions));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
registerView(ImageViewModel, ImageView);
|
|
16
|
+
//# sourceMappingURL=Image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../src/controls/html/Image/Image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE5F,MAAM,OAAO,cAAe,SAAQ,SAAS;CAE5C;AAED,MAAM,OAAO,SAAU,SAAQ,IAAsB;IACjD,YAAY,SAA2B,EAAE,iBAAoC;QACzE,KAAK,CACD;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,SAAS;SACvB,EACD,eAAe,CACX;YACI,QAAQ,EAAE,OAAO;SACpB,EACD,iBAAiB,CACpB,CACJ,CAAC;IACN,CAAC;CACJ;AAED,YAAY,CACR,cAAc,EACd,SAAS,CACZ,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
import { ObservableProperty } from "../../../framework/observable";
|
|
4
|
+
export type InputType = "text" | "checkbox" | "file" | "integer" | "float" | "range";
|
|
5
|
+
export type ValueUpdateMode = "OnChange" | "OnInput";
|
|
6
|
+
export interface InputViewModelOptions<TValue> extends ViewModelOptions {
|
|
7
|
+
value?: TValue | ObservableProperty<TValue>;
|
|
8
|
+
inputValidator?: (event: Event, inputViewModel: InputViewModelOptions<TValue>, value: string) => Promise<boolean>;
|
|
9
|
+
placeholder?: string | ObservableProperty<string>;
|
|
10
|
+
valueUpdateMode?: ValueUpdateMode;
|
|
11
|
+
min?: number;
|
|
12
|
+
max?: number;
|
|
13
|
+
step?: number;
|
|
14
|
+
type?: InputType;
|
|
15
|
+
}
|
|
16
|
+
declare abstract class InputViewModel<TValue> extends ViewModel {
|
|
17
|
+
protected constructor(inputType: InputType, options?: InputViewModelOptions<TValue>);
|
|
18
|
+
readonly value: ObservableProperty<TValue>;
|
|
19
|
+
readonly inputValidator: (event: Event, inputViewModel: InputViewModelOptions<TValue>, value: string) => Promise<boolean>;
|
|
20
|
+
readonly placeholder: ObservableProperty<string>;
|
|
21
|
+
readonly valueUpdateMode: ValueUpdateMode;
|
|
22
|
+
readonly type: InputType;
|
|
23
|
+
}
|
|
24
|
+
export declare class InputTextViewModel extends InputViewModel<string> {
|
|
25
|
+
constructor(options?: InputViewModelOptions<string>);
|
|
26
|
+
}
|
|
27
|
+
export declare class InputCheckboxViewModel extends InputViewModel<boolean> {
|
|
28
|
+
constructor(options?: InputViewModelOptions<boolean>);
|
|
29
|
+
}
|
|
30
|
+
export declare class InputFileViewModel extends InputViewModel<FileList> {
|
|
31
|
+
constructor(options?: InputViewModelOptions<FileList>);
|
|
32
|
+
}
|
|
33
|
+
export declare class InputIntegerViewModel extends InputViewModel<number> {
|
|
34
|
+
constructor(options?: InputViewModelOptions<number>);
|
|
35
|
+
}
|
|
36
|
+
export declare class InputFloatViewModel extends InputViewModel<number> {
|
|
37
|
+
constructor(options?: InputViewModelOptions<number>);
|
|
38
|
+
}
|
|
39
|
+
export declare class InputView<TValue> extends View<InputViewModelOptions<TValue>> {
|
|
40
|
+
constructor(viewModel: InputViewModelOptions<TValue>, designTimeOptions?: InputViewModelOptions<TValue>);
|
|
41
|
+
protected build(): void;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { isSubscribable, unwrap, isObservable } from "knockout";
|
|
2
|
+
import { View, registerView } from "../../../framework/View";
|
|
3
|
+
import { ViewModel, extendViewModel, isNullOrUndefined } from "../../../framework/ViewModel";
|
|
4
|
+
import { observableProperty, isObservableProperty } from "../../../framework/observable";
|
|
5
|
+
import { isInteger } from "../../../utilities/integer/integer";
|
|
6
|
+
import { isFloat } from "../../../utilities/float/float";
|
|
7
|
+
class InputViewModel extends ViewModel {
|
|
8
|
+
constructor(inputType, options) {
|
|
9
|
+
super(options);
|
|
10
|
+
if (options) {
|
|
11
|
+
if (isObservableProperty(options.value)) {
|
|
12
|
+
this.value = options.value;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
this.value = observableProperty(options.value);
|
|
16
|
+
}
|
|
17
|
+
this.inputValidator = options.inputValidator;
|
|
18
|
+
this.placeholder = options.placeholder;
|
|
19
|
+
this.valueUpdateMode = options.valueUpdateMode;
|
|
20
|
+
this.type = options.type;
|
|
21
|
+
}
|
|
22
|
+
this.type = inputType;
|
|
23
|
+
}
|
|
24
|
+
value;
|
|
25
|
+
inputValidator;
|
|
26
|
+
placeholder;
|
|
27
|
+
valueUpdateMode = "OnChange";
|
|
28
|
+
type;
|
|
29
|
+
}
|
|
30
|
+
export class InputTextViewModel extends InputViewModel {
|
|
31
|
+
constructor(options) {
|
|
32
|
+
super("text", options);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export class InputCheckboxViewModel extends InputViewModel {
|
|
36
|
+
constructor(options) {
|
|
37
|
+
super("checkbox", options);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class InputFileViewModel extends InputViewModel {
|
|
41
|
+
constructor(options) {
|
|
42
|
+
super("file", options);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export class InputIntegerViewModel extends InputViewModel {
|
|
46
|
+
constructor(options) {
|
|
47
|
+
super("integer", options);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export class InputFloatViewModel extends InputViewModel {
|
|
51
|
+
constructor(options) {
|
|
52
|
+
super("float", options);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export class InputView extends View {
|
|
56
|
+
constructor(viewModel, designTimeOptions) {
|
|
57
|
+
super({
|
|
58
|
+
tagName: "input",
|
|
59
|
+
viewModel: viewModel,
|
|
60
|
+
}, extendViewModel({
|
|
61
|
+
viewType: "Input"
|
|
62
|
+
}, designTimeOptions));
|
|
63
|
+
}
|
|
64
|
+
build() {
|
|
65
|
+
super.build();
|
|
66
|
+
const viewModel = this.viewModel;
|
|
67
|
+
if (!viewModel.valueUpdateMode) {
|
|
68
|
+
viewModel.valueUpdateMode = "OnChange";
|
|
69
|
+
}
|
|
70
|
+
const input = this.element;
|
|
71
|
+
input.type = viewModel.type;
|
|
72
|
+
if (!isNullOrUndefined(viewModel.min)) {
|
|
73
|
+
input.min = viewModel.min;
|
|
74
|
+
}
|
|
75
|
+
if (!isNullOrUndefined(viewModel.max)) {
|
|
76
|
+
input.max = viewModel.max;
|
|
77
|
+
}
|
|
78
|
+
if (!isNullOrUndefined(viewModel.step)) {
|
|
79
|
+
input.step = viewModel.step;
|
|
80
|
+
}
|
|
81
|
+
switch (viewModel.type) {
|
|
82
|
+
case "checkbox":
|
|
83
|
+
input.checked = unwrap(viewModel.value);
|
|
84
|
+
if (isObservable(viewModel.value)) {
|
|
85
|
+
viewModel.value.subscribe((value) => {
|
|
86
|
+
input.checked = value;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case "file":
|
|
91
|
+
break;
|
|
92
|
+
default:
|
|
93
|
+
const value = unwrap(viewModel.value);
|
|
94
|
+
if (value) {
|
|
95
|
+
input.value = value;
|
|
96
|
+
}
|
|
97
|
+
if (isObservable(viewModel.value)) {
|
|
98
|
+
viewModel.value.subscribe((value) => {
|
|
99
|
+
input.value = value;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const placeholder = unwrap(viewModel.placeholder);
|
|
104
|
+
if (placeholder) {
|
|
105
|
+
input.placeholder = placeholder;
|
|
106
|
+
}
|
|
107
|
+
if (isSubscribable(viewModel.placeholder)) {
|
|
108
|
+
viewModel.placeholder.subscribe((placeholder) => {
|
|
109
|
+
if (placeholder) {
|
|
110
|
+
input.placeholder = placeholder;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
input.removeAttribute("placeholder");
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
if (this.viewModel.valueUpdateMode === "OnChange") {
|
|
118
|
+
this.element.addEventListener("change", handleEvent);
|
|
119
|
+
}
|
|
120
|
+
if (this.viewModel.valueUpdateMode === "OnInput" || viewModel.inputValidator) {
|
|
121
|
+
this.element.addEventListener("input", handleEvent);
|
|
122
|
+
}
|
|
123
|
+
async function handleEvent(event) {
|
|
124
|
+
let newValue;
|
|
125
|
+
switch (viewModel.type) {
|
|
126
|
+
case "checkbox":
|
|
127
|
+
newValue = input.checked;
|
|
128
|
+
break;
|
|
129
|
+
case "file":
|
|
130
|
+
newValue = input.files;
|
|
131
|
+
break;
|
|
132
|
+
default:
|
|
133
|
+
newValue = input.value;
|
|
134
|
+
if (newValue + "" === "") {
|
|
135
|
+
newValue = null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (viewModel.inputValidator) {
|
|
139
|
+
if (!await viewModel.inputValidator(event, viewModel, newValue)) {
|
|
140
|
+
input.value = unwrap(viewModel.value);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
;
|
|
144
|
+
}
|
|
145
|
+
if (viewModel.type === "integer") {
|
|
146
|
+
if (isInteger(newValue)) {
|
|
147
|
+
newValue = parseInt(newValue);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
input.value = unwrap(viewModel.value);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (viewModel.type === "float") {
|
|
155
|
+
if (isFloat(newValue)) {
|
|
156
|
+
newValue = parseFloat(newValue);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
input.value = unwrap(viewModel.value);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (isObservableProperty(viewModel.value)) {
|
|
164
|
+
if ((event.type === "change" && viewModel.valueUpdateMode === "OnChange") || (event.type === "input" && viewModel.valueUpdateMode === "OnInput")) {
|
|
165
|
+
viewModel.value.set(newValue);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
viewModel.value.set(newValue, false);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
registerView(InputTextViewModel, InputView);
|
|
175
|
+
registerView(InputCheckboxViewModel, InputView);
|
|
176
|
+
registerView(InputFileViewModel, InputView);
|
|
177
|
+
registerView(InputIntegerViewModel, InputView);
|
|
178
|
+
registerView(InputFloatViewModel, InputView);
|
|
179
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/controls/html/Input/Input.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
import { ObservableProperty, ObservableArrayProperty } from "../../../framework/observable";
|
|
4
|
+
export interface SelectViewModelOptions<TItem, TValue> extends ViewModelOptions {
|
|
5
|
+
value?: TValue | ObservableProperty<TValue>;
|
|
6
|
+
items?: Array<TItem> | ObservableArrayProperty<TItem>;
|
|
7
|
+
textFunction: (item: TItem) => string;
|
|
8
|
+
valueFunction: (item: TItem) => TValue;
|
|
9
|
+
inputValidator?: (event: Event, selectViewModel: SelectViewModelOptions<TItem, TValue>, value: TValue) => Promise<boolean>;
|
|
10
|
+
emptyItemText?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class SelectViewModel<TItem, TValue> extends ViewModel {
|
|
13
|
+
constructor(options?: SelectViewModelOptions<TItem, TValue>);
|
|
14
|
+
readonly value: ObservableProperty<TValue>;
|
|
15
|
+
readonly items: ObservableArrayProperty<TItem>;
|
|
16
|
+
readonly textFunction: (item: TItem) => string;
|
|
17
|
+
readonly valueFunction: (item: TItem) => TValue;
|
|
18
|
+
readonly inputValidator: (event: Event, inputViewModel: SelectViewModel<TItem, TValue>, value: TValue) => Promise<boolean>;
|
|
19
|
+
readonly emptyItemText: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class SelectView<TItem, TValue> extends View<SelectViewModelOptions<TItem, TValue>> {
|
|
22
|
+
constructor(viewModel: SelectViewModelOptions<TItem, TValue>, designTimeOptions?: ViewModelOptions);
|
|
23
|
+
protected build(): void;
|
|
24
|
+
private itemDictionary;
|
|
25
|
+
private setItems;
|
|
26
|
+
private setSelectedValue;
|
|
27
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { unwrap, isSubscribable } from "knockout";
|
|
2
|
+
import { View, registerView } from "../../../framework/View";
|
|
3
|
+
import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
|
|
4
|
+
import { isObservableProperty, observableArrayProperty, observableProperty } from "../../../framework/observable";
|
|
5
|
+
export class SelectViewModel extends ViewModel {
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super(options);
|
|
8
|
+
if (options) {
|
|
9
|
+
this.textFunction = options.textFunction;
|
|
10
|
+
this.valueFunction = options.valueFunction;
|
|
11
|
+
this.inputValidator = options.inputValidator;
|
|
12
|
+
if (isObservableProperty(options.value)) {
|
|
13
|
+
this.value = options.value;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.value = observableProperty(options.value);
|
|
17
|
+
}
|
|
18
|
+
if (isObservableProperty(options.items)) {
|
|
19
|
+
this.items = options.items;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.items = observableArrayProperty(options.items);
|
|
23
|
+
}
|
|
24
|
+
this.emptyItemText = options.emptyItemText;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
value;
|
|
28
|
+
items;
|
|
29
|
+
textFunction;
|
|
30
|
+
valueFunction;
|
|
31
|
+
inputValidator;
|
|
32
|
+
emptyItemText;
|
|
33
|
+
}
|
|
34
|
+
export class SelectView extends View {
|
|
35
|
+
constructor(viewModel, designTimeOptions) {
|
|
36
|
+
super({
|
|
37
|
+
tagName: "select",
|
|
38
|
+
viewModel: viewModel
|
|
39
|
+
}, extendViewModel({
|
|
40
|
+
viewType: "Select"
|
|
41
|
+
}, designTimeOptions));
|
|
42
|
+
}
|
|
43
|
+
build() {
|
|
44
|
+
super.build();
|
|
45
|
+
const select = this.element;
|
|
46
|
+
const viewModel = this.viewModel;
|
|
47
|
+
this.setItems(unwrap(viewModel.items));
|
|
48
|
+
if (isSubscribable(viewModel.items)) {
|
|
49
|
+
viewModel.items.subscribe((items) => {
|
|
50
|
+
this.setItems(items);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
this.setSelectedValue(unwrap(viewModel.value));
|
|
54
|
+
if (isSubscribable(viewModel.value)) {
|
|
55
|
+
viewModel.value.subscribe((value) => {
|
|
56
|
+
this.setSelectedValue(value);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
this.element.addEventListener("change", async (event) => {
|
|
60
|
+
let newValue = select.value;
|
|
61
|
+
if (newValue + "" === "") {
|
|
62
|
+
newValue = null;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
newValue = this.viewModel.valueFunction(this.itemDictionary[newValue.toString()]);
|
|
66
|
+
}
|
|
67
|
+
if (viewModel.inputValidator) {
|
|
68
|
+
if (!await viewModel.inputValidator(event, viewModel, newValue)) {
|
|
69
|
+
select.value = unwrap(viewModel.value);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
;
|
|
73
|
+
}
|
|
74
|
+
if (isObservableProperty(viewModel.value)) {
|
|
75
|
+
viewModel.value.set(newValue);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
itemDictionary;
|
|
80
|
+
setItems(items) {
|
|
81
|
+
if (this.element) {
|
|
82
|
+
this.itemDictionary = {};
|
|
83
|
+
if (items) {
|
|
84
|
+
const select = this.element;
|
|
85
|
+
select.innerHTML = null;
|
|
86
|
+
if (this.viewModel.emptyItemText) {
|
|
87
|
+
const emptyOption = document.createElement("option");
|
|
88
|
+
emptyOption.value = "";
|
|
89
|
+
emptyOption.text = this.viewModel.emptyItemText;
|
|
90
|
+
select.options.add(emptyOption);
|
|
91
|
+
}
|
|
92
|
+
items.forEach((item) => {
|
|
93
|
+
const value = this.viewModel.valueFunction(item).toString();
|
|
94
|
+
this.itemDictionary[value] = item;
|
|
95
|
+
var option = document.createElement("option");
|
|
96
|
+
option.value = value;
|
|
97
|
+
option.text = this.viewModel.textFunction(item);
|
|
98
|
+
select.options.add(option);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
setSelectedValue(value) {
|
|
104
|
+
if (this.element) {
|
|
105
|
+
const select = this.element;
|
|
106
|
+
if (value === null || value === undefined) {
|
|
107
|
+
select.value = "";
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
select.value = value.toString();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
registerView(SelectViewModel, SelectView);
|
|
116
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/controls/html/Select/Select.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
export declare class SpanViewModel extends ViewModel implements ViewModelOptions {
|
|
4
|
+
}
|
|
5
|
+
export declare class SpanView extends View<ViewModelOptions> {
|
|
6
|
+
constructor(viewModel: ViewModelOptions, designTimeOptions?: ViewModelOptions);
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { View, registerView } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
|
|
3
|
+
export class SpanViewModel extends ViewModel {
|
|
4
|
+
}
|
|
5
|
+
export class SpanView extends View {
|
|
6
|
+
constructor(viewModel, designTimeOptions) {
|
|
7
|
+
super({
|
|
8
|
+
tagName: "span",
|
|
9
|
+
viewModel: viewModel
|
|
10
|
+
}, extendViewModel({
|
|
11
|
+
viewType: "Span"
|
|
12
|
+
}, designTimeOptions));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
registerView(SpanViewModel, SpanView);
|
|
16
|
+
//# sourceMappingURL=Span.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Span.js","sourceRoot":"","sources":["../../../../src/controls/html/Span/Span.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAoB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE5F,MAAM,OAAO,aAAc,SAAQ,SAAS;CAE3C;AAED,MAAM,OAAO,QAAS,SAAQ,IAAsB;IAChD,YAAY,SAA2B,EAAE,iBAAoC;QACzE,KAAK,CACD;YACI,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,SAAS;SACvB,EACD,eAAe,CACX;YACI,QAAQ,EAAE,MAAM;SACnB,EACD,iBAAiB,CACpB,CACJ,CAAC;IACN,CAAC;CACJ;AAED,YAAY,CACR,aAAa,EACb,QAAQ,CACX,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/html/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as codeMirror from "./codeMirror/index";
|
|
2
|
+
import * as custom from "./custom/index";
|
|
3
|
+
import * as html from "./html/index";
|
|
4
|
+
import * as jsonViewAwesome from "./jsonViewAwesome/index";
|
|
5
|
+
import * as kendo from "./kendo/index";
|
|
6
|
+
import * as leaflet from "./leaflet/index";
|
|
7
|
+
export { codeMirror };
|
|
8
|
+
export { custom };
|
|
9
|
+
export { html };
|
|
10
|
+
export { jsonViewAwesome };
|
|
11
|
+
export { kendo };
|
|
12
|
+
export { leaflet };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as codeMirror from "./codeMirror/index";
|
|
2
|
+
import * as custom from "./custom/index";
|
|
3
|
+
import * as html from "./html/index";
|
|
4
|
+
import * as jsonViewAwesome from "./jsonViewAwesome/index";
|
|
5
|
+
import * as kendo from "./kendo/index";
|
|
6
|
+
import * as leaflet from "./leaflet/index";
|
|
7
|
+
export { codeMirror };
|
|
8
|
+
export { custom };
|
|
9
|
+
export { html };
|
|
10
|
+
export { jsonViewAwesome };
|
|
11
|
+
export { kendo };
|
|
12
|
+
export { leaflet };
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/controls/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,eAAe,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./jsonFormatter/JsonFormatter";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controls/jsonViewAwesome/index.ts"],"names":[],"mappings":"AAAA,cAAe,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { View } from "../../../framework/View";
|
|
2
|
+
import { ViewModel, ViewModelOptions } from "../../../framework/ViewModel";
|
|
3
|
+
import { Subscribable } from "knockout";
|
|
4
|
+
export interface JsonFormatterViewModelOptions extends ViewModelOptions {
|
|
5
|
+
json: object | Subscribable<object>;
|
|
6
|
+
showArrayIndex?: boolean;
|
|
7
|
+
quotesOnKeys?: boolean;
|
|
8
|
+
displayDataTypes?: boolean;
|
|
9
|
+
displayObjectSize?: boolean;
|
|
10
|
+
sortKeys?: boolean;
|
|
11
|
+
collapsed?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class JsonFormatterViewModel extends ViewModel implements JsonFormatterViewModelOptions {
|
|
14
|
+
constructor(options?: JsonFormatterViewModelOptions);
|
|
15
|
+
readonly json: object | Subscribable<object>;
|
|
16
|
+
readonly showArrayIndex: boolean;
|
|
17
|
+
readonly quotesOnKeys: boolean;
|
|
18
|
+
readonly displayDataTypes: boolean;
|
|
19
|
+
readonly displayObjectSize: boolean;
|
|
20
|
+
readonly sortKeys: boolean;
|
|
21
|
+
readonly collapsed: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare class JsonFormatterView extends View<JsonFormatterViewModelOptions> {
|
|
24
|
+
constructor(viewModel: JsonFormatterViewModelOptions, designTimeOptions?: ViewModelOptions);
|
|
25
|
+
build(): void;
|
|
26
|
+
private setJson;
|
|
27
|
+
}
|