jpf 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/View.d.ts +5 -2
  2. package/dist/View.js +5 -0
  3. package/dist/View.js.map +1 -1
  4. package/dist/ViewModel.d.ts +6 -12
  5. package/dist/ViewModel.js +47 -64
  6. package/dist/ViewModel.js.map +1 -1
  7. package/dist/attributes.d.ts +8 -0
  8. package/dist/controls/JsonFormatter/Json.d.ts +27 -0
  9. package/dist/controls/JsonFormatter/Json.js +72 -0
  10. package/dist/controls/JsonFormatter/Json.js.map +1 -0
  11. package/dist/controls/codeMirror/HtmlEditor.d.ts +15 -0
  12. package/dist/controls/codeMirror/HtmlEditor.js +127 -0
  13. package/dist/controls/codeMirror/HtmlEditor.js.map +1 -0
  14. package/dist/controls/codeMirror/JsonEditor.d.ts +15 -0
  15. package/dist/controls/codeMirror/JsonEditor.js +111 -0
  16. package/dist/controls/codeMirror/JsonEditor.js.map +1 -0
  17. package/dist/controls/html/Button.d.ts +15 -0
  18. package/dist/controls/html/Button.js +48 -0
  19. package/dist/controls/html/Button.js.map +1 -0
  20. package/dist/controls/html/Div.d.ts +10 -0
  21. package/dist/controls/html/Div.js +17 -0
  22. package/dist/controls/html/Div.js.map +1 -0
  23. package/dist/controls/html/Image.d.ts +7 -0
  24. package/dist/controls/html/Image.js +16 -0
  25. package/dist/controls/html/Image.js.map +1 -0
  26. package/dist/controls/html/Input.d.ts +43 -0
  27. package/dist/controls/html/Input.js +179 -0
  28. package/dist/controls/html/Input.js.map +1 -0
  29. package/dist/controls/html/Select.d.ts +27 -0
  30. package/dist/controls/html/Select.js +116 -0
  31. package/dist/controls/html/Select.js.map +1 -0
  32. package/dist/controls/html/Span.d.ts +7 -0
  33. package/dist/controls/html/Span.js +16 -0
  34. package/dist/controls/html/Span.js.map +1 -0
  35. package/dist/controls/kendo/Culture.d.ts +1 -0
  36. package/dist/controls/kendo/Culture.js +26 -0
  37. package/dist/controls/kendo/Culture.js.map +1 -0
  38. package/dist/controls/kendo/DataSource.d.ts +4 -0
  39. package/dist/controls/kendo/DataSource.js +2 -0
  40. package/dist/controls/kendo/DataSource.js.map +1 -0
  41. package/dist/controls/kendo/Editor.d.ts +18 -0
  42. package/dist/controls/kendo/Editor.js +113 -0
  43. package/dist/controls/kendo/Editor.js.map +1 -0
  44. package/dist/controls/kendo/Grid.d.ts +50 -0
  45. package/dist/controls/kendo/Grid.js +214 -0
  46. package/dist/controls/kendo/Grid.js.map +1 -0
  47. package/dist/controls/kendo/Menu.d.ts +14 -0
  48. package/dist/controls/kendo/Menu.js +86 -0
  49. package/dist/controls/kendo/Menu.js.map +1 -0
  50. package/dist/controls/kendo/Tree.d.ts +16 -0
  51. package/dist/controls/kendo/Tree.js +104 -0
  52. package/dist/controls/kendo/Tree.js.map +1 -0
  53. package/dist/controls/user/Content.d.ts +16 -0
  54. package/dist/controls/user/Content.js +45 -0
  55. package/dist/controls/user/Content.js.map +1 -0
  56. package/dist/controls/user/FileSelector.d.ts +17 -0
  57. package/dist/controls/user/FileSelector.js +54 -0
  58. package/dist/controls/user/FileSelector.js.map +1 -0
  59. package/dist/controls/user/LabeledControl.d.ts +14 -0
  60. package/dist/controls/user/LabeledControl.js +32 -0
  61. package/dist/controls/user/LabeledControl.js.map +1 -0
  62. package/dist/controls/user/ListItem.d.ts +30 -0
  63. package/dist/controls/user/ListItem.js +61 -0
  64. package/dist/controls/user/ListItem.js.map +1 -0
  65. package/dist/event.d.ts +17 -3
  66. package/dist/event.js +1 -0
  67. package/dist/event.js.map +1 -1
  68. package/dist/{src → framework}/View.d.ts +5 -2
  69. package/dist/{src → framework}/View.js +24 -22
  70. package/dist/framework/View.js.map +1 -0
  71. package/dist/{src → framework}/ViewModel.d.ts +5 -12
  72. package/dist/{src → framework}/ViewModel.js +75 -115
  73. package/dist/framework/ViewModel.js.map +1 -0
  74. package/dist/{src → framework}/attributes.d.ts +8 -0
  75. package/dist/framework/attributes.js +2 -0
  76. package/dist/{src → framework}/attributes.js.map +1 -1
  77. package/dist/{src → framework}/event.d.ts +19 -5
  78. package/dist/framework/event.js +26 -0
  79. package/dist/framework/event.js.map +1 -0
  80. package/dist/framework/observable.d.ts +12 -0
  81. package/dist/framework/observable.js +59 -0
  82. package/dist/framework/observable.js.map +1 -0
  83. package/dist/{src → framework}/style.d.ts +0 -0
  84. package/dist/{src → framework}/style.js +3 -7
  85. package/dist/framework/style.js.map +1 -0
  86. package/dist/framework/types.d.ts +85 -0
  87. package/dist/framework/types.js +2 -0
  88. package/dist/{src → framework}/types.js.map +1 -1
  89. package/dist/{src → framework}/userAgent.d.ts +0 -0
  90. package/dist/{src → framework}/userAgent.js +3 -6
  91. package/dist/framework/userAgent.js.map +1 -0
  92. package/dist/index.d.ts +9 -6
  93. package/dist/index.js +9 -21
  94. package/dist/index.js.map +1 -1
  95. package/dist/observable.d.ts +12 -0
  96. package/dist/observable.js +65 -0
  97. package/dist/observable.js.map +1 -0
  98. package/dist/style.js +2 -2
  99. package/dist/style.js.map +1 -1
  100. package/dist/userAgent.js.map +1 -1
  101. package/dist/utilities/blob.d.ts +2 -0
  102. package/dist/utilities/blob.js +19 -0
  103. package/dist/utilities/blob.js.map +1 -0
  104. package/dist/utilities/common.d.ts +17 -0
  105. package/dist/utilities/common.js +193 -0
  106. package/dist/utilities/common.js.map +1 -0
  107. package/dist/utilities/fetch.d.ts +5 -0
  108. package/dist/utilities/fetch.js +110 -0
  109. package/dist/utilities/fetch.js.map +1 -0
  110. package/dist/utilities/notification.d.ts +5 -0
  111. package/dist/utilities/notification.js +67 -0
  112. package/dist/utilities/notification.js.map +1 -0
  113. package/dist/utilities/router.d.ts +20 -0
  114. package/dist/utilities/router.js +63 -0
  115. package/dist/utilities/router.js.map +1 -0
  116. package/dist/utilities/webSocket.d.ts +1 -0
  117. package/dist/utilities/webSocket.js +53 -0
  118. package/dist/utilities/webSocket.js.map +1 -0
  119. package/package.json +13 -6
  120. package/dist/examples/example-01.d.ts +0 -1
  121. package/dist/examples/example-01.js +0 -43
  122. package/dist/examples/example-01.js.map +0 -1
  123. package/dist/src/View.js.map +0 -1
  124. package/dist/src/ViewModel.js.map +0 -1
  125. package/dist/src/attributes.js +0 -3
  126. package/dist/src/event.js +0 -29
  127. package/dist/src/event.js.map +0 -1
  128. package/dist/src/index.d.ts +0 -7
  129. package/dist/src/index.js +0 -22
  130. package/dist/src/index.js.map +0 -1
  131. package/dist/src/style.js.map +0 -1
  132. package/dist/src/types.d.ts +0 -85
  133. package/dist/src/types.js +0 -3
  134. package/dist/src/userAgent.js.map +0 -1
package/dist/View.d.ts CHANGED
@@ -1,15 +1,16 @@
1
1
  import "tocca";
2
2
  import { ObservableArray, Computed } from "knockout";
3
3
  import { ViewModelOptions, ViewModel } from "./ViewModel";
4
+ declare type TagName = "div" | "input" | "a" | "button" | "img" | "select" | "pre" | "form" | "span" | "textarea";
4
5
  export interface IView {
5
6
  render(): HTMLElement;
6
7
  }
7
8
  export interface ViewOptions<TViewModel> {
8
- tagName: string;
9
+ tagName: TagName;
9
10
  viewModel?: TViewModel;
10
11
  children?: Array<IView> | ObservableArray<IView> | Computed<Array<IView>>;
11
12
  }
12
- export declare class View<TViewModel extends ViewModelOptions = ViewModelOptions> implements IView {
13
+ export declare class View<TViewModel = any> implements IView {
13
14
  constructor(options: ViewOptions<TViewModel>, designTimeOptions?: ViewModelOptions);
14
15
  private readonly tagName;
15
16
  private readonly optionsChildren;
@@ -19,6 +20,7 @@ export declare class View<TViewModel extends ViewModelOptions = ViewModelOptions
19
20
  protected readonly viewModel: TViewModel;
20
21
  protected build(): void;
21
22
  protected remove(): void;
23
+ protected addChild(child: IView): View<TViewModel>;
22
24
  protected setChildren(...children: Array<IView>): View<TViewModel>;
23
25
  protected empty(): void;
24
26
  render(): HTMLElement;
@@ -27,3 +29,4 @@ export declare var viewDictionary: Map<any, any>;
27
29
  export declare function registerView(viewModel: any, resolver: any): void;
28
30
  export declare function getView(viewModel: ViewModel): View;
29
31
  export declare function render(viewModel: ViewModel): HTMLElement;
32
+ export {};
package/dist/View.js CHANGED
@@ -45,6 +45,11 @@ class View {
45
45
  this.element = null;
46
46
  }
47
47
  }
48
+ addChild(child) {
49
+ this.children.push(child);
50
+ this.buildChildren();
51
+ return this;
52
+ }
48
53
  setChildren(...children) {
49
54
  this.empty();
50
55
  this.children = children;
package/dist/View.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../src/View.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"View.js","sourceRoot":"","sources":["../src/View.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import { Subscribable, ObservableArray, Observable } from "knockout";
1
+ import { Subscribable } from "knockout";
2
2
  import { CssProperty } from "./types";
3
- import { EventListeners } from "./event";
3
+ import { EventListeners, IGenericEventListener, IMouseEventListener, MouseEventListeners } from "./event";
4
4
  import { Attributes, AttributesSubscribable } from "./attributes";
5
5
  import { Style, StyleSubscribable } from "./style";
6
+ export declare function extend(...objects: any[]): any;
7
+ export declare function isNullOrUndefined(value: any): boolean;
6
8
  export interface ViewModelOptions {
7
9
  attributes?: Attributes | AttributesSubscribable;
8
10
  classNames?: Array<string> | Subscribable<Array<string>>;
@@ -19,13 +21,6 @@ export interface ViewModelOptions {
19
21
  viewType?: string;
20
22
  focus?: () => void;
21
23
  }
22
- export interface IObservableProperty<TValue, TSetter = TValue> extends Subscribable<TValue> {
23
- (): TValue;
24
- set: (value: TSetter) => void;
25
- }
26
- export interface IObservableArrayProperty<TItem, TSetter> extends ObservableArray<TItem> {
27
- set: (items: Array<TSetter>) => void;
28
- }
29
24
  export declare class ViewModel implements ViewModelOptions {
30
25
  constructor(options?: ViewModelOptions);
31
26
  readonly classNames: string[] | Subscribable<Array<string>>;
@@ -43,6 +38,8 @@ export declare class ViewModel implements ViewModelOptions {
43
38
  readonly viewType: string;
44
39
  protected getStyle(...cssProperties: Array<CssProperty>): Style;
45
40
  protected getStyleValue(cssProperty: CssProperty): any;
41
+ addMouseEventListener(event: keyof MouseEventListeners, mouseEventListener: IMouseEventListener): void;
42
+ addEventListener(event: keyof EventListeners, genericEventListener: IGenericEventListener): void;
46
43
  setClasses(classNames: string[], replace: boolean): void;
47
44
  setAttributes(attributes: Attributes): void;
48
45
  setStyle(style: Style): void;
@@ -53,9 +50,6 @@ export declare class ViewModel implements ViewModelOptions {
53
50
  removeClasses(classNames: string[]): void;
54
51
  focus(): void;
55
52
  handleWebSocketMessage: (message: any) => void;
56
- protected setObservableProperty(property: any, value: any): void;
57
- protected createObservableProperty<TValue, TSetter = TValue>(value?: TValue | Observable<TValue>, setter?: (value: TSetter) => void, notifyAlways?: boolean): IObservableProperty<TValue, TSetter>;
58
- protected createObservableArrayProperty<TItem, TSetter = TItem>(items?: Array<TItem> | ObservableArray<TItem>, setter?: (items: Array<TSetter>) => void): IObservableArrayProperty<TItem, TSetter>;
59
53
  }
60
54
  export declare function extendViewModel<TResult = ViewModelOptions, TTarget = ViewModelOptions, TSource = ViewModelOptions>(target: TTarget, source: TSource): TResult;
61
55
  export declare function applyViewModelToElement(viewModel: ViewModelOptions, element: HTMLElement): void;
package/dist/ViewModel.js CHANGED
@@ -1,17 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyViewModelToElement = exports.extendViewModel = exports.ViewModel = void 0;
3
+ exports.applyViewModelToElement = exports.extendViewModel = exports.ViewModel = exports.isNullOrUndefined = exports.extend = void 0;
4
4
  const knockout_1 = require("knockout");
5
- const extend = require("extend");
6
5
  const userAgent_1 = require("./userAgent");
7
6
  const event_1 = require("./event");
8
7
  const style_1 = require("./style");
8
+ function extend(deep, ...objects) {
9
+ var extended = {};
10
+ var withChildren = false;
11
+ let i = 0;
12
+ const length = arguments.length;
13
+ if (typeof (arguments[0]) === "boolean") {
14
+ withChildren = arguments[0];
15
+ i++;
16
+ }
17
+ const merge = obj => {
18
+ for (let prop in obj) {
19
+ if (Object.prototype.hasOwnProperty.call(obj, prop)) {
20
+ if (withChildren && Object.prototype.toString.call(obj[prop]) === "[object Object]") {
21
+ extended[prop] = extend(true, extended[prop], obj[prop]);
22
+ }
23
+ else {
24
+ extended[prop] = obj[prop];
25
+ }
26
+ }
27
+ }
28
+ };
29
+ for (; i < length; i++) {
30
+ const obj = arguments[i];
31
+ merge(obj);
32
+ }
33
+ return extended;
34
+ }
35
+ exports.extend = extend;
36
+ function isNullOrUndefined(value) {
37
+ return value === null || typeof value === "undefined";
38
+ }
39
+ exports.isNullOrUndefined = isNullOrUndefined;
9
40
  class ViewModel {
10
41
  constructor(options) {
11
42
  this.visible = true;
12
43
  this.disabled = false;
13
44
  this.addViewModelToDataObject = false;
14
- this.eventListeners = {};
15
45
  options = options || {};
16
46
  this.classNames = options.classNames;
17
47
  this.attributes = options.attributes || {};
@@ -28,7 +58,7 @@ class ViewModel {
28
58
  this.userSelectable = options.userSelectable;
29
59
  this.dispose = options.dispose;
30
60
  this.refresh = options.refresh;
31
- this.eventListeners = options.eventListeners;
61
+ this.eventListeners = options.eventListeners || {};
32
62
  this.viewType = options.viewType;
33
63
  }
34
64
  getStyle(...cssProperties) {
@@ -47,6 +77,16 @@ class ViewModel {
47
77
  }
48
78
  return null;
49
79
  }
80
+ addMouseEventListener(event, mouseEventListener) {
81
+ if (!this.eventListeners[event]) {
82
+ this.eventListeners[event] = mouseEventListener;
83
+ }
84
+ }
85
+ addEventListener(event, genericEventListener) {
86
+ if (!this.eventListeners[event]) {
87
+ this.eventListeners[event] = genericEventListener;
88
+ }
89
+ }
50
90
  setClasses(classNames, replace) {
51
91
  if ((0, knockout_1.isSubscribable)(this.classNames)) {
52
92
  var currentClassNames = (0, knockout_1.unwrap)(this.classNames);
@@ -131,63 +171,6 @@ class ViewModel {
131
171
  }
132
172
  focus() {
133
173
  }
134
- setObservableProperty(property, value) {
135
- const settableProperty = property;
136
- if (settableProperty._set) {
137
- settableProperty._set(value);
138
- }
139
- }
140
- createObservableProperty(value, setter, notifyAlways) {
141
- let internalProperty;
142
- if ((0, knockout_1.isObservable)(value)) {
143
- internalProperty = value;
144
- }
145
- else {
146
- internalProperty = (0, knockout_1.observable)(value);
147
- }
148
- if (notifyAlways) {
149
- internalProperty.extend({ notify: "always" });
150
- }
151
- const computed = (0, knockout_1.pureComputed)({ read: internalProperty }).extend({ notify: "always" });
152
- const privateSettable = computed;
153
- privateSettable._set = (value) => {
154
- internalProperty(value);
155
- };
156
- const observableProperty = computed;
157
- if (setter) {
158
- observableProperty.set = setter;
159
- }
160
- else {
161
- observableProperty.set = (value) => {
162
- internalProperty(value);
163
- };
164
- }
165
- return observableProperty;
166
- }
167
- createObservableArrayProperty(items, setter) {
168
- let internalProperty;
169
- if ((0, knockout_1.isObservable)(items)) {
170
- internalProperty = items;
171
- }
172
- else {
173
- internalProperty = (0, knockout_1.observableArray)(items);
174
- }
175
- const computed = (0, knockout_1.pureComputed)({ read: internalProperty }).extend({ notify: "always" });
176
- const privateSettable = computed;
177
- privateSettable._set = (value) => {
178
- internalProperty(value);
179
- };
180
- const observableArrayProperty = computed;
181
- if (setter) {
182
- observableArrayProperty.set = setter;
183
- }
184
- else {
185
- observableArrayProperty.set = (value) => {
186
- internalProperty(value);
187
- };
188
- }
189
- return observableArrayProperty;
190
- }
191
174
  }
192
175
  exports.ViewModel = ViewModel;
193
176
  function extendViewModel(target, source) {
@@ -226,7 +209,7 @@ function applyViewModelToElement(viewModel, element) {
226
209
  }
227
210
  });
228
211
  }
229
- if (!!viewModel.innerHtml) {
212
+ if (!isNullOrUndefined(viewModel.innerHtml)) {
230
213
  element.innerHTML = (0, knockout_1.unwrap)(viewModel.innerHtml);
231
214
  if ((0, knockout_1.isSubscribable)(viewModel.innerHtml)) {
232
215
  viewModel.innerHtml.subscribe((innerHtml) => {
@@ -234,7 +217,7 @@ function applyViewModelToElement(viewModel, element) {
234
217
  });
235
218
  }
236
219
  }
237
- if (!!viewModel.innerText) {
220
+ if (!isNullOrUndefined(viewModel.innerText)) {
238
221
  element.innerText = (0, knockout_1.unwrap)(viewModel.innerText);
239
222
  if ((0, knockout_1.isSubscribable)(viewModel.innerText)) {
240
223
  viewModel.innerText.subscribe((innerText) => {
@@ -394,7 +377,7 @@ function applyClassesToElement(classNames, replace, element) {
394
377
  }
395
378
  }
396
379
  function applyAttributeToElement(name, value, element) {
397
- if (value === null || value === undefined) {
380
+ if (isNullOrUndefined(value)) {
398
381
  element.removeAttribute(name);
399
382
  }
400
383
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewModel.js","sourceRoot":"","sources":["../src/ViewModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewModel.js","sourceRoot":"","sources":["../src/ViewModel.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,10 @@ export interface Attributes {
16
16
  value?: string;
17
17
  view?: string;
18
18
  checked?: string;
19
+ enctype?: string;
20
+ name?: string;
21
+ multiple?: boolean;
22
+ ["aria-label"]?: string;
19
23
  }
20
24
  export interface AttributesSubscribable {
21
25
  alt?: string | Subscribable<string>;
@@ -34,4 +38,8 @@ export interface AttributesSubscribable {
34
38
  value?: string | Subscribable<string>;
35
39
  view?: string | Subscribable<string>;
36
40
  checked?: string | Subscribable<string>;
41
+ enctype?: string | Subscribable<string>;
42
+ name?: string | Subscribable<string>;
43
+ multiple?: boolean | Subscribable<boolean>;
44
+ ["aria-label"]?: string | Subscribable<string>;
37
45
  }
@@ -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 JsonViewModelOptions 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 JsonViewModel extends ViewModel implements JsonViewModelOptions {
14
+ constructor(options?: JsonViewModelOptions);
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 JsonView extends View<JsonViewModelOptions> {
24
+ constructor(viewModel: JsonViewModelOptions, designTimeOptions?: ViewModelOptions);
25
+ build(): void;
26
+ private setJson;
27
+ }
@@ -0,0 +1,72 @@
1
+ import { View, registerView } from "../../framework/View";
2
+ import { ViewModel, extendViewModel } from "../../framework/ViewModel";
3
+ import { unwrap, isObservable } from "knockout";
4
+ import { JSONFormatter } from "json-viewer-awesome/lib/json-formatter";
5
+ export class JsonViewModel extends ViewModel {
6
+ constructor(options) {
7
+ super(options);
8
+ if (!options) {
9
+ options = {};
10
+ }
11
+ this.json = options.json;
12
+ this.showArrayIndex = !(options.showArrayIndex === false);
13
+ this.quotesOnKeys = !(options.quotesOnKeys === false);
14
+ this.displayDataTypes = !(options.displayDataTypes === false);
15
+ this.displayObjectSize = !(options.displayObjectSize === false);
16
+ this.sortKeys = !!options.sortKeys;
17
+ this.collapsed = !(options.collapsed === false);
18
+ }
19
+ json;
20
+ showArrayIndex;
21
+ quotesOnKeys;
22
+ displayDataTypes;
23
+ displayObjectSize;
24
+ sortKeys;
25
+ collapsed;
26
+ }
27
+ export class JsonView extends View {
28
+ constructor(viewModel, designTimeOptions) {
29
+ super({
30
+ tagName: "div",
31
+ viewModel: viewModel
32
+ }, extendViewModel({
33
+ viewType: "JsonFormatter"
34
+ }, designTimeOptions));
35
+ }
36
+ build() {
37
+ super.build();
38
+ const viewModel = this.viewModel;
39
+ this.setJson(unwrap(viewModel.json));
40
+ if (isObservable(viewModel.json)) {
41
+ viewModel.json.subscribe((json) => {
42
+ this.setJson(json);
43
+ });
44
+ }
45
+ }
46
+ setJson(json) {
47
+ if (json) {
48
+ if (typeof json === "object") {
49
+ const jsonFormatter = new JSONFormatter({
50
+ showArrayIndex: this.viewModel.showArrayIndex,
51
+ quotesOnKeys: this.viewModel.quotesOnKeys,
52
+ displayDataTypes: this.viewModel.displayDataTypes,
53
+ displayObjectSize: this.viewModel.displayObjectSize,
54
+ sortKeys: false,
55
+ collapsed: true,
56
+ iconStyle: 0,
57
+ theme: undefined,
58
+ src: json
59
+ });
60
+ this.element.replaceChildren(jsonFormatter.render());
61
+ }
62
+ else {
63
+ this.element.innerHTML = json.toString();
64
+ }
65
+ }
66
+ else {
67
+ this.empty();
68
+ }
69
+ }
70
+ }
71
+ registerView(JsonViewModel, JsonView);
72
+ //# sourceMappingURL=Json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../src/controls/JsonFormatter/Json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { View } from "../../framework/View";
2
+ import { ViewModelOptions, ViewModel } from "../../framework/ViewModel";
3
+ import { ObservableProperty } from "../../framework/observable";
4
+ export interface HtmlEditorViewModelOptions extends ViewModelOptions {
5
+ value?: string | ObservableProperty<string>;
6
+ }
7
+ export declare class HtmlEditorViewModel extends ViewModel implements HtmlEditorViewModelOptions {
8
+ constructor(options: HtmlEditorViewModelOptions);
9
+ readonly value: ObservableProperty<string>;
10
+ }
11
+ export declare class HtmlEditorView extends View<HtmlEditorViewModelOptions> {
12
+ constructor(viewModel: HtmlEditorViewModelOptions, designTimeOptions?: ViewModelOptions);
13
+ private editor;
14
+ build(): void;
15
+ }
@@ -0,0 +1,127 @@
1
+ import { View, registerView } from "../../framework/View";
2
+ import { ViewModel, extendViewModel } from "../../framework/ViewModel";
3
+ import { unwrap, isObservable } from "knockout";
4
+ import { isObservableProperty, observableProperty } from "../../framework/observable";
5
+ import { EditorView, basicSetup } from "codemirror";
6
+ import { EditorState } from "@codemirror/state";
7
+ import { keymap } from "@codemirror/view";
8
+ import { html } from "@codemirror/lang-html";
9
+ import { indentWithTab } from "@codemirror/commands";
10
+ import { foldAll } from "@codemirror/language";
11
+ import { ButtonView } from "../html/Button";
12
+ import { prettifyHtml } from "../../utilities/common";
13
+ import { DivView } from "../html/Div";
14
+ export class HtmlEditorViewModel extends ViewModel {
15
+ constructor(options) {
16
+ super(options);
17
+ if (options) {
18
+ if (isObservableProperty(options.value)) {
19
+ this.value = options.value;
20
+ }
21
+ else {
22
+ this.value = observableProperty(options.value);
23
+ }
24
+ if (!options.eventListeners) {
25
+ options.eventListeners = {};
26
+ }
27
+ }
28
+ }
29
+ value;
30
+ }
31
+ export class HtmlEditorView extends View {
32
+ constructor(viewModel, designTimeOptions) {
33
+ super({
34
+ tagName: "div",
35
+ viewModel: viewModel
36
+ }, extendViewModel({
37
+ viewType: "HtmlEditor",
38
+ attributes: {
39
+ tabindex: 1
40
+ },
41
+ style: {
42
+ display: "flex",
43
+ flexDirection: "column",
44
+ border: "1px solid #a3d0e4"
45
+ }
46
+ }, designTimeOptions));
47
+ }
48
+ editor;
49
+ build() {
50
+ super.build();
51
+ const viewModel = this.viewModel;
52
+ const foldAllButton = new ButtonView({
53
+ content: "Collapse all",
54
+ style: {
55
+ margin: "3px"
56
+ },
57
+ eventListeners: {
58
+ click: {
59
+ listener: () => {
60
+ foldAll(this.editor);
61
+ }
62
+ }
63
+ }
64
+ });
65
+ const formatButton = new ButtonView({
66
+ content: "Format",
67
+ style: {
68
+ margin: "3px"
69
+ },
70
+ eventListeners: {
71
+ click: {
72
+ listener: () => {
73
+ var formattedHtml = prettifyHtml(this.editor.state.doc.toString());
74
+ this.editor.dispatch({ changes: { from: 0, to: this.editor.state.doc.length, insert: formattedHtml } });
75
+ }
76
+ }
77
+ }
78
+ });
79
+ const saveButton = new ButtonView({
80
+ content: "Save",
81
+ style: {
82
+ margin: "3px"
83
+ },
84
+ eventListeners: {
85
+ click: {
86
+ listener: () => {
87
+ if (isObservableProperty(viewModel.value)) {
88
+ viewModel.value.set(this.editor.state.doc.toString());
89
+ }
90
+ }
91
+ }
92
+ }
93
+ });
94
+ const buttons = new DivView({
95
+ style: {
96
+ display: "flex"
97
+ },
98
+ children: [
99
+ foldAllButton,
100
+ formatButton,
101
+ saveButton
102
+ ]
103
+ });
104
+ this.element.appendChild(buttons.render());
105
+ const state = EditorState.create({
106
+ extensions: [
107
+ basicSetup,
108
+ html(),
109
+ EditorView.lineWrapping,
110
+ keymap.of([indentWithTab])
111
+ ]
112
+ });
113
+ this.editor = new EditorView({
114
+ state: state,
115
+ parent: this.element,
116
+ });
117
+ this.editor.dom.style.overflow = "auto";
118
+ this.editor.dispatch({ changes: { from: 0, to: this.editor.state.doc.length, insert: unwrap(viewModel.value) } });
119
+ if (isObservable(viewModel.value)) {
120
+ viewModel.value.subscribe((html) => {
121
+ this.editor.dispatch({ changes: { from: 0, to: this.editor.state.doc.length, insert: html } });
122
+ });
123
+ }
124
+ }
125
+ }
126
+ registerView(HtmlEditorViewModel, HtmlEditorView);
127
+ //# sourceMappingURL=HtmlEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlEditor.js","sourceRoot":"","sources":["../../../src/controls/codeMirror/HtmlEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { View } from "../../framework/View";
2
+ import { ViewModelOptions, ViewModel } from "../../framework/ViewModel";
3
+ import { ObservableProperty } from "../../framework/observable";
4
+ export interface JsonEditorViewModelOptions extends ViewModelOptions {
5
+ value?: string | ObservableProperty<string>;
6
+ }
7
+ export declare class JsonEditorViewModel extends ViewModel implements JsonEditorViewModelOptions {
8
+ constructor(options: JsonEditorViewModelOptions);
9
+ readonly value: ObservableProperty<string>;
10
+ }
11
+ export declare class JsonEditorView extends View<JsonEditorViewModelOptions> {
12
+ constructor(viewModel: JsonEditorViewModelOptions, designTimeOptions?: ViewModelOptions);
13
+ private editor;
14
+ build(): void;
15
+ }