@magic-xpa/angular 4.1100.0-dev4110.25 → 4.1100.0-dev4110.252

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 (171) 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/esm2022/src/ui/directives/magic/nocontrol.magic.directive.mjs +193 -0
  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 +229 -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 +42 -42
  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/esm2022/src/ui/utils.mjs +54 -0
  61. package/{fesm2020 → fesm2022}/magic-xpa-angular.mjs +4827 -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 +44 -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/nocontrol.magic.directive.mjs +0 -193
  152. package/esm2020/src/ui/directives/magic/row.magic.directive.mjs +0 -58
  153. package/esm2020/src/ui/directives/magic-focus.directive.mjs +0 -19
  154. package/esm2020/src/ui/directives/magic.directive.mjs +0 -215
  155. package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +0 -19
  156. package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +0 -408
  157. package/esm2020/src/ui/directives/range-validator.magic.directive.mjs +0 -58
  158. package/esm2020/src/ui/magic-modal/magic-modal-form.mjs +0 -8
  159. package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -121
  160. package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +0 -159
  161. package/esm2020/src/ui/magic-root.component.mjs +0 -203
  162. package/esm2020/src/ui/mgerror.magic.component.mjs +0 -119
  163. package/esm2020/src/ui/pipes/date.magic.pipe.mjs +0 -105
  164. package/esm2020/src/ui/pipes/time.magic.pipe.mjs +0 -51
  165. package/esm2020/src/ui/pipes/time24.magic.pipe.mjs +0 -34
  166. package/esm2020/src/ui/router-container.magic.component.mjs +0 -108
  167. package/esm2020/src/ui/task-base.magic.component.mjs +0 -86
  168. package/esm2020/src/ui/utils.mjs +0 -54
  169. package/fesm2015/magic-xpa-angular.mjs +0 -4832
  170. package/fesm2015/magic-xpa-angular.mjs.map +0 -1
  171. package/fesm2020/magic-xpa-angular.mjs.map +0 -1
@@ -0,0 +1,60 @@
1
+ import { Directive, ViewContainerRef } from '@angular/core';
2
+ import { NG_VALIDATORS } from '@angular/forms';
3
+ import { TaskMagicService } from '../../services/task.magics.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/task.magics.service";
6
+ export class RangeValidatorMagicDirective {
7
+ _task;
8
+ vcRef;
9
+ constructor(_task, vcRef) {
10
+ this._task = _task;
11
+ this.vcRef = vcRef;
12
+ }
13
+ validate(c) {
14
+ let controlName;
15
+ controlName = this.getControlName(c);
16
+ let properties;
17
+ properties = this._task.Records.list["0"].getControlMetadata(controlName);
18
+ properties.rangeValidator = true;
19
+ let errMsg = null;
20
+ if (c.dirty)
21
+ errMsg = this._task.ValidateControlValue(controlName, this._task.ConvertValToNative(controlName, 0, c.value));
22
+ let isValid = (errMsg == null) ? true : false;
23
+ if (isValid) {
24
+ return null;
25
+ }
26
+ else {
27
+ return {
28
+ rangevalidator: {
29
+ errorMsg: errMsg
30
+ }
31
+ };
32
+ }
33
+ }
34
+ getControlName(c) {
35
+ const formGroup = c.parent.controls;
36
+ return Object.keys(formGroup).find(name => c === formGroup[name]) || null;
37
+ }
38
+ static ɵfac = function RangeValidatorMagicDirective_Factory(t) { return new (t || RangeValidatorMagicDirective)(i0.ɵɵdirectiveInject(i1.TaskMagicService), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
39
+ static ɵdir = i0.ɵɵdefineDirective({ type: RangeValidatorMagicDirective, selectors: [["", "rangevalidator", ""]], features: [i0.ɵɵProvidersFeature([
40
+ {
41
+ provide: NG_VALIDATORS,
42
+ useExisting: RangeValidatorMagicDirective,
43
+ multi: true,
44
+ }
45
+ ])] });
46
+ }
47
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RangeValidatorMagicDirective, [{
48
+ type: Directive,
49
+ args: [{
50
+ selector: '[rangevalidator] ',
51
+ providers: [
52
+ {
53
+ provide: NG_VALIDATORS,
54
+ useExisting: RangeValidatorMagicDirective,
55
+ multi: true,
56
+ }
57
+ ]
58
+ }]
59
+ }], () => [{ type: i1.TaskMagicService }, { type: i0.ViewContainerRef }], null); })();
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtdmFsaWRhdG9yLm1hZ2ljLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL2RpcmVjdGl2ZXMvcmFuZ2UtdmFsaWRhdG9yLm1hZ2ljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBZSxhQUFhLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBbUJ0RSxNQUFNLE9BQU8sNEJBQTRCO0lBT2pCO0lBQW9DO0lBQTFELFlBQXNCLEtBQXVCLEVBQWEsS0FBdUI7UUFBM0QsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFBYSxVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUNqRixDQUFDO0lBT0EsUUFBUSxDQUFDLENBQWM7UUFDbkIsSUFBSSxXQUFtQixDQUFDO1FBQ3hCLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksVUFBMkIsQ0FBQztRQUNoQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLFVBQVUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksTUFBTSxHQUFXLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsQ0FBQyxLQUFLO1lBQ1YsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUUsV0FBVyxFQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsSCxJQUFJLE9BQU8sR0FBWSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUNJLENBQUM7WUFDSixPQUFPO2dCQUNMLGNBQWMsRUFBRTtvQkFDZCxRQUFRLEVBQUcsTUFBTTtpQkFDbEI7YUFDRixDQUFDO1FBQ0osQ0FBQztJQUNMLENBQUM7SUFLRixjQUFjLENBQUMsQ0FBYztRQUMzQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUM1RSxDQUFDO3NGQTNDVSw0QkFBNEI7K0NBQTVCLDRCQUE0Qiw0RUFYNUI7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFdBQVcsRUFBRSw0QkFBNEI7b0JBRXpDLEtBQUssRUFBRSxJQUFJO2lCQUVaO2FBQ0Y7O2lGQUdVLDRCQUE0QjtjQWJ4QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLDhCQUE4Qjt3QkFFekMsS0FBSyxFQUFFLElBQUk7cUJBRVo7aUJBQ0Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnRyb2xNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzLm1ldGFkYXRhLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0ZXMgdGhlIGZpZWxkIHJhbmdlLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmFuZ2V2YWxpZGF0b3JdICcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBSYW5nZVZhbGlkYXRvck1hZ2ljRGlyZWN0aXZlLFxyXG5cclxuICAgICAgbXVsdGk6IHRydWUsXHJcblxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBSYW5nZVZhbGlkYXRvck1hZ2ljRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gX3Rhc2sgVGhlIHRhc2sgc2VydmljZVxyXG4gICAqIEBwYXJhbSB2Y1JlZlxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdGFzazogVGFza01hZ2ljU2VydmljZSwgIHByb3RlY3RlZCB2Y1JlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGlvbiBtZXRob2RcclxuICAgKiBAcGFyYW0gYyBGb3JtQ29udHJvbCB0byB2YWxpZGF0ZVxyXG4gICAqIEByZXR1cm5zIElmIHZhbGlkYXRpb24gZmFpbHMsIHJldHVybiBlcnJvciBtZXNzYWdlLCBlbHNlIHJldHVybnMgbnVsbFxyXG4gICAqL1xyXG4gICB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCkge1xyXG4gICAgICAgbGV0IGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgICAgICBjb250cm9sTmFtZSA9IHRoaXMuZ2V0Q29udHJvbE5hbWUgKGMpO1xyXG4gICAgICAgbGV0IHByb3BlcnRpZXM6IENvbnRyb2xNZXRhZGF0YTtcclxuICAgICAgIHByb3BlcnRpZXMgPSB0aGlzLl90YXNrLlJlY29yZHMubGlzdFtcIjBcIl0uZ2V0Q29udHJvbE1ldGFkYXRhKGNvbnRyb2xOYW1lKTtcclxuICAgICAgIHByb3BlcnRpZXMucmFuZ2VWYWxpZGF0b3IgPSB0cnVlO1xyXG4gICAgICAgbGV0IGVyck1zZzogc3RyaW5nID0gbnVsbDtcclxuICAgICAgIGlmIChjLmRpcnR5KVxyXG4gICAgICAgIGVyck1zZyA9IHRoaXMuX3Rhc2suVmFsaWRhdGVDb250cm9sVmFsdWUgKGNvbnRyb2xOYW1lLCAgdGhpcy5fdGFzay5Db252ZXJ0VmFsVG9OYXRpdmUoY29udHJvbE5hbWUsICAwLCBjLnZhbHVlKSk7XHJcbiAgICAgICBsZXQgaXNWYWxpZDogYm9vbGVhbiA9IChlcnJNc2cgPT0gbnVsbCkgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICBpZiAoaXNWYWxpZCkge1xyXG4gICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgIH1cclxuICAgICAgIGVsc2Uge1xyXG4gICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgIHJhbmdldmFsaWRhdG9yOiB7XHJcbiAgICAgICAgICAgICBlcnJvck1zZyA6IGVyck1zZ1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfTtcclxuICAgICAgIH1cclxuICAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZ2V0Q29udHJvbE5hbWUoYzogRm9ybUNvbnRyb2wpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IGZvcm1Hcm91cCA9IGMucGFyZW50LmNvbnRyb2xzO1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcm1Hcm91cCkuZmluZChuYW1lID0+IGMgPT09IGZvcm1Hcm91cFtuYW1lXSkgfHwgbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,42 +1,42 @@
1
- import { Styles } from "@magic-xpa/gui";
2
- export class confirmationBox {
3
- static isConfirmBox(style) {
4
- let buttonMode = style & 0x0F;
5
- var isConfirm = (buttonMode === Styles.MSGBOX_BUTTON_OK_CANCEL) ||
6
- (buttonMode === Styles.MSGBOX_BUTTON_ABORT_RETRY_IGNORE) ||
7
- (buttonMode === Styles.MSGBOX_BUTTON_YES_NO_CANCEL) ||
8
- (buttonMode === Styles.MSGBOX_BUTTON_YES_NO) ||
9
- (buttonMode === Styles.MSGBOX_BUTTON_RETRY_CANCEL);
10
- return (isConfirm);
11
- }
12
- static convertToExcpectedResultBox(style, okWasPressed) {
13
- let buttonMode = style & 0x0F;
14
- let retValue = Styles.MSGBOX_RESULT_OK;
15
- if (buttonMode === Styles.MSGBOX_BUTTON_OK)
16
- retValue = Styles.MSGBOX_RESULT_OK;
17
- else if (buttonMode === Styles.MSGBOX_BUTTON_OK_CANCEL)
18
- retValue = okWasPressed ? Styles.MSGBOX_RESULT_OK : Styles.MSGBOX_RESULT_CANCEL;
19
- else if (buttonMode === Styles.MSGBOX_BUTTON_ABORT_RETRY_IGNORE)
20
- retValue = okWasPressed ? Styles.MSGBOX_RESULT_ABORT : Styles.MSGBOX_RESULT_RETRY;
21
- else if (buttonMode === Styles.MSGBOX_BUTTON_YES_NO_CANCEL)
22
- retValue = okWasPressed ? Styles.MSGBOX_RESULT_YES : Styles.MSGBOX_RESULT_NO;
23
- else if (buttonMode === Styles.MSGBOX_BUTTON_YES_NO)
24
- retValue = okWasPressed ? Styles.MSGBOX_RESULT_YES : Styles.MSGBOX_RESULT_NO;
25
- else if (buttonMode === Styles.MSGBOX_BUTTON_RETRY_CANCEL)
26
- retValue = okWasPressed ? Styles.MSGBOX_RESULT_RETRY : Styles.MSGBOX_RESULT_CANCEL;
27
- return retValue;
28
- }
29
- static showConfirmationBox(title, message, style) {
30
- let okWasPressed = false;
31
- let isConfirm = this.isConfirmBox(style);
32
- let titleAndString = title + '\n' + '\n' + message;
33
- if (isConfirm)
34
- okWasPressed = confirm(titleAndString);
35
- else {
36
- alert(titleAndString);
37
- okWasPressed = true;
38
- }
39
- return okWasPressed;
40
- }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtY29uZmlybWF0aW9uQm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvbWFnaWMtY29uZmlybWF0aW9uQm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUt0QyxNQUFNLE9BQU8sZUFBZTtJQUtuQixNQUFNLENBQUUsWUFBWSxDQUFDLEtBQWM7UUFHeEMsSUFBSSxVQUFVLEdBQVcsS0FBSyxHQUFHLElBQUksQ0FBQztRQUV0QyxJQUFJLFNBQVMsR0FBRyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsdUJBQXVCLENBQUM7WUFDN0QsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLGdDQUFnQyxDQUFDO1lBQ3hELENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQztZQUNuRCxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsb0JBQW9CLENBQUM7WUFDNUMsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFckQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFRTSxNQUFNLENBQUMsMkJBQTJCLENBQUUsS0FBYSxFQUFFLFlBQXFCO1FBRzdFLElBQUksVUFBVSxHQUFXLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFdEMsSUFBSSxRQUFRLEdBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBRXhDLElBQUksVUFBVSxLQUFNLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUNoQyxJQUFJLFVBQVUsS0FBSyxNQUFNLENBQUMsdUJBQXVCO1lBQ3BELFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDO2FBQzdFLElBQUksVUFBVSxLQUFLLE1BQU0sQ0FBQyxnQ0FBZ0M7WUFDN0QsUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDL0UsSUFBSSxVQUFVLEtBQU0sTUFBTSxDQUFDLDJCQUEyQjtZQUN6RCxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUMxRSxJQUFJLFVBQVUsS0FBSyxNQUFNLENBQUMsb0JBQW9CO1lBQ2pELFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQzFFLElBQUksVUFBVSxLQUFLLE1BQU0sQ0FBQywwQkFBMEI7WUFDdkQsUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7UUFFckYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQVNNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLEtBQWE7UUFFN0UsSUFBSSxZQUFZLEdBQUssS0FBSyxDQUFDO1FBRTNCLElBQUksU0FBUyxHQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHMUMsSUFBSSxjQUFjLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRSxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBRWxELElBQUksU0FBUztZQUNYLFlBQVksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEM7WUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEIsWUFBWSxHQUFHLElBQUksQ0FBQztTQUNyQjtRQUdELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3R5bGVzfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuXHJcbi8qKlxyXG4gKiBEaXNwbGF5cyBhIG1lc3NhZ2UtYm94XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgY29uZmlybWF0aW9uQm94IHtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgIGlzQ29uZmlybUJveChzdHlsZSA6IFN0eWxlcyk6IEJvb2xlYW57XHJcblxyXG4gICAgLy8gYnV0dG9uIGZvcm1hdCBtYXNrIGlzIGluIGZpcnN0IG5pYmJsZSBmcm9tIHJpZ2h0XHJcbiAgICBsZXQgYnV0dG9uTW9kZSA9IDxudW1iZXI+c3R5bGUgJiAweDBGO1xyXG5cclxuICAgIHZhciBpc0NvbmZpcm0gPSAoYnV0dG9uTW9kZSA9PT0gU3R5bGVzLk1TR0JPWF9CVVRUT05fT0tfQ0FOQ0VMKSB8fFxyXG4gICAgICAoYnV0dG9uTW9kZSA9PT0gU3R5bGVzLk1TR0JPWF9CVVRUT05fQUJPUlRfUkVUUllfSUdOT1JFKSB8fFxyXG4gICAgICAoYnV0dG9uTW9kZSA9PT0gU3R5bGVzLk1TR0JPWF9CVVRUT05fWUVTX05PX0NBTkNFTCkgfHxcclxuICAgICAgKGJ1dHRvbk1vZGUgPT09IFN0eWxlcy5NU0dCT1hfQlVUVE9OX1lFU19OTykgfHxcclxuICAgICAgKGJ1dHRvbk1vZGUgPT09IFN0eWxlcy5NU0dCT1hfQlVUVE9OX1JFVFJZX0NBTkNFTCk7XHJcblxyXG4gICAgcmV0dXJuIChpc0NvbmZpcm0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgdGhlIHJlc3VsdCBmcm9tIHRoZSBIVE1MIHdpbmRvdyB0byB0aGUgZXhwZWN0ZWQgcmVzdWx0IHR5cGVcclxuICAgKiBAcGFyYW0gc3R5bGUgUmVzdWx0IHJlY2VpdmVkIGZyb20gSFRNTCB3aW5kb3dcclxuICAgKiBAcGFyYW0gb2tXYXNQcmVzc2VkIFdhcyB0aGUgXCJPS1wiIHByZXNzZWRcclxuICAgKiBAcmV0dXJucyAgTWVzc2FnZUJveCByZXN1bHQgdHlwZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgY29udmVydFRvRXhjcGVjdGVkUmVzdWx0Qm94IChzdHlsZTogU3R5bGVzLCBva1dhc1ByZXNzZWQ6IEJvb2xlYW4gKTogU3R5bGVze1xyXG5cclxuICAgIC8vIGJ1dHRvbiBmb3JtYXQgbWFzayBpcyBpbiBmaXJzdCBuaWJibGUgZnJvbSByaWdodFxyXG4gICAgbGV0IGJ1dHRvbk1vZGUgPSA8bnVtYmVyPnN0eWxlICYgMHgwRjtcclxuXHJcbiAgICBsZXQgcmV0VmFsdWUgPSAgU3R5bGVzLk1TR0JPWF9SRVNVTFRfT0s7XHJcblxyXG4gICAgaWYgKGJ1dHRvbk1vZGUgPT09ICBTdHlsZXMuTVNHQk9YX0JVVFRPTl9PSylcclxuICAgICAgcmV0VmFsdWUgPSBTdHlsZXMuTVNHQk9YX1JFU1VMVF9PSztcclxuICAgIGVsc2UgaWYgKGJ1dHRvbk1vZGUgPT09IFN0eWxlcy5NU0dCT1hfQlVUVE9OX09LX0NBTkNFTClcclxuICAgICAgcmV0VmFsdWUgPSBva1dhc1ByZXNzZWQgPyBTdHlsZXMuTVNHQk9YX1JFU1VMVF9PSyA6IFN0eWxlcy5NU0dCT1hfUkVTVUxUX0NBTkNFTDtcclxuICAgIGVsc2UgaWYgKGJ1dHRvbk1vZGUgPT09IFN0eWxlcy5NU0dCT1hfQlVUVE9OX0FCT1JUX1JFVFJZX0lHTk9SRSlcclxuICAgICAgcmV0VmFsdWUgPSBva1dhc1ByZXNzZWQgPyBTdHlsZXMuTVNHQk9YX1JFU1VMVF9BQk9SVCA6IFN0eWxlcy5NU0dCT1hfUkVTVUxUX1JFVFJZO1xyXG4gICAgZWxzZSBpZiAoYnV0dG9uTW9kZSA9PT0gIFN0eWxlcy5NU0dCT1hfQlVUVE9OX1lFU19OT19DQU5DRUwpXHJcbiAgICAgIHJldFZhbHVlID0gb2tXYXNQcmVzc2VkID8gU3R5bGVzLk1TR0JPWF9SRVNVTFRfWUVTIDogU3R5bGVzLk1TR0JPWF9SRVNVTFRfTk87XHJcbiAgICBlbHNlIGlmIChidXR0b25Nb2RlID09PSBTdHlsZXMuTVNHQk9YX0JVVFRPTl9ZRVNfTk8pXHJcbiAgICAgIHJldFZhbHVlID0gb2tXYXNQcmVzc2VkID8gU3R5bGVzLk1TR0JPWF9SRVNVTFRfWUVTIDogU3R5bGVzLk1TR0JPWF9SRVNVTFRfTk87XHJcbiAgICBlbHNlIGlmIChidXR0b25Nb2RlID09PSBTdHlsZXMuTVNHQk9YX0JVVFRPTl9SRVRSWV9DQU5DRUwpXHJcbiAgICAgIHJldFZhbHVlID0gb2tXYXNQcmVzc2VkID8gU3R5bGVzLk1TR0JPWF9SRVNVTFRfUkVUUlkgOiBTdHlsZXMuTVNHQk9YX1JFU1VMVF9DQU5DRUw7XHJcblxyXG4gICAgcmV0dXJuIHJldFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdyBhIG1lc3NhZ2UgYm94IGFzIGFuIEhUTUwgd2luZG93XHJcbiAgICogQHBhcmFtIHRpdGxlIFRpdGxlIG9mIHRoZSBtZXNzYWdlIGJveFxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2UgdGhhdCB3aWxsIGJlIGRpc3BsYXkgaW4gdGhlIG1lc3NhZ2UgYm94XHJcbiAgICogQHBhcmFtIHN0eWxlIFN0eWxlIHRoYXQgaW5jbHVkZSBidXR0b25zIFxcIEljb25zXHJcbiAgICogQHJldHVybnMgTWVzc2FnZUJveCByZXN1bHRcclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIHNob3dDb25maXJtYXRpb25Cb3godGl0bGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBzdHlsZTogU3R5bGVzKTogYm9vbGVhbiB7XHJcblxyXG4gICAgbGV0IG9rV2FzUHJlc3NlZCAgID0gZmFsc2U7XHJcbi8vIGNoZWNrIGlmIGl0IGlzIGNvbmZpcm1hdGlvbiBib3hcclxuICAgIGxldCBpc0NvbmZpcm0gID0gdGhpcy5pc0NvbmZpcm1Cb3goc3R5bGUpO1xyXG5cclxuICAgIC8vIHRoZSB0aXRsZSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzdHJpbmcgYW5kIHdlIHdpbGwgYWRkIG5ldyBsaW5lIGFmdGVyIHRoZSB0aXRsZVxyXG4gICAgbGV0IHRpdGxlQW5kU3RyaW5nID0gdGl0bGUgKyAnXFxuJysgJ1xcbicgKyBtZXNzYWdlO1xyXG5cclxuICAgIGlmIChpc0NvbmZpcm0pXHJcbiAgICAgIG9rV2FzUHJlc3NlZCA9IGNvbmZpcm0odGl0bGVBbmRTdHJpbmcpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGFsZXJ0KHRpdGxlQW5kU3RyaW5nKTtcclxuICAgICAgb2tXYXNQcmVzc2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZXR1cm4gdGhlIHJlc3VsdCBmcm9tIHRoZSB1c2VyXHJcbiAgICByZXR1cm4gb2tXYXNQcmVzc2VkOyBcclxuICB9XHJcbn1cclxuIl19
1
+ import { Styles } from "@magic-xpa/gui";
2
+ export class confirmationBox {
3
+ static isConfirmBox(style) {
4
+ let buttonMode = style & 0x0F;
5
+ var isConfirm = (buttonMode === Styles.MSGBOX_BUTTON_OK_CANCEL) ||
6
+ (buttonMode === Styles.MSGBOX_BUTTON_ABORT_RETRY_IGNORE) ||
7
+ (buttonMode === Styles.MSGBOX_BUTTON_YES_NO_CANCEL) ||
8
+ (buttonMode === Styles.MSGBOX_BUTTON_YES_NO) ||
9
+ (buttonMode === Styles.MSGBOX_BUTTON_RETRY_CANCEL);
10
+ return (isConfirm);
11
+ }
12
+ static convertToExcpectedResultBox(style, okWasPressed) {
13
+ let buttonMode = style & 0x0F;
14
+ let retValue = Styles.MSGBOX_RESULT_OK;
15
+ if (buttonMode === Styles.MSGBOX_BUTTON_OK)
16
+ retValue = Styles.MSGBOX_RESULT_OK;
17
+ else if (buttonMode === Styles.MSGBOX_BUTTON_OK_CANCEL)
18
+ retValue = okWasPressed ? Styles.MSGBOX_RESULT_OK : Styles.MSGBOX_RESULT_CANCEL;
19
+ else if (buttonMode === Styles.MSGBOX_BUTTON_ABORT_RETRY_IGNORE)
20
+ retValue = okWasPressed ? Styles.MSGBOX_RESULT_ABORT : Styles.MSGBOX_RESULT_RETRY;
21
+ else if (buttonMode === Styles.MSGBOX_BUTTON_YES_NO_CANCEL)
22
+ retValue = okWasPressed ? Styles.MSGBOX_RESULT_YES : Styles.MSGBOX_RESULT_NO;
23
+ else if (buttonMode === Styles.MSGBOX_BUTTON_YES_NO)
24
+ retValue = okWasPressed ? Styles.MSGBOX_RESULT_YES : Styles.MSGBOX_RESULT_NO;
25
+ else if (buttonMode === Styles.MSGBOX_BUTTON_RETRY_CANCEL)
26
+ retValue = okWasPressed ? Styles.MSGBOX_RESULT_RETRY : Styles.MSGBOX_RESULT_CANCEL;
27
+ return retValue;
28
+ }
29
+ static showConfirmationBox(title, message, style) {
30
+ let okWasPressed = false;
31
+ let isConfirm = this.isConfirmBox(style);
32
+ let titleAndString = title + '\n' + '\n' + message;
33
+ if (isConfirm)
34
+ okWasPressed = confirm(titleAndString);
35
+ else {
36
+ alert(titleAndString);
37
+ okWasPressed = true;
38
+ }
39
+ return okWasPressed;
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtY29uZmlybWF0aW9uQm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvbWFnaWMtY29uZmlybWF0aW9uQm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUt0QyxNQUFNLE9BQU8sZUFBZTtJQUtuQixNQUFNLENBQUUsWUFBWSxDQUFDLEtBQWM7UUFHeEMsSUFBSSxVQUFVLEdBQVcsS0FBSyxHQUFHLElBQUksQ0FBQztRQUV0QyxJQUFJLFNBQVMsR0FBRyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsdUJBQXVCLENBQUM7WUFDN0QsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLGdDQUFnQyxDQUFDO1lBQ3hELENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQztZQUNuRCxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsb0JBQW9CLENBQUM7WUFDNUMsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFckQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFRTSxNQUFNLENBQUMsMkJBQTJCLENBQUUsS0FBYSxFQUFFLFlBQXFCO1FBRzdFLElBQUksVUFBVSxHQUFXLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFdEMsSUFBSSxRQUFRLEdBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBRXhDLElBQUksVUFBVSxLQUFNLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDekMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUNoQyxJQUFJLFVBQVUsS0FBSyxNQUFNLENBQUMsdUJBQXVCO1lBQ3BELFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDO2FBQzdFLElBQUksVUFBVSxLQUFLLE1BQU0sQ0FBQyxnQ0FBZ0M7WUFDN0QsUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDL0UsSUFBSSxVQUFVLEtBQU0sTUFBTSxDQUFDLDJCQUEyQjtZQUN6RCxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUMxRSxJQUFJLFVBQVUsS0FBSyxNQUFNLENBQUMsb0JBQW9CO1lBQ2pELFFBQVEsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2FBQzFFLElBQUksVUFBVSxLQUFLLE1BQU0sQ0FBQywwQkFBMEI7WUFDdkQsUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7UUFFckYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQVNNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFFLEtBQWE7UUFFN0UsSUFBSSxZQUFZLEdBQUssS0FBSyxDQUFDO1FBRTNCLElBQUksU0FBUyxHQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHMUMsSUFBSSxjQUFjLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRSxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBRWxELElBQUksU0FBUztZQUNYLFlBQVksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsQ0FBQztZQUNKLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN0QixZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7UUFHRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0eWxlc30gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcblxyXG4vKipcclxuICogRGlzcGxheXMgYSBtZXNzYWdlLWJveFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIGNvbmZpcm1hdGlvbkJveCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljICBpc0NvbmZpcm1Cb3goc3R5bGUgOiBTdHlsZXMpOiBCb29sZWFue1xyXG5cclxuICAgIC8vIGJ1dHRvbiBmb3JtYXQgbWFzayBpcyBpbiBmaXJzdCBuaWJibGUgZnJvbSByaWdodFxyXG4gICAgbGV0IGJ1dHRvbk1vZGUgPSA8bnVtYmVyPnN0eWxlICYgMHgwRjtcclxuXHJcbiAgICB2YXIgaXNDb25maXJtID0gKGJ1dHRvbk1vZGUgPT09IFN0eWxlcy5NU0dCT1hfQlVUVE9OX09LX0NBTkNFTCkgfHxcclxuICAgICAgKGJ1dHRvbk1vZGUgPT09IFN0eWxlcy5NU0dCT1hfQlVUVE9OX0FCT1JUX1JFVFJZX0lHTk9SRSkgfHxcclxuICAgICAgKGJ1dHRvbk1vZGUgPT09IFN0eWxlcy5NU0dCT1hfQlVUVE9OX1lFU19OT19DQU5DRUwpIHx8XHJcbiAgICAgIChidXR0b25Nb2RlID09PSBTdHlsZXMuTVNHQk9YX0JVVFRPTl9ZRVNfTk8pIHx8XHJcbiAgICAgIChidXR0b25Nb2RlID09PSBTdHlsZXMuTVNHQk9YX0JVVFRPTl9SRVRSWV9DQU5DRUwpO1xyXG5cclxuICAgIHJldHVybiAoaXNDb25maXJtKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSByZXN1bHQgZnJvbSB0aGUgSFRNTCB3aW5kb3cgdG8gdGhlIGV4cGVjdGVkIHJlc3VsdCB0eXBlXHJcbiAgICogQHBhcmFtIHN0eWxlIFJlc3VsdCByZWNlaXZlZCBmcm9tIEhUTUwgd2luZG93XHJcbiAgICogQHBhcmFtIG9rV2FzUHJlc3NlZCBXYXMgdGhlIFwiT0tcIiBwcmVzc2VkXHJcbiAgICogQHJldHVybnMgIE1lc3NhZ2VCb3ggcmVzdWx0IHR5cGVcclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIGNvbnZlcnRUb0V4Y3BlY3RlZFJlc3VsdEJveCAoc3R5bGU6IFN0eWxlcywgb2tXYXNQcmVzc2VkOiBCb29sZWFuICk6IFN0eWxlc3tcclxuXHJcbiAgICAvLyBidXR0b24gZm9ybWF0IG1hc2sgaXMgaW4gZmlyc3QgbmliYmxlIGZyb20gcmlnaHRcclxuICAgIGxldCBidXR0b25Nb2RlID0gPG51bWJlcj5zdHlsZSAmIDB4MEY7XHJcblxyXG4gICAgbGV0IHJldFZhbHVlID0gIFN0eWxlcy5NU0dCT1hfUkVTVUxUX09LO1xyXG5cclxuICAgIGlmIChidXR0b25Nb2RlID09PSAgU3R5bGVzLk1TR0JPWF9CVVRUT05fT0spXHJcbiAgICAgIHJldFZhbHVlID0gU3R5bGVzLk1TR0JPWF9SRVNVTFRfT0s7XHJcbiAgICBlbHNlIGlmIChidXR0b25Nb2RlID09PSBTdHlsZXMuTVNHQk9YX0JVVFRPTl9PS19DQU5DRUwpXHJcbiAgICAgIHJldFZhbHVlID0gb2tXYXNQcmVzc2VkID8gU3R5bGVzLk1TR0JPWF9SRVNVTFRfT0sgOiBTdHlsZXMuTVNHQk9YX1JFU1VMVF9DQU5DRUw7XHJcbiAgICBlbHNlIGlmIChidXR0b25Nb2RlID09PSBTdHlsZXMuTVNHQk9YX0JVVFRPTl9BQk9SVF9SRVRSWV9JR05PUkUpXHJcbiAgICAgIHJldFZhbHVlID0gb2tXYXNQcmVzc2VkID8gU3R5bGVzLk1TR0JPWF9SRVNVTFRfQUJPUlQgOiBTdHlsZXMuTVNHQk9YX1JFU1VMVF9SRVRSWTtcclxuICAgIGVsc2UgaWYgKGJ1dHRvbk1vZGUgPT09ICBTdHlsZXMuTVNHQk9YX0JVVFRPTl9ZRVNfTk9fQ0FOQ0VMKVxyXG4gICAgICByZXRWYWx1ZSA9IG9rV2FzUHJlc3NlZCA/IFN0eWxlcy5NU0dCT1hfUkVTVUxUX1lFUyA6IFN0eWxlcy5NU0dCT1hfUkVTVUxUX05PO1xyXG4gICAgZWxzZSBpZiAoYnV0dG9uTW9kZSA9PT0gU3R5bGVzLk1TR0JPWF9CVVRUT05fWUVTX05PKVxyXG4gICAgICByZXRWYWx1ZSA9IG9rV2FzUHJlc3NlZCA/IFN0eWxlcy5NU0dCT1hfUkVTVUxUX1lFUyA6IFN0eWxlcy5NU0dCT1hfUkVTVUxUX05PO1xyXG4gICAgZWxzZSBpZiAoYnV0dG9uTW9kZSA9PT0gU3R5bGVzLk1TR0JPWF9CVVRUT05fUkVUUllfQ0FOQ0VMKVxyXG4gICAgICByZXRWYWx1ZSA9IG9rV2FzUHJlc3NlZCA/IFN0eWxlcy5NU0dCT1hfUkVTVUxUX1JFVFJZIDogU3R5bGVzLk1TR0JPWF9SRVNVTFRfQ0FOQ0VMO1xyXG5cclxuICAgIHJldHVybiByZXRWYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgYSBtZXNzYWdlIGJveCBhcyBhbiBIVE1MIHdpbmRvd1xyXG4gICAqIEBwYXJhbSB0aXRsZSBUaXRsZSBvZiB0aGUgbWVzc2FnZSBib3hcclxuICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdlIHRoYXQgd2lsbCBiZSBkaXNwbGF5IGluIHRoZSBtZXNzYWdlIGJveFxyXG4gICAqIEBwYXJhbSBzdHlsZSBTdHlsZSB0aGF0IGluY2x1ZGUgYnV0dG9ucyBcXCBJY29uc1xyXG4gICAqIEByZXR1cm5zIE1lc3NhZ2VCb3ggcmVzdWx0XHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBzaG93Q29uZmlybWF0aW9uQm94KHRpdGxlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgc3R5bGU6IFN0eWxlcyk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGxldCBva1dhc1ByZXNzZWQgICA9IGZhbHNlO1xyXG4vLyBjaGVjayBpZiBpdCBpcyBjb25maXJtYXRpb24gYm94XHJcbiAgICBsZXQgaXNDb25maXJtICA9IHRoaXMuaXNDb25maXJtQm94KHN0eWxlKTtcclxuXHJcbiAgICAvLyB0aGUgdGl0bGUgd2lsbCBiZSBhZGRlZCB0byB0aGUgc3RyaW5nIGFuZCB3ZSB3aWxsIGFkZCBuZXcgbGluZSBhZnRlciB0aGUgdGl0bGVcclxuICAgIGxldCB0aXRsZUFuZFN0cmluZyA9IHRpdGxlICsgJ1xcbicrICdcXG4nICsgbWVzc2FnZTtcclxuXHJcbiAgICBpZiAoaXNDb25maXJtKVxyXG4gICAgICBva1dhc1ByZXNzZWQgPSBjb25maXJtKHRpdGxlQW5kU3RyaW5nKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICBhbGVydCh0aXRsZUFuZFN0cmluZyk7XHJcbiAgICAgIG9rV2FzUHJlc3NlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcmV0dXJuIHRoZSByZXN1bHQgZnJvbSB0aGUgdXNlclxyXG4gICAgcmV0dXJuIG9rV2FzUHJlc3NlZDsgXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,22 +1,22 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Input, Output } from "@angular/core";
3
- let BaseMagicOverlayContainer = class BaseMagicOverlayContainer {
4
- };
5
- __decorate([
6
- Input(),
7
- __metadata("design:type", Object)
8
- ], BaseMagicOverlayContainer.prototype, "ModalComp", void 0);
9
- __decorate([
10
- Input(),
11
- __metadata("design:type", Object)
12
- ], BaseMagicOverlayContainer.prototype, "ModalCompParameters", void 0);
13
- __decorate([
14
- Output(),
15
- __metadata("design:type", Object)
16
- ], BaseMagicOverlayContainer.prototype, "onClose", void 0);
17
- BaseMagicOverlayContainer = __decorate([
18
- Input(),
19
- Output()
20
- ], BaseMagicOverlayContainer);
21
- export { BaseMagicOverlayContainer };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tYWdpYy1vdmVybGF5LWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZDLElBQWUseUJBQXlCLEdBQXhDLE1BQWUseUJBQXlCO0NBZTlDLENBQUE7QUFYQztJQUFDLEtBQUssRUFBRTs7NERBQW9CO0FBSzVCO0lBQUMsS0FBSyxFQUFFOztzRUFBbUM7QUFLM0M7SUFBQyxNQUFNLEVBQUU7OzBEQUFrQjtBQWRQLHlCQUF5QjtJQUY5QyxLQUFLLEVBQUU7SUFDUCxNQUFNLEVBQUU7R0FDYSx5QkFBeUIsQ0FlOUM7U0FmcUIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbkBJbnB1dCgpXHJcbkBPdXRwdXQoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1hZ2ljT3ZlcmxheUNvbnRhaW5lciB7XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBhYnN0cmFjdCBNb2RhbENvbXA7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWJzdHJhY3QgTW9kYWxDb21wUGFyYW1ldGVyczogYW55O1xyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhYnN0cmFjdCBvbkNsb3NlO1xyXG59XHJcbiJdfQ==
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Input, Output } from "@angular/core";
3
+ let BaseMagicOverlayContainer = class BaseMagicOverlayContainer {
4
+ };
5
+ __decorate([
6
+ Input(),
7
+ __metadata("design:type", Object)
8
+ ], BaseMagicOverlayContainer.prototype, "ModalComp", void 0);
9
+ __decorate([
10
+ Input(),
11
+ __metadata("design:type", Object)
12
+ ], BaseMagicOverlayContainer.prototype, "ModalCompParameters", void 0);
13
+ __decorate([
14
+ Output(),
15
+ __metadata("design:type", Object)
16
+ ], BaseMagicOverlayContainer.prototype, "onClose", void 0);
17
+ BaseMagicOverlayContainer = __decorate([
18
+ Input(),
19
+ Output()
20
+ ], BaseMagicOverlayContainer);
21
+ export { BaseMagicOverlayContainer };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tYWdpYy1vdmVybGF5LWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZDLElBQWUseUJBQXlCLEdBQXhDLE1BQWUseUJBQXlCO0NBZTlDLENBQUE7QUFYbUI7SUFBakIsS0FBSyxFQUFFOzs0REFBb0I7QUFLVjtJQUFqQixLQUFLLEVBQUU7O3NFQUFtQztBQUt4QjtJQUFsQixNQUFNLEVBQUU7OzBEQUFrQjtBQWRQLHlCQUF5QjtJQUY5QyxLQUFLLEVBQUU7SUFDUCxNQUFNLEVBQUU7R0FDYSx5QkFBeUIsQ0FlOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuQElucHV0KClcclxuQE91dHB1dCgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyIHtcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFic3RyYWN0IE1vZGFsQ29tcDtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBASW5wdXQoKSBhYnN0cmFjdCBNb2RhbENvbXBQYXJhbWV0ZXJzOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFic3RyYWN0IG9uQ2xvc2U7XHJcbn1cclxuIl19
@@ -0,0 +1,6 @@
1
+ export class ModalFormDefinition {
2
+ taskId = "";
3
+ comp = null;
4
+ parameters = {};
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtbW9kYWwtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL21hZ2ljLW1vZGFsLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLElBQUksR0FBUSxJQUFJLENBQUM7SUFDakIsVUFBVSxHQUFRLEVBQUUsQ0FBQztDQUN0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTW9kYWxGb3JtRGVmaW5pdGlvbiB7XHJcbiAgdGFza0lkOiBzdHJpbmcgPSBcIlwiO1xyXG4gIGNvbXA6IGFueSA9IG51bGw7XHJcbiAgcGFyYW1ldGVyczogYW55ID0ge307XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtbW9kYWwtaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvbWFnaWMtbW9kYWwvbWFnaWMtbW9kYWwtaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogRGVzY3JpYmVzIHRoZSBiZWhhdmlvciBvZiBhIG1vZGFsIHdpbmRvd1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBNYWdpY01vZGFsSW50ZXJmYWNlIHtcclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBYIGNvb3JkaW5hdGUgb2YgdGhlIG1vZGFsIHdpbmRvd1xyXG4gICAqL1xyXG4gIFgoKTtcclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBZIGNvb3JkaW5hdGUgb2YgdGhlIG1vZGFsIHdpbmRvd1xyXG4gICAqL1xyXG4gIFkoKTtcclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB3aWR0aCBvZiBtb2RhbCB3aW5kb3dcclxuICAgKi9cclxuICBXaWR0aCgpOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgaGVpZ2h0IG9mIG1vZGFsIHdpbmRvd1xyXG4gICAqL1xyXG4gIEhlaWdodCgpOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSXMgdGhlIG1vZGFsIHdpbmRvdyBjZW50ZXJlZCByZWxhdGl2ZWx5IHRvIHRoZSBtYWluIHdpbmRvd1xyXG4gICAqL1xyXG4gIElzQ2VudGVyZWRUb1dpbmRvdygpO1xyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGZvcm0gLSB0aXRsZSBvZiB0aGUgbW9kYWwgd2luZG93XHJcbiAgICovXHJcbiAgRm9ybU5hbWUoKTtcclxuICAvKipcclxuICAgKiBTaG91bGQgdGhlIHRpdGxlIGJhciBiZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBTaG93VGl0bGVCYXIoKTtcclxuICAvKipcclxuICAgKiBTaG91bGQgdGhlIG1vZGFsIHdpbmRvdyBjbG9zZSB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgYmFja2dyb3VuZFxyXG4gICAqL1xyXG4gIFNob3VsZENsb3NlT25CYWNrZ3JvdW5kQ2xpY2soKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,124 @@
1
+ import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, Injector, ChangeDetectorRef, Compiler } from '@angular/core';
2
+ import { BaseMagicOverlayContainer } from "./base-magic-overlay-container";
3
+ import { BaseMagicConfirmComponent } from "../components/base-magic-confirm.component";
4
+ import { BaseMagicAlertComponent } from "../components/base-magic-alert.component";
5
+ import { OverlayType } from "@magic-xpa/gui";
6
+ import { ComponentListMagicService } from "../../services/component-list.magic.service";
7
+ import { isNullOrUndefined } from '@magic-xpa/mscorelib';
8
+ import { MagicLazyLoaderService } from '../../services/magic.lazy.loader.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../services/component-list.magic.service";
11
+ import * as i2 from "../../services/magic.lazy.loader.service";
12
+ import * as i3 from "../directives/magic-focus.directive";
13
+ import * as i4 from "../directives/magicViewContainerRef.directive";
14
+ const _c0 = ["overlayContainerWrapper"];
15
+ export class MagicOverlayContainerWrapper {
16
+ componentListMagicService;
17
+ magicLazyModuleLoader;
18
+ injector;
19
+ changeDetectorRef;
20
+ compiler;
21
+ Component = null;
22
+ Parameters = {};
23
+ OverlayTypeParam;
24
+ onClose = new EventEmitter();
25
+ overlayContentViewContainerRef;
26
+ overlayContainerWrapperElementRef;
27
+ static allowedBaseComps = new Map([
28
+ [OverlayType.Overlay, { comp: BaseMagicOverlayContainer, error: 'BaseMagicOverlayContainer . Overlay ' }],
29
+ [OverlayType.Alert, { comp: BaseMagicAlertComponent, error: 'BaseMagicAlertComponent. Alert ' }],
30
+ [OverlayType.ConfirmationBox, { comp: BaseMagicConfirmComponent, error: 'BaseMagicConfirmComponent. Confirmation ' }]
31
+ ]);
32
+ constructor(componentListMagicService, magicLazyModuleLoader, injector, changeDetectorRef, compiler) {
33
+ this.componentListMagicService = componentListMagicService;
34
+ this.magicLazyModuleLoader = magicLazyModuleLoader;
35
+ this.injector = injector;
36
+ this.changeDetectorRef = changeDetectorRef;
37
+ this.compiler = compiler;
38
+ }
39
+ ngOnInit() {
40
+ let moduleRef = this.componentListMagicService.getModuleRef(this.Parameters.MagicFormName);
41
+ if (moduleRef == null) {
42
+ let lazyLoadModule = this.componentListMagicService.getLazyLoadModuleData(this.Parameters.MagicFormName);
43
+ if (lazyLoadModule != null) {
44
+ let moduleName = lazyLoadModule.moduleName.replace("Magic", "");
45
+ moduleName = moduleName.replace("Module", "");
46
+ this.magicLazyModuleLoader.Load(moduleName).then(m => {
47
+ const compiled = this.compiler.compileModuleAndAllComponentsSync(m[lazyLoadModule.moduleName]);
48
+ moduleRef = compiled.ngModuleFactory.create(this.injector);
49
+ this.loadComponent(moduleRef);
50
+ });
51
+ }
52
+ else {
53
+ this.loadComponent(null);
54
+ }
55
+ }
56
+ else
57
+ this.loadComponent(moduleRef);
58
+ }
59
+ loadComponent(moduleRef) {
60
+ this.Parameters.ModalComp = this.componentListMagicService.getComponent(this.Parameters.MagicFormName, !isNullOrUndefined(this.Parameters.MagicFormName));
61
+ let componentRef = this.overlayContentViewContainerRef.createComponent(this.Component);
62
+ let allowedBaseComp = MagicOverlayContainerWrapper.allowedBaseComps.get(this.OverlayTypeParam);
63
+ if (componentRef.instance instanceof allowedBaseComp.comp) {
64
+ Object.assign(componentRef.instance, this.Parameters);
65
+ componentRef.instance.onClose.subscribe((res) => {
66
+ this.onClose.emit(res);
67
+ });
68
+ }
69
+ else {
70
+ let msg = "Provided window container should subclass of : " + allowedBaseComp.error + "window will not work properly.";
71
+ alert(msg);
72
+ }
73
+ }
74
+ setViewContainerRef(vcRef) {
75
+ this.overlayContentViewContainerRef = vcRef;
76
+ }
77
+ GetRootElement() {
78
+ return this.overlayContainerWrapperElementRef.nativeElement;
79
+ }
80
+ DetectChanges() {
81
+ this.changeDetectorRef.detectChanges();
82
+ }
83
+ static ɵfac = function MagicOverlayContainerWrapper_Factory(t) { return new (t || MagicOverlayContainerWrapper)(i0.ɵɵdirectiveInject(i1.ComponentListMagicService), i0.ɵɵdirectiveInject(i2.MagicLazyLoaderService), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.Compiler)); };
84
+ static ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContainerWrapper, selectors: [["app-magic-overlay-container-wrapper"]], viewQuery: function MagicOverlayContainerWrapper_Query(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵviewQuery(_c0, 7);
86
+ } if (rf & 2) {
87
+ let _t;
88
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overlayContainerWrapperElementRef = _t.first);
89
+ } }, inputs: { Component: "Component", Parameters: "Parameters", OverlayTypeParam: "OverlayTypeParam" }, outputs: { onClose: "onClose" }, decls: 7, vars: 0, consts: [["overlayContainerWrapper", ""], ["overlayContent", ""], ["tabIndex", "0", "magicFocus", "", 1, "overlay-container-wrapper-background", 2, "width", "0px", "height", "0px"], [1, "overlay-container-wrapper-background"], ["magicViewContainerRef", ""], ["tabIndex", "0", 1, "overlay-container-wrapper-background", 2, "width", "0px", "height", "0px"]], template: function MagicOverlayContainerWrapper_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelementStart(0, "div");
91
+ i0.ɵɵelement(1, "div", 2);
92
+ i0.ɵɵelementStart(2, "div", 3, 0);
93
+ i0.ɵɵelement(4, "div", 4, 1);
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelement(6, "div", 5);
96
+ i0.ɵɵelementEnd();
97
+ } }, dependencies: [i3.MagicFocusDirective, i4.MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;z-index:999;inset:0}"] });
98
+ }
99
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainerWrapper, [{
100
+ type: Component,
101
+ args: [{ selector: 'app-magic-overlay-container-wrapper', template: `
102
+ <div>
103
+ <div class="overlay-container-wrapper-background" tabIndex="0" style="width: 0px; height: 0px;" magicFocus></div>
104
+ <div class="overlay-container-wrapper-background" #overlayContainerWrapper>
105
+ <div #overlayContent magicViewContainerRef>
106
+ </div>
107
+ </div>
108
+ <div class="overlay-container-wrapper-background" tabIndex="0" style="width: 0px; height: 0px;" ></div>
109
+ </div>
110
+ `, styles: [".overlay-container-wrapper-background{position:fixed;z-index:999;inset:0}\n"] }]
111
+ }], () => [{ type: i1.ComponentListMagicService }, { type: i2.MagicLazyLoaderService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i0.Compiler }], { Component: [{
112
+ type: Input
113
+ }], Parameters: [{
114
+ type: Input
115
+ }], OverlayTypeParam: [{
116
+ type: Input
117
+ }], onClose: [{
118
+ type: Output
119
+ }], overlayContainerWrapperElementRef: [{
120
+ type: ViewChild,
121
+ args: ['overlayContainerWrapper', { static: true }]
122
+ }] }); })();
123
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MagicOverlayContainerWrapper, { className: "MagicOverlayContainerWrapper", filePath: "src\\ui\\magic-modal\\magic-overlay-container-wrapper.ts", lineNumber: 45 }); })();
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtb3ZlcmxheS1jb250YWluZXItd3JhcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL21hZ2ljLW1vZGFsL21hZ2ljLW92ZXJsYXktY29udGFpbmVyLXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBRVQsVUFBVSxFQUNWLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQ3RDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUseUJBQXlCLEVBQWMsTUFBTSw2Q0FBNkMsQ0FBQztBQUVwRyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7OztBQTJCbEYsTUFBTSxPQUFPLDRCQUE0QjtJQWtDbkI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWxDSixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBSWpCLFVBQVUsR0FBUSxFQUFFLENBQUM7SUFFcEIsZ0JBQWdCLENBQWM7SUFFN0IsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFLckQsOEJBQThCLENBQW1CO0lBRU8saUNBQWlDLENBQWE7SUFNdEcsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFxQztRQUNwRSxDQUFDLFdBQVcsQ0FB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LFFBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLEdBQUcsR0FBRyxrREFBa0QsR0FBRyxlQUFlLENBQUMsS0FBSyxHQUFHLGdDQUFnQyxDQUFDO1lBQ3hILEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNiLENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBdUI7UUFDekMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGFBQWEsQ0FBQztJQUM5RCxDQUFDO0lBRUQsYUFBYTtRQUVYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO3NGQWhHVSw0QkFBNEI7K0NBQTVCLDRCQUE0Qjs7Ozs7O1lBckJyQywyQkFBSztZQUNILHlCQUFpSDtZQUNqSCxpQ0FBMkU7WUFDekUsNEJBQ007WUFDUixpQkFBTTtZQUNOLHlCQUF1RztZQUN6RyxpQkFBTTs7O2lGQWNHLDRCQUE0QjtjQXhCeEMsU0FBUzsyQkFDRSxxQ0FBcUMsWUFDckM7Ozs7Ozs7OztHQVNUOzZLQWlCZSxTQUFTO2tCQUF4QixLQUFLO1lBSVUsVUFBVTtrQkFBekIsS0FBSztZQUVXLGdCQUFnQjtrQkFBaEMsS0FBSztZQUVZLE9BQU87a0JBQXhCLE1BQU07WUFPaUQsaUNBQWlDO2tCQUF4RixTQUFTO21CQUFDLHlCQUF5QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0ZBbkIzQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIEVsZW1lbnRSZWYsIE5nTW9kdWxlUmVmLFxyXG4gIEluamVjdG9yLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcGlsZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZU1hZ2ljT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gXCIuL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXJcIjtcclxuaW1wb3J0IHsgQmFzZU1hZ2ljQ29uZmlybUNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2Jhc2UtbWFnaWMtY29uZmlybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQmFzZU1hZ2ljQWxlcnRDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9iYXNlLW1hZ2ljLWFsZXJ0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPdmVybGF5VHlwZSB9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLCBNb2R1bGVEYXRhIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSU1hZ2ljVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCIuLi8uLi8uLlwiO1xyXG5pbXBvcnQge2lzTnVsbE9yVW5kZWZpbmVkfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWdpYy5sYXp5LmxvYWRlci5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1tYWdpYy1vdmVybGF5LWNvbnRhaW5lci13cmFwcGVyJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGFpbmVyLXdyYXBwZXItYmFja2dyb3VuZFwiIHRhYkluZGV4PVwiMFwiIHN0eWxlPVwid2lkdGg6IDBweDsgaGVpZ2h0OiAwcHg7XCIgbWFnaWNGb2N1cz48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktY29udGFpbmVyLXdyYXBwZXItYmFja2dyb3VuZFwiICNvdmVybGF5Q29udGFpbmVyV3JhcHBlcj5cclxuICAgICAgICA8ZGl2ICNvdmVybGF5Q29udGVudCBtYWdpY1ZpZXdDb250YWluZXJSZWY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1jb250YWluZXItd3JhcHBlci1iYWNrZ3JvdW5kXCIgdGFiSW5kZXg9XCIwXCIgc3R5bGU9XCJ3aWR0aDogMHB4OyBoZWlnaHQ6IDBweDtcIiA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgIC5vdmVybGF5LWNvbnRhaW5lci13cmFwcGVyLWJhY2tncm91bmQge1xyXG4gICAgICAvKiBtb2RhbCBiYWNrZ3JvdW5kIGZpeGVkIGFjcm9zcyB3aG9sZSBzY3JlZW4gKi9cclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICBgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFnaWNPdmVybGF5Q29udGFpbmVyV3JhcHBlciAgaW1wbGVtZW50cyBJTWFnaWNWaWV3Q29udGFpbmVyUmVmIHtcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBDb21wb25lbnQgPSBudWxsO1xyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIFBhcmFtZXRlcnM6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoKSBwcml2YXRlIE92ZXJsYXlUeXBlUGFyYW06IE92ZXJsYXlUeXBlO1xyXG5cclxuICBAT3V0cHV0KCkgcHJpdmF0ZSBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAvKipcclxuICAgKiBIVE1MIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgbW9kYWwgd2luZG93XHJcbiAgICovXHJcbiAgb3ZlcmxheUNvbnRlbnRWaWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pIG92ZXJsYXlDb250YWluZXJXcmFwcGVyRWxlbWVudFJlZjogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqIGNvbnRhaXMgZGF0YSBvZiBhbGxvd2VkIGJhc2UgY29tcG9uZW50cyB0byB1c2VcclxuICAgKi9cclxuICBzdGF0aWMgYWxsb3dlZEJhc2VDb21wcyA9IG5ldyBNYXA8bnVtYmVyLCB7Y29tcDogYW55LCBlcnJvcjogc3RyaW5nfT4oW1xyXG4gICAgW092ZXJsYXlUeXBlLk92ZXJsYXksIHtjb21wOiBCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyLCBlcnJvcjonQmFzZU1hZ2ljT3ZlcmxheUNvbnRhaW5lciAuIE92ZXJsYXkgJ31dLFxyXG4gICAgW092ZXJsYXlUeXBlLkFsZXJ0LCB7Y29tcDogQmFzZU1hZ2ljQWxlcnRDb21wb25lbnQsIGVycm9yOidCYXNlTWFnaWNBbGVydENvbXBvbmVudC4gQWxlcnQgJ31dLFxyXG4gICAgW092ZXJsYXlUeXBlLkNvbmZpcm1hdGlvbkJveCwgIHtjb21wOiBCYXNlTWFnaWNDb25maXJtQ29tcG9uZW50LCBlcnJvciA6J0Jhc2VNYWdpY0NvbmZpcm1Db21wb25lbnQuIENvbmZpcm1hdGlvbiAnfV1cclxuICBdKTtcclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2U6IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtYWdpY0xhenlNb2R1bGVMb2FkZXI6IE1hZ2ljTGF6eUxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjpDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlcikge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4gPSB0aGlzLmNvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UuZ2V0TW9kdWxlUmVmKHRoaXMuUGFyYW1ldGVycy5NYWdpY0Zvcm1OYW1lKTtcclxuXHJcbiAgICBpZiAobW9kdWxlUmVmID09IG51bGwpIHtcclxuICAgICAgbGV0IGxhenlMb2FkTW9kdWxlOiBNb2R1bGVEYXRhID0gdGhpcy5jb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLmdldExhenlMb2FkTW9kdWxlRGF0YSh0aGlzLlBhcmFtZXRlcnMuTWFnaWNGb3JtTmFtZSk7XHJcblxyXG4gICAgICBpZiAobGF6eUxvYWRNb2R1bGUgIT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBtb2R1bGVOYW1lID0gbGF6eUxvYWRNb2R1bGUubW9kdWxlTmFtZS5yZXBsYWNlKFwiTWFnaWNcIiwgXCJcIik7XHJcbiAgICAgICAgbW9kdWxlTmFtZSA9IG1vZHVsZU5hbWUucmVwbGFjZShcIk1vZHVsZVwiLCBcIlwiKTtcclxuICAgICAgICB0aGlzLm1hZ2ljTGF6eU1vZHVsZUxvYWRlci5Mb2FkKG1vZHVsZU5hbWUpLnRoZW4obSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb21waWxlZCA9IHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKDxhbnk+bVtsYXp5TG9hZE1vZHVsZS5tb2R1bGVOYW1lXSk7XHJcbiAgICAgICAgICBtb2R1bGVSZWYgPSBjb21waWxlZC5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KG1vZHVsZVJlZik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KG51bGwpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2VcclxuICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KG1vZHVsZVJlZik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRDb21wb25lbnQobW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+KSB7XHJcbiAgICB0aGlzLlBhcmFtZXRlcnMuTW9kYWxDb21wID0gdGhpcy5jb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLmdldENvbXBvbmVudCh0aGlzLlBhcmFtZXRlcnMuTWFnaWNGb3JtTmFtZSwgIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuUGFyYW1ldGVycy5NYWdpY0Zvcm1OYW1lKSk7XHJcblxyXG5cclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlDb250ZW50Vmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy5Db21wb25lbnQpO1xyXG4gICAgbGV0IGFsbG93ZWRCYXNlQ29tcCA9IE1hZ2ljT3ZlcmxheUNvbnRhaW5lcldyYXBwZXIuYWxsb3dlZEJhc2VDb21wcy5nZXQodGhpcy5PdmVybGF5VHlwZVBhcmFtKTtcclxuXHJcblxyXG4gICAgaWYgKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBpbnN0YW5jZW9mIGFsbG93ZWRCYXNlQ29tcC5jb21wKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB0aGlzLlBhcmFtZXRlcnMpO1xyXG4gICAgICAoPGFueT5jb21wb25lbnRSZWYuaW5zdGFuY2UpLm9uQ2xvc2Uuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdChyZXMpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBtc2cgPSBcIlByb3ZpZGVkICB3aW5kb3cgY29udGFpbmVyIHNob3VsZCBzdWJjbGFzcyBvZiA6IFwiICsgYWxsb3dlZEJhc2VDb21wLmVycm9yICsgXCJ3aW5kb3cgd2lsbCBub3Qgd29yayBwcm9wZXJseS5cIjtcclxuICAgICAgYWxlcnQobXNnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFZpZXdDb250YWluZXJSZWYodmNSZWY6IFZpZXdDb250YWluZXJSZWYpe1xyXG4gICAgdGhpcy5vdmVybGF5Q29udGVudFZpZXdDb250YWluZXJSZWYgPSB2Y1JlZjtcclxuICB9XHJcblxyXG4gIEdldFJvb3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcclxuICAgIHJldHVybiB0aGlzLm92ZXJsYXlDb250YWluZXJXcmFwcGVyRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgRGV0ZWN0Q2hhbmdlcygpXHJcbiAge1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,162 @@
1
+ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { isNullOrUndefined } from '@magic-xpa/mscorelib';
3
+ import { BaseMagicOverlayContainer } from './base-magic-overlay-container';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../directives/magicViewContainerRef.directive";
7
+ const _c0 = ["modalheader"];
8
+ const _c1 = ["modalForeground"];
9
+ function MagicOverlayContainer_button_2_Template(rf, ctx) { if (rf & 1) {
10
+ const _r2 = i0.ɵɵgetCurrentView();
11
+ i0.ɵɵelementStart(0, "button", 9);
12
+ i0.ɵɵlistener("click", function MagicOverlayContainer_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnClose()); });
13
+ i0.ɵɵtext(1, "X");
14
+ i0.ɵɵelementEnd();
15
+ } }
16
+ function MagicOverlayContainer_div_5_Template(rf, ctx) { if (rf & 1) {
17
+ const _r4 = i0.ɵɵgetCurrentView();
18
+ i0.ɵɵelementStart(0, "div", 10, 2);
19
+ i0.ɵɵtext(2);
20
+ i0.ɵɵelementStart(3, "button", 11);
21
+ i0.ɵɵlistener("click", function MagicOverlayContainer_div_5_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.OnClose()); });
22
+ i0.ɵɵtext(4, "X");
23
+ i0.ɵɵelementEnd()();
24
+ } if (rf & 2) {
25
+ const ctx_r2 = i0.ɵɵnextContext();
26
+ i0.ɵɵadvance(2);
27
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.getText(), " ");
28
+ } }
29
+ export class MagicOverlayContainer extends BaseMagicOverlayContainer {
30
+ modalbodyViewContainerRef;
31
+ headerElementRef;
32
+ foregroundElementRef;
33
+ ModalComp = null;
34
+ ModalCompParameters = {};
35
+ onClose = new EventEmitter();
36
+ componentRef = null;
37
+ constructor() {
38
+ super();
39
+ }
40
+ ngOnInit() {
41
+ this.componentRef = this.modalbodyViewContainerRef.createComponent(this.ModalComp);
42
+ Object.assign(this.componentRef.instance, this.ModalCompParameters);
43
+ }
44
+ setViewContainerRef(vcRef) {
45
+ this.modalbodyViewContainerRef = vcRef;
46
+ }
47
+ getText() {
48
+ if (this.componentRef !== null) {
49
+ let comp = this.componentRef.instance;
50
+ return comp.FormName();
51
+ }
52
+ else
53
+ return '';
54
+ }
55
+ getStyle() {
56
+ let styles = {};
57
+ if (this.componentRef != undefined) {
58
+ let comp = this.componentRef.instance;
59
+ styles['width'] = comp.Width();
60
+ styles['height'] = comp.Height();
61
+ if (comp.IsCenteredToWindow()) {
62
+ styles['margin'] = 'auto';
63
+ }
64
+ else {
65
+ styles['margin-left'] = comp.X() + 'px';
66
+ styles['margin-top'] = comp.Y() + 'px';
67
+ }
68
+ }
69
+ return styles;
70
+ }
71
+ getClientAreaStyles() {
72
+ let styles = {};
73
+ if (this.componentRef != undefined) {
74
+ const headerHeight = this.getShowTitleBar() && !isNullOrUndefined(this.headerElementRef) ? (this.headerElementRef.nativeElement.offsetHeight + 1) : 0;
75
+ if (!isNullOrUndefined(this.foregroundElementRef)) {
76
+ const foregroundHeight = this.foregroundElementRef.nativeElement.offsetHeight;
77
+ styles['height'] = (foregroundHeight - headerHeight) + 'px';
78
+ const foregroundWidth = this.foregroundElementRef.nativeElement.offsetWidth;
79
+ styles['width'] = (foregroundWidth) + 'px';
80
+ }
81
+ styles['overflow'] = 'auto';
82
+ }
83
+ return styles;
84
+ }
85
+ getShowTitleBar() {
86
+ if (this.componentRef != undefined) {
87
+ let comp = this.componentRef.instance;
88
+ return comp.ShowTitleBar();
89
+ }
90
+ }
91
+ OnClose() {
92
+ this.onClose.emit();
93
+ }
94
+ OnBackgroundClick() {
95
+ let comp = this.componentRef.instance;
96
+ if (comp.ShouldCloseOnBackgroundClick())
97
+ this.OnClose();
98
+ }
99
+ static ɵfac = function MagicOverlayContainer_Factory(t) { return new (t || MagicOverlayContainer)(); };
100
+ static ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContainer, selectors: [["app-magic-overlay-container"]], viewQuery: function MagicOverlayContainer_Query(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵviewQuery(_c0, 5);
102
+ i0.ɵɵviewQuery(_c1, 5);
103
+ } if (rf & 2) {
104
+ let _t;
105
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerElementRef = _t.first);
106
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.foregroundElementRef = _t.first);
107
+ } }, inputs: { ModalComp: "ModalComp", ModalCompParameters: "ModalCompParameters" }, outputs: { onClose: "onClose" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 4, consts: [["modalForeground", ""], ["modalbody", ""], ["modalheader", ""], [1, "modal-background", 3, "click"], ["tabindex", "-1", "style", "float:right; border: none; background-color: transparent; outline: none; color: white", 3, "click", 4, "ngIf"], [1, "modal-foreground", 3, "ngStyle"], ["class", "modal-header", 4, "ngIf"], [3, "ngStyle"], ["magicViewContainerRef", ""], ["tabindex", "-1", 2, "float", "right", "border", "none", "background-color", "transparent", "outline", "none", "color", "white", 3, "click"], [1, "modal-header"], ["tabindex", "-1", 2, "float", "right", 3, "click"]], template: function MagicOverlayContainer_Template(rf, ctx) { if (rf & 1) {
108
+ const _r1 = i0.ɵɵgetCurrentView();
109
+ i0.ɵɵelementStart(0, "div")(1, "div", 3);
110
+ i0.ɵɵlistener("click", function MagicOverlayContainer_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.OnBackgroundClick()); });
111
+ i0.ɵɵtemplate(2, MagicOverlayContainer_button_2_Template, 2, 0, "button", 4);
112
+ i0.ɵɵelementEnd();
113
+ i0.ɵɵelementStart(3, "div", 5, 0);
114
+ i0.ɵɵtemplate(5, MagicOverlayContainer_div_5_Template, 5, 1, "div", 6);
115
+ i0.ɵɵelementStart(6, "div", 7);
116
+ i0.ɵɵelement(7, "div", 8, 1);
117
+ i0.ɵɵelementEnd()()();
118
+ } if (rf & 2) {
119
+ i0.ɵɵadvance(2);
120
+ i0.ɵɵproperty("ngIf", !ctx.getShowTitleBar());
121
+ i0.ɵɵadvance();
122
+ i0.ɵɵproperty("ngStyle", ctx.getStyle());
123
+ i0.ɵɵadvance(2);
124
+ i0.ɵɵproperty("ngIf", ctx.getShowTitleBar());
125
+ i0.ɵɵadvance();
126
+ i0.ɵɵproperty("ngStyle", ctx.getClientAreaStyles());
127
+ } }, dependencies: [i1.NgIf, i1.NgStyle, i2.MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#fff}.modal-background[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header[_ngcontent-%COMP%]{background-color:beige;border-bottom:2px solid red}"] });
128
+ }
129
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainer, [{
130
+ type: Component,
131
+ args: [{ selector: 'app-magic-overlay-container', template: `
132
+ <div>
133
+ <div class="modal-background" (click)="OnBackgroundClick()">
134
+ <button (click)="OnClose()" tabindex="-1" style="float:right; border: none; background-color: transparent; outline: none; color: white" *ngIf="!getShowTitleBar()">X</button>
135
+ </div>
136
+ <div #modalForeground class="modal-foreground" [ngStyle]="getStyle()">
137
+ <div #modalheader class="modal-header" *ngIf="getShowTitleBar()">
138
+ {{getText()}}
139
+ <button (click)="OnClose()" style="float:right" tabindex="-1">X</button>
140
+ </div>
141
+ <div [ngStyle]="getClientAreaStyles()">
142
+ <div #modalbody magicViewContainerRef>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ `, styles: [".modal-foreground{position:fixed;inset:0;background-color:#fff}.modal-background{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header{background-color:beige;border-bottom:2px solid red}\n"] }]
148
+ }], () => [], { headerElementRef: [{
149
+ type: ViewChild,
150
+ args: ['modalheader', { static: false }]
151
+ }], foregroundElementRef: [{
152
+ type: ViewChild,
153
+ args: ['modalForeground', { static: false }]
154
+ }], ModalComp: [{
155
+ type: Input
156
+ }], ModalCompParameters: [{
157
+ type: Input
158
+ }], onClose: [{
159
+ type: Output
160
+ }] }); })();
161
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MagicOverlayContainer, { className: "MagicOverlayContainer", filePath: "src\\ui\\magic-modal\\magic-overlay-container.ts", lineNumber: 40 }); })();
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tYWdpYy1tb2RhbC9tYWdpYy1vdmVybGF5LWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7O0lBV25FLGlDQUFtSztJQUEzSixvTEFBUyxnQkFBUyxLQUFDO0lBQXdJLGlCQUFDO0lBQUEsaUJBQVM7Ozs7SUFHN0ssa0NBQWlFO0lBQy9ELFlBQ0E7SUFBQSxrQ0FBOEQ7SUFBdEQsaUxBQVMsZ0JBQVMsS0FBQztJQUFtQyxpQkFBQztJQUNqRSxBQURpRSxpQkFBUyxFQUNwRTs7O0lBRkosZUFDQTtJQURBLGlEQUNBOztBQVdWLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx5QkFBeUI7SUFJbEUseUJBQXlCLENBQW9CO0lBS0EsZ0JBQWdCLENBQWE7SUFJekIsb0JBQW9CLENBQWE7SUFLekUsU0FBUyxHQUFHLElBQUksQ0FBQztJQUlqQixtQkFBbUIsR0FBUSxFQUFFLENBQUM7SUFFN0IsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFLckMsWUFBWSxHQUFHLElBQUksQ0FBQztJQU81QjtRQUdFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUtELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sQ0FB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RCxpQkFBaUI7UUFDZixJQUFJLElBQUksR0FBd0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUErQixDQUFDO1FBRWxGLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDOytFQTFJVSxxQkFBcUI7K0NBQXJCLHFCQUFxQjs7Ozs7Ozs7O1lBakI1QixBQURGLDJCQUFLLGFBQ3lEO1lBQTlCLHFJQUFTLHVCQUFtQixLQUFDO1lBQ3pELDRFQUFtSztZQUNySyxpQkFBTTtZQUNOLGlDQUFzRTtZQUNwRSxzRUFBaUU7WUFJakUsOEJBQXVDO1lBQ3JDLDRCQUNNO1lBR1osQUFERSxBQURFLGlCQUFNLEVBQ0YsRUFDRjs7WUFadUksZUFBd0I7WUFBeEIsNkNBQXdCO1lBRXBILGNBQXNCO1lBQXRCLHdDQUFzQjtZQUMzQixlQUF1QjtZQUF2Qiw0Q0FBdUI7WUFJMUQsY0FBaUM7WUFBakMsbURBQWlDOzs7aUZBU2pDLHFCQUFxQjtjQXJCakMsU0FBUzsyQkFDRSw2QkFBNkIsWUFDN0I7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7b0JBWTRDLGdCQUFnQjtrQkFBNUQsU0FBUzttQkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBSU0sb0JBQW9CO2tCQUFwRSxTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUt0QyxTQUFTO2tCQUFqQixLQUFLO1lBSUcsbUJBQW1CO2tCQUEzQixLQUFLO1lBRUksT0FBTztrQkFBaEIsTUFBTTs7a0ZBeEJJLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWFnaWNNb2RhbEludGVyZmFjZSB9IGZyb20gJy4vbWFnaWMtbW9kYWwtaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IEJhc2VNYWdpY092ZXJsYXlDb250YWluZXIgfSBmcm9tICcuL2Jhc2UtbWFnaWMtb3ZlcmxheS1jb250YWluZXInO1xyXG5pbXBvcnQgeyBJTWFnaWNWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnLi4vLi4vLi4nO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBtb2RhbCB3aW5kb3cgZm9yIE1hZ2ljIG1vZGFsIHdpbmRvdyBjb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1tYWdpYy1vdmVybGF5LWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cIk9uQmFja2dyb3VuZENsaWNrKClcIj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJPbkNsb3NlKClcIiB0YWJpbmRleD1cIi0xXCIgc3R5bGU9XCJmbG9hdDpyaWdodDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgb3V0bGluZTogbm9uZTsgY29sb3I6IHdoaXRlXCIgKm5nSWY9XCIhZ2V0U2hvd1RpdGxlQmFyKClcIj5YPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICNtb2RhbEZvcmVncm91bmQgY2xhc3M9XCJtb2RhbC1mb3JlZ3JvdW5kXCIgW25nU3R5bGVdPVwiZ2V0U3R5bGUoKVwiPlxyXG4gICAgICAgIDxkaXYgI21vZGFsaGVhZGVyIGNsYXNzPVwibW9kYWwtaGVhZGVyXCIgKm5nSWY9XCJnZXRTaG93VGl0bGVCYXIoKVwiPlxyXG4gICAgICAgICAge3tnZXRUZXh0KCl9fVxyXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiT25DbG9zZSgpXCIgc3R5bGU9XCJmbG9hdDpyaWdodFwiIHRhYmluZGV4PVwiLTFcIj5YPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbbmdTdHlsZV09XCJnZXRDbGllbnRBcmVhU3R5bGVzKClcIj5cclxuICAgICAgICAgIDxkaXYgI21vZGFsYm9keSBtYWdpY1ZpZXdDb250YWluZXJSZWY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL21hZ2ljLW92ZXJsYXktY29udGFpbmVyLmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWdpY092ZXJsYXlDb250YWluZXIgZXh0ZW5kcyBCYXNlTWFnaWNPdmVybGF5Q29udGFpbmVyIGltcGxlbWVudHMgT25Jbml0ICwgSU1hZ2ljVmlld0NvbnRhaW5lclJlZntcclxuICAvKipcclxuICAgKiBIVE1MIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgbW9kYWwgd2luZG93XHJcbiAgICovXHJcbiAgbW9kYWxib2R5Vmlld0NvbnRhaW5lclJlZiA6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhlYWRlciBvZiB0aGUgbW9kYWwgd2luZG93XHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnbW9kYWxoZWFkZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyRWxlbWVudFJlZjogRWxlbWVudFJlZjtcclxuICAvKipcclxuICAgKiBGb3JlZ3JvdW5kIG9mIHRoZSBtb2RhbCB3aW5kb3dcclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdtb2RhbEZvcmVncm91bmQnLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9yZWdyb3VuZEVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCkgTW9kYWxDb21wID0gbnVsbDtcclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIE1vZGFsQ29tcFBhcmFtZXRlcnM6IGFueSA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKi9cclxuICBwcml2YXRlIGNvbXBvbmVudFJlZiA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGluamVjdG9yXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG5cclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLm1vZGFsYm9keVZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHRoaXMuTW9kYWxDb21wKTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMuTW9kYWxDb21wUGFyYW1ldGVycyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0Vmlld0NvbnRhaW5lclJlZih2Y1JlZjogVmlld0NvbnRhaW5lclJlZil7XHJcbiAgICB0aGlzLm1vZGFsYm9keVZpZXdDb250YWluZXJSZWYgPSB2Y1JlZjtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBmb3JtIG5hbWVcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldFRleHQoKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT09IG51bGwpIHtcclxuICAgICAgbGV0IGNvbXA6IE1hZ2ljTW9kYWxJbnRlcmZhY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBNYWdpY01vZGFsSW50ZXJmYWNlO1xyXG4gICAgICByZXR1cm4gY29tcC5Gb3JtTmFtZSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIENTUyBzdHlsZXMgZm9yIHRoZSB3aW5kb3dcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldFN0eWxlKCkge1xyXG4gICAgbGV0IHN0eWxlcyA9IHt9O1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICBsZXQgY29tcDogTWFnaWNNb2RhbEludGVyZmFjZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIE1hZ2ljTW9kYWxJbnRlcmZhY2U7XHJcblxyXG4gICAgICBzdHlsZXNbJ3dpZHRoJ10gPSBjb21wLldpZHRoKCk7XHJcbiAgICAgIHN0eWxlc1snaGVpZ2h0J10gPSBjb21wLkhlaWdodCgpO1xyXG5cclxuICAgICAgaWYgKGNvbXAuSXNDZW50ZXJlZFRvV2luZG93KCkpIHtcclxuICAgICAgICBzdHlsZXNbJ21hcmdpbiddID0gJ2F1dG8nO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHN0eWxlc1snbWFyZ2luLWxlZnQnXSA9IGNvbXAuWCgpICsgJ3B4JztcclxuICAgICAgICBzdHlsZXNbJ21hcmdpbi10b3AnXSA9IGNvbXAuWSgpICsgJ3B4JztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIENTUyBzdHlsZXMgZm9yIHRoZSBjbGllbnQgYXJlYVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0Q2xpZW50QXJlYVN0eWxlcygpIHtcclxuICAgIGxldCBzdHlsZXMgPSB7fTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gdGhpcy5nZXRTaG93VGl0bGVCYXIoKSAmJiAhaXNOdWxsT3JVbmRlZmluZWQodGhpcy5oZWFkZXJFbGVtZW50UmVmKSA/ICh0aGlzLmhlYWRlckVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgKyAxKSA6IDA7XHJcbiAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQodGhpcy5mb3JlZ3JvdW5kRWxlbWVudFJlZikpIHtcclxuICAgICAgICBjb25zdCBmb3JlZ3JvdW5kSGVpZ2h0ID0gdGhpcy5mb3JlZ3JvdW5kRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgICAgICBzdHlsZXNbJ2hlaWdodCddID0gKGZvcmVncm91bmRIZWlnaHQgLSBoZWFkZXJIZWlnaHQpICsgJ3B4JztcclxuXHJcbiAgICAgICAgY29uc3QgZm9yZWdyb3VuZFdpZHRoID0gdGhpcy5mb3JlZ3JvdW5kRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIHN0eWxlc1snd2lkdGgnXSA9IChmb3JlZ3JvdW5kV2lkdGgpICsgJ3B4JztcclxuICAgICAgfVxyXG4gICAgICBzdHlsZXNbJ292ZXJmbG93J10gPSAnYXV0byc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdWxkIHRoZSB0aXRsZSBiYXIgYmUgZGlzcGxheWVkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXRTaG93VGl0bGVCYXIoKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGxldCBjb21wOiBNYWdpY01vZGFsSW50ZXJmYWNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgTWFnaWNNb2RhbEludGVyZmFjZTtcclxuICAgICAgcmV0dXJuIGNvbXAuU2hvd1RpdGxlQmFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqL1xyXG4gIE9uQ2xvc2UoKSB7XHJcbiAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBjbGljayBpbiB0aGUgYmFja2dyb3VuZCB3aW5kb3dcclxuICAgKi9cclxuICBPbkJhY2tncm91bmRDbGljaygpIHtcclxuICAgIGxldCBjb21wOiBNYWdpY01vZGFsSW50ZXJmYWNlID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgTWFnaWNNb2RhbEludGVyZmFjZTtcclxuXHJcbiAgICBpZiAoY29tcC5TaG91bGRDbG9zZU9uQmFja2dyb3VuZENsaWNrKCkpXHJcbiAgICAgIHRoaXMuT25DbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=