@magic-xpa/angular 4.800.0-dev480.2 → 4.800.0-dev480.202

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 (117) hide show
  1. package/bundles/magic-xpa-angular.umd.js +1384 -2639
  2. package/bundles/magic-xpa-angular.umd.js.map +1 -1
  3. package/bundles/magic-xpa-angular.umd.min.js +2 -2
  4. package/bundles/magic-xpa-angular.umd.min.js.map +1 -1
  5. package/esm2015/index.js +1 -1
  6. package/esm2015/magic-xpa-angular.js +1 -4
  7. package/esm2015/src/controls.metadata.model.js +3 -36
  8. package/esm2015/src/interfaces/sub-form-definition.iterface.js +1 -1
  9. package/esm2015/src/magic.core.module.js +4 -14
  10. package/esm2015/src/services/ISubformMagicService.js +1 -1
  11. package/esm2015/src/services/OverlayWindowService.js +4 -29
  12. package/esm2015/src/services/StylesMapManager.js +1 -4
  13. package/esm2015/src/services/accessor.magic.service.js +44 -242
  14. package/esm2015/src/services/commands-collector.magic.service.js +4 -7
  15. package/esm2015/src/services/component-list.magic.service.js +1 -25
  16. package/esm2015/src/services/confirmation.components.magic.provider.js +4 -24
  17. package/esm2015/src/services/engine.magic.service.js +7 -10
  18. package/esm2015/src/services/exit.magic.service.js +4 -10
  19. package/esm2015/src/services/magic.providers.js +1 -4
  20. package/esm2015/src/services/magic.services.js +4 -10
  21. package/esm2015/src/services/mg-date-adapter.js +5 -5
  22. package/esm2015/src/services/overlay.conainer.magic.provider.js +4 -8
  23. package/esm2015/src/services/router-commands.magic.service.js +4 -10
  24. package/esm2015/src/services/subform.magic.service.js +37 -56
  25. package/esm2015/src/services/table.magic.service.js +5 -61
  26. package/esm2015/src/services/task.magics.service.js +14 -282
  27. package/esm2015/src/services/title.magic.service.js +4 -15
  28. package/esm2015/src/ui/GuiInteractiveExecutor.js +8 -6
  29. package/esm2015/src/ui/components/base-magic-alert.component.js +4 -14
  30. package/esm2015/src/ui/components/base-magic-confirm.component.js +4 -16
  31. package/esm2015/src/ui/components/magic-alert.component.js +5 -8
  32. package/esm2015/src/ui/components/magic-confirmation-box.component.js +5 -8
  33. package/esm2015/src/ui/directives/NonMagicControlDirective.js +4 -31
  34. package/esm2015/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.js +4 -10
  35. package/esm2015/src/ui/directives/magic/checkbox.magic.directive.js +4 -13
  36. package/esm2015/src/ui/directives/magic/combobox.magic.directive.js +4 -10
  37. package/esm2015/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.js +5 -11
  38. package/esm2015/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.js +4 -16
  39. package/esm2015/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.js +5 -11
  40. package/esm2015/src/ui/directives/magic/input.noformcontrol.magic.directive.js +4 -10
  41. package/esm2015/src/ui/directives/magic/nocontrol.magic.directive.js +6 -16
  42. package/esm2015/src/ui/directives/magic/row.magic.directive.js +4 -22
  43. package/esm2015/src/ui/directives/magic-focus.directive.js +4 -7
  44. package/esm2015/src/ui/directives/magic.directive.js +14 -81
  45. package/esm2015/src/ui/directives/magicViewContainerRef.directive.js +4 -8
  46. package/esm2015/src/ui/directives/mgformat.magic.directive.js +4 -57
  47. package/esm2015/src/ui/directives/range-validator.magic.directive.js +4 -20
  48. package/esm2015/src/ui/magic-confirmationBox.js +1 -25
  49. package/esm2015/src/ui/magic-modal/base-magic-overlay-container.js +1 -1
  50. package/esm2015/src/ui/magic-modal/magic-modal-form.js +1 -4
  51. package/esm2015/src/ui/magic-modal/magic-modal-interface.js +1 -1
  52. package/esm2015/src/ui/magic-modal/magic-overlay-container-wrapper.js +4 -21
  53. package/esm2015/src/ui/magic-modal/magic-overlay-container.js +4 -46
  54. package/esm2015/src/ui/magic-root.component.js +10 -53
  55. package/esm2015/src/ui/mgerror.magic.component.js +4 -21
  56. package/esm2015/src/ui/pipes/date.magic.pipe.js +5 -12
  57. package/esm2015/src/ui/pipes/time.magic.pipe.js +4 -7
  58. package/esm2015/src/ui/router-container.magic.component.js +14 -35
  59. package/esm2015/src/ui/subform.magic.component.js +4 -23
  60. package/esm2015/src/ui/task-base.magic.component.js +4 -74
  61. package/esm2015/src/ui/utils.js +1 -20
  62. package/fesm2015/magic-xpa-angular.js +610 -1873
  63. package/fesm2015/magic-xpa-angular.js.map +1 -1
  64. package/magic-xpa-angular.d.ts +0 -3
  65. package/package.json +3 -3
  66. package/src/controls.metadata.model.d.ts +0 -16
  67. package/src/interfaces/sub-form-definition.iterface.d.ts +0 -6
  68. package/src/magic.core.module.d.ts +0 -3
  69. package/src/services/OverlayWindowService.d.ts +0 -19
  70. package/src/services/StylesMapManager.d.ts +0 -3
  71. package/src/services/accessor.magic.service.d.ts +16 -202
  72. package/src/services/commands-collector.magic.service.d.ts +0 -3
  73. package/src/services/component-list.magic.service.d.ts +0 -27
  74. package/src/services/confirmation.components.magic.provider.d.ts +0 -16
  75. package/src/services/engine.magic.service.d.ts +1 -3
  76. package/src/services/exit.magic.service.d.ts +0 -6
  77. package/src/services/magic.providers.d.ts +0 -3
  78. package/src/services/magic.services.d.ts +0 -6
  79. package/src/services/router-commands.magic.service.d.ts +0 -6
  80. package/src/services/subform.magic.service.d.ts +5 -30
  81. package/src/services/table.magic.service.d.ts +0 -55
  82. package/src/services/task.magics.service.d.ts +1 -294
  83. package/src/services/title.magic.service.d.ts +0 -11
  84. package/src/ui/GuiInteractiveExecutor.d.ts +1 -3
  85. package/src/ui/components/base-magic-alert.component.d.ts +0 -16
  86. package/src/ui/components/base-magic-confirm.component.d.ts +0 -18
  87. package/src/ui/components/magic-alert.component.d.ts +0 -3
  88. package/src/ui/components/magic-confirmation-box.component.d.ts +0 -3
  89. package/src/ui/directives/NonMagicControlDirective.d.ts +0 -41
  90. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +0 -6
  91. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +0 -9
  92. package/src/ui/directives/magic/combobox.magic.directive.d.ts +0 -6
  93. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +0 -6
  94. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +0 -12
  95. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +0 -6
  96. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +0 -6
  97. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +0 -3
  98. package/src/ui/directives/magic/row.magic.directive.d.ts +0 -15
  99. package/src/ui/directives/magic-focus.directive.d.ts +0 -3
  100. package/src/ui/directives/magic.directive.d.ts +0 -78
  101. package/src/ui/directives/magicViewContainerRef.directive.d.ts +0 -3
  102. package/src/ui/directives/mgformat.magic.directive.d.ts +0 -40
  103. package/src/ui/directives/range-validator.magic.directive.d.ts +0 -16
  104. package/src/ui/magic-confirmationBox.d.ts +0 -19
  105. package/src/ui/magic-modal/base-magic-overlay-container.d.ts +0 -9
  106. package/src/ui/magic-modal/magic-modal-form.d.ts +0 -3
  107. package/src/ui/magic-modal/magic-modal-interface.d.ts +0 -27
  108. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +0 -20
  109. package/src/ui/magic-modal/magic-overlay-container.d.ts +0 -51
  110. package/src/ui/magic-root.component.d.ts +0 -42
  111. package/src/ui/mgerror.magic.component.d.ts +0 -19
  112. package/src/ui/pipes/date.magic.pipe.d.ts +0 -6
  113. package/src/ui/pipes/time.magic.pipe.d.ts +0 -3
  114. package/src/ui/router-container.magic.component.d.ts +5 -21
  115. package/src/ui/subform.magic.component.d.ts +0 -21
  116. package/src/ui/task-base.magic.component.d.ts +0 -72
  117. package/src/ui/utils.d.ts +0 -3
@@ -5,9 +5,6 @@ import { StringBuilder } from "@magic-xpa/mscorelib";
5
5
  import { PICInterface } from "@magic-xpa/utils";
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../services/task.magics.service";
8
- /**
9
- * @ignore
10
- */
11
8
  export class TimeMagicPipe extends DatePipe {
12
9
  constructor(_task) {
13
10
  super('en-US');
@@ -43,12 +40,12 @@ export class TimeMagicPipe extends DatePipe {
43
40
  return value;
44
41
  }
45
42
  }
46
- /** @nocollapse */ TimeMagicPipe.ɵfac = function TimeMagicPipe_Factory(t) { return new (t || TimeMagicPipe)(i0.ɵɵdirectiveInject(i1.TaskMagicService)); };
47
- /** @nocollapse */ TimeMagicPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "magicTime", type: TimeMagicPipe, pure: true });
48
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(TimeMagicPipe, [{
43
+ TimeMagicPipe.ɵfac = function TimeMagicPipe_Factory(t) { return new (t || TimeMagicPipe)(i0.ɵɵdirectiveInject(i1.TaskMagicService)); };
44
+ TimeMagicPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "magicTime", type: TimeMagicPipe, pure: true });
45
+ (function () { i0.ɵsetClassMetadata(TimeMagicPipe, [{
49
46
  type: Pipe,
50
47
  args: [{
51
48
  name: 'magicTime'
52
49
  }]
53
50
  }], function () { return [{ type: i1.TaskMagicService }]; }, null); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5tYWdpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvcGlwZXMvdGltZS5tYWdpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUE7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFBOzs7QUFFN0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFFekMsWUFBc0IsS0FBdUI7UUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREssVUFBSyxHQUFMLEtBQUssQ0FBa0I7SUFFN0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFVLEVBQUUsU0FBaUI7UUFDckMsSUFBSSxJQUFJLEdBQVcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBRSxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxRSxJQUFJLFNBQVMsR0FBa0IsSUFBSSxhQUFhLEVBQUcsQ0FBQztRQUVwRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFdBQVcsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ2pELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHO2dCQUN4QyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzFCLEtBQUssWUFBWSxDQUFDLE1BQU07d0JBQ3RCLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3ZCLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ1AsTUFBTTtvQkFDUixLQUFLLFlBQVksQ0FBQyxPQUFPO3dCQUN2QixTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN2QixDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNQLE1BQU07b0JBQ1IsS0FBSyxZQUFZLENBQUMsTUFBTTt3QkFDdEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDUCxNQUFNO29CQUNSO3dCQUNFLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqQyxDQUFDLEVBQUUsQ0FBQzt3QkFDSixNQUFNO2lCQUNUO2FBQ0Y7WUFFRCxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzZGQXBDVSxhQUFhO29GQUFiLGFBQWE7a0RBQWIsYUFBYTtjQUh6QixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLFdBQVc7YUFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIlxyXG5pbXBvcnQge1BJQ0ludGVyZmFjZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIlxyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbWFnaWNUaW1lJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZU1hZ2ljUGlwZSBleHRlbmRzIERhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdGFzazogVGFza01hZ2ljU2VydmljZSkge1xyXG4gICAgc3VwZXIoJ2VuLVVTJyk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgY29udHJvbElkOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgbGV0IG1hc2s6IHN0cmluZyA9IHRoaXMuX3Rhc2suR2V0Q29udHJvbFBpY3R1cmVNYXNrIChjb250cm9sSWQpLmdldE1hc2soKTtcclxuICAgIGxldCBmb3JtYXRTdHI6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlciAoKTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInVuZGVmaW5lZFwiICYmIG1hc2sgIT09IG51bGwpIHtcclxuICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IG1hc2subGVuZ3RoOykge1xyXG4gICAgICAgIHN3aXRjaCAobWFzay5jaGFyQ29kZUF0KGkpKSB7XHJcbiAgICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfSEg6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ2hoJyk7XHJcbiAgICAgICAgICAgIGkgKz0gMjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfTU1UOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdtbScpO1xyXG4gICAgICAgICAgICBpICs9IDI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX1NTOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdzcycpO1xyXG4gICAgICAgICAgICBpICs9IDI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZChtYXNrLmNoYXJBdChpKSk7XHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3JtYXRTdHIuQXBwZW5kKCcgYScpO1xyXG4gICAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKHZhbHVlLCBmb3JtYXRTdHIuVG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5tYWdpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvcGlwZXMvdGltZS5tYWdpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUE7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFBOzs7QUFRN0MsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBRXpDLFlBQXNCLEtBQXVCO1FBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBRTdDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWlCO1FBQ3JDLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUUsSUFBSSxTQUFTLEdBQWtCLElBQUksYUFBYSxFQUFHLENBQUM7UUFFcEQsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUNqRCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRztnQkFDeEMsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMxQixLQUFLLFlBQVksQ0FBQyxNQUFNO3dCQUN0QixTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN2QixDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNQLE1BQU07b0JBQ1IsS0FBSyxZQUFZLENBQUMsT0FBTzt3QkFDdkIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDUCxNQUFNO29CQUNSLEtBQUssWUFBWSxDQUFDLE1BQU07d0JBQ3RCLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3ZCLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ1AsTUFBTTtvQkFDUjt3QkFDRSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDakMsQ0FBQyxFQUFFLENBQUM7d0JBQ0osTUFBTTtpQkFDVDthQUNGO1lBRUQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzswRUFwQ1UsYUFBYTtpRUFBYixhQUFhO29DQUFiLGFBQWE7Y0FIekIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxXQUFXO2FBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7U3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCJcclxuaW1wb3J0IHtQSUNJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCJcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ21hZ2ljVGltZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVNYWdpY1BpcGUgZXh0ZW5kcyBEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Rhc2s6IFRhc2tNYWdpY1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCdlbi1VUycpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGNvbnRyb2xJZDogc3RyaW5nKTogYW55IHtcclxuICAgIGxldCBtYXNrOiBzdHJpbmcgPSB0aGlzLl90YXNrLkdldENvbnRyb2xQaWN0dXJlTWFzayAoY29udHJvbElkKS5nZXRNYXNrKCk7XHJcbiAgICBsZXQgZm9ybWF0U3RyOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIgKCk7XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBtYXNrICE9PSBudWxsKSB7XHJcbiAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBtYXNrLmxlbmd0aDspIHtcclxuICAgICAgICBzd2l0Y2ggKG1hc2suY2hhckNvZGVBdChpKSkge1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX0hIOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdoaCcpO1xyXG4gICAgICAgICAgICBpICs9IDI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX01NVDpcclxuICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnbW0nKTtcclxuICAgICAgICAgICAgaSArPSAyO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19TUzpcclxuICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnc3MnKTtcclxuICAgICAgICAgICAgaSArPSAyO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQobWFzay5jaGFyQXQoaSkpO1xyXG4gICAgICAgICAgICBpKys7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnIGEnKTtcclxuICAgICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0U3RyLlRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Component, ComponentFactoryResolver, ViewContainerRef } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { EngineMagicService } from '../services/engine.magic.service';
4
4
  import { getGuiEventObj } from '@magic-xpa/engine';
5
5
  import { List } from '@magic-xpa/mscorelib';
@@ -16,22 +16,10 @@ import * as i3 from "../services/task.magics.service";
16
16
  import * as i4 from "../services/component-list.magic.service";
17
17
  import * as i5 from "../services/commands-collector.magic.service";
18
18
  import * as i6 from "../services/router-commands.magic.service";
19
- /**
20
- * Mock component, implements routing by connecting the requested URL with the appropriate Magic task
21
- */
22
19
  export class RouterContainerMagicComponent {
23
- /**
24
- *
25
- * @param changeDetectorRef
26
- * @param activatedRoute
27
- * @param magic
28
- * @param componentFactoryResolver
29
- * @param viewContainerRef
30
- * @param componentList
31
- * @param pendingCommandsCollector
32
- */
33
- constructor(activatedRoute, magic, containerTaskService, componentFactoryResolver, viewContainerRef, componentList, pendingCommandsCollector, routerCommandsMagicService) {
20
+ constructor(activatedRoute, router, magic, containerTaskService, componentFactoryResolver, viewContainerRef, componentList, pendingCommandsCollector, routerCommandsMagicService) {
34
21
  this.activatedRoute = activatedRoute;
22
+ this.router = router;
35
23
  this.magic = magic;
36
24
  this.containerTaskService = containerTaskService;
37
25
  this.componentFactoryResolver = componentFactoryResolver;
@@ -42,13 +30,14 @@ export class RouterContainerMagicComponent {
42
30
  this.componentRef = null;
43
31
  this.parentMgSubformService = null;
44
32
  }
45
- /**
46
- * Initialization
47
- */
33
+ static get LastRoute() {
34
+ return RouterContainerMagicComponent.lastRoute;
35
+ }
48
36
  ngOnInit() {
49
37
  let outletname = this.activatedRoute.outlet;
50
38
  let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
51
39
  let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
40
+ RouterContainerMagicComponent.lastRoute = this.router.url;
52
41
  if (subformMagicService == null || subformMagicService.currentRouteDefinition === null) {
53
42
  this.insertRouteEvent(currentActiveRoute);
54
43
  SubformMagicService.routerContainers.push(this);
@@ -62,10 +51,7 @@ export class RouterContainerMagicComponent {
62
51
  guiEvent.RouterPath = currentActiveRoute.snapshot.routeConfig.path;
63
52
  if (currentActiveRoute.snapshot.outlet !== 'primary')
64
53
  guiEvent.RouterOutletName = currentActiveRoute.snapshot.outlet;
65
- // if this is LoadOnDemandModuleMagicComponent it's mean that this is load on demand module and we
66
- // need to take the path form routeConfig.path
67
54
  let calcRouterPath = currentActiveRoute.routeConfig.path;
68
- // add the RouterPath only if exist
69
55
  if (calcRouterPath.length > 0) {
70
56
  let routerPath = calcRouterPath;
71
57
  let tokens = StrUtil.tokenize(routerPath, "/:");
@@ -78,7 +64,6 @@ export class RouterContainerMagicComponent {
78
64
  this.containerTaskService.insertEvent(guiEvent);
79
65
  }
80
66
  initializeComponent() {
81
- // re-init subformMagicService since it may change after executing "RouterNavigate" event.
82
67
  let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
83
68
  if (subformMagicService.currentRouteDefinition !== null) {
84
69
  let comp = this.componentList.getComponent(subformMagicService.currentRouteDefinition.formName);
@@ -91,9 +76,6 @@ export class RouterContainerMagicComponent {
91
76
  this.parentMgSubformService = subformMagicService;
92
77
  subformMagicService.currentRouteDefinition = null;
93
78
  SubformMagicService.currentCallerMgSubformServiceRef = null;
94
- //When the component is initialized, then also we get the notification for paramMap subscription.
95
- //But in this case, we do not have to raise the event, because magic engine itself has initiated the route with the same parameters.
96
- //So, control it via ignoreParamChange flag.
97
79
  let ignoreParamChange = true;
98
80
  myActiveRoute.paramMap.subscribe(params => {
99
81
  if (!ignoreParamChange)
@@ -104,27 +86,24 @@ export class RouterContainerMagicComponent {
104
86
  this.routerCommandsMagicService.ExecuteNextCommand();
105
87
  }
106
88
  }
107
- /**
108
- * Cleanup
109
- */
110
89
  ngOnDestroy() {
111
- // TODO Routing: Call close() only if the task is not already closed.
112
- // Task can be closed when a router is overlayed by another task via call operation.
113
90
  if (this.componentRef != null) {
114
91
  this.componentRef.instance.task.close();
115
92
  let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
116
93
  this.parentMgSubformService.routesDict[currentActiveRoute.outlet] = "";
94
+ RouterContainerMagicComponent.lastRoute = this.router.url;
117
95
  }
118
96
  }
119
97
  }
120
- /** @nocollapse */ RouterContainerMagicComponent.ɵfac = function RouterContainerMagicComponent_Factory(t) { return new (t || RouterContainerMagicComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.EngineMagicService), i0.ɵɵdirectiveInject(i3.TaskMagicService), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i4.ComponentListMagicService), i0.ɵɵdirectiveInject(i5.CommandsCollectorMagicService), i0.ɵɵdirectiveInject(i6.RouterCommandsMagicService)); };
121
- /** @nocollapse */ RouterContainerMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RouterContainerMagicComponent, selectors: [["magic-route-outlet"]], decls: 0, vars: 0, template: function RouterContainerMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
122
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(RouterContainerMagicComponent, [{
98
+ RouterContainerMagicComponent.lastRoute = "/";
99
+ RouterContainerMagicComponent.ɵfac = function RouterContainerMagicComponent_Factory(t) { return new (t || RouterContainerMagicComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.EngineMagicService), i0.ɵɵdirectiveInject(i3.TaskMagicService), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i4.ComponentListMagicService), i0.ɵɵdirectiveInject(i5.CommandsCollectorMagicService), i0.ɵɵdirectiveInject(i6.RouterCommandsMagicService)); };
100
+ RouterContainerMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RouterContainerMagicComponent, selectors: [["magic-route-outlet"]], decls: 0, vars: 0, template: function RouterContainerMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
101
+ (function () { i0.ɵsetClassMetadata(RouterContainerMagicComponent, [{
123
102
  type: Component,
124
103
  args: [{
125
104
  selector: 'magic-route-outlet',
126
105
  template: `
127
106
  `
128
107
  }]
129
- }], function () { return [{ type: i1.ActivatedRoute }, { type: i2.EngineMagicService }, { type: i3.TaskMagicService }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i4.ComponentListMagicService }, { type: i5.CommandsCollectorMagicService }, { type: i6.RouterCommandsMagicService }]; }, null); })();
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWNvbnRhaW5lci5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9yb3V0ZXItY29udGFpbmVyLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFVLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFhLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7QUFFbkU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sNkJBQTZCO0lBSXhDOzs7Ozs7Ozs7T0FTRztJQUNILFlBQW9CLGNBQThCLEVBQzVCLEtBQXlCLEVBQzNCLG9CQUFzQyxFQUN0Qyx3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLGFBQXdDLEVBQ3RDLHdCQUF1RCxFQUN2RCwwQkFBc0Q7UUFQeEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzVCLFVBQUssR0FB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QztTQUN0RDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxxRUFBcUU7UUFDckUsb0ZBQW9GO1FBQ3BGLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQzdCO1lBQzJCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVsRSxJQUFJLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUN4RTtJQUNILENBQUM7OzZIQXRIVSw2QkFBNkI7cUZBQTdCLDZCQUE2QjtrREFBN0IsNkJBQTZCO2NBTHpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUU7R0FDVDthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRhc2tCYXNlTWFnaWNDb21wb25lbnQgfSBmcm9tICcuL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbmdpbmVNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbmdpbmUubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEd1aUV2ZW50T2JqLCBJR3VpRXZlbnQgfSBmcm9tICdAbWFnaWMteHBhL2VuZ2luZSc7XHJcbmltcG9ydCB7IExpc3QgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IFN0clV0aWwgfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcm91dGVyLWNvbW1hbmRzLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZSc7XHJcblxyXG4vKipcclxuICogTW9jayBjb21wb25lbnQsIGltcGxlbWVudHMgcm91dGluZyBieSBjb25uZWN0aW5nIHRoZSByZXF1ZXN0ZWQgVVJMIHdpdGggdGhlIGFwcHJvcHJpYXRlIE1hZ2ljIHRhc2tcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWFnaWMtcm91dGUtb3V0bGV0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlckNvbnRhaW5lck1hZ2ljQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGNvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBwYXJlbnRNZ1N1YmZvcm1TZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gY2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgKiBAcGFyYW0gYWN0aXZhdGVkUm91dGVcclxuICAgKiBAcGFyYW0gbWFnaWNcclxuICAgKiBAcGFyYW0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcbiAgICogQHBhcmFtIHZpZXdDb250YWluZXJSZWZcclxuICAgKiBAcGFyYW0gY29tcG9uZW50TGlzdFxyXG4gICAqIEBwYXJhbSBwZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3JcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgbWFnaWM6IEVuZ2luZU1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbnRhaW5lclRhc2tTZXJ2aWNlOiBUYXNrTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yOiBDb21tYW5kc0NvbGxlY3Rvck1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2U6IFJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXphdGlvblxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgbGV0IG91dGxldG5hbWUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLm91dGxldDtcclxuICAgIGxldCBzdWJmb3JtTWFnaWNTZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZjtcclxuXHJcbiAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICAgIGlmIChzdWJmb3JtTWFnaWNTZXJ2aWNlID09IG51bGwgfHwgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuaW5zZXJ0Um91dGVFdmVudChjdXJyZW50QWN0aXZlUm91dGUpO1xyXG5cclxuICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzLnB1c2godGhpcyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplQ29tcG9uZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluc2VydFJvdXRlRXZlbnQoY3VycmVudEFjdGl2ZVJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaignUm91dGVyTmF2aWdhdGUnLCBudWxsLCAwKTtcclxuICAgIGd1aUV2ZW50LlJvdXRlclBhdGggPSBjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aDtcclxuXHJcbiAgICBpZiAoY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90Lm91dGxldCAhPT0gJ3ByaW1hcnknKVxyXG4gICAgICBndWlFdmVudC5Sb3V0ZXJPdXRsZXROYW1lID0gY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90Lm91dGxldDtcclxuXHJcblxyXG4gICAgLy8gaWYgdGhpcyBpcyBMb2FkT25EZW1hbmRNb2R1bGVNYWdpY0NvbXBvbmVudCBpdCdzIG1lYW4gdGhhdCB0aGlzIGlzIGxvYWQgb24gZGVtYW5kIG1vZHVsZSBhbmQgd2VcclxuICAgIC8vIG5lZWQgdG8gdGFrZSB0aGUgcGF0aCBmb3JtIHJvdXRlQ29uZmlnLnBhdGhcclxuXHJcbiAgICBsZXQgY2FsY1JvdXRlclBhdGg6IHN0cmluZyA9IGN1cnJlbnRBY3RpdmVSb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoO1xyXG4gICAgLy8gYWRkIHRoZSBSb3V0ZXJQYXRoIG9ubHkgaWYgZXhpc3RcclxuICAgIGlmIChjYWxjUm91dGVyUGF0aC5sZW5ndGggPiAwKVxyXG4gICAge1xyXG4gICAgICBsZXQgcm91dGVyUGF0aDogc3RyaW5nID0gY2FsY1JvdXRlclBhdGg7XHJcbiAgICAgIGxldCB0b2tlbnM6IHN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShyb3V0ZXJQYXRoLCBcIi86XCIpO1xyXG4gICAgICBndWlFdmVudC5Sb3V0ZXJQYXRoID0gdG9rZW5zWzBdO1xyXG5cclxuICAgICAgZ3VpRXZlbnQuUm91dGVyUGFyYW1zID0gbmV3IExpc3QoKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBndWlFdmVudC5Sb3V0ZXJQYXJhbXMucHVzaCh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1t0b2tlbnNbaV1dKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udGFpbmVyVGFza1NlcnZpY2UuaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZUNvbXBvbmVudCgpIHtcclxuICAgIC8vIHJlLWluaXQgc3ViZm9ybU1hZ2ljU2VydmljZSAgc2luY2UgaXQgbWF5IGNoYW5nZSBhZnRlciBleGVjdXRpbmcgXCJSb3V0ZXJOYXZpZ2F0ZVwiIGV2ZW50LlxyXG4gICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xyXG4gICAgaWYgKHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiAhPT0gbnVsbCkge1xyXG4gICAgICBsZXQgY29tcCA9IHRoaXMuY29tcG9uZW50TGlzdC5nZXRDb21wb25lbnQoc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uLmZvcm1OYW1lKTtcclxuICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXApO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UsIHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKTtcclxuXHJcblxyXG4gICAgICBsZXQgbXlBY3RpdmVSb3V0ZSA9IFN1YmZvcm1NYWdpY1NlcnZpY2UuZ2V0UmVsYXRpdmVSb3V0ZSh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcclxuXHJcbiAgICAgIGxldCByb3V0ZVBhcmFtczogc3RyaW5nW10gPSBTdHJVdGlsLnRva2VuaXplKG15QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aCwgXCIvOlwiKTtcclxuICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXNEaWN0W215QWN0aXZlUm91dGUuc25hcHNob3Qub3V0bGV0XSA9IHJvdXRlUGFyYW1zWzBdO1xyXG5cclxuICAgICAgdGhpcy5wYXJlbnRNZ1N1YmZvcm1TZXJ2aWNlID0gc3ViZm9ybU1hZ2ljU2VydmljZTtcclxuICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0gbnVsbDtcclxuICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9IG51bGw7XHJcblxyXG4gICAgICAvL1doZW4gdGhlIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZCwgdGhlbiBhbHNvIHdlIGdldCB0aGUgbm90aWZpY2F0aW9uIGZvciBwYXJhbU1hcCBzdWJzY3JpcHRpb24uXHJcbiAgICAgIC8vQnV0IGluIHRoaXMgY2FzZSwgIHdlIGRvIG5vdCBoYXZlIHRvIHJhaXNlIHRoZSBldmVudCwgYmVjYXVzZSBtYWdpYyBlbmdpbmUgaXRzZWxmIGhhcyAgaW5pdGlhdGVkIHRoZSByb3V0ZSB3aXRoIHRoZSBzYW1lIHBhcmFtZXRlcnMuXHJcbiAgICAgIC8vU28sIGNvbnRyb2wgaXQgdmlhIGlnbm9yZVBhcmFtQ2hhbmdlIGZsYWcuXHJcbiAgICAgIGxldCBpZ25vcmVQYXJhbUNoYW5nZSA9IHRydWU7XHJcbiAgICAgIG15QWN0aXZlUm91dGUucGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVQYXJhbUNoYW5nZSlcclxuICAgICAgICAgIHRoaXMuaW5zZXJ0Um91dGVFdmVudChteUFjdGl2ZVJvdXRlKTtcclxuICAgICAgICBpZ25vcmVQYXJhbUNoYW5nZSA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMucGFyZW50TWdTdWJmb3JtU2VydmljZS5yZWZyZXNoVmlldygpO1xyXG5cclxuICAgICAgdGhpcy5yb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZS5FeGVjdXRlTmV4dENvbW1hbmQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFudXBcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIC8vIFRPRE8gUm91dGluZzogQ2FsbCBjbG9zZSgpIG9ubHkgaWYgdGhlIHRhc2sgaXMgbm90IGFscmVhZHkgY2xvc2VkLlxyXG4gICAgLy8gVGFzayBjYW4gYmUgY2xvc2VkIHdoZW4gYSByb3V0ZXIgaXMgb3ZlcmxheWVkIGJ5IGFub3RoZXIgdGFzayB2aWEgY2FsbCBvcGVyYXRpb24uXHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT0gbnVsbClcclxuICAgIHtcclxuICAgICAgKDxUYXNrQmFzZU1hZ2ljQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS50YXNrLmNsb3NlKCk7XHJcblxyXG4gICAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG4gICAgICB0aGlzLnBhcmVudE1nU3ViZm9ybVNlcnZpY2Uucm91dGVzRGljdFtjdXJyZW50QWN0aXZlUm91dGUub3V0bGV0XSA9IFwiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
108
+ }], function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.EngineMagicService }, { type: i3.TaskMagicService }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i4.ComponentListMagicService }, { type: i5.CommandsCollectorMagicService }, { type: i6.RouterCommandsMagicService }]; }, null); })();
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWNvbnRhaW5lci5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9yb3V0ZXItY29udGFpbmVyLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFVLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7O0FBVW5FLE1BQU0sT0FBTyw2QkFBNkI7SUFtQnhDLFlBQW9CLGNBQThCLEVBQzVCLE1BQWMsRUFDZCxLQUF5QixFQUMzQixvQkFBc0MsRUFDdEMsd0JBQWtELEVBQ2xELGdCQUFrQyxFQUNsQyxhQUF3QyxFQUN0Qyx3QkFBdUQsRUFDdkQsMEJBQXNEO1FBUnhELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM1QixXQUFNLEdBQU4sTUFB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QUUxQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFLRCxXQUFXO1FBR1QsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksRUFDN0I7WUFDMkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWxFLElBQUksa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25GLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBRXZFLDZCQUE2QixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUMzRDtJQUNILENBQUM7O0FBN0hjLHVDQUFTLEdBQVcsR0FBRyxDQUFDOzBHQUg1Qiw2QkFBNkI7a0VBQTdCLDZCQUE2QjtvQ0FBN0IsNkJBQTZCO2NBTHpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUU7R0FDVDthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRhc2tCYXNlTWFnaWNDb21wb25lbnQgfSBmcm9tICcuL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbmdpbmVNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lbmdpbmUubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEd1aUV2ZW50T2JqLCBJR3VpRXZlbnQgfSBmcm9tICdAbWFnaWMteHBhL2VuZ2luZSc7XHJcbmltcG9ydCB7IExpc3QgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IFN0clV0aWwgfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBvbmVudC1saXN0Lm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3ViZm9ybS5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbWFuZHNDb2xsZWN0b3JNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tYW5kcy1jb2xsZWN0b3IubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcm91dGVyLWNvbW1hbmRzLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZSc7XHJcblxyXG4vKipcclxuICogTW9jayBjb21wb25lbnQsIGltcGxlbWVudHMgcm91dGluZyBieSBjb25uZWN0aW5nIHRoZSByZXF1ZXN0ZWQgVVJMIHdpdGggdGhlIGFwcHJvcHJpYXRlIE1hZ2ljIHRhc2tcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWFnaWMtcm91dGUtb3V0bGV0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlckNvbnRhaW5lck1hZ2ljQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGNvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBwYXJlbnRNZ1N1YmZvcm1TZXJ2aWNlOiBTdWJmb3JtTWFnaWNTZXJ2aWNlID0gbnVsbDtcclxuICBwcml2YXRlIHN0YXRpYyBsYXN0Um91dGU6IHN0cmluZyA9IFwiL1wiO1xyXG5cclxuICBzdGF0aWMgZ2V0IExhc3RSb3V0ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFJvdXRlckNvbnRhaW5lck1hZ2ljQ29tcG9uZW50Lmxhc3RSb3V0ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmXHJcbiAgICogQHBhcmFtIGFjdGl2YXRlZFJvdXRlXHJcbiAgICogQHBhcmFtIG1hZ2ljXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxyXG4gICAqIEBwYXJhbSB2aWV3Q29udGFpbmVyUmVmXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudExpc3RcclxuICAgKiBAcGFyYW0gcGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBtYWdpYzogRW5naW5lTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29udGFpbmVyVGFza1NlcnZpY2U6IFRhc2tNYWdpY1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRMaXN0OiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBwZW5kaW5nQ29tbWFuZHNDb2xsZWN0b3I6IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZTogUm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2UpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemF0aW9uXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgb3V0bGV0bmFtZSA9IHRoaXMuYWN0aXZhdGVkUm91dGUub3V0bGV0O1xyXG4gICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xyXG5cclxuICAgIGxldCBjdXJyZW50QWN0aXZlUm91dGUgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcblxyXG4gICAgUm91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQubGFzdFJvdXRlID0gdGhpcy5yb3V0ZXIudXJsO1xyXG5cclxuICAgIGlmIChzdWJmb3JtTWFnaWNTZXJ2aWNlID09IG51bGwgfHwgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuaW5zZXJ0Um91dGVFdmVudChjdXJyZW50QWN0aXZlUm91dGUpO1xyXG5cclxuICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzLnB1c2godGhpcyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplQ29tcG9uZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluc2VydFJvdXRlRXZlbnQoY3VycmVudEFjdGl2ZVJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaignUm91dGVyTmF2aWdhdGUnLCBudWxsLCAwKTtcclxuICAgIGd1aUV2ZW50LlJvdXRlclBhdGggPSBjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aDtcclxuXHJcbiAgICBpZiAoY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90Lm91dGxldCAhPT0gJ3ByaW1hcnknKVxyXG4gICAgICBndWlFdmVudC5Sb3V0ZXJPdXRsZXROYW1lID0gY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90Lm91dGxldDtcclxuXHJcblxyXG4gICAgLy8gaWYgdGhpcyBpcyBMb2FkT25EZW1hbmRNb2R1bGVNYWdpY0NvbXBvbmVudCBpdCdzIG1lYW4gdGhhdCB0aGlzIGlzIGxvYWQgb24gZGVtYW5kIG1vZHVsZSBhbmQgd2VcclxuICAgIC8vIG5lZWQgdG8gdGFrZSB0aGUgcGF0aCBmb3JtIHJvdXRlQ29uZmlnLnBhdGhcclxuXHJcbiAgICBsZXQgY2FsY1JvdXRlclBhdGg6IHN0cmluZyA9IGN1cnJlbnRBY3RpdmVSb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoO1xyXG4gICAgLy8gYWRkIHRoZSBSb3V0ZXJQYXRoIG9ubHkgaWYgZXhpc3RcclxuICAgIGlmIChjYWxjUm91dGVyUGF0aC5sZW5ndGggPiAwKVxyXG4gICAge1xyXG4gICAgICBsZXQgcm91dGVyUGF0aDogc3RyaW5nID0gY2FsY1JvdXRlclBhdGg7XHJcbiAgICAgIGxldCB0b2tlbnM6IHN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShyb3V0ZXJQYXRoLCBcIi86XCIpO1xyXG4gICAgICBndWlFdmVudC5Sb3V0ZXJQYXRoID0gdG9rZW5zWzBdO1xyXG5cclxuICAgICAgZ3VpRXZlbnQuUm91dGVyUGFyYW1zID0gbmV3IExpc3QoKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBndWlFdmVudC5Sb3V0ZXJQYXJhbXMucHVzaCh0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1t0b2tlbnNbaV1dKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udGFpbmVyVGFza1NlcnZpY2UuaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZUNvbXBvbmVudCgpIHtcclxuICAgIC8vIHJlLWluaXQgc3ViZm9ybU1hZ2ljU2VydmljZSAgc2luY2UgaXQgbWF5IGNoYW5nZSBhZnRlciBleGVjdXRpbmcgXCJSb3V0ZXJOYXZpZ2F0ZVwiIGV2ZW50LlxyXG4gICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xyXG4gICAgaWYgKHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbiAhPT0gbnVsbCkge1xyXG4gICAgICBsZXQgY29tcCA9IHRoaXMuY29tcG9uZW50TGlzdC5nZXRDb21wb25lbnQoc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uLmZvcm1OYW1lKTtcclxuICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXApO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UsIHN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudFJvdXRlRGVmaW5pdGlvbi5wYXJhbWV0ZXJzKTtcclxuXHJcblxyXG4gICAgICBsZXQgbXlBY3RpdmVSb3V0ZSA9IFN1YmZvcm1NYWdpY1NlcnZpY2UuZ2V0UmVsYXRpdmVSb3V0ZSh0aGlzLmFjdGl2YXRlZFJvdXRlKTtcclxuXHJcbiAgICAgIGxldCByb3V0ZVBhcmFtczogc3RyaW5nW10gPSBTdHJVdGlsLnRva2VuaXplKG15QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aCwgXCIvOlwiKTtcclxuICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXNEaWN0W215QWN0aXZlUm91dGUuc25hcHNob3Qub3V0bGV0XSA9IHJvdXRlUGFyYW1zWzBdO1xyXG5cclxuICAgICAgdGhpcy5wYXJlbnRNZ1N1YmZvcm1TZXJ2aWNlID0gc3ViZm9ybU1hZ2ljU2VydmljZTtcclxuICAgICAgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID0gbnVsbDtcclxuICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Q2FsbGVyTWdTdWJmb3JtU2VydmljZVJlZiA9IG51bGw7XHJcblxyXG4gICAgICAvL1doZW4gdGhlIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZCwgdGhlbiBhbHNvIHdlIGdldCB0aGUgbm90aWZpY2F0aW9uIGZvciBwYXJhbU1hcCBzdWJzY3JpcHRpb24uXHJcbiAgICAgIC8vQnV0IGluIHRoaXMgY2FzZSwgIHdlIGRvIG5vdCBoYXZlIHRvIHJhaXNlIHRoZSBldmVudCwgYmVjYXVzZSBtYWdpYyBlbmdpbmUgaXRzZWxmIGhhcyAgaW5pdGlhdGVkIHRoZSByb3V0ZSB3aXRoIHRoZSBzYW1lIHBhcmFtZXRlcnMuXHJcbiAgICAgIC8vU28sIGNvbnRyb2wgaXQgdmlhIGlnbm9yZVBhcmFtQ2hhbmdlIGZsYWcuXHJcbiAgICAgIGxldCBpZ25vcmVQYXJhbUNoYW5nZSA9IHRydWU7XHJcbiAgICAgIG15QWN0aXZlUm91dGUucGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVQYXJhbUNoYW5nZSlcclxuICAgICAgICAgIHRoaXMuaW5zZXJ0Um91dGVFdmVudChteUFjdGl2ZVJvdXRlKTtcclxuICAgICAgICBpZ25vcmVQYXJhbUNoYW5nZSA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMucGFyZW50TWdTdWJmb3JtU2VydmljZS5yZWZyZXNoVmlldygpO1xyXG5cclxuICAgICAgdGhpcy5yb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZS5FeGVjdXRlTmV4dENvbW1hbmQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFudXBcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIC8vIFRPRE8gUm91dGluZzogQ2FsbCBjbG9zZSgpIG9ubHkgaWYgdGhlIHRhc2sgaXMgbm90IGFscmVhZHkgY2xvc2VkLlxyXG4gICAgLy8gVGFzayBjYW4gYmUgY2xvc2VkIHdoZW4gYSByb3V0ZXIgaXMgb3ZlcmxheWVkIGJ5IGFub3RoZXIgdGFzayB2aWEgY2FsbCBvcGVyYXRpb24uXHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYgIT0gbnVsbClcclxuICAgIHtcclxuICAgICAgKDxUYXNrQmFzZU1hZ2ljQ29tcG9uZW50PnRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKS50YXNrLmNsb3NlKCk7XHJcblxyXG4gICAgICBsZXQgY3VycmVudEFjdGl2ZVJvdXRlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG4gICAgICB0aGlzLnBhcmVudE1nU3ViZm9ybVNlcnZpY2Uucm91dGVzRGljdFtjdXJyZW50QWN0aXZlUm91dGUub3V0bGV0XSA9IFwiXCI7XHJcblxyXG4gICAgICBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudC5sYXN0Um91dGUgPSB0aGlzLnJvdXRlci51cmw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -11,48 +11,29 @@ function SubformMagicComponent_ndc_dynamic_0_Template(rf, ctx) { if (rf & 1) {
11
11
  const ctx_r0 = i0.ɵɵnextContext();
12
12
  i0.ɵɵproperty("ndcDynamicComponent", ctx_r0.Component)("ndcDynamicInputs", ctx_r0.Parameters);
13
13
  } }
14
- /**
15
- * Represents a Magic subform
16
- */
17
14
  export class SubformMagicComponent {
18
- /**
19
- * @ignore
20
- */
21
15
  constructor(vcRef, mgSub) {
22
16
  this.vcRef = vcRef;
23
17
  this.mgSub = mgSub;
24
- /**
25
- * @ignore
26
- */
27
18
  this.component = null;
28
- // For angular 10 - find the component from views
29
19
  this.component = (this.vcRef._hostView).find(v => !isNullOrUndefined(v));
30
20
  }
31
- /**
32
- * @ignore
33
- */
34
21
  set magic(val) { this.id = val; }
35
22
  ;
36
- /**
37
- * @ignore
38
- */
39
23
  get Component() {
40
24
  return this.mgSub.mgGetComp(this.id);
41
25
  }
42
- /**
43
- * @ignore
44
- */
45
26
  get Parameters() {
46
27
  return this.mgSub.mgGetParameters(this.id);
47
28
  }
48
29
  }
49
- /** @nocollapse */ SubformMagicComponent.ɵfac = function SubformMagicComponent_Factory(t) { return new (t || SubformMagicComponent)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.SubformMagicService)); };
50
- /** @nocollapse */ SubformMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SubformMagicComponent, selectors: [["magic-subform"]], inputs: { magic: "magic" }, decls: 1, vars: 1, consts: [[3, "ndcDynamicComponent", "ndcDynamicInputs", 4, "ngIf"], [3, "ndcDynamicComponent", "ndcDynamicInputs"]], template: function SubformMagicComponent_Template(rf, ctx) { if (rf & 1) {
30
+ SubformMagicComponent.ɵfac = function SubformMagicComponent_Factory(t) { return new (t || SubformMagicComponent)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.SubformMagicService)); };
31
+ SubformMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SubformMagicComponent, selectors: [["magic-subform"]], inputs: { magic: "magic" }, decls: 1, vars: 1, consts: [[3, "ndcDynamicComponent", "ndcDynamicInputs", 4, "ngIf"], [3, "ndcDynamicComponent", "ndcDynamicInputs"]], template: function SubformMagicComponent_Template(rf, ctx) { if (rf & 1) {
51
32
  i0.ɵɵtemplate(0, SubformMagicComponent_ndc_dynamic_0_Template, 1, 2, "ndc-dynamic", 0);
52
33
  } if (rf & 2) {
53
34
  i0.ɵɵproperty("ngIf", ctx.Component);
54
35
  } }, directives: [i2.NgIf, i3.DynamicComponent, i3.DynamicIoDirective], encapsulation: 2 });
55
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(SubformMagicComponent, [{
36
+ (function () { i0.ɵsetClassMetadata(SubformMagicComponent, [{
56
37
  type: Component,
57
38
  args: [{
58
39
  selector: 'magic-subform',
@@ -68,4 +49,4 @@ export class SubformMagicComponent {
68
49
  type: Input,
69
50
  args: ['magic']
70
51
  }] }); })();
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9zdWJmb3JtLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztJQVFyQyxpQ0FJYzs7O0lBRlosc0RBQWlDLHVDQUFBOztBQVJ2Qzs7R0FFRztBQVlILE1BQU0sT0FBTyxxQkFBcUI7SUFnQmhDOztPQUVHO0lBQ0gsWUFBb0IsS0FBdUIsRUFBWSxLQUEwQjtRQUE3RCxVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQUFZLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBUmpGOztXQUVHO1FBQ0gsY0FBUyxHQUEyQixJQUFJLENBQUM7UUFNdkMsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUssQ0FBTyxJQUFJLENBQUMsS0FBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUUsQ0FBNEIsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQWhCRDs7T0FFRztJQUNILElBQW9CLEtBQUssQ0FBQyxHQUFHLElBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQWVqRDs7T0FFRztJQUNILElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzZHQXBDVSxxQkFBcUI7NkVBQXJCLHFCQUFxQjtRQVI5QixzRkFJQTs7UUFIRSxvQ0FBaUI7O2tEQU9WLHFCQUFxQjtjQVhqQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBSzs7Ozs7O0NBTWQ7YUFBQztxR0FZb0IsS0FBSztrQkFBeEIsS0FBSzttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1Rhc2tCYXNlTWFnaWNDb21wb25lbnR9IGZyb20gXCIuL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU3ViZm9ybU1hZ2ljU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zdWJmb3JtLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICd1dGlsJztcclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGEgTWFnaWMgc3ViZm9ybVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtYWdpYy1zdWJmb3JtJyxcclxuICB0ZW1wbGF0ZTogICAgYFxyXG4gICAgPG5kYy1keW5hbWljXHJcbiAgICAgICpuZ0lmPVwiQ29tcG9uZW50XCIgIFxyXG4gICAgICBbbmRjRHluYW1pY0NvbXBvbmVudF09XCJDb21wb25lbnRcIiBcclxuICAgICAgW25kY0R5bmFtaWNJbnB1dHNdPVwiUGFyYW1ldGVyc1wiPlxyXG4gICAgPC9uZGMtZHluYW1pYz5cclxuYH0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFN1YmZvcm1NYWdpY0NvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICAqIEBpZ25vcmVcclxuICAgICovXHJcbiAgaWQgOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASW5wdXQoJ21hZ2ljJykgc2V0IG1hZ2ljKHZhbCkge3RoaXMuaWQgPSB2YWw7IH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb21wb25lbnQ6IFRhc2tCYXNlTWFnaWNDb21wb25lbnQgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2Y1JlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIG1nU3ViOiBTdWJmb3JtTWFnaWNTZXJ2aWNlKSB7XHJcbiAgICAvLyBGb3IgYW5ndWxhciAxMCAtIGZpbmQgdGhlIGNvbXBvbmVudCBmcm9tIHZpZXdzXHJcbiAgICB0aGlzLmNvbXBvbmVudCA9ICAgKCg8YW55PnRoaXMudmNSZWYpLl9ob3N0VmlldykuZmluZCh2ID0+ICFpc051bGxPclVuZGVmaW5lZCgodiBhcyBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50KSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGdldCBDb21wb25lbnQoKTogQ29tcG9uZW50IHtcclxuICAgIHJldHVybiB0aGlzLm1nU3ViLm1nR2V0Q29tcCh0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBnZXQgUGFyYW1ldGVycygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMubWdTdWIubWdHZXRQYXJhbWV0ZXJzKHRoaXMuaWQpO1xyXG4gIH1cclxufVxyXG5cclxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9zdWJmb3JtLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztJQVFyQyxpQ0FJYzs7O0lBRlosc0RBQWlDLHVDQUFBOztBQU12QyxNQUFNLE9BQU8scUJBQXFCO0lBbUJoQyxZQUFvQixLQUF1QixFQUFZLEtBQTBCO1FBQTdELFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFMakYsY0FBUyxHQUEyQixJQUFJLENBQUM7UUFPdkMsSUFBSSxDQUFDLFNBQVMsR0FBSyxDQUFPLElBQUksQ0FBQyxLQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBRSxDQUE0QixDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBYkQsSUFBb0IsS0FBSyxDQUFDLEdBQUcsSUFBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBa0JqRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBS0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7MEZBcENVLHFCQUFxQjswREFBckIscUJBQXFCO1FBUjlCLHNGQUlBOztRQUhFLG9DQUFpQjs7b0NBT1YscUJBQXFCO2NBWGpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFLOzs7Ozs7Q0FNZDthQUFDO3FHQVlvQixLQUFLO2tCQUF4QixLQUFLO21CQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VGFza0Jhc2VNYWdpY0NvbXBvbmVudH0gZnJvbSBcIi4vdGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3N1YmZvcm0ubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ3V0aWwnO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBNYWdpYyBzdWJmb3JtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hZ2ljLXN1YmZvcm0nLFxyXG4gIHRlbXBsYXRlOiAgICBgXHJcbiAgICA8bmRjLWR5bmFtaWNcclxuICAgICAgKm5nSWY9XCJDb21wb25lbnRcIiAgXHJcbiAgICAgIFtuZGNEeW5hbWljQ29tcG9uZW50XT1cIkNvbXBvbmVudFwiIFxyXG4gICAgICBbbmRjRHluYW1pY0lucHV0c109XCJQYXJhbWV0ZXJzXCI+XHJcbiAgICA8L25kYy1keW5hbWljPlxyXG5gfSlcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU3ViZm9ybU1hZ2ljQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgICogQGlnbm9yZVxyXG4gICAgKi9cclxuICBpZCA6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgnbWFnaWMnKSBzZXQgbWFnaWModmFsKSB7dGhpcy5pZCA9IHZhbDsgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbXBvbmVudDogVGFza0Jhc2VNYWdpY0NvbXBvbmVudCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgbWdTdWI6IFN1YmZvcm1NYWdpY1NlcnZpY2UpIHtcclxuICAgIC8vIEZvciBhbmd1bGFyIDEwIC0gZmluZCB0aGUgY29tcG9uZW50IGZyb20gdmlld3NcclxuICAgIHRoaXMuY29tcG9uZW50ID0gICAoKDxhbnk+dGhpcy52Y1JlZikuX2hvc3RWaWV3KS5maW5kKHYgPT4gIWlzTnVsbE9yVW5kZWZpbmVkKCh2IGFzIFRhc2tCYXNlTWFnaWNDb21wb25lbnQpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZ2V0IENvbXBvbmVudCgpOiBDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMubWdTdWIubWdHZXRDb21wKHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGdldCBQYXJhbWV0ZXJzKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZ1N1Yi5tZ0dldFBhcmFtZXRlcnModGhpcy5pZCk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -6,68 +6,30 @@ import { TableMagicService } from "../services/table.magic.service";
6
6
  import { MagicServices } from "../services/magic.services";
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "../services/magic.services";
9
- /**
10
- * Base component representing a Magic task
11
- */
12
9
  export class TaskBaseMagicComponent {
13
- /**
14
- *
15
- * @param ref changes-detector object
16
- * @param magicServices Access point for all Magic services
17
- */
18
10
  constructor(ref, magicServices) {
19
11
  this.ref = ref;
20
12
  this.magicServices = magicServices;
21
- /**
22
- * @ignore
23
- */
24
13
  this.magicProperties = MagicProperties;
25
14
  }
26
- /**
27
- * Returns the Magic task service
28
- * @returns
29
- */
30
15
  get task() {
31
16
  return this.magicServices.task;
32
17
  }
33
- /**
34
- * Returns the Magic subform service
35
- * @returns
36
- */
37
18
  get mgSub() {
38
19
  return this.magicServices.subformService;
39
20
  }
40
- /**
41
- * Returns the Magic table service
42
- * @returns
43
- */
44
21
  get tableService() {
45
22
  return this.magicServices.tableService;
46
23
  }
47
- /**
48
- * Returns the Magic accessor service
49
- * @returns
50
- */
51
24
  get mg() {
52
25
  return this.magicServices.mgAccessorService;
53
26
  }
54
- /**
55
- * Returns the task Id
56
- * @returns
57
- */
58
27
  get taskId() {
59
28
  return this.task.taskId;
60
29
  }
61
- /**
62
- * Returns the FormGroup for screen-mode forms
63
- * @returns
64
- */
65
30
  get screenFormGroup() {
66
31
  return this.task.ScreenModeControls;
67
32
  }
68
- /**
69
- * Interface implementation
70
- */
71
33
  ngOnInit() {
72
34
  let subscription = this.task.detectChanges.pipe().subscribe(c => {
73
35
  this.ref.detectChanges();
@@ -75,48 +37,19 @@ export class TaskBaseMagicComponent {
75
37
  this.task.initTask(this.taskIdParam, this.taskDescription);
76
38
  this.createFormControlsAccessor(this.screenFormGroup);
77
39
  this.setInputDateFormat();
78
- // subcribe to custom property changes
79
40
  this.task.customPropertiesSubject.pipe().subscribe(property => {
80
41
  this.PropertyChanged(property.propertyName, property.rowId, property.value);
81
42
  });
82
- // subcribe to records count changes
83
43
  this.task.recordsCountChangeSubject.pipe().subscribe(value => {
84
44
  this.RecordsCountChanged(value);
85
45
  });
86
46
  }
87
- /**
88
- * @ignore
89
- */
90
47
  createFormControlsAccessor(formGroup) { }
91
- /**
92
- * @ignore
93
- */
94
48
  setInputDateFormat() { }
95
- /**
96
- * This method is called when the value of any custom property is updated in Magic
97
- * propertyName : name of property which is updated. The format is <controlname>~<propertyname>
98
- * rowId : row number of the updated property for controls in table control (0 for controls outside table)
99
- * value : updated value of the property
100
- * @returns : void
101
- * To use the method override it in your component and check the property name and write you code ..for eg
102
- * if(propertyName == 'controlname~propertyName') {// your code}
103
- * else { // your code}
104
- */
105
49
  PropertyChanged(propertyName, rowId, value) {
106
- // intentionally left blank because the implementation should be in the derived class
107
50
  }
108
- /**
109
- * Records count change subject is subscribed to change in its value. This method will be called
110
- * as the value of records count is received at from server.
111
- * @returns : void
112
- * To use the method override it in your component.
113
- */
114
51
  RecordsCountChanged(recordsCount) {
115
- // intentionally left blank because the implementation should be in the derived class
116
52
  }
117
- /**
118
- * Interface implementation
119
- */
120
53
  ngAfterViewInit() {
121
54
  this.mgSub.init();
122
55
  }
@@ -126,16 +59,13 @@ export class TaskBaseMagicComponent {
126
59
  this.task.oldPageSize = this.tableService.getPageSize();
127
60
  }
128
61
  }
129
- /**
130
- * Interface implementation
131
- */
132
62
  ngOnDestroy() {
133
63
  this.task.dispose();
134
64
  }
135
65
  }
136
- /** @nocollapse */ TaskBaseMagicComponent.ɵfac = function TaskBaseMagicComponent_Factory(t) { return new (t || TaskBaseMagicComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MagicServices)); };
137
- /** @nocollapse */ TaskBaseMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TaskBaseMagicComponent, selectors: [["task-magic"]], inputs: { taskIdParam: "taskIdParam", taskDescription: "taskDescription" }, features: [i0.ɵɵProvidersFeature([TaskMagicService, SubformMagicService, TableMagicService])], decls: 0, vars: 0, template: function TaskBaseMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
138
- /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(TaskBaseMagicComponent, [{
66
+ TaskBaseMagicComponent.ɵfac = function TaskBaseMagicComponent_Factory(t) { return new (t || TaskBaseMagicComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MagicServices)); };
67
+ TaskBaseMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TaskBaseMagicComponent, selectors: [["task-magic"]], inputs: { taskIdParam: "taskIdParam", taskDescription: "taskDescription" }, features: [i0.ɵɵProvidersFeature([TaskMagicService, SubformMagicService, TableMagicService])], decls: 0, vars: 0, template: function TaskBaseMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
68
+ (function () { i0.ɵsetClassMetadata(TaskBaseMagicComponent, [{
139
69
  type: Component,
140
70
  args: [{
141
71
  selector: 'task-magic',
@@ -147,4 +77,4 @@ export class TaskBaseMagicComponent {
147
77
  }], taskDescription: [{
148
78
  type: Input
149
79
  }] }); })();
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFHM0Q7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JqQzs7OztPQUlHO0lBQ0gsWUFBc0IsR0FBc0IsRUFDekIsYUFBNEI7UUFEekIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFYL0M7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLGVBQWUsQ0FBQztJQVM3QixDQUFDO0lBRU47OztPQUdHO0lBQ0gsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxFQUFF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S0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWFnaWNQcm9wZXJ0aWVzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5cclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3N1YmZvcm0ubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJsZU1hZ2ljU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy90YWJsZS5tYWdpYy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE1hZ2ljU2VydmljZXMgfSBmcm9tIFwiLi4vc2VydmljZXMvbWFnaWMuc2VydmljZXNcIjtcclxuaW1wb3J0IHsgQWNjZXNzb3JNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYWNjZXNzb3IubWFnaWMuc2VydmljZVwiO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29tcG9uZW50IHJlcHJlc2VudGluZyBhIE1hZ2ljIHRhc2tcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGFzay1tYWdpYycsXHJcbiAgcHJvdmlkZXJzOiBbVGFza01hZ2ljU2VydmljZSwgU3ViZm9ybU1hZ2ljU2VydmljZSwgVGFibGVNYWdpY1NlcnZpY2VdLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLyoqXHJcbiAgICogSWQgb2YgdGFzaywgdXNlZCBmb3IgaW5pdGlhbGl6aW5nIHRoZSB0YXNrIHNlcnZpY2VcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXNrSWRQYXJhbTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXNrRGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIG1hZ2ljUHJvcGVydGllcyA9IE1hZ2ljUHJvcGVydGllcztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcmVmIGNoYW5nZXMtZGV0ZWN0b3Igb2JqZWN0XHJcbiAgICogQHBhcmFtIG1hZ2ljU2VydmljZXMgQWNjZXNzIHBvaW50IGZvciBhbGwgTWFnaWMgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwdWJsaWMgbWFnaWNTZXJ2aWNlczogTWFnaWNTZXJ2aWNlc1xyXG4gICkgeyAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBNYWdpYyB0YXNrIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCB0YXNrKCk6IFRhc2tNYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy50YXNrO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgTWFnaWMgc3ViZm9ybSBzZXJ2aWNlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgbWdTdWIoKTogU3ViZm9ybU1hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYWdpY1NlcnZpY2VzLnN1YmZvcm1TZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgTWFnaWMgdGFibGUgc2VydmljZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IHRhYmxlU2VydmljZSgpOiBUYWJsZU1hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYWdpY1NlcnZpY2VzLnRhYmxlU2VydmljZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIE1hZ2ljIGFjY2Vzc29yIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCBtZygpOiBBY2Nlc3Nvck1hZ2ljU2VydmljZSAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy5tZ0FjY2Vzc29yU2VydmljZTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB0YXNrIElkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgdGFza0lkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGFzay50YXNrSWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBGb3JtR3JvdXAgZm9yIHNjcmVlbi1tb2RlIGZvcm1zXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgc2NyZWVuRm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLlNjcmVlbk1vZGVDb250cm9scztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIGxldCBzdWJzY3JpcHRpb24gPSB0aGlzLnRhc2suZGV0ZWN0Q2hhbmdlcy5waXBlKCkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFzay5pbml0VGFzayh0aGlzLnRhc2tJZFBhcmFtLCB0aGlzLnRhc2tEZXNjcmlwdGlvbik7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVGb3JtQ29udHJvbHNBY2Nlc3Nvcih0aGlzLnNjcmVlbkZvcm1Hcm91cCk7XHJcbiAgICB0aGlzLnNldElucHV0RGF0ZUZvcm1hdCgpO1xyXG5cclxuICAgIC8vIHN1YmNyaWJlIHRvIGN1c3RvbSBwcm9wZXJ0eSBjaGFuZ2VzXHJcbiAgICB0aGlzLnRhc2suY3VzdG9tUHJvcGVydGllc1N1YmplY3QucGlwZSgpLnN1YnNjcmliZShwcm9wZXJ0eSA9PiB7XHJcbiAgICAgIHRoaXMuUHJvcGVydHlDaGFuZ2VkKHByb3BlcnR5LnByb3BlcnR5TmFtZSwgcHJvcGVydHkucm93SWQsIHByb3BlcnR5LnZhbHVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHN1YmNyaWJlIHRvIHJlY29yZHMgY291bnQgY2hhbmdlc1xyXG4gICAgdGhpcy50YXNrLnJlY29yZHNDb3VudENoYW5nZVN1YmplY3QucGlwZSgpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMuUmVjb3Jkc0NvdW50Q2hhbmdlZCh2YWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjcmVhdGVGb3JtQ29udHJvbHNBY2Nlc3Nvcihmb3JtR3JvdXA6IEZvcm1Hcm91cCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHNldElucHV0RGF0ZUZvcm1hdCAoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgYW55IGN1c3RvbSBwcm9wZXJ0eSBpcyB1cGRhdGVkIGluIE1hZ2ljXHJcbiAgICogcHJvcGVydHlOYW1lIDogbmFtZSBvZiBwcm9wZXJ0eSB3aGljaCBpcyB1cGRhdGVkLiBUaGUgZm9ybWF0IGlzIDxjb250cm9sbmFtZT5+PHByb3BlcnR5bmFtZT5cclxuICAgKiByb3dJZCA6IHJvdyBudW1iZXIgb2YgdGhlIHVwZGF0ZWQgcHJvcGVydHkgZm9yIGNvbnRyb2xzIGluIHRhYmxlIGNvbnRyb2wgKDAgZm9yIGNvbnRyb2xzIG91dHNpZGUgdGFibGUpXHJcbiAgICogdmFsdWUgOiB1cGRhdGVkIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxyXG4gICAqIEByZXR1cm5zIDogdm9pZFxyXG4gICAqIFRvIHVzZSB0aGUgbWV0aG9kIG92ZXJyaWRlIGl0IGluIHlvdXIgY29tcG9uZW50IGFuZCBjaGVjayB0aGUgcHJvcGVydHkgbmFtZSBhbmQgd3JpdGUgeW91IGNvZGUgLi5mb3IgZWdcclxuICAgKiBpZihwcm9wZXJ0eU5hbWUgPT0gJ2NvbnRyb2xuYW1lfnByb3BlcnR5TmFtZScpIHsvLyB5b3VyIGNvZGV9XHJcbiAgICogIGVsc2UgeyAvLyB5b3VyIGNvZGV9XHJcbiAgICovXHJcbiAgUHJvcGVydHlDaGFuZ2VkKHByb3BlcnR5TmFtZTpzdHJpbmcsIHJvd0lkIDogbnVtYmVyLCB2YWx1ZSA6IGFueSkgOiB2b2lkIHtcclxuICAgIC8vIGludGVudGlvbmFsbHkgbGVmdCBibGFuayBiZWNhdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYmUgaW4gdGhlIGRlcml2ZWQgY2xhc3NcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlY29yZHMgY291bnQgY2hhbmdlIHN1YmplY3QgaXMgc3Vic2NyaWJlZCB0byBjaGFuZ2UgaW4gaXRzIHZhbHVlLiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZFxyXG4gICAqIGFzIHRoZSB2YWx1ZSBvZiByZWNvcmRzIGNvdW50IGlzIHJlY2VpdmVkIGF0IGZyb20gc2VydmVyLlxyXG4gICAqIEByZXR1cm5zIDogdm9pZFxyXG4gICAqIFRvIHVzZSB0aGUgbWV0aG9kIG92ZXJyaWRlIGl0IGluIHlvdXIgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIFJlY29yZHNDb3VudENoYW5nZWQocmVjb3Jkc0NvdW50IDogbnVtYmVyKSA6IHZvaWQge1xyXG4gICAgLy8gaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBpbiB0aGUgZGVyaXZlZCBjbGFzc1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXHJcbiAgICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5tZ1N1Yi5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSA6IHZvaWQge1xyXG4gICAgaWYodGhpcy50YXNrLm9sZFBhZ2VTaXplICE9IHRoaXMudGFibGVTZXJ2aWNlLmdldFBhZ2VTaXplKCkpIHtcclxuICAgICAgdGhpcy50YXNrLnJlc2l6ZSh0aGlzLnRhYmxlU2VydmljZS5nZXRQYWdlU2l6ZSgpLCAwKTtcclxuICAgICAgdGhpcy50YXNrLm9sZFBhZ2VTaXplID0gdGhpcy50YWJsZVNlcnZpY2UuZ2V0UGFnZVNpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy50YXNrLmRpc3Bvc2UoKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFXM0QsTUFBTSxPQUFPLHNCQUFzQjtJQXFCakMsWUFBc0IsR0FBc0IsRUFDekIsYUFBNEI7UUFEekIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSL0Msb0JBQWUsR0FBRyxlQUFlLENBQUM7SUFTN0IsQ0FBQztJQU1OLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQU1ELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7SUFDM0MsQ0FBQztJQU1ELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQztJQU1ELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztJQUM5QyxDQUFDO0lBT0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBTUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUN0QyxDQUFDO0lBS0QsUUFBUTtRQUVOLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUcxQixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsQ0FBQyxDQUFDLENBQUM7UUFHSCxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBS0QsMEJBQTBCLENBQUMsU0FBb0IsSUFBRyxDQUFDO0lBS25ELGtCQUFrQixLQUFLLENBQUM7SUFZeEIsZUFBZSxDQUFDLFlBQW1CLEVBQUUsS0FBYyxFQUFFLEtBQVc7SUFFaEUsQ0FBQztJQVFELG1CQUFtQixDQUFDLFlBQXFCO0lBRXpDLENBQUM7SUFLRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBS0QsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7NEZBdkpVLHNCQUFzQjsyREFBdEIsc0JBQXNCLDRJQUh0QixDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDO29DQUcxRCxzQkFBc0I7Y0FMbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQztnQkFDckUsUUFBUSxFQUFFLEVBQUU7YUFDYjtnR0FNVSxXQUFXO2tCQUFuQixLQUFLO1lBSUcsZUFBZTtrQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWFnaWNQcm9wZXJ0aWVzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5cclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3N1YmZvcm0ubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJsZU1hZ2ljU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy90YWJsZS5tYWdpYy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE1hZ2ljU2VydmljZXMgfSBmcm9tIFwiLi4vc2VydmljZXMvbWFnaWMuc2VydmljZXNcIjtcclxuaW1wb3J0IHsgQWNjZXNzb3JNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYWNjZXNzb3IubWFnaWMuc2VydmljZVwiO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29tcG9uZW50IHJlcHJlc2VudGluZyBhIE1hZ2ljIHRhc2tcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGFzay1tYWdpYycsXHJcbiAgcHJvdmlkZXJzOiBbVGFza01hZ2ljU2VydmljZSwgU3ViZm9ybU1hZ2ljU2VydmljZSwgVGFibGVNYWdpY1NlcnZpY2VdLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLyoqXHJcbiAgICogSWQgb2YgdGFzaywgdXNlZCBmb3IgaW5pdGlhbGl6aW5nIHRoZSB0YXNrIHNlcnZpY2VcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXNrSWRQYXJhbTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXNrRGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIG1hZ2ljUHJvcGVydGllcyA9IE1hZ2ljUHJvcGVydGllcztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcmVmIGNoYW5nZXMtZGV0ZWN0b3Igb2JqZWN0XHJcbiAgICogQHBhcmFtIG1hZ2ljU2VydmljZXMgQWNjZXNzIHBvaW50IGZvciBhbGwgTWFnaWMgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwdWJsaWMgbWFnaWNTZXJ2aWNlczogTWFnaWNTZXJ2aWNlc1xyXG4gICkgeyAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBNYWdpYyB0YXNrIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCB0YXNrKCk6IFRhc2tNYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy50YXNrO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgTWFnaWMgc3ViZm9ybSBzZXJ2aWNlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgbWdTdWIoKTogU3ViZm9ybU1hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYWdpY1NlcnZpY2VzLnN1YmZvcm1TZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgTWFnaWMgdGFibGUgc2VydmljZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IHRhYmxlU2VydmljZSgpOiBUYWJsZU1hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYWdpY1NlcnZpY2VzLnRhYmxlU2VydmljZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIE1hZ2ljIGFjY2Vzc29yIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCBtZygpOiBBY2Nlc3Nvck1hZ2ljU2VydmljZSAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy5tZ0FjY2Vzc29yU2VydmljZTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB0YXNrIElkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgdGFza0lkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGFzay50YXNrSWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBGb3JtR3JvdXAgZm9yIHNjcmVlbi1tb2RlIGZvcm1zXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgc2NyZWVuRm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLlNjcmVlbk1vZGVDb250cm9scztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIGxldCBzdWJzY3JpcHRpb24gPSB0aGlzLnRhc2suZGV0ZWN0Q2hhbmdlcy5waXBlKCkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudGFzay5pbml0VGFzayh0aGlzLnRhc2tJZFBhcmFtLCB0aGlzLnRhc2tEZXNjcmlwdGlvbik7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVGb3JtQ29udHJvbHNBY2Nlc3Nvcih0aGlzLnNjcmVlbkZvcm1Hcm91cCk7XHJcbiAgICB0aGlzLnNldElucHV0RGF0ZUZvcm1hdCgpO1xyXG5cclxuICAgIC8vIHN1YmNyaWJlIHRvIGN1c3RvbSBwcm9wZXJ0eSBjaGFuZ2VzXHJcbiAgICB0aGlzLnRhc2suY3VzdG9tUHJvcGVydGllc1N1YmplY3QucGlwZSgpLnN1YnNjcmliZShwcm9wZXJ0eSA9PiB7XHJcbiAgICAgIHRoaXMuUHJvcGVydHlDaGFuZ2VkKHByb3BlcnR5LnByb3BlcnR5TmFtZSwgcHJvcGVydHkucm93SWQsIHByb3BlcnR5LnZhbHVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHN1YmNyaWJlIHRvIHJlY29yZHMgY291bnQgY2hhbmdlc1xyXG4gICAgdGhpcy50YXNrLnJlY29yZHNDb3VudENoYW5nZVN1YmplY3QucGlwZSgpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMuUmVjb3Jkc0NvdW50Q2hhbmdlZCh2YWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjcmVhdGVGb3JtQ29udHJvbHNBY2Nlc3Nvcihmb3JtR3JvdXA6IEZvcm1Hcm91cCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHNldElucHV0RGF0ZUZvcm1hdCAoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgYW55IGN1c3RvbSBwcm9wZXJ0eSBpcyB1cGRhdGVkIGluIE1hZ2ljXHJcbiAgICogcHJvcGVydHlOYW1lIDogbmFtZSBvZiBwcm9wZXJ0eSB3aGljaCBpcyB1cGRhdGVkLiBUaGUgZm9ybWF0IGlzIDxjb250cm9sbmFtZT5+PHByb3BlcnR5bmFtZT5cclxuICAgKiByb3dJZCA6IHJvdyBudW1iZXIgb2YgdGhlIHVwZGF0ZWQgcHJvcGVydHkgZm9yIGNvbnRyb2xzIGluIHRhYmxlIGNvbnRyb2wgKDAgZm9yIGNvbnRyb2xzIG91dHNpZGUgdGFibGUpXHJcbiAgICogdmFsdWUgOiB1cGRhdGVkIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxyXG4gICAqIEByZXR1cm5zIDogdm9pZFxyXG4gICAqIFRvIHVzZSB0aGUgbWV0aG9kIG92ZXJyaWRlIGl0IGluIHlvdXIgY29tcG9uZW50IGFuZCBjaGVjayB0aGUgcHJvcGVydHkgbmFtZSBhbmQgd3JpdGUgeW91IGNvZGUgLi5mb3IgZWdcclxuICAgKiBpZihwcm9wZXJ0eU5hbWUgPT0gJ2NvbnRyb2xuYW1lfnByb3BlcnR5TmFtZScpIHsvLyB5b3VyIGNvZGV9XHJcbiAgICogIGVsc2UgeyAvLyB5b3VyIGNvZGV9XHJcbiAgICovXHJcbiAgUHJvcGVydHlDaGFuZ2VkKHByb3BlcnR5TmFtZTpzdHJpbmcsIHJvd0lkIDogbnVtYmVyLCB2YWx1ZSA6IGFueSkgOiB2b2lkIHtcclxuICAgIC8vIGludGVudGlvbmFsbHkgbGVmdCBibGFuayBiZWNhdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYmUgaW4gdGhlIGRlcml2ZWQgY2xhc3NcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlY29yZHMgY291bnQgY2hhbmdlIHN1YmplY3QgaXMgc3Vic2NyaWJlZCB0byBjaGFuZ2UgaW4gaXRzIHZhbHVlLiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZFxyXG4gICAqIGFzIHRoZSB2YWx1ZSBvZiByZWNvcmRzIGNvdW50IGlzIHJlY2VpdmVkIGF0IGZyb20gc2VydmVyLlxyXG4gICAqIEByZXR1cm5zIDogdm9pZFxyXG4gICAqIFRvIHVzZSB0aGUgbWV0aG9kIG92ZXJyaWRlIGl0IGluIHlvdXIgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIFJlY29yZHNDb3VudENoYW5nZWQocmVjb3Jkc0NvdW50IDogbnVtYmVyKSA6IHZvaWQge1xyXG4gICAgLy8gaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBpbiB0aGUgZGVyaXZlZCBjbGFzc1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXHJcbiAgICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5tZ1N1Yi5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSA6IHZvaWQge1xyXG4gICAgaWYodGhpcy50YXNrLm9sZFBhZ2VTaXplICE9IHRoaXMudGFibGVTZXJ2aWNlLmdldFBhZ2VTaXplKCkpIHtcclxuICAgICAgdGhpcy50YXNrLnJlc2l6ZSh0aGlzLnRhYmxlU2VydmljZS5nZXRQYWdlU2l6ZSgpLCAwKTtcclxuICAgICAgdGhpcy50YXNrLm9sZFBhZ2VTaXplID0gdGhpcy50YWJsZVNlcnZpY2UuZ2V0UGFnZVNpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy50YXNrLmRpc3Bvc2UoKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -1,15 +1,4 @@
1
- /**
2
- * @ignore
3
- */
4
- ///////////////////////////////////////////////////////////
5
- // class to hold gui-related helper methods
6
- ///////////////////////////////////////////////////////////
7
1
  export class utils {
8
- ///////////////////////////////////////////////////////////
9
- // Add magic child control to the supplied array.
10
- // Recursive, and checks children even if they are not magic controls.
11
- // Magic controls are controls which have a magic directive attached to them.
12
- ///////////////////////////////////////////////////////////
13
2
  static addChildren(parent, children, selector) {
14
3
  for (var i = 0; i < parent.children.length; i++) {
15
4
  if (typeof parent.children[i].attributes[selector] !== "undefined") {
@@ -18,9 +7,6 @@ export class utils {
18
7
  this.addChildren(parent.children[i], children, selector);
19
8
  }
20
9
  }
21
- ///////////////////////////////////////////////////////////
22
- // Calculate the distance between the control and the supplied x,y coordinates
23
- ///////////////////////////////////////////////////////////
24
10
  static getDistance(control, x, y) {
25
11
  let left = control.clientLeft, top = control.clientTop;
26
12
  let dx, dy;
@@ -47,9 +33,6 @@ export class utils {
47
33
  const ret = (dx * dx + dy * dy);
48
34
  return ret;
49
35
  }
50
- ///////////////////////////////////////////////////////////
51
- //
52
- ///////////////////////////////////////////////////////////
53
36
  static getDimentions(el) {
54
37
  let xPos = 0;
55
38
  let yPos = 0;
@@ -57,14 +40,12 @@ export class utils {
57
40
  let height = el.height;
58
41
  while (el) {
59
42
  if (el.tagName == "BODY") {
60
- // deal with browser quirks with body/window/document and page scroll
61
43
  let xScroll = el.scrollLeft || document.documentElement.scrollLeft;
62
44
  let yScroll = el.scrollTop || document.documentElement.scrollTop;
63
45
  xPos += (el.offsetLeft - xScroll + el.clientLeft);
64
46
  yPos += (el.offsetTop - yScroll + el.clientTop);
65
47
  }
66
48
  else {
67
- // for all other non-BODY elements
68
49
  xPos += (el.offsetLeft - el.scrollLeft + el.clientLeft);
69
50
  yPos += (el.offsetTop - el.scrollTop + el.clientTop);
70
51
  }
@@ -78,4 +59,4 @@ export class utils {
78
59
  };
79
60
  }
80
61
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILDJEQUEyRDtBQUMzRCwyQ0FBMkM7QUFDM0MsMkRBQTJEO0FBQzNELE1BQU0sT0FBTyxLQUFLO0lBRWhCLDJEQUEyRDtJQUMzRCxpREFBaUQ7SUFDakQsc0VBQXNFO0lBQ3RFLDZFQUE2RTtJQUM3RSwyREFBMkQ7SUFDbkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFlLEVBQUUsUUFBZSxFQUFFLFFBQWdCO1FBQzNFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMvQyxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssV0FBVyxFQUFFO2dCQUNsRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuQztZQUNELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBR0QsMkRBQTJEO0lBQzNELDhFQUE4RTtJQUM5RSwyREFBMkQ7SUFDM0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFnQixFQUFFLENBQVMsRUFBRSxDQUFTO1FBRXZELElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFdkQsSUFBSSxFQUFFLEVBQUUsRUFBVSxDQUFDO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBRTFDLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRTtZQUNaLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ2Y7YUFBTSxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUU7WUFDcEIsRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDaEI7YUFBTTtZQUNMLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDUjtRQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRTtZQUNYLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2Q7YUFBTSxJQUFJLENBQUMsR0FBRyxNQUFNLEVBQUU7WUFDckIsRUFBRSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDakI7YUFBTTtZQUNMLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDUjtRQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUE7UUFDL0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsMkRBQTJEO0lBQzNELEVBQUU7SUFDRiwyREFBMkQ7SUFDM0QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1FBQ3JCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUV2QixPQUFPLEVBQUUsRUFBRTtZQUNULElBQUksRUFBRSxDQUFDLE9BQU8sSUFBSSxNQUFNLEVBQUU7Z0JBQ3hCLHFFQUFxRTtnQkFDckUsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztnQkFDbkUsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztnQkFFakUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDakQ7aUJBQU07Z0JBQ0wsa0NBQWtDO2dCQUNsQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3REO1lBRUQsRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FFdEI7UUFDRCxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUk7WUFDUCxDQUFDLEVBQUUsSUFBSTtZQUNQLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGNsYXNzIHRvIGhvbGQgZ3VpLXJlbGF0ZWQgaGVscGVyIG1ldGhvZHNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuZXhwb3J0IGNsYXNzIHV0aWxzIHtcclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAvLyBBZGQgbWFnaWMgY2hpbGQgY29udHJvbCB0byB0aGUgc3VwcGxpZWQgYXJyYXkuXHJcbiAgLy8gUmVjdXJzaXZlLCBhbmQgY2hlY2tzIGNoaWxkcmVuIGV2ZW4gaWYgdGhleSBhcmUgbm90IG1hZ2ljIGNvbnRyb2xzLlxyXG4gIC8vIE1hZ2ljIGNvbnRyb2xzIGFyZSBjb250cm9scyB3aGljaCBoYXZlIGEgbWFnaWMgZGlyZWN0aXZlIGF0dGFjaGVkIHRvIHRoZW0uXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICBwcml2YXRlIHN0YXRpYyBhZGRDaGlsZHJlbihwYXJlbnQ6IEVsZW1lbnQsIGNoaWxkcmVuOiBhbnlbXSwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBwYXJlbnQuY2hpbGRyZW5baV0uYXR0cmlidXRlc1tzZWxlY3Rvcl0gIT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICBjaGlsZHJlbi5wdXNoKHBhcmVudC5jaGlsZHJlbltpXSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hZGRDaGlsZHJlbihwYXJlbnQuY2hpbGRyZW5baV0sIGNoaWxkcmVuLCBzZWxlY3Rvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAvLyBDYWxjdWxhdGUgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIGNvbnRyb2wgYW5kIHRoZSBzdXBwbGllZCB4LHkgY29vcmRpbmF0ZXNcclxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gIHN0YXRpYyBnZXREaXN0YW5jZShjb250cm9sOiBFbGVtZW50LCB4OiBudW1iZXIsIHk6IG51bWJlcik6IG51bWJlciB7XHJcblxyXG4gICAgbGV0IGxlZnQgPSBjb250cm9sLmNsaWVudExlZnQsIHRvcCA9IGNvbnRyb2wuY2xpZW50VG9wO1xyXG5cclxuICAgIGxldCBkeCwgZHk6IG51bWJlcjtcclxuICAgIGNvbnN0IHJpZ2h0ID0gbGVmdCArIGNvbnRyb2wuY2xpZW50V2lkdGg7XHJcbiAgICBjb25zdCBib3R0b20gPSB0b3AgKyBjb250cm9sLmNsaWVudEhlaWdodDtcclxuXHJcbiAgICBpZiAoeCA8IGxlZnQpIHtcclxuICAgICAgZHggPSBsZWZ0IC0geDtcclxuICAgIH0gZWxzZSBpZiAoeCA+IHJpZ2h0KSB7XHJcbiAgICAgIGR4ID0geCAtIHJpZ2h0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZHggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh5IDwgdG9wKSB7XHJcbiAgICAgIGR5ID0gdG9wIC0geTtcclxuICAgIH0gZWxzZSBpZiAoeSA+IGJvdHRvbSkge1xyXG4gICAgICBkeSA9IHkgLSBib3R0b207XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkeSA9IDA7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXQgPSAoZHggKiBkeCArIGR5ICogZHkpXHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAvL1xyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgc3RhdGljIGdldERpbWVudGlvbnMoZWwpIHtcclxuICAgIGxldCB4UG9zID0gMDtcclxuICAgIGxldCB5UG9zID0gMDtcclxuICAgIGxldCB3aWR0aCA9IGVsLndpZHRoO1xyXG4gICAgbGV0IGhlaWdodCA9IGVsLmhlaWdodDtcclxuXHJcbiAgICB3aGlsZSAoZWwpIHtcclxuICAgICAgaWYgKGVsLnRhZ05hbWUgPT0gXCJCT0RZXCIpIHtcclxuICAgICAgICAvLyBkZWFsIHdpdGggYnJvd3NlciBxdWlya3Mgd2l0aCBib2R5L3dpbmRvdy9kb2N1bWVudCBhbmQgcGFnZSBzY3JvbGxcclxuICAgICAgICBsZXQgeFNjcm9sbCA9IGVsLnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICAgICAgbGV0IHlTY3JvbGwgPSBlbC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcclxuXHJcbiAgICAgICAgeFBvcyArPSAoZWwub2Zmc2V0TGVmdCAtIHhTY3JvbGwgKyBlbC5jbGllbnRMZWZ0KTtcclxuICAgICAgICB5UG9zICs9IChlbC5vZmZzZXRUb3AgLSB5U2Nyb2xsICsgZWwuY2xpZW50VG9wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBmb3IgYWxsIG90aGVyIG5vbi1CT0RZIGVsZW1lbnRzXHJcbiAgICAgICAgeFBvcyArPSAoZWwub2Zmc2V0TGVmdCAtIGVsLnNjcm9sbExlZnQgKyBlbC5jbGllbnRMZWZ0KTtcclxuICAgICAgICB5UG9zICs9IChlbC5vZmZzZXRUb3AgLSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRUb3ApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBlbCA9IGVsLm9mZnNldFBhcmVudDtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB4OiB4UG9zLFxyXG4gICAgICB5OiB5UG9zLFxyXG4gICAgICB3aWR0aDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogaGVpZ2h0XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8sS0FBSztJQU9SLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBZSxFQUFFLFFBQWUsRUFBRSxRQUFnQjtRQUMzRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFdBQVcsRUFBRTtnQkFDbEUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQU1ELE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBZ0IsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUV2RCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRXZELElBQUksRUFBRSxFQUFFLEVBQVUsQ0FBQztRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN6QyxNQUFNLE1BQU0sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUUxQyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUU7WUFDWixFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUNmO2FBQU0sSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFO1lBQ3BCLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDTCxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1I7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUU7WUFDWCxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNkO2FBQU0sSUFBSSxDQUFDLEdBQUcsTUFBTSxFQUFFO1lBQ3JCLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ2pCO2FBQU07WUFDTCxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1I7UUFDRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO1FBQy9CLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUtELE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUNyQixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFFdkIsT0FBTyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsQ0FBQyxPQUFPLElBQUksTUFBTSxFQUFFO2dCQUV4QixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO2dCQUNuRSxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO2dCQUVqRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2xELElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNqRDtpQkFBTTtnQkFFTCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3REO1lBRUQsRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FFdEI7UUFDRCxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUk7WUFDUCxDQUFDLEVBQUUsSUFBSTtZQUNQLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGNsYXNzIHRvIGhvbGQgZ3VpLXJlbGF0ZWQgaGVscGVyIG1ldGhvZHNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuZXhwb3J0IGNsYXNzIHV0aWxzIHtcclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAvLyBBZGQgbWFnaWMgY2hpbGQgY29udHJvbCB0byB0aGUgc3VwcGxpZWQgYXJyYXkuXHJcbiAgLy8gUmVjdXJzaXZlLCBhbmQgY2hlY2tzIGNoaWxkcmVuIGV2ZW4gaWYgdGhleSBhcmUgbm90IG1hZ2ljIGNvbnRyb2xzLlxyXG4gIC8vIE1hZ2ljIGNvbnRyb2xzIGFyZSBjb250cm9scyB3aGljaCBoYXZlIGEgbWFnaWMgZGlyZWN0aXZlIGF0dGFjaGVkIHRvIHRoZW0uXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICBwcml2YXRlIHN0YXRpYyBhZGRDaGlsZHJlbihwYXJlbnQ6IEVsZW1lbnQsIGNoaWxkcmVuOiBhbnlbXSwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBwYXJlbnQuY2hpbGRyZW5baV0uYXR0cmlidXRlc1tzZWxlY3Rvcl0gIT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICBjaGlsZHJlbi5wdXNoKHBhcmVudC5jaGlsZHJlbltpXSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hZGRDaGlsZHJlbihwYXJlbnQuY2hpbGRyZW5baV0sIGNoaWxkcmVuLCBzZWxlY3Rvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAvLyBDYWxjdWxhdGUgdGhlIGRpc3RhbmNlIGJldHdlZW4gdGhlIGNvbnRyb2wgYW5kIHRoZSBzdXBwbGllZCB4LHkgY29vcmRpbmF0ZXNcclxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gIHN0YXRpYyBnZXREaXN0YW5jZShjb250cm9sOiBFbGVtZW50LCB4OiBudW1iZXIsIHk6IG51bWJlcik6IG51bWJlciB7XHJcblxyXG4gICAgbGV0IGxlZnQgPSBjb250cm9sLmNsaWVudExlZnQsIHRvcCA9IGNvbnRyb2wuY2xpZW50VG9wO1xyXG5cclxuICAgIGxldCBkeCwgZHk6IG51bWJlcjtcclxuICAgIGNvbnN0IHJpZ2h0ID0gbGVmdCArIGNvbnRyb2wuY2xpZW50V2lkdGg7XHJcbiAgICBjb25zdCBib3R0b20gPSB0b3AgKyBjb250cm9sLmNsaWVudEhlaWdodDtcclxuXHJcbiAgICBpZiAoeCA8IGxlZnQpIHtcclxuICAgICAgZHggPSBsZWZ0IC0geDtcclxuICAgIH0gZWxzZSBpZiAoeCA+IHJpZ2h0KSB7XHJcbiAgICAgIGR4ID0geCAtIHJpZ2h0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZHggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh5IDwgdG9wKSB7XHJcbiAgICAgIGR5ID0gdG9wIC0geTtcclxuICAgIH0gZWxzZSBpZiAoeSA+IGJvdHRvbSkge1xyXG4gICAgICBkeSA9IHkgLSBib3R0b207XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkeSA9IDA7XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXQgPSAoZHggKiBkeCArIGR5ICogZHkpXHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAvL1xyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgc3RhdGljIGdldERpbWVudGlvbnMoZWwpIHtcclxuICAgIGxldCB4UG9zID0gMDtcclxuICAgIGxldCB5UG9zID0gMDtcclxuICAgIGxldCB3aWR0aCA9IGVsLndpZHRoO1xyXG4gICAgbGV0IGhlaWdodCA9IGVsLmhlaWdodDtcclxuXHJcbiAgICB3aGlsZSAoZWwpIHtcclxuICAgICAgaWYgKGVsLnRhZ05hbWUgPT0gXCJCT0RZXCIpIHtcclxuICAgICAgICAvLyBkZWFsIHdpdGggYnJvd3NlciBxdWlya3Mgd2l0aCBib2R5L3dpbmRvdy9kb2N1bWVudCBhbmQgcGFnZSBzY3JvbGxcclxuICAgICAgICBsZXQgeFNjcm9sbCA9IGVsLnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ7XHJcbiAgICAgICAgbGV0IHlTY3JvbGwgPSBlbC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtcclxuXHJcbiAgICAgICAgeFBvcyArPSAoZWwub2Zmc2V0TGVmdCAtIHhTY3JvbGwgKyBlbC5jbGllbnRMZWZ0KTtcclxuICAgICAgICB5UG9zICs9IChlbC5vZmZzZXRUb3AgLSB5U2Nyb2xsICsgZWwuY2xpZW50VG9wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBmb3IgYWxsIG90aGVyIG5vbi1CT0RZIGVsZW1lbnRzXHJcbiAgICAgICAgeFBvcyArPSAoZWwub2Zmc2V0TGVmdCAtIGVsLnNjcm9sbExlZnQgKyBlbC5jbGllbnRMZWZ0KTtcclxuICAgICAgICB5UG9zICs9IChlbC5vZmZzZXRUb3AgLSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRUb3ApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBlbCA9IGVsLm9mZnNldFBhcmVudDtcclxuXHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB4OiB4UG9zLFxyXG4gICAgICB5OiB5UG9zLFxyXG4gICAgICB3aWR0aDogd2lkdGgsXHJcbiAgICAgIGhlaWdodDogaGVpZ2h0XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbn1cclxuIl19