@magic-xpa/angular 4.800.0 → 4.801.0-dev000.0

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 (137) hide show
  1. package/esm2020/index.mjs +57 -0
  2. package/{esm2015/magic-xpa-angular.js → esm2020/magic-xpa-angular.mjs} +0 -0
  3. package/esm2020/src/controls.metadata.model.mjs +180 -0
  4. package/{esm2015/src/interfaces/sub-form-definition.iterface.js → esm2020/src/interfaces/sub-form-definition.iterface.mjs} +1 -0
  5. package/esm2020/src/magic.core.module.mjs +157 -0
  6. package/{esm2015/src/services/ISubformMagicService.js → esm2020/src/services/ISubformMagicService.mjs} +1 -0
  7. package/esm2020/src/services/OverlayWindowService.mjs +208 -0
  8. package/esm2020/src/services/StylesMapManager.mjs +28 -0
  9. package/esm2020/src/services/accessor.magic.service.mjs +302 -0
  10. package/{esm2015/src/services/commands-collector.magic.service.js → esm2020/src/services/commands-collector.magic.service.mjs} +7 -4
  11. package/esm2020/src/services/component-list.magic.service.mjs +46 -0
  12. package/{esm2015/src/services/confirmation.components.magic.provider.js → esm2020/src/services/confirmation.components.magic.provider.mjs} +2 -2
  13. package/esm2020/src/services/engine.magic.service.mjs +82 -0
  14. package/{esm2015/src/services/exit.magic.service.js → esm2020/src/services/exit.magic.service.mjs} +2 -2
  15. package/esm2020/src/services/magic.lazy.loader.service.mjs +16 -0
  16. package/{esm2015/src/services/magic.providers.js → esm2020/src/services/magic.providers.mjs} +0 -0
  17. package/{esm2015/src/services/magic.services.js → esm2020/src/services/magic.services.mjs} +2 -2
  18. package/{esm2015/src/services/mg-date-adapter.js → esm2020/src/services/mg-date-adapter.mjs} +2 -2
  19. package/{esm2015/src/services/overlay.conainer.magic.provider.js → esm2020/src/services/overlay.conainer.magic.provider.mjs} +2 -2
  20. package/esm2020/src/services/router-commands.magic.service.mjs +28 -0
  21. package/esm2020/src/services/subform.magic.service.mjs +185 -0
  22. package/{esm2015/src/services/table.magic.service.js → esm2020/src/services/table.magic.service.mjs} +2 -2
  23. package/esm2020/src/services/task.magics.service.mjs +611 -0
  24. package/{esm2015/src/services/title.magic.service.js → esm2020/src/services/title.magic.service.mjs} +2 -2
  25. package/esm2020/src/ui/GuiInteractiveExecutor.mjs +98 -0
  26. package/{esm2015/src/ui/components/base-magic-alert.component.js → esm2020/src/ui/components/base-magic-alert.component.mjs} +2 -2
  27. package/{esm2015/src/ui/components/base-magic-confirm.component.js → esm2020/src/ui/components/base-magic-confirm.component.mjs} +2 -2
  28. package/esm2020/src/ui/components/magic-alert.component.mjs +71 -0
  29. package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +82 -0
  30. package/{esm2015/src/ui/directives/NonMagicControlDirective.js → esm2020/src/ui/directives/NonMagicControlDirective.mjs} +2 -2
  31. package/{esm2015/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.js → esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs} +2 -2
  32. package/{esm2015/src/ui/directives/magic/checkbox.magic.directive.js → esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs} +2 -2
  33. package/{esm2015/src/ui/directives/magic/combobox.magic.directive.js → esm2020/src/ui/directives/magic/combobox.magic.directive.mjs} +2 -2
  34. package/{esm2015/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.js → esm2020/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs} +3 -4
  35. package/{esm2015/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.js → esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs} +2 -2
  36. package/{esm2015/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.js → esm2020/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs} +3 -4
  37. package/{esm2015/src/ui/directives/magic/input.noformcontrol.magic.directive.js → esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs} +2 -2
  38. package/{esm2015/src/ui/directives/magic/nocontrol.magic.directive.js → esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs} +2 -2
  39. package/{esm2015/src/ui/directives/magic/row.magic.directive.js → esm2020/src/ui/directives/magic/row.magic.directive.mjs} +2 -2
  40. package/{esm2015/src/ui/directives/magic-focus.directive.js → esm2020/src/ui/directives/magic-focus.directive.mjs} +2 -2
  41. package/esm2020/src/ui/directives/magic.directive.mjs +207 -0
  42. package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
  43. package/{esm2015/src/ui/directives/mgformat.magic.directive.js → esm2020/src/ui/directives/mgformat.magic.directive.mjs} +2 -2
  44. package/{esm2015/src/ui/directives/range-validator.magic.directive.js → esm2020/src/ui/directives/range-validator.magic.directive.mjs} +2 -2
  45. package/{esm2015/src/ui/magic-confirmationBox.js → esm2020/src/ui/magic-confirmationBox.mjs} +0 -0
  46. package/{esm2015/src/ui/magic-modal/base-magic-overlay-container.js → esm2020/src/ui/magic-modal/base-magic-overlay-container.mjs} +0 -0
  47. package/{esm2015/src/ui/magic-modal/magic-modal-form.js → esm2020/src/ui/magic-modal/magic-modal-form.mjs} +0 -0
  48. package/{esm2015/src/ui/magic-modal/magic-modal-interface.js → esm2020/src/ui/magic-modal/magic-modal-interface.mjs} +1 -0
  49. package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +135 -0
  50. package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +165 -0
  51. package/esm2020/src/ui/magic-root.component.mjs +237 -0
  52. package/esm2020/src/ui/mgerror.magic.component.mjs +120 -0
  53. package/esm2020/src/ui/pipes/date.magic.pipe.mjs +105 -0
  54. package/{esm2015/src/ui/pipes/time.magic.pipe.js → esm2020/src/ui/pipes/time.magic.pipe.mjs} +3 -3
  55. package/esm2020/src/ui/router-container.magic.component.mjs +109 -0
  56. package/esm2020/src/ui/subform.magic.component.mjs +52 -0
  57. package/{esm2015/src/ui/task-base.magic.component.js → esm2020/src/ui/task-base.magic.component.mjs} +2 -2
  58. package/{esm2015/src/ui/utils.js → esm2020/src/ui/utils.mjs} +0 -0
  59. package/fesm2015/magic-xpa-angular.mjs +4578 -0
  60. package/fesm2015/magic-xpa-angular.mjs.map +1 -0
  61. package/{fesm2015/magic-xpa-angular.js → fesm2020/magic-xpa-angular.mjs} +435 -415
  62. package/fesm2020/magic-xpa-angular.mjs.map +1 -0
  63. package/index.d.ts +1 -0
  64. package/package.json +28 -15
  65. package/src/magic.core.module.d.ts +3 -8
  66. package/src/services/OverlayWindowService.d.ts +2 -2
  67. package/src/services/accessor.magic.service.d.ts +2 -2
  68. package/src/services/commands-collector.magic.service.d.ts +2 -2
  69. package/src/services/component-list.magic.service.d.ts +3 -0
  70. package/src/services/confirmation.components.magic.provider.d.ts +2 -2
  71. package/src/services/engine.magic.service.d.ts +2 -2
  72. package/src/services/exit.magic.service.d.ts +2 -2
  73. package/src/services/magic.lazy.loader.service.d.ts +6 -0
  74. package/src/services/magic.services.d.ts +2 -2
  75. package/src/services/mg-date-adapter.d.ts +2 -2
  76. package/src/services/overlay.conainer.magic.provider.d.ts +2 -2
  77. package/src/services/router-commands.magic.service.d.ts +2 -2
  78. package/src/services/subform.magic.service.d.ts +6 -4
  79. package/src/services/table.magic.service.d.ts +2 -2
  80. package/src/services/task.magics.service.d.ts +2 -2
  81. package/src/services/title.magic.service.d.ts +2 -2
  82. package/src/ui/components/base-magic-alert.component.d.ts +2 -2
  83. package/src/ui/components/base-magic-confirm.component.d.ts +2 -2
  84. package/src/ui/components/magic-alert.component.d.ts +2 -2
  85. package/src/ui/components/magic-confirmation-box.component.d.ts +2 -2
  86. package/src/ui/directives/NonMagicControlDirective.d.ts +2 -2
  87. package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +2 -2
  88. package/src/ui/directives/magic/checkbox.magic.directive.d.ts +2 -2
  89. package/src/ui/directives/magic/combobox.magic.directive.d.ts +2 -2
  90. package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +2 -2
  91. package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +2 -2
  92. package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +2 -2
  93. package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +2 -2
  94. package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +2 -2
  95. package/src/ui/directives/magic/row.magic.directive.d.ts +2 -2
  96. package/src/ui/directives/magic-focus.directive.d.ts +2 -2
  97. package/src/ui/directives/magic.directive.d.ts +2 -2
  98. package/src/ui/directives/magicViewContainerRef.directive.d.ts +2 -2
  99. package/src/ui/directives/mgformat.magic.directive.d.ts +2 -2
  100. package/src/ui/directives/range-validator.magic.directive.d.ts +2 -2
  101. package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +7 -5
  102. package/src/ui/magic-modal/magic-overlay-container.d.ts +2 -2
  103. package/src/ui/magic-root.component.d.ts +2 -2
  104. package/src/ui/mgerror.magic.component.d.ts +2 -2
  105. package/src/ui/pipes/date.magic.pipe.d.ts +2 -2
  106. package/src/ui/pipes/time.magic.pipe.d.ts +2 -2
  107. package/src/ui/router-container.magic.component.d.ts +2 -2
  108. package/src/ui/subform.magic.component.d.ts +2 -2
  109. package/src/ui/task-base.magic.component.d.ts +2 -2
  110. package/bundles/magic-xpa-angular.umd.js +0 -5028
  111. package/bundles/magic-xpa-angular.umd.js.map +0 -1
  112. package/bundles/magic-xpa-angular.umd.min.js +0 -16
  113. package/bundles/magic-xpa-angular.umd.min.js.map +0 -1
  114. package/esm2015/index.js +0 -56
  115. package/esm2015/src/controls.metadata.model.js +0 -180
  116. package/esm2015/src/magic.core.module.js +0 -173
  117. package/esm2015/src/services/OverlayWindowService.js +0 -205
  118. package/esm2015/src/services/StylesMapManager.js +0 -29
  119. package/esm2015/src/services/accessor.magic.service.js +0 -302
  120. package/esm2015/src/services/component-list.magic.service.js +0 -36
  121. package/esm2015/src/services/engine.magic.service.js +0 -82
  122. package/esm2015/src/services/router-commands.magic.service.js +0 -25
  123. package/esm2015/src/services/subform.magic.service.js +0 -182
  124. package/esm2015/src/services/task.magics.service.js +0 -611
  125. package/esm2015/src/ui/GuiInteractiveExecutor.js +0 -98
  126. package/esm2015/src/ui/components/magic-alert.component.js +0 -72
  127. package/esm2015/src/ui/components/magic-confirmation-box.component.js +0 -83
  128. package/esm2015/src/ui/directives/magic.directive.js +0 -207
  129. package/esm2015/src/ui/directives/magicViewContainerRef.directive.js +0 -20
  130. package/esm2015/src/ui/magic-modal/magic-overlay-container-wrapper.js +0 -131
  131. package/esm2015/src/ui/magic-modal/magic-overlay-container.js +0 -169
  132. package/esm2015/src/ui/magic-root.component.js +0 -237
  133. package/esm2015/src/ui/mgerror.magic.component.js +0 -120
  134. package/esm2015/src/ui/pipes/date.magic.pipe.js +0 -106
  135. package/esm2015/src/ui/router-container.magic.component.js +0 -109
  136. package/esm2015/src/ui/subform.magic.component.js +0 -52
  137. package/fesm2015/magic-xpa-angular.js.map +0 -1
@@ -1,120 +0,0 @@
1
- import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from "@angular/core";
2
- import { AccessorMagicService } from "../services/accessor.magic.service";
3
- import { TaskMagicService } from "../services/task.magics.service";
4
- import { isUndefined } from "util";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../services/task.magics.service";
7
- import * as i2 from "../services/accessor.magic.service";
8
- import * as i3 from "@angular/common";
9
- const _c0 = ["customContent"];
10
- function ErrorMagicComponent_div_0_span_4_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵelementStart(0, "span");
12
- i0.ɵɵtext(1);
13
- i0.ɵɵelementEnd();
14
- } if (rf & 2) {
15
- const ctx_r2 = i0.ɵɵnextContext(2);
16
- i0.ɵɵadvance(1);
17
- i0.ɵɵtextInterpolate1(" ", ctx_r2.mgService.getErrMsg(ctx_r2.id, ctx_r2.rowId), " ");
18
- } }
19
- function ErrorMagicComponent_div_0_Template(rf, ctx) { if (rf & 1) {
20
- i0.ɵɵelementStart(0, "div");
21
- i0.ɵɵelementStart(1, "div", null, 1);
22
- i0.ɵɵprojection(3);
23
- i0.ɵɵelementEnd();
24
- i0.ɵɵtemplate(4, ErrorMagicComponent_div_0_span_4_Template, 2, 1, "span", 0);
25
- i0.ɵɵelementEnd();
26
- } if (rf & 2) {
27
- const ctx_r0 = i0.ɵɵnextContext();
28
- i0.ɵɵadvance(4);
29
- i0.ɵɵproperty("ngIf", ctx_r0.defaultDisplay);
30
- } }
31
- const _c1 = ["*"];
32
- export class ErrorMagicComponent {
33
- constructor(_task, mgService, changeDetectorRef) {
34
- this._task = _task;
35
- this.mgService = mgService;
36
- this.changeDetectorRef = changeDetectorRef;
37
- this.defaultDisplay = true;
38
- this.rowId = "0";
39
- }
40
- set magic(val) {
41
- this.id = val;
42
- }
43
- ;
44
- set rowId1(val) {
45
- this.rowId = val;
46
- }
47
- ;
48
- set CustomContent(innerComponent) {
49
- this.defaultDisplay = innerComponent == undefined || this.isEmpty(innerComponent.nativeElement);
50
- this.changeDetectorRef.detectChanges();
51
- }
52
- ;
53
- isEmpty(element) {
54
- const nodes = element.childNodes;
55
- for (let i = 0; i < nodes.length; i++) {
56
- const node = nodes.item(i);
57
- if (node.nodeType !== 8 && nodes.item(i).textContent.trim().length !== 0) {
58
- return false;
59
- }
60
- }
61
- return true;
62
- }
63
- HasErrors(id) {
64
- if (!isUndefined(id)) {
65
- let control = this._task.getFormControl(this.rowId, id);
66
- if (control !== null) {
67
- if (control.dirty && (control.hasError('pattern') || control.hasError('required') ||
68
- control.hasError('rangevalidator') || control.hasError('maxlength') || control.hasError('max')))
69
- return true;
70
- if (control.touched && control.hasError('required'))
71
- return true;
72
- if (this._task.Records.list[this.rowId] && this._task.Records.list[this.rowId].getControlMetadata(id)) {
73
- let controlMetadata = this._task.Records.list[this.rowId].getControlMetadata(id);
74
- for (let customValidator of controlMetadata.customValidators.keys()) {
75
- if (control.hasError(customValidator))
76
- return true;
77
- }
78
- }
79
- }
80
- }
81
- return false;
82
- }
83
- }
84
- ErrorMagicComponent.ɵfac = function ErrorMagicComponent_Factory(t) { return new (t || ErrorMagicComponent)(i0.ɵɵdirectiveInject(i1.TaskMagicService), i0.ɵɵdirectiveInject(i2.AccessorMagicService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
85
- ErrorMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ErrorMagicComponent, selectors: [["mgError"]], viewQuery: function ErrorMagicComponent_Query(rf, ctx) { if (rf & 1) {
86
- i0.ɵɵviewQuery(_c0, true);
87
- } if (rf & 2) {
88
- var _t;
89
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.CustomContent = _t.first);
90
- } }, inputs: { magic: "magic", rowId1: ["rowId", "rowId1"] }, ngContentSelectors: _c1, decls: 1, vars: 1, consts: [[4, "ngIf"], ["customContent", ""]], template: function ErrorMagicComponent_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵprojectionDef();
92
- i0.ɵɵtemplate(0, ErrorMagicComponent_div_0_Template, 5, 1, "div", 0);
93
- } if (rf & 2) {
94
- i0.ɵɵproperty("ngIf", ctx.HasErrors(ctx.id));
95
- } }, directives: [i3.NgIf], encapsulation: 2 });
96
- (function () { i0.ɵsetClassMetadata(ErrorMagicComponent, [{
97
- type: Component,
98
- args: [{
99
- selector: 'mgError',
100
- template: `<div *ngIf="HasErrors(id)">
101
- <div #customContent>
102
- <ng-content></ng-content>
103
- </div>
104
- <span *ngIf="defaultDisplay">
105
- {{mgService.getErrMsg(id, rowId)}}
106
- </span>
107
- </div>
108
- `
109
- }]
110
- }], function () { return [{ type: i1.TaskMagicService }, { type: i2.AccessorMagicService }, { type: i0.ChangeDetectorRef }]; }, { magic: [{
111
- type: Input,
112
- args: ['magic']
113
- }], rowId1: [{
114
- type: Input,
115
- args: ['rowId']
116
- }], CustomContent: [{
117
- type: ViewChild,
118
- args: ['customContent', { static: false }]
119
- }] }); })();
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWdlcnJvci5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tZ2Vycm9yLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7SUFXOUIsNEJBQ0M7SUFBQSxZQUNGO0lBQUEsaUJBQU87OztJQURMLGVBQ0Y7SUFERSxvRkFDRjs7O0lBTlksMkJBQ1o7SUFBQSxvQ0FDRTtJQUFBLGtCQUFZO0lBQ2QsaUJBQU07SUFDTCw0RUFDQztJQUVGLGlCQUFNOzs7SUFIQyxlQUFzQjtJQUF0Qiw0Q0FBc0I7OztBQU9qQyxNQUFNLE9BQU8sbUJBQW1CO0lBNkI5QixZQUFzQixLQUF1QixFQUFTLFNBQStCLEVBQVksaUJBQW9DO1FBQS9HLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFBWSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBWHJJLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBWXBCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUF0QkQsSUFBb0IsS0FBSyxDQUFDLEdBQUc7UUFDM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDaEIsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFvQixNQUFNLENBQUMsR0FBRztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBQUEsQ0FBQztJQUtGLElBQW1ELGFBQWEsQ0FBQyxjQUEwQjtRQUN6RixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFBQSxDQUFDO0lBY0YsT0FBTyxDQUFDLE9BQW9CO1FBQzFCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDakMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3hFLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtELFNBQVMsQ0FBQyxFQUFVO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7Z0JBQ3BCLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7b0JBQy9FLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQy9GLE9BQU8sSUFBSSxDQUFDO2dCQUNkLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztvQkFDakQsT0FBTyxJQUFJLENBQUM7Z0JBRWQsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUM7b0JBQ25HLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2pGLEtBQUssSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFO3dCQUNuRSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDOzRCQUNuQyxPQUFPLElBQUksQ0FBQztxQkFDZjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O3NGQXZFVSxtQkFBbUI7d0RBQW5CLG1CQUFtQjs7Ozs7OztRQVhoQixvRUFDWjs7UUFEaUIsNENBQXFCOztvQ0FXN0IsbUJBQW1CO2NBYi9CLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsUUFBUSxFQUFLOzs7Ozs7OztDQVFkO2FBQUM7c0lBWW9CLEtBQUs7a0JBQXhCLEtBQUs7bUJBQUMsT0FBTztZQUlNLE1BQU07a0JBQXpCLEtBQUs7bUJBQUMsT0FBTztZQU9xQyxhQUFhO2tCQUEvRCxTQUFTO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBY2Nlc3Nvck1hZ2ljU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2FjY2Vzc29yLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gXCJ1dGlsXCI7XHJcblxyXG4vKipcclxuICogUmVwcmVzZW50cyBhIE1hZ2ljIHN1YmZvcm1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWdFcnJvcicsXHJcbiAgdGVtcGxhdGU6ICAgIGA8ZGl2ICpuZ0lmPVwiSGFzRXJyb3JzKGlkKVwiPlxyXG4gICAgPGRpdiAjY3VzdG9tQ29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICAgPHNwYW4gKm5nSWY9XCJkZWZhdWx0RGlzcGxheVwiPlxyXG4gICAgICB7e21nU2VydmljZS5nZXRFcnJNc2coaWQsIHJvd0lkKX19IFxyXG4gICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbmB9KVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBFcnJvck1hZ2ljQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgaWQ6IHN0cmluZztcclxuICByb3dJZDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASW5wdXQoJ21hZ2ljJykgc2V0IG1hZ2ljKHZhbCkge1xyXG4gICAgdGhpcy5pZCA9IHZhbDtcclxuICB9O1xyXG5cclxuICBASW5wdXQoJ3Jvd0lkJykgc2V0IHJvd0lkMSh2YWwpIHtcclxuICAgIHRoaXMucm93SWQgPSB2YWw7XHJcbiAgfTtcclxuXHJcbiAgLy8gaWYgdHJ1ZSAtIGRpc3BsYXkgc3RhbmRhcmQgbWFnaWMgZXJyb3IgbWVzc2FnZSwgaWYgZmFsc2UgLSBjdXN0b21lciBoYXMgcHJvdmlkZXMgaGlzIG93biBjb250ZW50IGFuZCB3ZSdsbCB1c2UgaXRcclxuICBkZWZhdWx0RGlzcGxheSA9IHRydWU7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2N1c3RvbUNvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IEN1c3RvbUNvbnRlbnQoaW5uZXJDb21wb25lbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuZGVmYXVsdERpc3BsYXkgPSBpbm5lckNvbXBvbmVudCA9PSB1bmRlZmluZWQgfHwgdGhpcy5pc0VtcHR5KGlubmVyQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Rhc2s6IFRhc2tNYWdpY1NlcnZpY2UsIHB1YmxpYyBtZ1NlcnZpY2U6IEFjY2Vzc29yTWFnaWNTZXJ2aWNlLCBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmICkge1xyXG4gICAgdGhpcy5yb3dJZCA9IFwiMFwiO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJucyB0cnVlIGlmIHRoZSBodG1sIGVsZW1lbnQgaGFzIG5vIGNoaWxkcmVuXHJcbiAgICogQHBhcmFtIGVsZW1lbnRcclxuICAgKi9cclxuICBpc0VtcHR5KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBub2RlcyA9IGVsZW1lbnQuY2hpbGROb2RlcztcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzLml0ZW0oaSk7XHJcbiAgICAgIGlmIChub2RlLm5vZGVUeXBlICE9PSA4ICYmIG5vZGVzLml0ZW0oaSkudGV4dENvbnRlbnQudHJpbSgpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgSGFzRXJyb3JzKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmICghaXNVbmRlZmluZWQoaWQpKSB7XHJcbiAgICAgIGxldCBjb250cm9sID0gdGhpcy5fdGFzay5nZXRGb3JtQ29udHJvbCh0aGlzLnJvd0lkLCBpZCk7XHJcbiAgICAgIGlmIChjb250cm9sICE9PSBudWxsKSB7XHJcbiAgICAgICAgaWYgKGNvbnRyb2wuZGlydHkgJiYgKGNvbnRyb2wuaGFzRXJyb3IoJ3BhdHRlcm4nKSB8fCBjb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpIHx8XHJcbiAgICAgICAgICBjb250cm9sLmhhc0Vycm9yKCdyYW5nZXZhbGlkYXRvcicpIHx8IGNvbnRyb2wuaGFzRXJyb3IoJ21heGxlbmd0aCcpIHx8IGNvbnRyb2wuaGFzRXJyb3IoJ21heCcpKSlcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIGlmIChjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSlcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBpZih0aGlzLl90YXNrLlJlY29yZHMubGlzdFt0aGlzLnJvd0lkXSAmJiB0aGlzLl90YXNrLlJlY29yZHMubGlzdFt0aGlzLnJvd0lkXS5nZXRDb250cm9sTWV0YWRhdGEoaWQpKXtcclxuICAgICAgICAgIGxldCBjb250cm9sTWV0YWRhdGEgPSB0aGlzLl90YXNrLlJlY29yZHMubGlzdFt0aGlzLnJvd0lkXS5nZXRDb250cm9sTWV0YWRhdGEoaWQpO1xyXG4gICAgICAgICAgZm9yIChsZXQgY3VzdG9tVmFsaWRhdG9yIG9mIGNvbnRyb2xNZXRhZGF0YS5jdXN0b21WYWxpZGF0b3JzLmtleXMoKSkge1xyXG4gICAgICAgICAgICBpZiAoY29udHJvbC5oYXNFcnJvcihjdXN0b21WYWxpZGF0b3IpKVxyXG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -1,106 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { DatePipe } from '@angular/common';
3
- import { TaskMagicService } from '../../services/task.magics.service';
4
- import { StringBuilder } from "@magic-xpa/mscorelib";
5
- import { PICInterface } from "@magic-xpa/utils";
6
- import { isNullOrUndefined } from "util";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../services/task.magics.service";
9
- export class Constants {
10
- }
11
- Constants.DATE_FMT = 'dd/MMM/yyyy';
12
- export class DateMagicPipe extends DatePipe {
13
- constructor(_task) {
14
- super('en-US');
15
- this._task = _task;
16
- }
17
- transform(value, controlId) {
18
- let mask = this._task.GetControlPictureMask(controlId).getMask();
19
- let formatStr = null;
20
- let mgDateFormatter = new MgDateFormatter();
21
- if (!isNullOrUndefined(value) && mask !== null) {
22
- formatStr = mgDateFormatter.ConvertMgDateFormatToAngular(mask);
23
- if (formatStr != null && this._task.isTableControl(controlId)) {
24
- if (this._task.mgInputDateFormat == null)
25
- this._task.mgInputDateFormat = formatStr;
26
- else
27
- formatStr = this._task.mgInputDateFormat;
28
- }
29
- return super.transform(value, formatStr);
30
- }
31
- else
32
- value = "";
33
- return value;
34
- }
35
- }
36
- DateMagicPipe.ɵfac = function DateMagicPipe_Factory(t) { return new (t || DateMagicPipe)(i0.ɵɵdirectiveInject(i1.TaskMagicService)); };
37
- DateMagicPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "magicDate", type: DateMagicPipe, pure: true });
38
- (function () { i0.ɵsetClassMetadata(DateMagicPipe, [{
39
- type: Pipe,
40
- args: [{
41
- name: 'magicDate'
42
- }]
43
- }], function () { return [{ type: i1.TaskMagicService }]; }, null); })();
44
- export class MgDateFormatter {
45
- ConvertMgDateFormatToAngular(mgDateMask) {
46
- let formatStr = new StringBuilder();
47
- if (mgDateMask !== null) {
48
- for (let i = 0; i < mgDateMask.length;) {
49
- switch (mgDateMask.charCodeAt(i)) {
50
- case PICInterface.PIC_YYYY:
51
- formatStr.Append('yyyy');
52
- i += 4;
53
- break;
54
- case PICInterface.PIC_MMD:
55
- formatStr.Append('MM');
56
- i += 2;
57
- break;
58
- case PICInterface.PIC_YY:
59
- formatStr.Append('yy');
60
- i += 2;
61
- break;
62
- case PICInterface.PIC_MMM:
63
- {
64
- let cnt = 0;
65
- for (; i < mgDateMask.length; i++)
66
- if (mgDateMask.charCodeAt(i) == PICInterface.PIC_MMM)
67
- cnt++;
68
- else
69
- break;
70
- if (cnt == 3)
71
- formatStr.Append('MMM');
72
- if (cnt > 3)
73
- formatStr.Append('MMMM');
74
- }
75
- break;
76
- case PICInterface.PIC_DD:
77
- formatStr.Append('dd');
78
- i += 2;
79
- break;
80
- case PICInterface.PIC_WWW:
81
- {
82
- let cnt = 0;
83
- for (; i < mgDateMask.length; i++)
84
- if (mgDateMask.charCodeAt(i) == PICInterface.PIC_WWW)
85
- cnt++;
86
- else
87
- break;
88
- if (cnt == 3)
89
- formatStr.Append('EEE');
90
- if (cnt > 3)
91
- formatStr.Append('EEEE');
92
- }
93
- break;
94
- default:
95
- formatStr.Append(mgDateMask.charAt(i));
96
- i++;
97
- break;
98
- }
99
- }
100
- return formatStr.ToString();
101
- }
102
- else
103
- return "dd-mm-yyyy";
104
- }
105
- }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5tYWdpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvcGlwZXMvZGF0ZS5tYWdpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUE7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBS3ZDLE1BQU0sT0FBTyxTQUFTOztBQUNKLGtCQUFRLEdBQUcsYUFBYSxDQUFDO0FBUzNDLE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBUTtJQUV6QyxZQUFzQixLQUF1QjtRQUMzQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFESyxVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUczQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEtBQVUsRUFBRSxTQUFpQjtRQUVyQyxJQUFJLElBQUksR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFFLElBQUksU0FBUyxHQUFXLElBQUksQ0FBQztRQUM3QixJQUFJLGVBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQzlDLFNBQVMsR0FBRyxlQUFlLENBQUMsNEJBQTRCLENBQUUsSUFBSSxDQUFDLENBQUM7WUFFaEUsSUFB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O29CQUVSO3dCQUNFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN2QyxDQUFDLEVBQUUsQ0FBQzt3QkFDSixNQUFNO2lCQUNUO2FBQ0Y7WUFDRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM3Qjs7WUFFQyxPQUFPLFlBQVksQ0FBQztJQUV4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIlxyXG5pbXBvcnQge1BJQ0ludGVyZmFjZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIlxyXG5pbXBvcnQge2lzTnVsbE9yVW5kZWZpbmVkfSBmcm9tIFwidXRpbFwiO1xyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDb25zdGFudHMge1xyXG4gIHN0YXRpYyByZWFkb25seSBEQVRFX0ZNVCA9ICdkZC9NTU0veXl5eSc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ21hZ2ljRGF0ZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVNYWdpY1BpcGUgZXh0ZW5kcyBEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Rhc2s6IFRhc2tNYWdpY1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCdlbi1VUycpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGNvbnRyb2xJZDogc3RyaW5nKTogYW55IHtcclxuXHJcbiAgICBsZXQgbWFzazogc3RyaW5nID0gdGhpcy5fdGFzay5HZXRDb250cm9sUGljdHVyZU1hc2sgKGNvbnRyb2xJZCkuZ2V0TWFzaygpO1xyXG4gICAgbGV0IGZvcm1hdFN0cjogc3RyaW5nID0gbnVsbDtcclxuICAgIGxldCBtZ0RhdGVGb3JtYXR0ZXIgPSBuZXcgTWdEYXRlRm9ybWF0dGVyKCk7XHJcbiAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSAmJiBtYXNrICE9PSBudWxsKSB7XHJcbiAgICAgIGZvcm1hdFN0ciA9IG1nRGF0ZUZvcm1hdHRlci5Db252ZXJ0TWdEYXRlRm9ybWF0VG9Bbmd1bGFyIChtYXNrKTtcclxuICAgICAgLy8gSWYgY29udHJvbCBpcyBsYWJlbCBjb250cm9sIG9mIHRhYmxlLCBkdWUgdG8gcXVlcnkgbW9kZSwgdGhlbiBzYXZlIHRoZSBmb3JtYXQgaGVyZS5cclxuICAgICAgaWYgKGZvcm1hdFN0ciAhPSBudWxsICYmIHRoaXMuX3Rhc2suaXNUYWJsZUNvbnRyb2woY29udHJvbElkKSkge1xyXG4gICAgICAgIGlmICh0aGlzLl90YXNrLm1nSW5wdXREYXRlRm9ybWF0ID09IG51bGwpXHJcbiAgICAgICAgICB0aGlzLl90YXNrLm1nSW5wdXREYXRlRm9ybWF0ID0gZm9ybWF0U3RyO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGZvcm1hdFN0ciA9IHRoaXMuX3Rhc2subWdJbnB1dERhdGVGb3JtYXQ7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0U3RyKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdmFsdWUgPSBcIlwiO1xyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCAgY2xhc3MgTWdEYXRlRm9ybWF0dGVyIHtcclxuXHJcbiAgQ29udmVydE1nRGF0ZUZvcm1hdFRvQW5ndWxhcihtZ0RhdGVNYXNrOiBzdHJpbmcpIDogc3RyaW5nXHJcbiAge1xyXG4gICAgbGV0IGZvcm1hdFN0cjogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyICgpO1xyXG5cclxuICAgIGlmIChtZ0RhdGVNYXNrICE9PSBudWxsKSB7XHJcbiAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBtZ0RhdGVNYXNrLmxlbmd0aDspIHtcclxuICAgICAgICBzd2l0Y2ggKG1nRGF0ZU1hc2suY2hhckNvZGVBdChpKSkge1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX1lZWVk6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ3l5eXknKTtcclxuICAgICAgICAgICAgaSArPSA0O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19NTUQ6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ01NJyk7XHJcbiAgICAgICAgICAgIGkgKz0gMjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfWVk6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ3l5Jyk7XHJcbiAgICAgICAgICAgIGkgKz0gMjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfTU1NOlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBsZXQgY250ID0gMDtcclxuICAgICAgICAgICAgZm9yICAoO2kgPCBtZ0RhdGVNYXNrLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICAgIGlmIChtZ0RhdGVNYXNrLmNoYXJDb2RlQXQoaSkgPT0gUElDSW50ZXJmYWNlLlBJQ19NTU0pXHJcbiAgICAgICAgICAgICAgICBjbnQrKztcclxuICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGlmIChjbnQgPT0gMylcclxuICAgICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdNTU0nKTtcclxuICAgICAgICAgICAgaWYgKGNudCA+IDMpXHJcbiAgICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnTU1NTScpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfREQ6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ2RkJyk7XHJcbiAgICAgICAgICAgIGkgKz0gMjtcclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19XV1c6IHtcclxuICAgICAgICAgICAgbGV0IGNudCA9IDA7XHJcbiAgICAgICAgICAgIGZvciAgKDtpIDwgbWdEYXRlTWFzay5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICBpZiAobWdEYXRlTWFzay5jaGFyQ29kZUF0KGkpID09IFBJQ0ludGVyZmFjZS5QSUNfV1dXKVxyXG4gICAgICAgICAgICAgICAgY250Kys7XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBpZiAoY250ID09IDMpXHJcbiAgICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnRUVFJyk7XHJcbiAgICAgICAgICAgIGlmIChjbnQgPiAzKVxyXG4gICAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ0VFRUUnKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZChtZ0RhdGVNYXNrLmNoYXJBdChpKSk7XHJcbiAgICAgICAgICAgIGkrKztcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmb3JtYXRTdHIuVG9TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIFwiZGQtbW0teXl5eVwiOyAvLyByZXR1cm4gZGVmYXVsdCBmb3JtYXQuXHJcblxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,109 +0,0 @@
1
- import { Component, ComponentFactoryResolver, ViewContainerRef } from '@angular/core';
2
- import { ActivatedRoute, Router } from '@angular/router';
3
- import { EngineMagicService } from '../services/engine.magic.service';
4
- import { getGuiEventObj } from '@magic-xpa/engine';
5
- import { List } from '@magic-xpa/mscorelib';
6
- import { StrUtil } from '@magic-xpa/utils';
7
- import { ComponentListMagicService } from '../services/component-list.magic.service';
8
- import { SubformMagicService } from '../services/subform.magic.service';
9
- import { CommandsCollectorMagicService } from '../services/commands-collector.magic.service';
10
- import { RouterCommandsMagicService } from '../services/router-commands.magic.service';
11
- import { TaskMagicService } from '../services/task.magics.service';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/router";
14
- import * as i2 from "../services/engine.magic.service";
15
- import * as i3 from "../services/task.magics.service";
16
- import * as i4 from "../services/component-list.magic.service";
17
- import * as i5 from "../services/commands-collector.magic.service";
18
- import * as i6 from "../services/router-commands.magic.service";
19
- export class RouterContainerMagicComponent {
20
- constructor(activatedRoute, router, magic, containerTaskService, componentFactoryResolver, viewContainerRef, componentList, pendingCommandsCollector, routerCommandsMagicService) {
21
- this.activatedRoute = activatedRoute;
22
- this.router = router;
23
- this.magic = magic;
24
- this.containerTaskService = containerTaskService;
25
- this.componentFactoryResolver = componentFactoryResolver;
26
- this.viewContainerRef = viewContainerRef;
27
- this.componentList = componentList;
28
- this.pendingCommandsCollector = pendingCommandsCollector;
29
- this.routerCommandsMagicService = routerCommandsMagicService;
30
- this.componentRef = null;
31
- this.parentMgSubformService = null;
32
- }
33
- static get LastRoute() {
34
- return RouterContainerMagicComponent.lastRoute;
35
- }
36
- ngOnInit() {
37
- let outletname = this.activatedRoute.outlet;
38
- let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
39
- let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
40
- RouterContainerMagicComponent.lastRoute = this.router.url;
41
- if (subformMagicService == null || subformMagicService.currentRouteDefinition === null) {
42
- this.insertRouteEvent(currentActiveRoute);
43
- SubformMagicService.routerContainers.push(this);
44
- }
45
- else {
46
- this.initializeComponent();
47
- }
48
- }
49
- insertRouteEvent(currentActiveRoute) {
50
- let guiEvent = getGuiEventObj('RouterNavigate', null, 0);
51
- guiEvent.RouterPath = currentActiveRoute.snapshot.routeConfig.path;
52
- if (currentActiveRoute.snapshot.outlet !== 'primary')
53
- guiEvent.RouterOutletName = currentActiveRoute.snapshot.outlet;
54
- let calcRouterPath = currentActiveRoute.routeConfig.path;
55
- if (calcRouterPath.length > 0) {
56
- let routerPath = calcRouterPath;
57
- let tokens = StrUtil.tokenize(routerPath, "/:");
58
- guiEvent.RouterPath = tokens[0];
59
- guiEvent.RouterParams = new List();
60
- for (let i = 1; i < tokens.length; i++) {
61
- guiEvent.RouterParams.push(this.activatedRoute.snapshot.params[tokens[i]]);
62
- }
63
- }
64
- this.containerTaskService.insertEvent(guiEvent);
65
- }
66
- initializeComponent() {
67
- let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
68
- if (subformMagicService.currentRouteDefinition !== null) {
69
- let comp = this.componentList.getComponent(subformMagicService.currentRouteDefinition.formName);
70
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(comp);
71
- this.componentRef = this.viewContainerRef.createComponent(componentFactory);
72
- Object.assign(this.componentRef.instance, subformMagicService.currentRouteDefinition.parameters);
73
- let myActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
74
- let routeParams = StrUtil.tokenize(myActiveRoute.snapshot.routeConfig.path, "/:");
75
- subformMagicService.routesDict[myActiveRoute.snapshot.outlet] = routeParams[0];
76
- this.parentMgSubformService = subformMagicService;
77
- subformMagicService.currentRouteDefinition = null;
78
- SubformMagicService.currentCallerMgSubformServiceRef = null;
79
- let ignoreParamChange = true;
80
- myActiveRoute.paramMap.subscribe(params => {
81
- if (!ignoreParamChange)
82
- this.insertRouteEvent(myActiveRoute);
83
- ignoreParamChange = false;
84
- });
85
- this.parentMgSubformService.refreshView();
86
- this.routerCommandsMagicService.ExecuteNextCommand();
87
- }
88
- }
89
- ngOnDestroy() {
90
- if (this.componentRef != null) {
91
- this.componentRef.instance.task.close();
92
- let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
93
- this.parentMgSubformService.routesDict[currentActiveRoute.outlet] = "";
94
- RouterContainerMagicComponent.lastRoute = this.router.url;
95
- }
96
- }
97
- }
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, [{
102
- type: Component,
103
- args: [{
104
- selector: 'magic-route-outlet',
105
- template: `
106
- `
107
- }]
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=
@@ -1,52 +0,0 @@
1
- import { Component, Input, ViewContainerRef } from "@angular/core";
2
- import { SubformMagicService } from "../services/subform.magic.service";
3
- import { isNullOrUndefined } from 'util';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/subform.magic.service";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "ng-dynamic-component";
8
- function SubformMagicComponent_ndc_dynamic_0_Template(rf, ctx) { if (rf & 1) {
9
- i0.ɵɵelement(0, "ndc-dynamic", 1);
10
- } if (rf & 2) {
11
- const ctx_r0 = i0.ɵɵnextContext();
12
- i0.ɵɵproperty("ndcDynamicComponent", ctx_r0.Component)("ndcDynamicInputs", ctx_r0.Parameters);
13
- } }
14
- export class SubformMagicComponent {
15
- constructor(vcRef, mgSub) {
16
- this.vcRef = vcRef;
17
- this.mgSub = mgSub;
18
- this.component = null;
19
- this.component = (this.vcRef._hostView).find(v => !isNullOrUndefined(v));
20
- }
21
- set magic(val) { this.id = val; }
22
- ;
23
- get Component() {
24
- return this.mgSub.mgGetComp(this.id);
25
- }
26
- get Parameters() {
27
- return this.mgSub.mgGetParameters(this.id);
28
- }
29
- }
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) {
32
- i0.ɵɵtemplate(0, SubformMagicComponent_ndc_dynamic_0_Template, 1, 2, "ndc-dynamic", 0);
33
- } if (rf & 2) {
34
- i0.ɵɵproperty("ngIf", ctx.Component);
35
- } }, directives: [i2.NgIf, i3.DynamicComponent, i3.DynamicIoDirective], encapsulation: 2 });
36
- (function () { i0.ɵsetClassMetadata(SubformMagicComponent, [{
37
- type: Component,
38
- args: [{
39
- selector: 'magic-subform',
40
- template: `
41
- <ndc-dynamic
42
- *ngIf="Component"
43
- [ndcDynamicComponent]="Component"
44
- [ndcDynamicInputs]="Parameters">
45
- </ndc-dynamic>
46
- `
47
- }]
48
- }], function () { return [{ type: i0.ViewContainerRef }, { type: i1.SubformMagicService }]; }, { magic: [{
49
- type: Input,
50
- args: ['magic']
51
- }] }); })();
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9zdWJmb3JtLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztJQVFyQyxpQ0FJYzs7O0lBRlosc0RBQWlDLHVDQUFBOztBQU12QyxNQUFNLE9BQU8scUJBQXFCO0lBbUJoQyxZQUFvQixLQUF1QixFQUFZLEtBQTBCO1FBQTdELFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBcUI7UUFMakYsY0FBUyxHQUEyQixJQUFJLENBQUM7UUFPdkMsSUFBSSxDQUFDLFNBQVMsR0FBSyxDQUFPLElBQUksQ0FBQyxLQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBRSxDQUE0QixDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBYkQsSUFBb0IsS0FBSyxDQUFDLEdBQUcsSUFBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBa0JqRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBS0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7MEZBcENVLHFCQUFxQjswREFBckIscUJBQXFCO1FBUjlCLHNGQUlBOztRQUhFLG9DQUFpQjs7b0NBT1YscUJBQXFCO2NBWGpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFLOzs7Ozs7Q0FNZDthQUFDO3FHQVlvQixLQUFLO2tCQUF4QixLQUFLO21CQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VGFza0Jhc2VNYWdpY0NvbXBvbmVudH0gZnJvbSBcIi4vdGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3N1YmZvcm0ubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ3V0aWwnO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBNYWdpYyBzdWJmb3JtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hZ2ljLXN1YmZvcm0nLFxyXG4gIHRlbXBsYXRlOiAgICBgXHJcbiAgICA8bmRjLWR5bmFtaWNcclxuICAgICAgKm5nSWY9XCJDb21wb25lbnRcIiAgXHJcbiAgICAgIFtuZGNEeW5hbWljQ29tcG9uZW50XT1cIkNvbXBvbmVudFwiIFxyXG4gICAgICBbbmRjRHluYW1pY0lucHV0c109XCJQYXJhbWV0ZXJzXCI+XHJcbiAgICA8L25kYy1keW5hbWljPlxyXG5gfSlcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU3ViZm9ybU1hZ2ljQ29tcG9uZW50IHtcclxuICAvKipcclxuICAgICogQGlnbm9yZVxyXG4gICAgKi9cclxuICBpZCA6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgnbWFnaWMnKSBzZXQgbWFnaWModmFsKSB7dGhpcy5pZCA9IHZhbDsgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbXBvbmVudDogVGFza0Jhc2VNYWdpY0NvbXBvbmVudCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcm90ZWN0ZWQgbWdTdWI6IFN1YmZvcm1NYWdpY1NlcnZpY2UpIHtcclxuICAgIC8vIEZvciBhbmd1bGFyIDEwIC0gZmluZCB0aGUgY29tcG9uZW50IGZyb20gdmlld3NcclxuICAgIHRoaXMuY29tcG9uZW50ID0gICAoKDxhbnk+dGhpcy52Y1JlZikuX2hvc3RWaWV3KS5maW5kKHYgPT4gIWlzTnVsbE9yVW5kZWZpbmVkKCh2IGFzIFRhc2tCYXNlTWFnaWNDb21wb25lbnQpKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZ2V0IENvbXBvbmVudCgpOiBDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMubWdTdWIubWdHZXRDb21wKHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGdldCBQYXJhbWV0ZXJzKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZ1N1Yi5tZ0dldFBhcmFtZXRlcnModGhpcy5pZCk7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=