@magic-xpa/angular 4.1100.0-dev4110.26 → 4.1100.0-dev4110.260

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 (169) hide show
  1. package/{esm2020 → esm2022}/index.mjs +59 -59
  2. package/{esm2020 → esm2022}/magic-xpa-angular.mjs +1 -1
  3. package/esm2022/src/controls.metadata.model.mjs +183 -0
  4. package/{esm2020 → esm2022}/src/interfaces/sub-form-definition.iterface.mjs +1 -1
  5. package/{esm2020 → esm2022}/src/magic.core.module.mjs +159 -160
  6. package/{esm2020 → esm2022}/src/services/ISubformMagicService.mjs +1 -1
  7. package/esm2022/src/services/OverlayWindowService.mjs +244 -0
  8. package/esm2022/src/services/StylesMapManager.mjs +28 -0
  9. package/esm2022/src/services/accessor.magic.service.mjs +358 -0
  10. package/esm2022/src/services/commands-collector.magic.service.mjs +47 -0
  11. package/esm2022/src/services/component-list.magic.service.mjs +45 -0
  12. package/{esm2020 → esm2022}/src/services/confirmation.components.magic.provider.mjs +21 -21
  13. package/esm2022/src/services/engine.magic.service.mjs +80 -0
  14. package/{esm2020 → esm2022}/src/services/exit.magic.service.mjs +13 -13
  15. package/esm2022/src/services/magic-color.service.mjs +101 -0
  16. package/{esm2020 → esm2022}/src/services/magic.lazy.loader.service.mjs +16 -16
  17. package/{esm2020 → esm2022}/src/services/magic.providers.mjs +24 -24
  18. package/esm2022/src/services/magic.services.mjs +36 -0
  19. package/esm2022/src/services/mg-date-adapter.mjs +108 -0
  20. package/{esm2020 → esm2022}/src/services/overlay.conainer.magic.provider.mjs +14 -14
  21. package/esm2022/src/services/router-commands.magic.service.mjs +31 -0
  22. package/esm2022/src/services/subform.magic.service.mjs +194 -0
  23. package/esm2022/src/services/table.magic.service.mjs +81 -0
  24. package/esm2022/src/services/task.magics.service.mjs +637 -0
  25. package/esm2022/src/services/title.magic.service.mjs +19 -0
  26. package/esm2022/src/ui/GuiInteractiveExecutor.mjs +109 -0
  27. package/esm2022/src/ui/components/base-magic-alert.component.mjs +24 -0
  28. package/esm2022/src/ui/components/base-magic-confirm.component.mjs +24 -0
  29. package/esm2022/src/ui/components/magic-alert.component.mjs +36 -0
  30. package/esm2022/src/ui/components/magic-confirmation-box.component.mjs +42 -0
  31. package/esm2022/src/ui/directives/NonMagicControlDirective.mjs +58 -0
  32. package/esm2022/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +29 -0
  33. package/esm2022/src/ui/directives/magic/checkbox.magic.directive.mjs +29 -0
  34. package/esm2022/src/ui/directives/magic/combobox.magic.directive.mjs +37 -0
  35. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +27 -0
  36. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +85 -0
  37. package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +32 -0
  38. package/esm2022/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +28 -0
  39. package/{esm2020 → esm2022}/src/ui/directives/magic/nocontrol.magic.directive.mjs +193 -193
  40. package/esm2022/src/ui/directives/magic/row.magic.directive.mjs +62 -0
  41. package/esm2022/src/ui/directives/magic-focus.directive.mjs +20 -0
  42. package/esm2022/src/ui/directives/magic.directive.mjs +232 -0
  43. package/esm2022/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
  44. package/esm2022/src/ui/directives/mgformat.magic.directive.mjs +579 -0
  45. package/esm2022/src/ui/directives/range-validator.magic.directive.mjs +60 -0
  46. package/{esm2020 → esm2022}/src/ui/magic-confirmationBox.mjs +41 -41
  47. package/{esm2020 → esm2022}/src/ui/magic-modal/base-magic-overlay-container.mjs +22 -22
  48. package/esm2022/src/ui/magic-modal/magic-modal-form.mjs +6 -0
  49. package/{esm2020 → esm2022}/src/ui/magic-modal/magic-modal-interface.mjs +1 -1
  50. package/esm2022/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +124 -0
  51. package/esm2022/src/ui/magic-modal/magic-overlay-container.mjs +162 -0
  52. package/esm2022/src/ui/magic-root.component.mjs +236 -0
  53. package/esm2022/src/ui/mgerror.magic.component.mjs +125 -0
  54. package/esm2022/src/ui/pipes/date.magic.pipe.mjs +106 -0
  55. package/esm2022/src/ui/pipes/time.magic.pipe.mjs +52 -0
  56. package/esm2022/src/ui/pipes/time24.magic.pipe.mjs +35 -0
  57. package/esm2022/src/ui/router-container.magic.component.mjs +115 -0
  58. package/{esm2020 → esm2022}/src/ui/subform.magic.component.mjs +50 -46
  59. package/esm2022/src/ui/task-base.magic.component.mjs +91 -0
  60. package/{esm2020 → esm2022}/src/ui/utils.mjs +53 -53
  61. package/{fesm2020 → fesm2022}/magic-xpa-angular.mjs +4830 -4444
  62. package/fesm2022/magic-xpa-angular.mjs.map +1 -0
  63. package/index.d.ts +58 -58
  64. package/package.json +10 -16
  65. package/src/controls.metadata.model.d.ts +62 -62
  66. package/src/interfaces/sub-form-definition.iterface.d.ts +12 -12
  67. package/src/magic.core.module.d.ts +41 -41
  68. package/src/services/ISubformMagicService.d.ts +4 -4
  69. package/src/services/OverlayWindowService.d.ts +30 -25
  70. package/src/services/StylesMapManager.d.ts +5 -5
  71. package/src/services/accessor.magic.service.d.ts +69 -69
  72. package/src/services/commands-collector.magic.service.d.ts +15 -15
  73. package/src/services/component-list.magic.service.d.ts +23 -23
  74. package/src/services/confirmation.components.magic.provider.d.ts +8 -8
  75. package/src/services/engine.magic.service.d.ts +27 -27
  76. package/src/services/exit.magic.service.d.ts +6 -6
  77. package/src/services/magic-color.service.d.ts +19 -19
  78. package/src/services/magic.lazy.loader.service.d.ts +6 -6
  79. package/src/services/magic.providers.d.ts +107 -107
  80. package/src/services/magic.services.d.ts +16 -16
  81. package/src/services/mg-date-adapter.d.ts +38 -40
  82. package/src/services/overlay.conainer.magic.provider.d.ts +7 -7
  83. package/src/services/router-commands.magic.service.d.ts +17 -17
  84. package/src/services/subform.magic.service.d.ts +43 -43
  85. package/src/services/table.magic.service.d.ts +30 -30
  86. package/src/services/task.magics.service.d.ts +100 -100
  87. package/src/services/title.magic.service.d.ts +9 -9
  88. package/src/ui/GuiInteractiveExecutor.d.ts +22 -21
  89. package/src/ui/components/base-magic-alert.component.d.ts +10 -10
  90. package/src/ui/components/base-magic-confirm.component.d.ts +10 -10
  91. package/src/ui/components/magic-alert.component.d.ts +6 -6
  92. package/src/ui/components/magic-confirmation-box.component.d.ts +6 -6
  93. package/src/ui/directives/NonMagicControlDirective.d.ts +26 -26
  94. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +9 -9
  95. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +9 -9
  96. package/src/ui/directives/magic/combobox.magic.directive.d.ts +10 -10
  97. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +7 -7
  98. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +23 -17
  99. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +7 -7
  100. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +9 -9
  101. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +18 -18
  102. package/src/ui/directives/magic/row.magic.directive.d.ts +17 -17
  103. package/src/ui/directives/magic-focus.directive.d.ts +9 -9
  104. package/src/ui/directives/magic.directive.d.ts +45 -44
  105. package/src/ui/directives/magicViewContainerRef.directive.d.ts +8 -8
  106. package/src/ui/directives/mgformat.magic.directive.d.ts +38 -31
  107. package/src/ui/directives/range-validator.magic.directive.d.ts +17 -17
  108. package/src/ui/magic-confirmationBox.d.ts +6 -6
  109. package/src/ui/magic-modal/base-magic-overlay-container.d.ts +5 -5
  110. package/src/ui/magic-modal/magic-modal-form.d.ts +5 -5
  111. package/src/ui/magic-modal/magic-modal-interface.d.ts +10 -10
  112. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +30 -31
  113. package/src/ui/magic-modal/magic-overlay-container.d.ts +24 -25
  114. package/src/ui/magic-root.component.d.ts +43 -40
  115. package/src/ui/mgerror.magic.component.d.ts +20 -20
  116. package/src/ui/pipes/date.magic.pipe.d.ts +17 -17
  117. package/src/ui/pipes/time.magic.pipe.d.ts +11 -11
  118. package/src/ui/pipes/time24.magic.pipe.d.ts +10 -10
  119. package/src/ui/router-container.magic.component.d.ts +29 -30
  120. package/src/ui/subform.magic.component.d.ts +16 -16
  121. package/src/ui/task-base.magic.component.d.ts +34 -34
  122. package/src/ui/utils.d.ts +9 -9
  123. package/esm2020/src/controls.metadata.model.mjs +0 -180
  124. package/esm2020/src/services/OverlayWindowService.mjs +0 -208
  125. package/esm2020/src/services/StylesMapManager.mjs +0 -28
  126. package/esm2020/src/services/accessor.magic.service.mjs +0 -356
  127. package/esm2020/src/services/commands-collector.magic.service.mjs +0 -46
  128. package/esm2020/src/services/component-list.magic.service.mjs +0 -46
  129. package/esm2020/src/services/engine.magic.service.mjs +0 -82
  130. package/esm2020/src/services/magic-color.service.mjs +0 -99
  131. package/esm2020/src/services/magic.services.mjs +0 -31
  132. package/esm2020/src/services/mg-date-adapter.mjs +0 -109
  133. package/esm2020/src/services/router-commands.magic.service.mjs +0 -28
  134. package/esm2020/src/services/subform.magic.service.mjs +0 -184
  135. package/esm2020/src/services/table.magic.service.mjs +0 -77
  136. package/esm2020/src/services/task.magics.service.mjs +0 -624
  137. package/esm2020/src/services/title.magic.service.mjs +0 -18
  138. package/esm2020/src/ui/GuiInteractiveExecutor.mjs +0 -98
  139. package/esm2020/src/ui/components/base-magic-alert.component.mjs +0 -23
  140. package/esm2020/src/ui/components/base-magic-confirm.component.mjs +0 -23
  141. package/esm2020/src/ui/components/magic-alert.component.mjs +0 -35
  142. package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +0 -41
  143. package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +0 -49
  144. package/esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +0 -28
  145. package/esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs +0 -28
  146. package/esm2020/src/ui/directives/magic/combobox.magic.directive.mjs +0 -36
  147. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +0 -27
  148. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +0 -52
  149. package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +0 -32
  150. package/esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +0 -27
  151. package/esm2020/src/ui/directives/magic/row.magic.directive.mjs +0 -58
  152. package/esm2020/src/ui/directives/magic-focus.directive.mjs +0 -19
  153. package/esm2020/src/ui/directives/magic.directive.mjs +0 -215
  154. package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +0 -19
  155. package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +0 -408
  156. package/esm2020/src/ui/directives/range-validator.magic.directive.mjs +0 -58
  157. package/esm2020/src/ui/magic-modal/magic-modal-form.mjs +0 -8
  158. package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -121
  159. package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +0 -159
  160. package/esm2020/src/ui/magic-root.component.mjs +0 -203
  161. package/esm2020/src/ui/mgerror.magic.component.mjs +0 -119
  162. package/esm2020/src/ui/pipes/date.magic.pipe.mjs +0 -105
  163. package/esm2020/src/ui/pipes/time.magic.pipe.mjs +0 -51
  164. package/esm2020/src/ui/pipes/time24.magic.pipe.mjs +0 -34
  165. package/esm2020/src/ui/router-container.magic.component.mjs +0 -108
  166. package/esm2020/src/ui/task-base.magic.component.mjs +0 -86
  167. package/fesm2015/magic-xpa-angular.mjs +0 -4832
  168. package/fesm2015/magic-xpa-angular.mjs.map +0 -1
  169. package/fesm2020/magic-xpa-angular.mjs.map +0 -1
@@ -1,77 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TaskMagicService } from "./task.magics.service";
3
- import { ComponentListMagicService } from "./component-list.magic.service";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./component-list.magic.service";
6
- import * as i2 from "./task.magics.service";
7
- export class TableMagicService {
8
- constructor(componentList, task) {
9
- this.componentList = componentList;
10
- this.task = task;
11
- this.shouldOpenFieldTextEditor = true;
12
- }
13
- refreshDataSource() {
14
- }
15
- getPageSize() {
16
- return this.chunkSize;
17
- }
18
- setChunkSize(size) {
19
- this.chunkSize = size;
20
- }
21
- getMaxRowsInTable() {
22
- return this.task.Records.list.length;
23
- }
24
- selectRow(rowId) {
25
- this.selectedItem = rowId;
26
- }
27
- getSelectedRow() {
28
- return this.selectedItem;
29
- }
30
- selectedRow() {
31
- return null;
32
- }
33
- selectPage(pageId) {
34
- }
35
- OpenDialogForControl(element) {
36
- if (element.tagName === "MAT-SELECT" || element.tagName === "MAT-CHECKBOX" ||
37
- element.tagName === "INPUT" ||
38
- element.tagName === "SELECT")
39
- return false;
40
- return true;
41
- }
42
- getDialog() {
43
- return null;
44
- }
45
- onScrollDown() {
46
- this.task.onScrollDown();
47
- }
48
- sortData(e) { }
49
- mgOnPaginateChange(e, changeSelectedRow) { }
50
- mgOptionChanged(e) { }
51
- updateTableSize(size) {
52
- if (size === 0) {
53
- size = 1;
54
- this.task.Records.clearFirstTableRecord(this.task.template);
55
- }
56
- this.task.formGroups.length = size;
57
- this.task.Records.updateSize(size);
58
- this.task.setIncludesFirst(false);
59
- }
60
- setTableTopIndex(value) {
61
- if (!this.task.Records.includesFirst)
62
- value++;
63
- this.task.Records.setGuiTopIndex(value);
64
- }
65
- getTableTopIndex() {
66
- let topIndex = this.task.Records.getGuiTopIndex();
67
- if (!this.task.Records.includesFirst)
68
- topIndex--;
69
- return topIndex;
70
- }
71
- }
72
- TableMagicService.ɵfac = function TableMagicService_Factory(t) { return new (t || TableMagicService)(i0.ɵɵinject(i1.ComponentListMagicService), i0.ɵɵinject(i2.TaskMagicService)); };
73
- TableMagicService.ɵprov = i0.ɵɵdefineInjectable({ token: TableMagicService, factory: TableMagicService.ɵfac });
74
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableMagicService, [{
75
- type: Injectable
76
- }], function () { return [{ type: i1.ComponentListMagicService }, { type: i2.TaskMagicService }]; }, null); })();
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubWFnaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL3RhYmxlLm1hZ2ljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQU0zRSxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQXdCLGFBQXdDLEVBQVksSUFBc0I7UUFBMUUsa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFHMUYsOEJBQXlCLEdBQVksSUFBSSxDQUFDO0lBRmpELENBQUM7SUFPRixpQkFBaUI7SUFDakIsQ0FBQztJQU1ELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFLRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQU1ELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFLRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBTUQsVUFBVSxDQUFDLE1BQWM7SUFDekIsQ0FBQztJQU9ELG9CQUFvQixDQUFDLE9BQW9CO1FBRXZDLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxZQUFZLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxjQUFjO1lBQ3RFLE9BQU8sQ0FBQyxPQUFPLEtBQUssT0FBTztZQUMzQixPQUFPLENBQUMsT0FBTyxLQUFLLFFBQVE7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUtELFFBQVEsQ0FBQyxDQUFDLElBQUUsQ0FBQztJQUtiLGtCQUFrQixDQUFDLENBQUMsRUFBRSxpQkFBMkIsSUFBRSxDQUFDO0lBRXBELGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQU10QixlQUFlLENBQUMsSUFBWTtRQUMxQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQ2Q7WUFDRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM3RDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUtELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDbEMsS0FBSyxFQUFFLENBQUM7UUFFVixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUtELGdCQUFnQjtRQUVkLElBQUksUUFBUSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRTFELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQ2xDLFFBQVEsRUFBRSxDQUFDO1FBRWIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7a0ZBL0lVLGlCQUFpQjt5REFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQjt1RkFBakIsaUJBQWlCO2NBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4vdGFzay5tYWdpY3Muc2VydmljZVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSB9IGZyb20gXCIuL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2VcIjtcblxuLyoqXG4gKiBJbXBsZW1lbnRzIHZhcmlvdXMgdGFibGUtcmVsYXRlZCBmdW5jdGlvbmFsaXRpZXNcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlTWFnaWNTZXJ2aWNlIHtcblxuICBzZWxlY3RlZEl0ZW0gOiBhbnk7XG4gIHByaXZhdGUgY2h1bmtTaXplOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBjb21wb25lbnRMaXN0IENvbXBvbmVudC1tYXBwaW5nIHNlcnZpY2VcbiAgICogQHBhcmFtIHRhc2sgTWFnaWMgdGFzayBzZXJ2aWNlXG4gICAqL1xuICBjb25zdHJ1Y3RvciggIHByb3RlY3RlZCBjb21wb25lbnRMaXN0OiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLCBwcm90ZWN0ZWQgdGFzazogVGFza01hZ2ljU2VydmljZSkge1xuICAgfVxuXG4gICBwdWJsaWMgc2hvdWxkT3BlbkZpZWxkVGV4dEVkaXRvcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFJlZnJlc2hlcyB0aGUgRGF0YVNvdXJjZVxuICAgKi9cbiAgcmVmcmVzaERhdGFTb3VyY2UoKTogdm9pZCB7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGFibGUgcGFnZSBzaXplXG4gICAqIGNodW5rU2l6ZSBhcyBkZWZhdWx0IHZhbHVlIGZvciBub24tcGFnaW5hdGVkIHRhYmxlcy5cbiAgICovXG4gIGdldFBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY2h1bmtTaXplO1xuICB9XG5cbiAgc2V0Q2h1bmtTaXplKHNpemU6IG51bWJlcik6IHZvaWR7XG4gICAgdGhpcy5jaHVua1NpemUgPSBzaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgbWF4IG5vIG9mIHJvd3MgaW4gdGhlIHRhYmxlLlxuICAgKi9cbiAgZ2V0TWF4Um93c0luVGFibGUoKTogbnVtYmVye1xuICAgIHJldHVybiB0aGlzLnRhc2suUmVjb3Jkcy5saXN0Lmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHRoZSBzcGVjaWZpZWQgcm93XG4gICAqIEBwYXJhbSByb3dJZCBUaGUgcm93IHRvIHNlbGVjdFxuICAgKi9cbiAgc2VsZWN0Um93KHJvd0lkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHJvd0lkO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRSb3coKSA6IGFueXtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2VsZWN0ZWQgcm93XG4gICAqL1xuICBzZWxlY3RlZFJvdygpOiBhbnkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIHNwZWNpZmllZCBwYWdlXG4gICAqIEBwYXJhbSAgcGFnZUlkIFRoZSBwYWdlIHRvIHNlbGVjdFxuICAgKi9cbiAgc2VsZWN0UGFnZShwYWdlSWQ6IG51bWJlcik6IHZvaWQge1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBhIGRpYWxvZyBzaG91bGQgYmUgb3BlbmVkIGZvciB0aGUgSFRNTCBlbGVtZW50XG4gICAqIEBwYXJhbSAgZWxlbWVudCBUaGUgSFRNTCBlbGVtZW50IGZvciB3aGljaCBhIGRpYWxvZyBtYXkgYmUgbmVlZGVkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBPcGVuRGlhbG9nRm9yQ29udHJvbChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW5cbiAge1xuICAgIGlmIChlbGVtZW50LnRhZ05hbWUgPT09IFwiTUFULVNFTEVDVFwiIHx8IGVsZW1lbnQudGFnTmFtZSA9PT0gXCJNQVQtQ0hFQ0tCT1hcIiB8fFxuICAgICAgICBlbGVtZW50LnRhZ05hbWUgPT09IFwiSU5QVVRcIiB8fFxuICAgICAgICBlbGVtZW50LnRhZ05hbWUgPT09IFwiU0VMRUNUXCIpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGlhbG9nIHVzZWQgdG8gZWRpdCB2YWx1ZXNcbiAgICovXG4gIGdldERpYWxvZygpOiBhbnkgIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSB0YWJsZSBcInNjcm9sbGVkXCIgZXZlbnRcbiAgICovXG4gIG9uU2Nyb2xsRG93bigpIHtcbiAgICB0aGlzLnRhc2sub25TY3JvbGxEb3duKCk7XG4gIH1cblxuICAvKipcbiAgICogVG8gYmUgb3ZlcndpdHRlbiBpbiBzcGVjaWZpYyBpbXBsZWxlbXRhdGlvbnNcbiAgICovXG4gIHNvcnREYXRhKGUpe31cblxuICAvKipcbiAgICogVG8gYmUgb3ZlcndpdHRlbiBpbiBzcGVjaWZpYyBpbXBsZWxlbXRhdGlvbnNcbiAgICovXG4gIG1nT25QYWdpbmF0ZUNoYW5nZShlLCBjaGFuZ2VTZWxlY3RlZFJvdz86IGJvb2xlYW4pe31cblxuICBtZ09wdGlvbkNoYW5nZWQoZSkgeyB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIGEgdGFibGVcbiAgICogQHBhcmFtICBzaXplIE5ldyBudW1iZXIgb2YgbGluZXMgaW4gdGFibGVcbiAgICovXG4gIHVwZGF0ZVRhYmxlU2l6ZShzaXplOiBudW1iZXIpIHtcbiAgICBpZiAoc2l6ZSA9PT0gMCkgLy8gbmV2ZXIgcmVtb3ZlIHJvdyAwIGZvciBub3dcbiAgICB7XG4gICAgICBzaXplID0gMTtcbiAgICAgIHRoaXMudGFzay5SZWNvcmRzLmNsZWFyRmlyc3RUYWJsZVJlY29yZCh0aGlzLnRhc2sudGVtcGxhdGUpO1xuICAgIH1cblxuICAgIHRoaXMudGFzay5mb3JtR3JvdXBzLmxlbmd0aCA9IHNpemU7XG4gICAgdGhpcy50YXNrLlJlY29yZHMudXBkYXRlU2l6ZShzaXplKTtcbiAgICB0aGlzLnRhc2suc2V0SW5jbHVkZXNGaXJzdChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgc2V0VGFibGVUb3BJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLnRhc2suUmVjb3Jkcy5pbmNsdWRlc0ZpcnN0KVxuICAgICAgdmFsdWUrKztcblxuICAgIHRoaXMudGFzay5SZWNvcmRzLnNldEd1aVRvcEluZGV4KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBnZXRUYWJsZVRvcEluZGV4KCk6bnVtYmVyXG4gIHtcbiAgICBsZXQgdG9wSW5kZXg6IG51bWJlciA9IHRoaXMudGFzay5SZWNvcmRzLmdldEd1aVRvcEluZGV4KCk7XG5cbiAgICBpZiAoIXRoaXMudGFzay5SZWNvcmRzLmluY2x1ZGVzRmlyc3QpXG4gICAgICB0b3BJbmRleC0tO1xuXG4gICAgcmV0dXJuIHRvcEluZGV4O1xuICB9XG59XG5cbiJdfQ==