@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.
- package/esm2020/index.mjs +57 -0
- package/{esm2015/magic-xpa-angular.js → esm2020/magic-xpa-angular.mjs} +0 -0
- package/esm2020/src/controls.metadata.model.mjs +180 -0
- package/{esm2015/src/interfaces/sub-form-definition.iterface.js → esm2020/src/interfaces/sub-form-definition.iterface.mjs} +1 -0
- package/esm2020/src/magic.core.module.mjs +157 -0
- package/{esm2015/src/services/ISubformMagicService.js → esm2020/src/services/ISubformMagicService.mjs} +1 -0
- package/esm2020/src/services/OverlayWindowService.mjs +208 -0
- package/esm2020/src/services/StylesMapManager.mjs +28 -0
- package/esm2020/src/services/accessor.magic.service.mjs +302 -0
- package/{esm2015/src/services/commands-collector.magic.service.js → esm2020/src/services/commands-collector.magic.service.mjs} +7 -4
- package/esm2020/src/services/component-list.magic.service.mjs +46 -0
- package/{esm2015/src/services/confirmation.components.magic.provider.js → esm2020/src/services/confirmation.components.magic.provider.mjs} +2 -2
- package/esm2020/src/services/engine.magic.service.mjs +82 -0
- package/{esm2015/src/services/exit.magic.service.js → esm2020/src/services/exit.magic.service.mjs} +2 -2
- package/esm2020/src/services/magic.lazy.loader.service.mjs +16 -0
- package/{esm2015/src/services/magic.providers.js → esm2020/src/services/magic.providers.mjs} +0 -0
- package/{esm2015/src/services/magic.services.js → esm2020/src/services/magic.services.mjs} +2 -2
- package/{esm2015/src/services/mg-date-adapter.js → esm2020/src/services/mg-date-adapter.mjs} +2 -2
- package/{esm2015/src/services/overlay.conainer.magic.provider.js → esm2020/src/services/overlay.conainer.magic.provider.mjs} +2 -2
- package/esm2020/src/services/router-commands.magic.service.mjs +28 -0
- package/esm2020/src/services/subform.magic.service.mjs +185 -0
- package/{esm2015/src/services/table.magic.service.js → esm2020/src/services/table.magic.service.mjs} +2 -2
- package/esm2020/src/services/task.magics.service.mjs +611 -0
- package/{esm2015/src/services/title.magic.service.js → esm2020/src/services/title.magic.service.mjs} +2 -2
- package/esm2020/src/ui/GuiInteractiveExecutor.mjs +98 -0
- package/{esm2015/src/ui/components/base-magic-alert.component.js → esm2020/src/ui/components/base-magic-alert.component.mjs} +2 -2
- package/{esm2015/src/ui/components/base-magic-confirm.component.js → esm2020/src/ui/components/base-magic-confirm.component.mjs} +2 -2
- package/esm2020/src/ui/components/magic-alert.component.mjs +71 -0
- package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +82 -0
- package/{esm2015/src/ui/directives/NonMagicControlDirective.js → esm2020/src/ui/directives/NonMagicControlDirective.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.js → esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/checkbox.magic.directive.js → esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/combobox.magic.directive.js → esm2020/src/ui/directives/magic/combobox.magic.directive.mjs} +2 -2
- 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
- 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
- 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
- package/{esm2015/src/ui/directives/magic/input.noformcontrol.magic.directive.js → esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/nocontrol.magic.directive.js → esm2020/src/ui/directives/magic/nocontrol.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic/row.magic.directive.js → esm2020/src/ui/directives/magic/row.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/magic-focus.directive.js → esm2020/src/ui/directives/magic-focus.directive.mjs} +2 -2
- package/esm2020/src/ui/directives/magic.directive.mjs +207 -0
- package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
- package/{esm2015/src/ui/directives/mgformat.magic.directive.js → esm2020/src/ui/directives/mgformat.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/directives/range-validator.magic.directive.js → esm2020/src/ui/directives/range-validator.magic.directive.mjs} +2 -2
- package/{esm2015/src/ui/magic-confirmationBox.js → esm2020/src/ui/magic-confirmationBox.mjs} +0 -0
- package/{esm2015/src/ui/magic-modal/base-magic-overlay-container.js → esm2020/src/ui/magic-modal/base-magic-overlay-container.mjs} +0 -0
- package/{esm2015/src/ui/magic-modal/magic-modal-form.js → esm2020/src/ui/magic-modal/magic-modal-form.mjs} +0 -0
- package/{esm2015/src/ui/magic-modal/magic-modal-interface.js → esm2020/src/ui/magic-modal/magic-modal-interface.mjs} +1 -0
- package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +135 -0
- package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +165 -0
- package/esm2020/src/ui/magic-root.component.mjs +237 -0
- package/esm2020/src/ui/mgerror.magic.component.mjs +120 -0
- package/esm2020/src/ui/pipes/date.magic.pipe.mjs +105 -0
- package/{esm2015/src/ui/pipes/time.magic.pipe.js → esm2020/src/ui/pipes/time.magic.pipe.mjs} +3 -3
- package/esm2020/src/ui/router-container.magic.component.mjs +109 -0
- package/esm2020/src/ui/subform.magic.component.mjs +52 -0
- package/{esm2015/src/ui/task-base.magic.component.js → esm2020/src/ui/task-base.magic.component.mjs} +2 -2
- package/{esm2015/src/ui/utils.js → esm2020/src/ui/utils.mjs} +0 -0
- package/fesm2015/magic-xpa-angular.mjs +4578 -0
- package/fesm2015/magic-xpa-angular.mjs.map +1 -0
- package/{fesm2015/magic-xpa-angular.js → fesm2020/magic-xpa-angular.mjs} +435 -415
- package/fesm2020/magic-xpa-angular.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/package.json +28 -15
- package/src/magic.core.module.d.ts +3 -8
- package/src/services/OverlayWindowService.d.ts +2 -2
- package/src/services/accessor.magic.service.d.ts +2 -2
- package/src/services/commands-collector.magic.service.d.ts +2 -2
- package/src/services/component-list.magic.service.d.ts +3 -0
- package/src/services/confirmation.components.magic.provider.d.ts +2 -2
- package/src/services/engine.magic.service.d.ts +2 -2
- package/src/services/exit.magic.service.d.ts +2 -2
- package/src/services/magic.lazy.loader.service.d.ts +6 -0
- package/src/services/magic.services.d.ts +2 -2
- package/src/services/mg-date-adapter.d.ts +2 -2
- package/src/services/overlay.conainer.magic.provider.d.ts +2 -2
- package/src/services/router-commands.magic.service.d.ts +2 -2
- package/src/services/subform.magic.service.d.ts +6 -4
- package/src/services/table.magic.service.d.ts +2 -2
- package/src/services/task.magics.service.d.ts +2 -2
- package/src/services/title.magic.service.d.ts +2 -2
- package/src/ui/components/base-magic-alert.component.d.ts +2 -2
- package/src/ui/components/base-magic-confirm.component.d.ts +2 -2
- package/src/ui/components/magic-alert.component.d.ts +2 -2
- package/src/ui/components/magic-confirmation-box.component.d.ts +2 -2
- package/src/ui/directives/NonMagicControlDirective.d.ts +2 -2
- package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/checkbox.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/combobox.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +2 -2
- package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +2 -2
- package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +2 -2
- package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic/row.magic.directive.d.ts +2 -2
- package/src/ui/directives/magic-focus.directive.d.ts +2 -2
- package/src/ui/directives/magic.directive.d.ts +2 -2
- package/src/ui/directives/magicViewContainerRef.directive.d.ts +2 -2
- package/src/ui/directives/mgformat.magic.directive.d.ts +2 -2
- package/src/ui/directives/range-validator.magic.directive.d.ts +2 -2
- package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +7 -5
- package/src/ui/magic-modal/magic-overlay-container.d.ts +2 -2
- package/src/ui/magic-root.component.d.ts +2 -2
- package/src/ui/mgerror.magic.component.d.ts +2 -2
- package/src/ui/pipes/date.magic.pipe.d.ts +2 -2
- package/src/ui/pipes/time.magic.pipe.d.ts +2 -2
- package/src/ui/router-container.magic.component.d.ts +2 -2
- package/src/ui/subform.magic.component.d.ts +2 -2
- package/src/ui/task-base.magic.component.d.ts +2 -2
- package/bundles/magic-xpa-angular.umd.js +0 -5028
- package/bundles/magic-xpa-angular.umd.js.map +0 -1
- package/bundles/magic-xpa-angular.umd.min.js +0 -16
- package/bundles/magic-xpa-angular.umd.min.js.map +0 -1
- package/esm2015/index.js +0 -56
- package/esm2015/src/controls.metadata.model.js +0 -180
- package/esm2015/src/magic.core.module.js +0 -173
- package/esm2015/src/services/OverlayWindowService.js +0 -205
- package/esm2015/src/services/StylesMapManager.js +0 -29
- package/esm2015/src/services/accessor.magic.service.js +0 -302
- package/esm2015/src/services/component-list.magic.service.js +0 -36
- package/esm2015/src/services/engine.magic.service.js +0 -82
- package/esm2015/src/services/router-commands.magic.service.js +0 -25
- package/esm2015/src/services/subform.magic.service.js +0 -182
- package/esm2015/src/services/task.magics.service.js +0 -611
- package/esm2015/src/ui/GuiInteractiveExecutor.js +0 -98
- package/esm2015/src/ui/components/magic-alert.component.js +0 -72
- package/esm2015/src/ui/components/magic-confirmation-box.component.js +0 -83
- package/esm2015/src/ui/directives/magic.directive.js +0 -207
- package/esm2015/src/ui/directives/magicViewContainerRef.directive.js +0 -20
- package/esm2015/src/ui/magic-modal/magic-overlay-container-wrapper.js +0 -131
- package/esm2015/src/ui/magic-modal/magic-overlay-container.js +0 -169
- package/esm2015/src/ui/magic-root.component.js +0 -237
- package/esm2015/src/ui/mgerror.magic.component.js +0 -120
- package/esm2015/src/ui/pipes/date.magic.pipe.js +0 -106
- package/esm2015/src/ui/router-container.magic.component.js +0 -109
- package/esm2015/src/ui/subform.magic.component.js +0 -52
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWdlcnJvci5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tZ2Vycm9yLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7SUFXOUIsNEJBQ0M7SUFBQSxZQUNGO0lBQUEsaUJBQU87OztJQURMLGVBQ0Y7SUFERSxvRkFDRjs7O0lBTlksMkJBQ1o7SUFBQSxvQ0FDRTtJQUFBLGtCQUFZO0lBQ2QsaUJBQU07SUFDTCw0RUFDQztJQUVGLGlCQUFNOzs7SUFIQyxlQUFzQjtJQUF0Qiw0Q0FBc0I7OztBQU9qQyxNQUFNLE9BQU8sbUJBQW1CO0lBNkI5QixZQUFzQixLQUF1QixFQUFTLFNBQStCLEVBQVksaUJBQW9DO1FBQS9HLFVBQUssR0FBTCxLQUFLLENBQWtCO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFBWSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBWHJJLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBWXBCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUF0QkQsSUFBb0IsS0FBSyxDQUFDLEdBQUc7UUFDM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDaEIsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFvQixNQUFNLENBQUMsR0FBRztRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFH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LGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBY2Nlc3Nvck1hZ2ljU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2FjY2Vzc29yLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gXCJ1dGlsXCI7XHJcblxyXG4vKipcclxuICogUmVwcmVzZW50cyBhIE1hZ2ljIHN1YmZvcm1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWdFcnJvcicsXHJcbiAgdGVtcGxhdGU6ICAgIGA8ZGl2ICpuZ0lmPVwiSGFzRXJyb3JzKGlkKVwiPlxyXG4gICAgPGRpdiAjY3VzdG9tQ29udGVudD5cclxuICAgICAgPG5nLWNvbnRlbnQ+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=
|