jpf 4.1.26 → 4.1.28

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 (181) hide show
  1. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.d.ts +15 -0
  2. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js +127 -0
  3. package/dist/controls/codeMirror/HtmlEditor/HtmlEditor.js.map +1 -0
  4. package/dist/controls/codeMirror/JsonEditor/JsonEditor.d.ts +15 -0
  5. package/dist/controls/codeMirror/JsonEditor/JsonEditor.js +111 -0
  6. package/dist/controls/codeMirror/JsonEditor/JsonEditor.js.map +1 -0
  7. package/dist/controls/codeMirror/index.d.ts +2 -0
  8. package/dist/controls/codeMirror/index.js +3 -0
  9. package/dist/controls/codeMirror/index.js.map +1 -0
  10. package/dist/controls/custom/Content/Content.d.ts +16 -0
  11. package/dist/controls/custom/Content/Content.js +45 -0
  12. package/dist/controls/custom/Content/Content.js.map +1 -0
  13. package/dist/controls/custom/FileSelector/FileSelector.d.ts +17 -0
  14. package/dist/controls/custom/FileSelector/FileSelector.js +54 -0
  15. package/dist/controls/custom/FileSelector/FileSelector.js.map +1 -0
  16. package/dist/controls/custom/LabeledControl/LabeledControl.d.ts +14 -0
  17. package/dist/controls/custom/LabeledControl/LabeledControl.js +32 -0
  18. package/dist/controls/custom/LabeledControl/LabeledControl.js.map +1 -0
  19. package/dist/controls/custom/ListItem/ListItem.d.ts +30 -0
  20. package/dist/controls/custom/ListItem/ListItem.js +61 -0
  21. package/dist/controls/custom/ListItem/ListItem.js.map +1 -0
  22. package/dist/controls/custom/index.d.ts +4 -0
  23. package/dist/controls/custom/index.js +5 -0
  24. package/dist/controls/custom/index.js.map +1 -0
  25. package/dist/controls/html/Button/Button.d.ts +15 -0
  26. package/dist/controls/html/Button/Button.js +48 -0
  27. package/dist/controls/html/Button/Button.js.map +1 -0
  28. package/dist/controls/html/Div/Div.d.ts +12 -0
  29. package/dist/controls/html/Div/Div.js +17 -0
  30. package/dist/controls/html/Div/Div.js.map +1 -0
  31. package/dist/controls/html/Image/Image.d.ts +7 -0
  32. package/dist/controls/html/Image/Image.js +16 -0
  33. package/dist/controls/html/Image/Image.js.map +1 -0
  34. package/dist/controls/html/Input/Input.d.ts +43 -0
  35. package/dist/controls/html/Input/Input.js +179 -0
  36. package/dist/controls/html/Input/Input.js.map +1 -0
  37. package/dist/controls/html/Select/Select.d.ts +29 -0
  38. package/dist/controls/html/Select/Select.js +126 -0
  39. package/dist/controls/html/Select/Select.js.map +1 -0
  40. package/dist/controls/html/Span/Span.d.ts +7 -0
  41. package/dist/controls/html/Span/Span.js +16 -0
  42. package/dist/controls/html/Span/Span.js.map +1 -0
  43. package/dist/controls/html/index.d.ts +6 -0
  44. package/dist/controls/html/index.js +7 -0
  45. package/dist/controls/html/index.js.map +1 -0
  46. package/dist/controls/index.d.ts +12 -0
  47. package/dist/controls/index.js +13 -0
  48. package/dist/controls/index.js.map +1 -0
  49. package/dist/controls/jsonViewAwesome/index.d.ts +1 -0
  50. package/dist/controls/jsonViewAwesome/index.js +2 -0
  51. package/dist/controls/jsonViewAwesome/index.js.map +1 -0
  52. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.d.ts +27 -0
  53. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.js +72 -0
  54. package/dist/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.js.map +1 -0
  55. package/dist/controls/kendo/Culture/Culture.d.ts +1 -0
  56. package/dist/controls/kendo/Culture/Culture.js +26 -0
  57. package/dist/controls/kendo/Culture/Culture.js.map +1 -0
  58. package/dist/controls/kendo/DataSource/DataSource.d.ts +4 -0
  59. package/dist/controls/kendo/DataSource/DataSource.js +2 -0
  60. package/dist/controls/kendo/DataSource/DataSource.js.map +1 -0
  61. package/dist/controls/kendo/Dialog/Dialog.d.ts +13 -0
  62. package/dist/controls/kendo/Dialog/Dialog.js +46 -0
  63. package/dist/controls/kendo/Dialog/Dialog.js.map +1 -0
  64. package/dist/controls/kendo/Editor/Editor.d.ts +18 -0
  65. package/dist/controls/kendo/Editor/Editor.js +113 -0
  66. package/dist/controls/kendo/Editor/Editor.js.map +1 -0
  67. package/dist/controls/kendo/Grid/Grid.d.ts +52 -0
  68. package/dist/controls/kendo/Grid/Grid.js +246 -0
  69. package/dist/controls/kendo/Grid/Grid.js.map +1 -0
  70. package/dist/controls/kendo/Menu/Menu.d.ts +14 -0
  71. package/dist/controls/kendo/Menu/Menu.js +86 -0
  72. package/dist/controls/kendo/Menu/Menu.js.map +1 -0
  73. package/dist/controls/kendo/ObservableObject/ObservableObject.d.ts +5 -0
  74. package/dist/controls/kendo/ObservableObject/ObservableObject.js +35 -0
  75. package/dist/controls/kendo/ObservableObject/ObservableObject.js.map +1 -0
  76. package/dist/controls/kendo/Tree/Tree.d.ts +16 -0
  77. package/dist/controls/kendo/Tree/Tree.js +104 -0
  78. package/dist/controls/kendo/Tree/Tree.js.map +1 -0
  79. package/dist/controls/kendo/index.d.ts +8 -0
  80. package/dist/controls/kendo/index.js +9 -0
  81. package/dist/controls/kendo/index.js.map +1 -0
  82. package/dist/controls/leaflet/LabelControl/LabelControl.d.ts +11 -0
  83. package/dist/controls/leaflet/LabelControl/LabelControl.js +31 -0
  84. package/dist/controls/leaflet/LabelControl/LabelControl.js.map +1 -0
  85. package/dist/controls/leaflet/Map/Map.d.ts +46 -0
  86. package/dist/controls/leaflet/Map/Map.js +122 -0
  87. package/dist/controls/leaflet/Map/Map.js.map +1 -0
  88. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.d.ts +7 -0
  89. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js +11 -0
  90. package/dist/controls/leaflet/OpenStreetMapTileLayer/OpenStreetMapTileLayer.js.map +1 -0
  91. package/dist/controls/leaflet/PointerEvent/PointerEvent.d.ts +2 -0
  92. package/dist/controls/leaflet/PointerEvent/PointerEvent.js +8 -0
  93. package/dist/controls/leaflet/PointerEvent/PointerEvent.js.map +1 -0
  94. package/dist/controls/leaflet/index.d.ts +4 -0
  95. package/dist/controls/leaflet/index.js +5 -0
  96. package/dist/controls/leaflet/index.js.map +1 -0
  97. package/dist/framework/View.d.ts +32 -0
  98. package/dist/framework/View.js +98 -0
  99. package/dist/framework/View.js.map +1 -0
  100. package/dist/framework/ViewModel.d.ts +54 -0
  101. package/dist/framework/ViewModel.js +364 -0
  102. package/dist/framework/ViewModel.js.map +1 -0
  103. package/dist/framework/attributes.d.ts +45 -0
  104. package/dist/framework/attributes.js +2 -0
  105. package/dist/framework/attributes.js.map +1 -0
  106. package/dist/framework/event.d.ts +73 -0
  107. package/dist/framework/event.js +26 -0
  108. package/dist/framework/event.js.map +1 -0
  109. package/dist/framework/observable.d.ts +12 -0
  110. package/dist/framework/observable.js +59 -0
  111. package/dist/framework/observable.js.map +1 -0
  112. package/dist/framework/style.d.ts +658 -0
  113. package/dist/framework/style.js +154 -0
  114. package/dist/framework/style.js.map +1 -0
  115. package/dist/framework/types.d.ts +85 -0
  116. package/dist/framework/types.js +2 -0
  117. package/dist/framework/types.js.map +1 -0
  118. package/dist/framework/userAgent.d.ts +31 -0
  119. package/dist/framework/userAgent.js +47 -0
  120. package/dist/framework/userAgent.js.map +1 -0
  121. package/dist/index.d.ts +12 -0
  122. package/dist/index.js +13 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/utilities/blob/blob.d.ts +1 -0
  125. package/dist/utilities/blob/blob.js +18 -0
  126. package/dist/utilities/blob/blob.js.map +1 -0
  127. package/dist/utilities/cookie/cookie.d.ts +3 -0
  128. package/dist/utilities/cookie/cookie.js +27 -0
  129. package/dist/utilities/cookie/cookie.js.map +1 -0
  130. package/dist/utilities/dataReaderTable/dataReaderTable.d.ts +9 -0
  131. package/dist/utilities/dataReaderTable/dataReaderTable.js +24 -0
  132. package/dist/utilities/dataReaderTable/dataReaderTable.js.map +1 -0
  133. package/dist/utilities/fetch/fetch.d.ts +8 -0
  134. package/dist/utilities/fetch/fetch.js +138 -0
  135. package/dist/utilities/fetch/fetch.js.map +1 -0
  136. package/dist/utilities/float/float.d.ts +1 -0
  137. package/dist/utilities/float/float.js +4 -0
  138. package/dist/utilities/float/float.js.map +1 -0
  139. package/dist/utilities/formData/formData.d.ts +1 -0
  140. package/dist/utilities/formData/formData.js +12 -0
  141. package/dist/utilities/formData/formData.js.map +1 -0
  142. package/dist/utilities/html/html.d.ts +1 -0
  143. package/dist/utilities/html/html.js +8 -0
  144. package/dist/utilities/html/html.js.map +1 -0
  145. package/dist/utilities/htmlElement/htmlElement.d.ts +1 -0
  146. package/dist/utilities/htmlElement/htmlElement.js +17 -0
  147. package/dist/utilities/htmlElement/htmlElement.js.map +1 -0
  148. package/dist/utilities/image/image.d.ts +1 -0
  149. package/dist/utilities/image/image.js +2 -0
  150. package/dist/utilities/image/image.js.map +1 -0
  151. package/dist/utilities/index.d.ts +36 -0
  152. package/dist/utilities/index.js +37 -0
  153. package/dist/utilities/index.js.map +1 -0
  154. package/dist/utilities/integer/integer.d.ts +3 -0
  155. package/dist/utilities/integer/integer.js +28 -0
  156. package/dist/utilities/integer/integer.js.map +1 -0
  157. package/dist/utilities/key/key.d.ts +2 -0
  158. package/dist/utilities/key/key.js +7 -0
  159. package/dist/utilities/key/key.js.map +1 -0
  160. package/dist/utilities/navigator/navigator.d.ts +1 -0
  161. package/dist/utilities/navigator/navigator.js +9 -0
  162. package/dist/utilities/navigator/navigator.js.map +1 -0
  163. package/dist/utilities/notification/notification.d.ts +5 -0
  164. package/dist/utilities/notification/notification.js +67 -0
  165. package/dist/utilities/notification/notification.js.map +1 -0
  166. package/dist/utilities/querystring/querystring.d.ts +4 -0
  167. package/dist/utilities/querystring/querystring.js +38 -0
  168. package/dist/utilities/querystring/querystring.js.map +1 -0
  169. package/dist/utilities/router/router.d.ts +18 -0
  170. package/dist/utilities/router/router.js +63 -0
  171. package/dist/utilities/router/router.js.map +1 -0
  172. package/dist/utilities/stylesheet/stylesheet.d.ts +2 -0
  173. package/dist/utilities/stylesheet/stylesheet.js +48 -0
  174. package/dist/utilities/stylesheet/stylesheet.js.map +1 -0
  175. package/dist/utilities/uniqueId/uniqueId.d.ts +1 -0
  176. package/dist/utilities/uniqueId/uniqueId.js +5 -0
  177. package/dist/utilities/uniqueId/uniqueId.js.map +1 -0
  178. package/dist/utilities/webSocket/webSocket.d.ts +1 -0
  179. package/dist/utilities/webSocket/webSocket.js +55 -0
  180. package/dist/utilities/webSocket/webSocket.js.map +1 -0
  181. package/package.json +1 -1
@@ -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 JsonFormatterViewModel 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 JsonFormatterView extends View {
28
+ constructor(viewModel) {
29
+ super({
30
+ tagName: "div",
31
+ viewModel: extendViewModel({
32
+ viewType: "JsonFormatter"
33
+ }, viewModel)
34
+ });
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(JsonFormatterViewModel, JsonFormatterView);
72
+ //# sourceMappingURL=JsonFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonFormatter.js","sourceRoot":"","sources":["../../../../src/controls/jsonViewAwesome/jsonFormatter/JsonFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function setCulture(cultureCode: string): Promise<void>;
@@ -0,0 +1,26 @@
1
+ import { getScript } from "jquery";
2
+ import kendo from "@progress/kendo-ui/js/kendo.core";
3
+ export async function setCulture(cultureCode) {
4
+ if (!cultureCode || cultureCode === "en-US")
5
+ return;
6
+ const kendoVersion = "2021.1.330";
7
+ const urlPrefix = "https://kendo.cdn.telerik.com/" + kendoVersion + "/js/";
8
+ const urlPostfix = "." + cultureCode + ".min.js";
9
+ try {
10
+ await getScript(urlPrefix + "cultures/kendo.culture" + urlPostfix);
11
+ kendo.culture(cultureCode);
12
+ }
13
+ catch (ec) {
14
+ const error = ec;
15
+ kendo.culture("en-US");
16
+ console.log("Failed loading culture for " + cultureCode + ": " + error.message);
17
+ }
18
+ try {
19
+ await getScript(urlPrefix + "messages/kendo.messages" + urlPostfix);
20
+ }
21
+ catch (em) {
22
+ const error = em;
23
+ console.log("Failed loading messages for " + cultureCode + ": " + error.message);
24
+ }
25
+ }
26
+ //# sourceMappingURL=Culture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Culture.js","sourceRoot":"","sources":["../../../../src/controls/kendo/Culture/Culture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,MAAM,kCAAkC,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAAmB;IAChD,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,OAAO;QAAE,OAAO;IAEpD,MAAM,YAAY,GAAG,YAAY,CAAC;IAClC,MAAM,SAAS,GAAG,gCAAgC,GAAG,YAAY,GAAG,MAAM,CAAC;IAC3E,MAAM,UAAU,GAAG,GAAG,GAAG,WAAW,GAAG,SAAS,CAAC;IAEjD,IAAI;QACA,MAAM,SAAS,CAAC,SAAS,GAAG,wBAAwB,GAAG,UAAU,CAAC,CAAC;QAGnE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KAE9B;IAAC,OAAO,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,EAAW,CAAC;QAE1B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;KACnF;IAED,IAAI;QACA,MAAM,SAAS,CAAC,SAAS,GAAG,yBAAyB,GAAG,UAAU,CAAC,CAAC;KAGvE;IAAC,OAAO,EAAE,EAAE;QACT,MAAM,KAAK,GAAG,EAAW,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;KACpF;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface ChangedItem {
2
+ key: string;
3
+ dirtyFields: object;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DataSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataSource.js","sourceRoot":"","sources":["../../../../src/controls/kendo/DataSource/DataSource.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { View } from "../../../framework/View";
2
+ import { ButtonView } from "../../html/Button/Button";
3
+ export interface DialogOptions {
4
+ content?: View;
5
+ buttons?: Array<ButtonView>;
6
+ }
7
+ export declare class Dialog {
8
+ constructor(options: DialogOptions);
9
+ private options;
10
+ private dialog;
11
+ open(): void;
12
+ close(): void;
13
+ }
@@ -0,0 +1,46 @@
1
+ import * as kendo from "@progress/kendo-ui/js/kendo.window.js";
2
+ import { DivView } from "../../html/Div/Div";
3
+ export class Dialog {
4
+ constructor(options) {
5
+ this.options = options;
6
+ }
7
+ options;
8
+ dialog;
9
+ open() {
10
+ this.dialog = new kendo.ui.Window(document.createElement("div"), {
11
+ modal: true,
12
+ maxHeight: window.innerHeight * 0.9,
13
+ maxWidth: window.innerWidth * 0.9,
14
+ open: (x) => {
15
+ console.log(x);
16
+ this.dialog.center();
17
+ const wrapper = this.dialog.wrapper.get(0);
18
+ if (this.options.content) {
19
+ const content = wrapper.querySelector(".k-window-content");
20
+ if (content) {
21
+ content.appendChild(this.options.content.render());
22
+ }
23
+ }
24
+ if (this.options.buttons) {
25
+ const footer = new DivView({
26
+ children: this.options.buttons,
27
+ style: {
28
+ display: "flex",
29
+ justifyContent: "flex-end",
30
+ borderTop: "1px solid gray",
31
+ padding: "5px"
32
+ }
33
+ });
34
+ wrapper.appendChild(footer.render());
35
+ }
36
+ }
37
+ });
38
+ this.dialog.open();
39
+ }
40
+ close() {
41
+ if (this.dialog) {
42
+ this.dialog.close();
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/controls/kendo/Dialog/Dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,uCAAuC,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQ7C,MAAM,OAAO,MAAM;IACf,YAAY,OAAsB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEO,OAAO,CAAgB;IACvB,MAAM,CAAkB;IAEhC,IAAI;QACA,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,CAC7B,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,EAC7B;YACI,KAAK,EAAE,IAAI;YACX,SAAS,EAAG,MAAiB,CAAC,WAAW,GAAG,GAAG;YAC/C,QAAQ,EAAG,MAAiB,CAAC,UAAU,GAAG,GAAG;YAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAgB,CAAC;gBAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACtB,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;oBAC3D,IAAI,OAAO,EAAE;wBACT,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;qBACtD;iBACJ;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACtB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC;wBACvB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;wBAC9B,KAAK,EAAE;4BACH,OAAO,EAAE,MAAM;4BACf,cAAc,EAAE,UAAU;4BAC1B,SAAS,EAAE,gBAAgB;4BAC3B,OAAO,EAAE,KAAK;yBACjB;qBACJ,CAAC,CAAC;oBACH,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;iBACxC;YACL,CAAC;SACJ,CACJ,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,KAAK;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACvB;IACL,CAAC;CACJ"}
@@ -0,0 +1,18 @@
1
+ import * as kendo from "@progress/kendo-ui/js/kendo.editor.js";
2
+ import { View } from "../../../framework/View";
3
+ import { ViewModelOptions, ViewModel } from "../../../framework/ViewModel";
4
+ import { ObservableProperty } from "../../../framework/observable";
5
+ export interface EditorViewModelOptions extends ViewModelOptions {
6
+ value?: string | ObservableProperty<string>;
7
+ tools?: string[] | kendo.ui.EditorTool[];
8
+ }
9
+ export declare class EditorViewModel extends ViewModel implements EditorViewModelOptions {
10
+ constructor(options: EditorViewModelOptions);
11
+ readonly value: ObservableProperty<string>;
12
+ readonly tools: string[] | kendo.ui.EditorTool[];
13
+ }
14
+ export declare class EditorView extends View<EditorViewModelOptions> {
15
+ constructor(viewModel: EditorViewModelOptions);
16
+ private editor;
17
+ build(): void;
18
+ }
@@ -0,0 +1,113 @@
1
+ import * as kendo from "@progress/kendo-ui/js/kendo.editor.js";
2
+ import { View, registerView } from "../../../framework/View";
3
+ import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
4
+ import { unwrap, isObservable, computed, observable } from "knockout";
5
+ import { isObservableProperty, observableProperty } from "../../../framework/observable";
6
+ import { DivView } from "../../html/Div/Div";
7
+ import { ButtonView } from "../../html/Button/Button";
8
+ import { prettifyHtml } from "../../../utilities/html/html";
9
+ export class EditorViewModel extends ViewModel {
10
+ constructor(options) {
11
+ super(options);
12
+ if (options) {
13
+ if (isObservableProperty(options.value)) {
14
+ this.value = options.value;
15
+ }
16
+ else {
17
+ this.value = observableProperty(options.value);
18
+ }
19
+ if (!options.eventListeners) {
20
+ options.eventListeners = {};
21
+ }
22
+ this.tools = options.tools;
23
+ }
24
+ }
25
+ value;
26
+ tools;
27
+ }
28
+ export class EditorView extends View {
29
+ constructor(viewModel) {
30
+ super({
31
+ tagName: "div",
32
+ viewModel: extendViewModel({
33
+ viewType: "KendoEditor",
34
+ style: {
35
+ display: "flex",
36
+ flexDirection: "column"
37
+ }
38
+ }, viewModel)
39
+ });
40
+ }
41
+ editor;
42
+ build() {
43
+ super.build();
44
+ const viewModel = this.viewModel;
45
+ const htmlMode = observable(false);
46
+ const divHeader = new DivView({
47
+ children: [
48
+ new ButtonView({
49
+ content: computed(() => {
50
+ return htmlMode() ? "wysiwyg" : "view html source";
51
+ }),
52
+ eventListeners: {
53
+ click: {
54
+ listener: () => {
55
+ htmlMode(!htmlMode());
56
+ }
57
+ }
58
+ },
59
+ style: {
60
+ width: "120px",
61
+ marginTop: "2px"
62
+ }
63
+ })
64
+ ]
65
+ }).render();
66
+ const divElement = new DivView({
67
+ visible: computed(() => {
68
+ return !htmlMode();
69
+ }),
70
+ style: {
71
+ flexGrow: 1
72
+ }
73
+ }).render();
74
+ const textAreaElement = new View({
75
+ tagName: "textarea",
76
+ viewModel: {
77
+ visible: htmlMode,
78
+ style: {
79
+ flexGrow: 1,
80
+ borderColor: "transparent",
81
+ borderRadius: "4px"
82
+ }
83
+ }
84
+ }).render();
85
+ this.element.appendChild(divElement);
86
+ this.element.appendChild(textAreaElement);
87
+ this.element.appendChild(divHeader);
88
+ const html = unwrap(viewModel.value);
89
+ divElement.innerHTML = html;
90
+ textAreaElement.value = prettifyHtml(html);
91
+ if (isObservable(viewModel.value)) {
92
+ viewModel.value.subscribe((value) => {
93
+ divElement.innerHTML = value;
94
+ textAreaElement.value = value;
95
+ });
96
+ }
97
+ this.editor = new kendo.ui.Editor(divElement, {
98
+ tools: viewModel.tools
99
+ });
100
+ this.editor.bind("change", () => {
101
+ if (isObservableProperty(viewModel.value)) {
102
+ viewModel.value.set(divElement.innerHTML);
103
+ }
104
+ });
105
+ textAreaElement.addEventListener("change", () => {
106
+ if (isObservableProperty(viewModel.value)) {
107
+ viewModel.value.set(textAreaElement.value);
108
+ }
109
+ });
110
+ }
111
+ }
112
+ registerView(EditorViewModel, EditorView);
113
+ //# sourceMappingURL=Editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Editor.js","sourceRoot":"","sources":["../../../../src/controls/kendo/Editor/Editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import * as kendo from "@progress/kendo-ui/js/kendo.grid.js";
2
+ import { View } from "../../../framework/View";
3
+ import { ViewModelOptions, ViewModel } from "../../../framework/ViewModel";
4
+ import { ObservableArrayProperty, ObservableProperty } from "../../../framework/observable";
5
+ import { ChangedItem } from "../DataSource/DataSource";
6
+ export interface GridViewModelOptions extends ViewModelOptions {
7
+ items?: Array<any> | ObservableArrayProperty<any>;
8
+ idProperty?: string;
9
+ columns?: Array<kendo.ui.GridColumn>;
10
+ pageSize?: number;
11
+ sortable?: boolean | kendo.ui.GridSortable;
12
+ scrollable?: kendo.ui.GridScrollable;
13
+ editable?: kendo.ui.GridEditable;
14
+ filterable?: boolean | kendo.ui.GridFilterable;
15
+ toolbar?: string | Array<string>;
16
+ selectable?: boolean | string;
17
+ selectedItem?: any | ObservableProperty<any>;
18
+ selectedItems?: Array<any> | ObservableArrayProperty<any>;
19
+ onDataSourceChange?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
20
+ onDataSourceAdd?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
21
+ onDataSourceRemove?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
22
+ onGridChange?: (selectedItems: Array<any>, grid: kendo.ui.Grid) => void;
23
+ onRowContextMenu?: (event: PointerEvent, dataItem: any) => void;
24
+ }
25
+ export declare class GridViewModel extends ViewModel implements GridViewModelOptions {
26
+ constructor(options: GridViewModelOptions);
27
+ readonly items: ObservableArrayProperty<any>;
28
+ readonly idProperty: string;
29
+ readonly columns: Array<kendo.ui.GridColumn>;
30
+ readonly pageSize: number;
31
+ readonly sortable: boolean | kendo.ui.GridSortable;
32
+ readonly scrollable: kendo.ui.GridScrollable;
33
+ readonly editable: kendo.ui.GridEditable;
34
+ readonly filterable: boolean | kendo.ui.GridFilterable;
35
+ readonly toolbar: string | Array<string>;
36
+ readonly selectable: boolean | string;
37
+ readonly selectedItem?: ObservableProperty<any>;
38
+ readonly selectedItems?: ObservableArrayProperty<any>;
39
+ readonly onDataSourceChange?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
40
+ readonly onDataSourceAdd?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
41
+ readonly onDataSourceRemove?: (items: Array<ChangedItem>, dataSource: kendo.data.DataSource) => void;
42
+ selectItem(index?: number): void;
43
+ }
44
+ export declare class GridView extends View<GridViewModelOptions> {
45
+ constructor(viewModel: GridViewModelOptions);
46
+ private grid;
47
+ private dataSource;
48
+ private getItemById;
49
+ build(): void;
50
+ }
51
+ export declare function getSelectedDataItem<TDataItem>(grid: kendo.ui.Grid): TDataItem;
52
+ export declare function getSelectedDataItems(grid: kendo.ui.Grid): object[];
@@ -0,0 +1,246 @@
1
+ import * as kendo from "@progress/kendo-ui/js/kendo.grid.js";
2
+ import { View, registerView } from "../../../framework/View";
3
+ import { ViewModel, extendViewModel } from "../../../framework/ViewModel";
4
+ import { unwrap, isObservable, utils } from "knockout";
5
+ import { knockoutObservableToKendoObservableArray, getUnderlyingObject } from "../ObservableObject/ObservableObject";
6
+ export class GridViewModel extends ViewModel {
7
+ constructor(options) {
8
+ super(options);
9
+ if (options) {
10
+ this.items = options.items;
11
+ this.idProperty = options.idProperty;
12
+ this.columns = options.columns;
13
+ this.pageSize = options.pageSize;
14
+ this.sortable = options.sortable;
15
+ this.scrollable = options.scrollable;
16
+ this.editable = options.editable;
17
+ this.filterable = options.filterable;
18
+ this.toolbar = options.toolbar;
19
+ this.selectable = options.selectable;
20
+ this.selectedItem = options.selectedItem;
21
+ this.selectedItems = options.selectedItems;
22
+ this.onDataSourceChange = options.onDataSourceChange;
23
+ this.onDataSourceAdd = options.onDataSourceAdd;
24
+ this.onDataSourceRemove = options.onDataSourceRemove;
25
+ }
26
+ }
27
+ items;
28
+ idProperty;
29
+ columns;
30
+ pageSize;
31
+ sortable;
32
+ scrollable;
33
+ editable;
34
+ filterable;
35
+ toolbar;
36
+ selectable;
37
+ selectedItem;
38
+ selectedItems;
39
+ onDataSourceChange;
40
+ onDataSourceAdd;
41
+ onDataSourceRemove;
42
+ selectItem(index = null) {
43
+ if (!index) {
44
+ index = 0;
45
+ }
46
+ const items = unwrap(this.items);
47
+ const item = items[index];
48
+ if (item) {
49
+ if (this.selectedItem) {
50
+ const observableProperty = this.selectedItem;
51
+ if (observableProperty.set) {
52
+ observableProperty.set(item);
53
+ }
54
+ }
55
+ if (this.selectedItems) {
56
+ const observableArrayProperty = this.selectedItems;
57
+ if (observableArrayProperty.set) {
58
+ observableArrayProperty.set([item]);
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ export class GridView extends View {
65
+ constructor(viewModel) {
66
+ super({
67
+ tagName: "div",
68
+ viewModel: extendViewModel({
69
+ viewType: "KendoGrid"
70
+ }, viewModel)
71
+ });
72
+ }
73
+ grid;
74
+ dataSource;
75
+ getItemById(id) {
76
+ if (this.viewModel.idProperty) {
77
+ const items = this.dataSource.data();
78
+ return utils.arrayFirst(items, (item) => { return item[this.viewModel.idProperty] === id; });
79
+ }
80
+ throw "Can only getItem when idProperty is set";
81
+ }
82
+ build() {
83
+ super.build();
84
+ const viewModel = this.viewModel;
85
+ this.dataSource = new kendo.data.DataSource({
86
+ data: knockoutObservableToKendoObservableArray(viewModel.items),
87
+ pageSize: this.viewModel.pageSize || 30,
88
+ change: (event) => {
89
+ var items = event.items;
90
+ switch (event.action) {
91
+ case "itemchange":
92
+ if (viewModel.onDataSourceChange) {
93
+ viewModel.onDataSourceChange(items, event.sender);
94
+ }
95
+ break;
96
+ case "add":
97
+ if (viewModel.onDataSourceAdd) {
98
+ viewModel.onDataSourceAdd(items, event.sender);
99
+ }
100
+ break;
101
+ case "remove":
102
+ if (viewModel.onDataSourceRemove) {
103
+ viewModel.onDataSourceRemove(items, event.sender);
104
+ }
105
+ break;
106
+ }
107
+ }
108
+ });
109
+ this.grid = new kendo.ui.Grid(this.element, {
110
+ dataSource: this.dataSource,
111
+ columns: this.viewModel.columns,
112
+ toolbar: this.viewModel.toolbar,
113
+ scrollable: this.viewModel.scrollable,
114
+ sortable: this.viewModel.sortable,
115
+ editable: this.viewModel.editable,
116
+ filterable: this.viewModel.filterable,
117
+ change: (event) => {
118
+ if (this.viewModel.selectedItem) {
119
+ const selectedItem = getSelectedDataItem(event.sender);
120
+ const observableProperty = this.viewModel.selectedItem;
121
+ if (observableProperty.set) {
122
+ observableProperty.set(selectedItem);
123
+ }
124
+ }
125
+ if (this.viewModel.selectedItems) {
126
+ const selectedItems = getSelectedDataItems(event.sender);
127
+ const observableArrayProperty = this.viewModel.selectedItems;
128
+ if (observableArrayProperty.set) {
129
+ observableArrayProperty.set(selectedItems);
130
+ }
131
+ }
132
+ if (this.viewModel.onGridChange) {
133
+ this.viewModel.onGridChange(getSelectedDataItems(event.sender), event.sender);
134
+ }
135
+ },
136
+ selectable: this.viewModel.selectable
137
+ });
138
+ if (viewModel.onRowContextMenu) {
139
+ this.grid.table.contextmenu((event) => {
140
+ event.preventDefault();
141
+ var target = event.target;
142
+ var row;
143
+ if (target instanceof HTMLElement) {
144
+ switch (target.tagName.toLowerCase()) {
145
+ case "td":
146
+ row = target.parentElement;
147
+ break;
148
+ case "tr":
149
+ row = target;
150
+ break;
151
+ }
152
+ }
153
+ if (row) {
154
+ let dataItem = this.grid.dataItem(row);
155
+ if (dataItem) {
156
+ const underlyingObject = getUnderlyingObject(dataItem);
157
+ if (underlyingObject) {
158
+ dataItem = underlyingObject;
159
+ }
160
+ setTimeout(() => {
161
+ viewModel.onRowContextMenu(event, dataItem);
162
+ });
163
+ }
164
+ ;
165
+ }
166
+ });
167
+ }
168
+ if (isObservable(viewModel.items)) {
169
+ viewModel.items.subscribe((items) => {
170
+ if (items) {
171
+ this.dataSource.data(new kendo.data.ObservableArray(knockoutObservableToKendoObservableArray(items)));
172
+ }
173
+ else {
174
+ this.dataSource.data([]);
175
+ }
176
+ });
177
+ }
178
+ if (isObservable(viewModel.selectedItem)) {
179
+ viewModel.selectedItem.subscribe((selectedItem) => {
180
+ if (selectedItem && viewModel.idProperty) {
181
+ setTimeout(() => {
182
+ const id = selectedItem[viewModel.idProperty];
183
+ const item = this.getItemById(id);
184
+ this.grid.tbody.find("tr.k-state-selected").removeClass("k-state-selected");
185
+ this.grid.tbody.find("tr[data-uid='" + item.uid + "']").addClass("k-state-selected");
186
+ }, 10);
187
+ }
188
+ else {
189
+ this.grid.select();
190
+ }
191
+ });
192
+ }
193
+ if (isObservable(viewModel.selectedItems)) {
194
+ viewModel.selectedItems.subscribe((selectedItems) => {
195
+ if (selectedItems && selectedItems.length > 0 && viewModel.idProperty) {
196
+ setTimeout(() => {
197
+ this.grid.tbody.find("tr.k-state-selected").removeClass("k-state-selected");
198
+ for (let index = 0; index < selectedItems.length; index++) {
199
+ const selectedItem = selectedItems[index];
200
+ const id = selectedItem[viewModel.idProperty];
201
+ const item = this.getItemById(id);
202
+ this.grid.tbody.find("tr[data-uid='" + item.uid + "']").addClass("k-state-selected");
203
+ }
204
+ }, 10);
205
+ }
206
+ else {
207
+ this.grid.select();
208
+ }
209
+ });
210
+ }
211
+ setTimeout(() => {
212
+ this.grid.resize(true);
213
+ }, 5);
214
+ }
215
+ }
216
+ export function getSelectedDataItem(grid) {
217
+ const selection = grid.select();
218
+ if (selection.length === 1) {
219
+ const dataItem = grid.dataItem(selection[0]);
220
+ const underlyingObject = getUnderlyingObject(dataItem);
221
+ if (underlyingObject) {
222
+ return underlyingObject;
223
+ }
224
+ return dataItem.toJSON();
225
+ }
226
+ return null;
227
+ }
228
+ export function getSelectedDataItems(grid) {
229
+ const selection = grid.select();
230
+ const selectedDataItems = new Array();
231
+ if (selection && selection.length > 0) {
232
+ for (let index = 0; index < selection.length; index++) {
233
+ const dataItem = grid.dataItem(selection[index]);
234
+ const underlyingObject = getUnderlyingObject(dataItem);
235
+ if (underlyingObject) {
236
+ selectedDataItems.push(underlyingObject);
237
+ }
238
+ else {
239
+ selectedDataItems.push(dataItem.toJSON());
240
+ }
241
+ }
242
+ }
243
+ return selectedDataItems;
244
+ }
245
+ registerView(GridViewModel, GridView);
246
+ //# sourceMappingURL=Grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../../../src/controls/kendo/Grid/Grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAoB,SAAS,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE5F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAE,wCAAwC,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAsBrH,MAAM,OAAO,aAAc,SAAQ,SAAS;IACxC,YAAY,OAA6B;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAgC,CAAC;YACtD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAkC,CAAC;YAC/D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAwC,CAAC;YACtE,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YACrD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC/C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;SACxD;IACL,CAAC;IAEQ,KAAK,CAA+B;IACpC,UAAU,CAAS;IACnB,OAAO,CAA6B;IACpC,QAAQ,CAAS;IACjB,QAAQ,CAAkC;IAC1C,UAAU,CAA0B;IACpC,QAAQ,CAAwB;IAChC,UAAU,CAAoC;IAC9C,OAAO,CAAyB;IAChC,UAAU,CAAmB;IAC7B,YAAY,CAA2B;IACvC,aAAa,CAAgC;IAC7C,kBAAkB,CAA0E;IAC5F,eAAe,CAA0E;IACzF,kBAAkB,CAA0E;IAErG,UAAU,CAAC,QAAgB,IAAI;QAC3B,IAAI,CAAC,KAAK,EAAE;YACR,KAAK,GAAG,CAAC,CAAC;SACb;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,EAAE;YACN,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAkC,CAAC;gBACnE,IAAI,kBAAkB,CAAC,GAAG,EAAE;oBACxB,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAChC;aACJ;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,MAAM,uBAAuB,GAAG,IAAI,CAAC,aAAwC,CAAC;gBAC9E,IAAI,uBAAuB,CAAC,GAAG,EAAE;oBAC7B,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvC;aACJ;SACJ;IACL,CAAC;CACJ;AAED,MAAM,OAAO,QAAS,SAAQ,IAA0B;IACpD,YAAY,SAA+B;QACvC,KAAK,CACD;YACI,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,eAAe,CACtB;gBACI,QAAQ,EAAE,WAAW;aACxB,EACD,SAAS,CACZ;SACJ,CACJ,CAAC;IACN,CAAC;IAEO,IAAI,CAAgB;IACpB,UAAU,CAAwB;IAElC,WAAW,CAAC,EAAE;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAuB,CAAC;YAC1D,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC;SAC/F;QAED,MAAM,yCAAyC,CAAC;IACpD,CAAC;IAED,KAAK;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,IAAI,EAAE,wCAAwC,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/D,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE;YACvC,MAAM,EAAE,CAAC,KAAuC,EAAE,EAAE;gBAChD,IAAI,KAAK,GAAG,KAAK,CAAC,KAA2B,CAAC;gBAC9C,QAAQ,KAAK,CAAC,MAAM,EAAE;oBAClB,KAAK,YAAY;wBACb,IAAI,SAAS,CAAC,kBAAkB,EAAE;4BAC9B,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;yBACrD;wBACD,MAAM;oBAEV,KAAK,KAAK;wBACN,IAAI,SAAS,CAAC,eAAe,EAAE;4BAC3B,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;yBAClD;wBACD,MAAM;oBAEV,KAAK,QAAQ;wBACT,IAAI,SAAS,CAAC,kBAAkB,EAAE;4BAC9B,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;yBACrD;wBACD,MAAM;iBACb;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACxC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YAC/B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YAC/B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;YACrC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;YACjC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;YACjC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;YACrC,MAAM,EAAE,CAAC,KAA+B,EAAE,EAAE;gBACxC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;oBAC7B,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAkC,CAAC;oBAC7E,IAAI,kBAAkB,CAAC,GAAG,EAAE;wBACxB,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;qBACxC;iBACJ;gBACD,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;oBAC9B,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACzD,MAAM,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAwC,CAAC;oBACxF,IAAI,uBAAuB,CAAC,GAAG,EAAE;wBAC7B,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;qBAC9C;iBACJ;gBAED,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;oBAC7B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;iBACjF;YACL,CAAC;YACD,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;SACxC,CAAC,CAAC;QAEH,IAAI,SAAS,CAAC,gBAAgB,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAmB,EAAE,EAAE;gBAChD,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC1B,IAAI,GAAwB,CAAC;gBAE7B,IAAI,MAAM,YAAY,WAAW,EAAE;oBAC/B,QAAQ,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;wBAClC,KAAK,IAAI;4BACL,GAAG,GAAG,MAAM,CAAC,aAAoC,CAAC;4BAClD,MAAM;wBAEV,KAAK,IAAI;4BACL,GAAG,GAAG,MAA6B,CAAC;4BACpC,MAAM;qBACb;iBACJ;gBAED,IAAI,GAAG,EAAE;oBACL,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,QAAQ,EAAE;wBACV,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBACvD,IAAI,gBAAgB,EAAE;4BAClB,QAAQ,GAAG,gBAAuB,CAAC;yBACtC;wBACD,UAAU,CAAC,GAAG,EAAE;4BACZ,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAChD,CAAC,CAAC,CAAC;qBAEN;oBAAA,CAAC;iBACL;YACL,CAAC,CAAC,CAAC;SACN;QACD,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC/B,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,wCAAwC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzG;qBAAM;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC5B;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YACtC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,YAAiB,EAAE,EAAE;gBACnD,IAAI,YAAY,IAAI,SAAS,CAAC,UAAU,EAAE;oBACtC,UAAU,CACN,GAAG,EAAE;wBACD,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAElC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;wBAE5E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;oBACzF,CAAC,EACD,EAAE,CACL,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;iBACtB;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;YACvC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,aAAoB,EAAE,EAAE;gBACvD,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE;oBACnE,UAAU,CACN,GAAG,EAAE;wBAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;wBAC5E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;4BACvD,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC1C,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;4BAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;4BAGlC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;yBACxF;oBACL,CAAC,EACD,EAAE,CACL,CAAC;iBACL;qBAAM;oBACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;iBACtB;YACL,CAAC,CAAC,CAAC;SACN;QAGD,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;CACJ;AAED,MAAM,UAAU,mBAAmB,CAAY,IAAmB;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAuB,CAAC;IACrD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,gBAAgB,EAAE;YAClB,OAAO,gBAAoC,CAAC;SAC/C;QACD,OAAO,QAAQ,CAAC,MAAM,EAAe,CAAC;KACzC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAmB;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAuB,CAAC;IACrD,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAE,CAAC;IACtC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,gBAAgB,EAAE;gBAClB,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC5C;iBAAM;gBACH,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;aAC7C;SACJ;KACJ;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,YAAY,CACR,aAAa,EACb,QAAQ,CACX,CAAA"}