@magic-xpa/angular 4.1100.0-dev4110.99 → 4.1100.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/README.md +5 -5
- package/{esm2020 → esm2022}/index.mjs +59 -59
- package/{esm2020 → esm2022}/magic-xpa-angular.mjs +1 -1
- package/esm2022/src/controls.metadata.model.mjs +183 -0
- package/{esm2020 → esm2022}/src/interfaces/sub-form-definition.iterface.mjs +1 -1
- package/{esm2020 → esm2022}/src/magic.core.module.mjs +159 -160
- package/{esm2020 → esm2022}/src/services/ISubformMagicService.mjs +1 -1
- package/esm2022/src/services/OverlayWindowService.mjs +244 -0
- package/esm2022/src/services/StylesMapManager.mjs +28 -0
- package/esm2022/src/services/accessor.magic.service.mjs +358 -0
- package/esm2022/src/services/commands-collector.magic.service.mjs +47 -0
- package/esm2022/src/services/component-list.magic.service.mjs +45 -0
- package/{esm2020 → esm2022}/src/services/confirmation.components.magic.provider.mjs +21 -21
- package/esm2022/src/services/engine.magic.service.mjs +80 -0
- package/{esm2020 → esm2022}/src/services/exit.magic.service.mjs +13 -13
- package/esm2022/src/services/magic-color.service.mjs +101 -0
- package/{esm2020 → esm2022}/src/services/magic.lazy.loader.service.mjs +16 -16
- package/{esm2020 → esm2022}/src/services/magic.providers.mjs +24 -24
- package/esm2022/src/services/magic.services.mjs +36 -0
- package/esm2022/src/services/mg-date-adapter.mjs +108 -0
- package/{esm2020 → esm2022}/src/services/overlay.conainer.magic.provider.mjs +14 -14
- package/esm2022/src/services/router-commands.magic.service.mjs +31 -0
- package/esm2022/src/services/subform.magic.service.mjs +194 -0
- package/esm2022/src/services/table.magic.service.mjs +81 -0
- package/esm2022/src/services/task.magics.service.mjs +648 -0
- package/esm2022/src/services/title.magic.service.mjs +19 -0
- package/esm2022/src/ui/GuiInteractiveExecutor.mjs +114 -0
- package/esm2022/src/ui/components/base-magic-alert.component.mjs +24 -0
- package/esm2022/src/ui/components/base-magic-confirm.component.mjs +24 -0
- package/esm2022/src/ui/components/magic-alert.component.mjs +36 -0
- package/esm2022/src/ui/components/magic-confirmation-box.component.mjs +42 -0
- package/esm2022/src/ui/directives/NonMagicControlDirective.mjs +58 -0
- package/esm2022/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +29 -0
- package/esm2022/src/ui/directives/magic/checkbox.magic.directive.mjs +100 -0
- package/esm2022/src/ui/directives/magic/combobox.magic.directive.mjs +37 -0
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +27 -0
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +85 -0
- package/esm2022/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +32 -0
- package/esm2022/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +28 -0
- package/{esm2020 → esm2022}/src/ui/directives/magic/nocontrol.magic.directive.mjs +193 -193
- package/esm2022/src/ui/directives/magic/row.magic.directive.mjs +62 -0
- package/esm2022/src/ui/directives/magic-focus.directive.mjs +20 -0
- package/esm2022/src/ui/directives/magic.directive.mjs +232 -0
- package/esm2022/src/ui/directives/magicViewContainerRef.directive.mjs +20 -0
- package/esm2022/src/ui/directives/mgformat.magic.directive.mjs +579 -0
- package/esm2022/src/ui/directives/range-validator.magic.directive.mjs +60 -0
- package/{esm2020 → esm2022}/src/ui/magic-confirmationBox.mjs +41 -41
- package/{esm2020 → esm2022}/src/ui/magic-modal/base-magic-overlay-container.mjs +22 -22
- package/esm2022/src/ui/magic-modal/magic-modal-form.mjs +6 -0
- package/{esm2020 → esm2022}/src/ui/magic-modal/magic-modal-interface.mjs +1 -1
- package/esm2022/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +124 -0
- package/esm2022/src/ui/magic-modal/magic-overlay-container.mjs +162 -0
- package/esm2022/src/ui/magic-root.component.mjs +236 -0
- package/esm2022/src/ui/mgerror.magic.component.mjs +125 -0
- package/esm2022/src/ui/pipes/date.magic.pipe.mjs +106 -0
- package/esm2022/src/ui/pipes/time.magic.pipe.mjs +52 -0
- package/esm2022/src/ui/pipes/time24.magic.pipe.mjs +35 -0
- package/esm2022/src/ui/router-container.magic.component.mjs +115 -0
- package/{esm2020 → esm2022}/src/ui/subform.magic.component.mjs +50 -46
- package/esm2022/src/ui/task-base.magic.component.mjs +91 -0
- package/{esm2020 → esm2022}/src/ui/utils.mjs +53 -53
- package/{fesm2020 → fesm2022}/magic-xpa-angular.mjs +4930 -4495
- package/fesm2022/magic-xpa-angular.mjs.map +1 -0
- package/index.d.ts +58 -58
- package/package.json +10 -16
- package/src/controls.metadata.model.d.ts +62 -62
- package/src/interfaces/sub-form-definition.iterface.d.ts +12 -12
- package/src/magic.core.module.d.ts +41 -41
- package/src/services/ISubformMagicService.d.ts +4 -4
- package/src/services/OverlayWindowService.d.ts +30 -31
- package/src/services/StylesMapManager.d.ts +5 -5
- package/src/services/accessor.magic.service.d.ts +69 -69
- package/src/services/commands-collector.magic.service.d.ts +15 -15
- package/src/services/component-list.magic.service.d.ts +23 -23
- package/src/services/confirmation.components.magic.provider.d.ts +8 -8
- package/src/services/engine.magic.service.d.ts +27 -27
- package/src/services/exit.magic.service.d.ts +6 -6
- package/src/services/magic-color.service.d.ts +19 -19
- package/src/services/magic.lazy.loader.service.d.ts +6 -6
- package/src/services/magic.providers.d.ts +107 -107
- package/src/services/magic.services.d.ts +16 -16
- package/src/services/mg-date-adapter.d.ts +38 -40
- package/src/services/overlay.conainer.magic.provider.d.ts +7 -7
- package/src/services/router-commands.magic.service.d.ts +17 -17
- package/src/services/subform.magic.service.d.ts +43 -43
- package/src/services/table.magic.service.d.ts +30 -30
- package/src/services/task.magics.service.d.ts +100 -100
- package/src/services/title.magic.service.d.ts +9 -9
- package/src/ui/GuiInteractiveExecutor.d.ts +22 -22
- package/src/ui/components/base-magic-alert.component.d.ts +10 -10
- package/src/ui/components/base-magic-confirm.component.d.ts +10 -10
- package/src/ui/components/magic-alert.component.d.ts +6 -6
- package/src/ui/components/magic-confirmation-box.component.d.ts +6 -6
- package/src/ui/directives/NonMagicControlDirective.d.ts +26 -26
- package/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.d.ts +9 -9
- package/src/ui/directives/magic/checkbox.magic.directive.d.ts +22 -9
- package/src/ui/directives/magic/combobox.magic.directive.d.ts +10 -10
- package/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.d.ts +7 -7
- package/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.d.ts +23 -17
- package/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.d.ts +7 -7
- package/src/ui/directives/magic/input.noformcontrol.magic.directive.d.ts +9 -9
- package/src/ui/directives/magic/nocontrol.magic.directive.d.ts +18 -18
- package/src/ui/directives/magic/row.magic.directive.d.ts +17 -17
- package/src/ui/directives/magic-focus.directive.d.ts +9 -9
- package/src/ui/directives/magic.directive.d.ts +45 -44
- package/src/ui/directives/magicViewContainerRef.directive.d.ts +8 -8
- package/src/ui/directives/mgformat.magic.directive.d.ts +38 -31
- package/src/ui/directives/range-validator.magic.directive.d.ts +17 -17
- package/src/ui/magic-confirmationBox.d.ts +6 -6
- package/src/ui/magic-modal/base-magic-overlay-container.d.ts +5 -5
- package/src/ui/magic-modal/magic-modal-form.d.ts +5 -5
- package/src/ui/magic-modal/magic-modal-interface.d.ts +10 -10
- package/src/ui/magic-modal/magic-overlay-container-wrapper.d.ts +30 -31
- package/src/ui/magic-modal/magic-overlay-container.d.ts +24 -25
- package/src/ui/magic-root.component.d.ts +43 -40
- package/src/ui/mgerror.magic.component.d.ts +20 -20
- package/src/ui/pipes/date.magic.pipe.d.ts +17 -17
- package/src/ui/pipes/time.magic.pipe.d.ts +11 -11
- package/src/ui/pipes/time24.magic.pipe.d.ts +10 -10
- package/src/ui/router-container.magic.component.d.ts +29 -30
- package/src/ui/subform.magic.component.d.ts +16 -16
- package/src/ui/task-base.magic.component.d.ts +34 -34
- package/src/ui/utils.d.ts +9 -9
- package/esm2020/src/controls.metadata.model.mjs +0 -180
- package/esm2020/src/services/OverlayWindowService.mjs +0 -236
- package/esm2020/src/services/StylesMapManager.mjs +0 -28
- package/esm2020/src/services/accessor.magic.service.mjs +0 -356
- package/esm2020/src/services/commands-collector.magic.service.mjs +0 -46
- package/esm2020/src/services/component-list.magic.service.mjs +0 -46
- package/esm2020/src/services/engine.magic.service.mjs +0 -82
- package/esm2020/src/services/magic-color.service.mjs +0 -99
- package/esm2020/src/services/magic.services.mjs +0 -31
- package/esm2020/src/services/mg-date-adapter.mjs +0 -109
- package/esm2020/src/services/router-commands.magic.service.mjs +0 -28
- package/esm2020/src/services/subform.magic.service.mjs +0 -184
- package/esm2020/src/services/table.magic.service.mjs +0 -77
- package/esm2020/src/services/task.magics.service.mjs +0 -624
- package/esm2020/src/services/title.magic.service.mjs +0 -18
- package/esm2020/src/ui/GuiInteractiveExecutor.mjs +0 -105
- package/esm2020/src/ui/components/base-magic-alert.component.mjs +0 -23
- package/esm2020/src/ui/components/base-magic-confirm.component.mjs +0 -23
- package/esm2020/src/ui/components/magic-alert.component.mjs +0 -35
- package/esm2020/src/ui/components/magic-confirmation-box.component.mjs +0 -41
- package/esm2020/src/ui/directives/NonMagicControlDirective.mjs +0 -49
- package/esm2020/src/ui/directives/magic/checkbox-noformcontrol.magic.directive.mjs +0 -28
- package/esm2020/src/ui/directives/magic/checkbox.magic.directive.mjs +0 -28
- package/esm2020/src/ui/directives/magic/combobox.magic.directive.mjs +0 -36
- package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/checkbox.cva.directive.mjs +0 -27
- package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/date.cva.directive.mjs +0 -52
- package/esm2020/src/ui/directives/magic/form-controls/control-value-accessors/default.cva.directive.mjs +0 -32
- package/esm2020/src/ui/directives/magic/input.noformcontrol.magic.directive.mjs +0 -27
- package/esm2020/src/ui/directives/magic/row.magic.directive.mjs +0 -58
- package/esm2020/src/ui/directives/magic-focus.directive.mjs +0 -19
- package/esm2020/src/ui/directives/magic.directive.mjs +0 -215
- package/esm2020/src/ui/directives/magicViewContainerRef.directive.mjs +0 -19
- package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +0 -408
- package/esm2020/src/ui/directives/range-validator.magic.directive.mjs +0 -58
- package/esm2020/src/ui/magic-modal/magic-modal-form.mjs +0 -8
- package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +0 -121
- package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +0 -159
- package/esm2020/src/ui/magic-root.component.mjs +0 -203
- package/esm2020/src/ui/mgerror.magic.component.mjs +0 -119
- package/esm2020/src/ui/pipes/date.magic.pipe.mjs +0 -105
- package/esm2020/src/ui/pipes/time.magic.pipe.mjs +0 -51
- package/esm2020/src/ui/pipes/time24.magic.pipe.mjs +0 -34
- package/esm2020/src/ui/router-container.magic.component.mjs +0 -108
- package/esm2020/src/ui/task-base.magic.component.mjs +0 -86
- package/fesm2015/magic-xpa-angular.mjs +0 -4865
- package/fesm2015/magic-xpa-angular.mjs.map +0 -1
- package/fesm2020/magic-xpa-angular.mjs.map +0 -1
@@ -1,119 +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 "@magic-xpa/mscorelib";
|
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")(1, "div", null, 1);
|
21
|
-
i0.ɵɵprojection(3);
|
22
|
-
i0.ɵɵelementEnd();
|
23
|
-
i0.ɵɵtemplate(4, ErrorMagicComponent_div_0_span_4_Template, 2, 1, "span", 0);
|
24
|
-
i0.ɵɵelementEnd();
|
25
|
-
} if (rf & 2) {
|
26
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
27
|
-
i0.ɵɵadvance(4);
|
28
|
-
i0.ɵɵproperty("ngIf", ctx_r0.defaultDisplay);
|
29
|
-
} }
|
30
|
-
const _c1 = ["*"];
|
31
|
-
export class ErrorMagicComponent {
|
32
|
-
set magic(val) {
|
33
|
-
this.id = val;
|
34
|
-
}
|
35
|
-
;
|
36
|
-
set rowId1(val) {
|
37
|
-
this.rowId = val;
|
38
|
-
}
|
39
|
-
;
|
40
|
-
set CustomContent(innerComponent) {
|
41
|
-
this.defaultDisplay = innerComponent == undefined || this.isEmpty(innerComponent.nativeElement);
|
42
|
-
this.changeDetectorRef.detectChanges();
|
43
|
-
}
|
44
|
-
;
|
45
|
-
constructor(_task, mgService, changeDetectorRef) {
|
46
|
-
this._task = _task;
|
47
|
-
this.mgService = mgService;
|
48
|
-
this.changeDetectorRef = changeDetectorRef;
|
49
|
-
this.defaultDisplay = true;
|
50
|
-
this.rowId = "0";
|
51
|
-
}
|
52
|
-
isEmpty(element) {
|
53
|
-
const nodes = element.childNodes;
|
54
|
-
for (let i = 0; i < nodes.length; i++) {
|
55
|
-
const node = nodes.item(i);
|
56
|
-
if (node.nodeType !== 8 && nodes.item(i).textContent.trim().length !== 0) {
|
57
|
-
return false;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
return true;
|
61
|
-
}
|
62
|
-
HasErrors(id) {
|
63
|
-
if (!isUndefined(id)) {
|
64
|
-
let control = this._task.getFormControl(this.rowId, id);
|
65
|
-
if (control !== null) {
|
66
|
-
if (control.dirty && (control.hasError('pattern') || control.hasError('required') ||
|
67
|
-
control.hasError('rangevalidator') || control.hasError('maxlength') || control.hasError('max')))
|
68
|
-
return true;
|
69
|
-
if (control.touched && control.hasError('required'))
|
70
|
-
return true;
|
71
|
-
if (this._task.Records.list[this.rowId] && this._task.Records.list[this.rowId].getControlMetadata(id)) {
|
72
|
-
let controlMetadata = this._task.Records.list[this.rowId].getControlMetadata(id);
|
73
|
-
for (let customValidator of controlMetadata.customValidators.keys()) {
|
74
|
-
if (control.hasError(customValidator))
|
75
|
-
return true;
|
76
|
-
}
|
77
|
-
}
|
78
|
-
}
|
79
|
-
}
|
80
|
-
return false;
|
81
|
-
}
|
82
|
-
}
|
83
|
-
ErrorMagicComponent.ɵfac = function ErrorMagicComponent_Factory(t) { return new (t || ErrorMagicComponent)(i0.ɵɵdirectiveInject(i1.TaskMagicService), i0.ɵɵdirectiveInject(i2.AccessorMagicService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
84
|
-
ErrorMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: ErrorMagicComponent, selectors: [["mgError"]], viewQuery: function ErrorMagicComponent_Query(rf, ctx) { if (rf & 1) {
|
85
|
-
i0.ɵɵviewQuery(_c0, 5);
|
86
|
-
} if (rf & 2) {
|
87
|
-
let _t;
|
88
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.CustomContent = _t.first);
|
89
|
-
} }, 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) {
|
90
|
-
i0.ɵɵprojectionDef();
|
91
|
-
i0.ɵɵtemplate(0, ErrorMagicComponent_div_0_Template, 5, 1, "div", 0);
|
92
|
-
} if (rf & 2) {
|
93
|
-
i0.ɵɵproperty("ngIf", ctx.HasErrors(ctx.id));
|
94
|
-
} }, dependencies: [i3.NgIf], encapsulation: 2 });
|
95
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ErrorMagicComponent, [{
|
96
|
-
type: Component,
|
97
|
-
args: [{
|
98
|
-
selector: 'mgError',
|
99
|
-
template: `<div *ngIf="HasErrors(id)">
|
100
|
-
<div #customContent>
|
101
|
-
<ng-content></ng-content>
|
102
|
-
</div>
|
103
|
-
<span *ngIf="defaultDisplay">
|
104
|
-
{{mgService.getErrMsg(id, rowId)}}
|
105
|
-
</span>
|
106
|
-
</div>
|
107
|
-
`
|
108
|
-
}]
|
109
|
-
}], function () { return [{ type: i1.TaskMagicService }, { type: i2.AccessorMagicService }, { type: i0.ChangeDetectorRef }]; }, { magic: [{
|
110
|
-
type: Input,
|
111
|
-
args: ['magic']
|
112
|
-
}], rowId1: [{
|
113
|
-
type: Input,
|
114
|
-
args: ['rowId']
|
115
|
-
}], CustomContent: [{
|
116
|
-
type: ViewChild,
|
117
|
-
args: ['customContent', { static: false }]
|
118
|
-
}] }); })();
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWdlcnJvci5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9tZ2Vycm9yLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztJQVc5Qyw0QkFBNkI7SUFDNUIsWUFDRjtJQUFBLGlCQUFPOzs7SUFETCxlQUNGO0lBREUsb0ZBQ0Y7OztJQU5ZLDJCQUEyQixtQkFBQTtJQUVyQyxrQkFBeUI7SUFDM0IsaUJBQU07SUFDTCw0RUFFTTtJQUNQLGlCQUFNOzs7SUFIRSxlQUFvQjtJQUFwQiw0Q0FBb0I7OztBQU9oQyxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLElBQW9CLEtBQUssQ0FBQyxHQUFHO1FBQzNCLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBb0IsTUFBTSxDQUFDLEdBQUc7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUFBLENBQUM7SUFLRixJQUFtRCxhQUFhLENBQUMsY0FBMEI7UUFDekYsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6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LGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBY2Nlc3Nvck1hZ2ljU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2FjY2Vzc29yLm1hZ2ljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBNYWdpYyBzdWJmb3JtXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21nRXJyb3InLFxyXG4gIHRlbXBsYXRlOiAgICBgPGRpdiAqbmdJZj1cIkhhc0Vycm9ycyhpZClcIj5cclxuICAgIDxkaXYgI2N1c3RvbUNvbnRlbnQ+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgIDxzcGFuICpuZ0lmPVwiZGVmYXVsdERpc3BsYXlcIj5cclxuICAgICAge3ttZ1NlcnZpY2UuZ2V0RXJyTXNnKGlkLCByb3dJZCl9fSBcclxuICAgIDwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG5gfSlcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgRXJyb3JNYWdpY0NvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcm93SWQ6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgQElucHV0KCdtYWdpYycpIHNldCBtYWdpYyh2YWwpIHtcclxuICAgIHRoaXMuaWQgPSB2YWw7XHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCdyb3dJZCcpIHNldCByb3dJZDEodmFsKSB7XHJcbiAgICB0aGlzLnJvd0lkID0gdmFsO1xyXG4gIH07XHJcblxyXG4gIC8vIGlmIHRydWUgLSBkaXNwbGF5IHN0YW5kYXJkIG1hZ2ljIGVycm9yIG1lc3NhZ2UsIGlmIGZhbHNlIC0gY3VzdG9tZXIgaGFzIHByb3ZpZGVzIGhpcyBvd24gY29udGVudCBhbmQgd2UnbGwgdXNlIGl0XHJcbiAgZGVmYXVsdERpc3BsYXkgPSB0cnVlO1xyXG5cclxuICBAVmlld0NoaWxkKCdjdXN0b21Db250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHNldCBDdXN0b21Db250ZW50KGlubmVyQ29tcG9uZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLmRlZmF1bHREaXNwbGF5ID0gaW5uZXJDb21wb25lbnQgPT0gdW5kZWZpbmVkIHx8IHRoaXMuaXNFbXB0eShpbm5lckNvbXBvbmVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH07XHJcblxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlLCBwdWJsaWMgbWdTZXJ2aWNlOiBBY2Nlc3Nvck1hZ2ljU2VydmljZSwgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiApIHtcclxuICAgIHRoaXMucm93SWQgPSBcIjBcIjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldHVybnMgdHJ1ZSBpZiB0aGUgaHRtbCBlbGVtZW50IGhhcyBubyBjaGlsZHJlblxyXG4gICAqIEBwYXJhbSBlbGVtZW50XHJcbiAgICovXHJcbiAgaXNFbXB0eShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgbm9kZXMgPSBlbGVtZW50LmNoaWxkTm9kZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBub2Rlcy5pdGVtKGkpO1xyXG4gICAgICBpZiAobm9kZS5ub2RlVHlwZSAhPT0gOCAmJiBub2Rlcy5pdGVtKGkpLnRleHRDb250ZW50LnRyaW0oKS5sZW5ndGggIT09IDApIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIEhhc0Vycm9ycyhpZDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWlzVW5kZWZpbmVkKGlkKSkge1xyXG4gICAgICBsZXQgY29udHJvbCA9IHRoaXMuX3Rhc2suZ2V0Rm9ybUNvbnRyb2wodGhpcy5yb3dJZCwgaWQpO1xyXG4gICAgICBpZiAoY29udHJvbCAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChjb250cm9sLmRpcnR5ICYmIChjb250cm9sLmhhc0Vycm9yKCdwYXR0ZXJuJykgfHwgY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSB8fFxyXG4gICAgICAgICAgY29udHJvbC5oYXNFcnJvcigncmFuZ2V2YWxpZGF0b3InKSB8fCBjb250cm9sLmhhc0Vycm9yKCdtYXhsZW5ndGgnKSB8fCBjb250cm9sLmhhc0Vycm9yKCdtYXgnKSkpXHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBpZiAoY29udHJvbC50b3VjaGVkICYmIGNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpXHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYodGhpcy5fdGFzay5SZWNvcmRzLmxpc3RbdGhpcy5yb3dJZF0gJiYgdGhpcy5fdGFzay5SZWNvcmRzLmxpc3RbdGhpcy5yb3dJZF0uZ2V0Q29udHJvbE1ldGFkYXRhKGlkKSl7XHJcbiAgICAgICAgICBsZXQgY29udHJvbE1ldGFkYXRhID0gdGhpcy5fdGFzay5SZWNvcmRzLmxpc3RbdGhpcy5yb3dJZF0uZ2V0Q29udHJvbE1ldGFkYXRhKGlkKTtcclxuICAgICAgICAgIGZvciAobGV0IGN1c3RvbVZhbGlkYXRvciBvZiBjb250cm9sTWV0YWRhdGEuY3VzdG9tVmFsaWRhdG9ycy5rZXlzKCkpIHtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wuaGFzRXJyb3IoY3VzdG9tVmFsaWRhdG9yKSlcclxuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|
@@ -1,105 +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, isNullOrUndefined } from "@magic-xpa/mscorelib";
|
5
|
-
import { PICInterface } from "@magic-xpa/utils";
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "../../services/task.magics.service";
|
8
|
-
export class Constants {
|
9
|
-
}
|
10
|
-
Constants.DATE_FMT = 'dd/MMM/yyyy';
|
11
|
-
export class DateMagicPipe extends DatePipe {
|
12
|
-
constructor(_task) {
|
13
|
-
super('en-US');
|
14
|
-
this._task = _task;
|
15
|
-
}
|
16
|
-
transform(value, controlId) {
|
17
|
-
let mask = this._task.GetControlPictureMask(controlId).getMask();
|
18
|
-
let formatStr = null;
|
19
|
-
let mgDateFormatter = new MgDateFormatter();
|
20
|
-
if (!isNullOrUndefined(value) && mask !== null) {
|
21
|
-
formatStr = mgDateFormatter.ConvertMgDateFormatToAngular(mask);
|
22
|
-
if (formatStr != null && this._task.isTableControl(controlId)) {
|
23
|
-
if (this._task.mgInputDateFormat == null)
|
24
|
-
this._task.mgInputDateFormat = formatStr;
|
25
|
-
else
|
26
|
-
formatStr = this._task.mgInputDateFormat;
|
27
|
-
}
|
28
|
-
return super.transform(value, formatStr);
|
29
|
-
}
|
30
|
-
else
|
31
|
-
value = "";
|
32
|
-
return value;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
DateMagicPipe.ɵfac = function DateMagicPipe_Factory(t) { return new (t || DateMagicPipe)(i0.ɵɵdirectiveInject(i1.TaskMagicService, 16)); };
|
36
|
-
DateMagicPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "magicDate", type: DateMagicPipe, pure: true });
|
37
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DateMagicPipe, [{
|
38
|
-
type: Pipe,
|
39
|
-
args: [{
|
40
|
-
name: 'magicDate'
|
41
|
-
}]
|
42
|
-
}], function () { return [{ type: i1.TaskMagicService }]; }, null); })();
|
43
|
-
export class MgDateFormatter {
|
44
|
-
ConvertMgDateFormatToAngular(mgDateMask) {
|
45
|
-
let formatStr = new StringBuilder();
|
46
|
-
if (mgDateMask !== null) {
|
47
|
-
for (let i = 0; i < mgDateMask.length;) {
|
48
|
-
switch (mgDateMask.charCodeAt(i)) {
|
49
|
-
case PICInterface.PIC_YYYY:
|
50
|
-
formatStr.Append('yyyy');
|
51
|
-
i += 4;
|
52
|
-
break;
|
53
|
-
case PICInterface.PIC_MMD:
|
54
|
-
formatStr.Append('MM');
|
55
|
-
i += 2;
|
56
|
-
break;
|
57
|
-
case PICInterface.PIC_YY:
|
58
|
-
formatStr.Append('yy');
|
59
|
-
i += 2;
|
60
|
-
break;
|
61
|
-
case PICInterface.PIC_MMM:
|
62
|
-
{
|
63
|
-
let cnt = 0;
|
64
|
-
for (; i < mgDateMask.length; i++)
|
65
|
-
if (mgDateMask.charCodeAt(i) == PICInterface.PIC_MMM)
|
66
|
-
cnt++;
|
67
|
-
else
|
68
|
-
break;
|
69
|
-
if (cnt == 3)
|
70
|
-
formatStr.Append('MMM');
|
71
|
-
if (cnt > 3)
|
72
|
-
formatStr.Append('MMMM');
|
73
|
-
}
|
74
|
-
break;
|
75
|
-
case PICInterface.PIC_DD:
|
76
|
-
formatStr.Append('dd');
|
77
|
-
i += 2;
|
78
|
-
break;
|
79
|
-
case PICInterface.PIC_WWW:
|
80
|
-
{
|
81
|
-
let cnt = 0;
|
82
|
-
for (; i < mgDateMask.length; i++)
|
83
|
-
if (mgDateMask.charCodeAt(i) == PICInterface.PIC_WWW)
|
84
|
-
cnt++;
|
85
|
-
else
|
86
|
-
break;
|
87
|
-
if (cnt == 3)
|
88
|
-
formatStr.Append('EEE');
|
89
|
-
if (cnt > 3)
|
90
|
-
formatStr.Append('EEEE');
|
91
|
-
}
|
92
|
-
break;
|
93
|
-
default:
|
94
|
-
formatStr.Append(mgDateMask.charAt(i));
|
95
|
-
i++;
|
96
|
-
break;
|
97
|
-
}
|
98
|
-
}
|
99
|
-
return formatStr.ToString();
|
100
|
-
}
|
101
|
-
else
|
102
|
-
return "dd-mm-yyyy";
|
103
|
-
}
|
104
|
-
}
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5tYWdpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvcGlwZXMvZGF0ZS5tYWdpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUE7QUFDckUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFBOzs7QUFNN0MsTUFBTSxPQUFPLFNBQVM7O0FBQ0osa0JBQVEsR0FBRyxhQUFhLENBQUM7QUFTM0MsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBRXpDLFlBQXNCLEtBQXVCO1FBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBRzNDLENBQUM7SUFFSCxTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWlCO1FBRXJDLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUUsSUFBSSxTQUFTLEdBQVcsSUFBSSxDQUFDO1FBQzdCLElBQUksZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDOUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBRSxJQUFJLENBQUMsQ0FBQztZQUVoRSxJQUFJLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFD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QyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3ZDLENBQUMsRUFBRSxDQUFDO3dCQUNKLE1BQU07aUJBQ1Q7YUFDRjtZQUNELE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdCOztZQUVDLE9BQU8sWUFBWSxDQUFDO0lBRXhCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1Rhc2tNYWdpY1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N0cmluZ0J1aWxkZXIsIGlzTnVsbE9yVW5kZWZpbmVkfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIlxyXG5pbXBvcnQge1BJQ0ludGVyZmFjZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIlxyXG5cclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ29uc3RhbnRzIHtcclxuICBzdGF0aWMgcmVhZG9ubHkgREFURV9GTVQgPSAnZGQvTU1NL3l5eXknO1xyXG59XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdtYWdpY0RhdGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlTWFnaWNQaXBlIGV4dGVuZHMgRGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcignZW4tVVMnKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBjb250cm9sSWQ6IHN0cmluZyk6IGFueSB7XHJcblxyXG4gICAgbGV0IG1hc2s6IHN0cmluZyA9IHRoaXMuX3Rhc2suR2V0Q29udHJvbFBpY3R1cmVNYXNrIChjb250cm9sSWQpLmdldE1hc2soKTtcclxuICAgIGxldCBmb3JtYXRTdHI6IHN0cmluZyA9IG51bGw7XHJcbiAgICBsZXQgbWdEYXRlRm9ybWF0dGVyID0gbmV3IE1nRGF0ZUZvcm1hdHRlcigpO1xyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgJiYgbWFzayAhPT0gbnVsbCkge1xyXG4gICAgICBmb3JtYXRTdHIgPSBtZ0RhdGVGb3JtYXR0ZXIuQ29udmVydE1nRGF0ZUZvcm1hdFRvQW5ndWxhciAobWFzayk7XHJcbiAgICAgIC8vIElmIGNvbnRyb2wgaXMgbGFiZWwgY29udHJvbCBvZiB0YWJsZSwgZHVlIHRvIHF1ZXJ5IG1vZGUsIHRoZW4gc2F2ZSB0aGUgZm9ybWF0IGhlcmUuXHJcbiAgICAgIGlmIChmb3JtYXRTdHIgIT0gbnVsbCAmJiB0aGlzLl90YXNrLmlzVGFibGVDb250cm9sKGNvbnRyb2xJZCkpIHtcclxuICAgICAgICBpZiAodGhpcy5fdGFzay5tZ0lucHV0RGF0ZUZvcm1hdCA9PSBudWxsKVxyXG4gICAgICAgICAgdGhpcy5fdGFzay5tZ0lucHV0RGF0ZUZvcm1hdCA9IGZvcm1hdFN0cjtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICBmb3JtYXRTdHIgPSB0aGlzLl90YXNrLm1nSW5wdXREYXRlRm9ybWF0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0odmFsdWUsIGZvcm1hdFN0cik7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHZhbHVlID0gXCJcIjtcclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgIGNsYXNzIE1nRGF0ZUZvcm1hdHRlciB7XHJcblxyXG4gIENvbnZlcnRNZ0RhdGVGb3JtYXRUb0FuZ3VsYXIobWdEYXRlTWFzazogc3RyaW5nKSA6IHN0cmluZ1xyXG4gIHtcclxuICAgIGxldCBmb3JtYXRTdHI6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlciAoKTtcclxuXHJcbiAgICBpZiAobWdEYXRlTWFzayAhPT0gbnVsbCkge1xyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbWdEYXRlTWFzay5sZW5ndGg7KSB7XHJcbiAgICAgICAgc3dpdGNoIChtZ0RhdGVNYXNrLmNoYXJDb2RlQXQoaSkpIHtcclxuICAgICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19ZWVlZOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCd5eXl5Jyk7XHJcbiAgICAgICAgICAgIGkgKz0gNDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfTU1EOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdNTScpO1xyXG4gICAgICAgICAgICBpICs9IDI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX1lZOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCd5eScpO1xyXG4gICAgICAgICAgICBpICs9IDI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX01NTTpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgbGV0IGNudCA9IDA7XHJcbiAgICAgICAgICAgIGZvciAgKDtpIDwgbWdEYXRlTWFzay5sZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgICBpZiAobWdEYXRlTWFzay5jaGFyQ29kZUF0KGkpID09IFBJQ0ludGVyZmFjZS5QSUNfTU1NKVxyXG4gICAgICAgICAgICAgICAgY250Kys7XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBpZiAoY250ID09IDMpXHJcbiAgICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnTU1NJyk7XHJcbiAgICAgICAgICAgIGlmIChjbnQgPiAzKVxyXG4gICAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ01NTU0nKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX0REOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdkZCcpO1xyXG4gICAgICAgICAgICBpICs9IDI7XHJcblxyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfV1dXOiB7XHJcbiAgICAgICAgICAgIGxldCBjbnQgPSAwO1xyXG4gICAgICAgICAgICBmb3IgICg7aSA8IG1nRGF0ZU1hc2subGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgICAgaWYgKG1nRGF0ZU1hc2suY2hhckNvZGVBdChpKSA9PSBQSUNJbnRlcmZhY2UuUElDX1dXVylcclxuICAgICAgICAgICAgICAgIGNudCsrO1xyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgaWYgKGNudCA9PSAzKVxyXG4gICAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQoJ0VFRScpO1xyXG4gICAgICAgICAgICBpZiAoY250ID4gMylcclxuICAgICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdFRUVFJyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQobWdEYXRlTWFzay5jaGFyQXQoaSkpO1xyXG4gICAgICAgICAgICBpKys7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZm9ybWF0U3RyLlRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBcImRkLW1tLXl5eXlcIjsgLy8gcmV0dXJuIGRlZmF1bHQgZm9ybWF0LlxyXG5cclxuICB9XHJcbn1cclxuIl19
|
@@ -1,51 +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 * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "../../services/task.magics.service";
|
8
|
-
export class TimeMagicPipe extends DatePipe {
|
9
|
-
constructor(_task) {
|
10
|
-
super('en-US');
|
11
|
-
this._task = _task;
|
12
|
-
}
|
13
|
-
transform(value, controlId) {
|
14
|
-
let mask = this._task.GetControlPictureMask(controlId).getMask();
|
15
|
-
let formatStr = new StringBuilder();
|
16
|
-
if (typeof value !== "undefined" && mask !== null) {
|
17
|
-
for (let i = 0; i < mask.length;) {
|
18
|
-
switch (mask.charCodeAt(i)) {
|
19
|
-
case PICInterface.PIC_HH:
|
20
|
-
formatStr.Append('hh');
|
21
|
-
i += 2;
|
22
|
-
break;
|
23
|
-
case PICInterface.PIC_MMT:
|
24
|
-
formatStr.Append('mm');
|
25
|
-
i += 2;
|
26
|
-
break;
|
27
|
-
case PICInterface.PIC_SS:
|
28
|
-
formatStr.Append('ss');
|
29
|
-
i += 2;
|
30
|
-
break;
|
31
|
-
default:
|
32
|
-
formatStr.Append(mask.charAt(i));
|
33
|
-
i++;
|
34
|
-
break;
|
35
|
-
}
|
36
|
-
}
|
37
|
-
formatStr.Append(' a');
|
38
|
-
return super.transform(value, formatStr.ToString());
|
39
|
-
}
|
40
|
-
return value;
|
41
|
-
}
|
42
|
-
}
|
43
|
-
TimeMagicPipe.ɵfac = function TimeMagicPipe_Factory(t) { return new (t || TimeMagicPipe)(i0.ɵɵdirectiveInject(i1.TaskMagicService, 16)); };
|
44
|
-
TimeMagicPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "magicTime", type: TimeMagicPipe, pure: true });
|
45
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeMagicPipe, [{
|
46
|
-
type: Pipe,
|
47
|
-
args: [{
|
48
|
-
name: 'magicTime'
|
49
|
-
}]
|
50
|
-
}], function () { return [{ type: i1.TaskMagicService }]; }, null); })();
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5tYWdpYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvcGlwZXMvdGltZS5tYWdpYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUE7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFBOzs7QUFRN0MsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBRXpDLFlBQXNCLEtBQXVCO1FBQzNDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURLLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBRTdDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWlCO1FBQ3JDLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUUsSUFBSSxTQUFTLEdBQWtCLElBQUksYUFBYSxFQUFHLENBQUM7UUFFcEQsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUNqRCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRztnQkFDeEMsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMxQixLQUFLLFlBQVksQ0FBQyxNQUFNO3dCQUN0QixTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN2QixDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNQLE1BQU07b0JBQ1IsS0FBSyxZQUFZLENBQUMsT0FBTzt3QkFDdkIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdkIsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDUCxNQUFNO29CQUNSLEtBQUssWUFBWSxDQUFDLE1BQU07d0JBQ3RCLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3ZCLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ1AsTUFBTTtvQkFDUjt3QkFDRSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDakMsQ0FBQyxFQUFFLENBQUM7d0JBQ0osTUFBTTtpQkFDVDthQUNGO1lBRUQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzswRUFwQ1UsYUFBYTtpRUFBYixhQUFhO3VGQUFiLGFBQWE7Y0FIekIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxXQUFXO2FBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7U3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCJcclxuaW1wb3J0IHtQSUNJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCJcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ21hZ2ljVGltZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVNYWdpY1BpcGUgZXh0ZW5kcyBEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3Rhc2s6IFRhc2tNYWdpY1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCdlbi1VUycpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGNvbnRyb2xJZDogc3RyaW5nKTogYW55IHtcclxuICAgIGxldCBtYXNrOiBzdHJpbmcgPSB0aGlzLl90YXNrLkdldENvbnRyb2xQaWN0dXJlTWFzayAoY29udHJvbElkKS5nZXRNYXNrKCk7XHJcbiAgICBsZXQgZm9ybWF0U3RyOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIgKCk7XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBtYXNrICE9PSBudWxsKSB7XHJcbiAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBtYXNrLmxlbmd0aDspIHtcclxuICAgICAgICBzd2l0Y2ggKG1hc2suY2hhckNvZGVBdChpKSkge1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX0hIOlxyXG4gICAgICAgICAgICBmb3JtYXRTdHIuQXBwZW5kKCdoaCcpO1xyXG4gICAgICAgICAgICBpICs9IDI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX01NVDpcclxuICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnbW0nKTtcclxuICAgICAgICAgICAgaSArPSAyO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19TUzpcclxuICAgICAgICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnc3MnKTtcclxuICAgICAgICAgICAgaSArPSAyO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGZvcm1hdFN0ci5BcHBlbmQobWFzay5jaGFyQXQoaSkpO1xyXG4gICAgICAgICAgICBpKys7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgZm9ybWF0U3RyLkFwcGVuZCgnIGEnKTtcclxuICAgICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0U3RyLlRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { Pipe } from '@angular/core';
|
2
|
-
import { TaskMagicService } from "../../services/task.magics.service";
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "../../services/task.magics.service";
|
5
|
-
export class Time24MagicPipe {
|
6
|
-
constructor(_task) {
|
7
|
-
this._task = _task;
|
8
|
-
}
|
9
|
-
transform(value, controlId) {
|
10
|
-
let mask = this._task.GetControlPictureMask(controlId).getMask();
|
11
|
-
if (typeof value !== "undefined" && mask !== null) {
|
12
|
-
const date = new Date(value);
|
13
|
-
const hours = date.getHours().toString().padStart(2, '0');
|
14
|
-
const minutes = date.getMinutes().toString().padStart(2, '0');
|
15
|
-
const seconds = date.getSeconds().toString().padStart(2, '0');
|
16
|
-
if (mask.length == 5) {
|
17
|
-
return `${hours}:${minutes}`;
|
18
|
-
}
|
19
|
-
else if (mask.length > 5) {
|
20
|
-
return `${hours}:${minutes}:${seconds}`;
|
21
|
-
}
|
22
|
-
}
|
23
|
-
return value;
|
24
|
-
}
|
25
|
-
}
|
26
|
-
Time24MagicPipe.ɵfac = function Time24MagicPipe_Factory(t) { return new (t || Time24MagicPipe)(i0.ɵɵdirectiveInject(i1.TaskMagicService, 16)); };
|
27
|
-
Time24MagicPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "magicTime24", type: Time24MagicPipe, pure: true });
|
28
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Time24MagicPipe, [{
|
29
|
-
type: Pipe,
|
30
|
-
args: [{
|
31
|
-
name: 'magicTime24'
|
32
|
-
}]
|
33
|
-
}], function () { return [{ type: i1.TaskMagicService }]; }, null); })();
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZTI0Lm1hZ2ljLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9waXBlcy90aW1lMjQubWFnaWMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBS3BFLE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQXNCLEtBQXVCO1FBQXZCLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBRTdDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWlCO1FBQ3JDLElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUUsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFMUUsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUVqRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM5RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUU5RCxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDO2dCQUNsQixPQUFPLEdBQUcsS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO2FBQzlCO2lCQUFLLElBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7Z0JBQ3ZCLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO2FBQ3pDO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhFQXZCVSxlQUFlO3FFQUFmLGVBQWU7dUZBQWYsZUFBZTtjQUgzQixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLGFBQWE7YUFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2VcIjtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbWFnaWNUaW1lMjQnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaW1lMjRNYWdpY1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGNvbnRyb2xJZDogc3RyaW5nKTogYW55IHtcclxuICAgIGxldCBtYXNrOiBzdHJpbmcgPSB0aGlzLl90YXNrLkdldENvbnRyb2xQaWN0dXJlTWFzayAoY29udHJvbElkKS5nZXRNYXNrKCk7XHJcblxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBtYXNrICE9PSBudWxsKSB7XHJcblxyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICBjb25zdCBob3VycyA9IGRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBkYXRlLmdldFNlY29uZHMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcblxyXG4gICAgICBpZihtYXNrLmxlbmd0aCA9PSA1KXtcclxuICAgICAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc31gO1xyXG4gICAgICB9ZWxzZSBpZihtYXNrLmxlbmd0aCA+IDUpe1xyXG4gICAgICAgIHJldHVybiBgJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9YDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,108 +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
|
-
static get LastRoute() {
|
21
|
-
return RouterContainerMagicComponent.lastRoute;
|
22
|
-
}
|
23
|
-
constructor(activatedRoute, router, magic, containerTaskService, componentFactoryResolver, viewContainerRef, componentList, pendingCommandsCollector, routerCommandsMagicService) {
|
24
|
-
this.activatedRoute = activatedRoute;
|
25
|
-
this.router = router;
|
26
|
-
this.magic = magic;
|
27
|
-
this.containerTaskService = containerTaskService;
|
28
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
29
|
-
this.viewContainerRef = viewContainerRef;
|
30
|
-
this.componentList = componentList;
|
31
|
-
this.pendingCommandsCollector = pendingCommandsCollector;
|
32
|
-
this.routerCommandsMagicService = routerCommandsMagicService;
|
33
|
-
this.componentRef = null;
|
34
|
-
this.parentMgSubformService = null;
|
35
|
-
}
|
36
|
-
ngOnInit() {
|
37
|
-
let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
|
38
|
-
let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
|
39
|
-
RouterContainerMagicComponent.lastRoute = this.router.url;
|
40
|
-
if (subformMagicService == null || subformMagicService.currentRouteDefinition === null) {
|
41
|
-
this.insertRouteEvent(currentActiveRoute);
|
42
|
-
SubformMagicService.routerContainers.push(this);
|
43
|
-
}
|
44
|
-
else {
|
45
|
-
this.initializeComponent();
|
46
|
-
}
|
47
|
-
}
|
48
|
-
insertRouteEvent(currentActiveRoute) {
|
49
|
-
let guiEvent = getGuiEventObj('RouterNavigate', null, 0);
|
50
|
-
guiEvent.RouterPath = currentActiveRoute.snapshot.routeConfig.path;
|
51
|
-
if (currentActiveRoute.snapshot.outlet !== 'primary')
|
52
|
-
guiEvent.RouterOutletName = currentActiveRoute.snapshot.outlet;
|
53
|
-
let calcRouterPath = currentActiveRoute.routeConfig.path;
|
54
|
-
if (calcRouterPath.length > 0) {
|
55
|
-
let routerPath = calcRouterPath;
|
56
|
-
let tokens = StrUtil.tokenize(routerPath, "/:");
|
57
|
-
guiEvent.RouterPath = tokens[0];
|
58
|
-
guiEvent.RouterParams = new List();
|
59
|
-
for (let i = 1; i < tokens.length; i++) {
|
60
|
-
guiEvent.RouterParams.push(currentActiveRoute.snapshot.params[tokens[i]]);
|
61
|
-
}
|
62
|
-
}
|
63
|
-
this.containerTaskService.insertEvent(guiEvent);
|
64
|
-
}
|
65
|
-
initializeComponent() {
|
66
|
-
let subformMagicService = SubformMagicService.currentCallerMgSubformServiceRef;
|
67
|
-
if (subformMagicService.currentRouteDefinition !== null) {
|
68
|
-
let comp = this.componentList.getComponent(subformMagicService.currentRouteDefinition.formName);
|
69
|
-
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(comp);
|
70
|
-
this.componentRef = this.viewContainerRef.createComponent(componentFactory);
|
71
|
-
Object.assign(this.componentRef.instance, subformMagicService.currentRouteDefinition.parameters);
|
72
|
-
let myActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
|
73
|
-
let routeParams = StrUtil.tokenize(myActiveRoute.snapshot.routeConfig.path, "/:");
|
74
|
-
subformMagicService.routesDict[myActiveRoute.snapshot.outlet] = routeParams[0];
|
75
|
-
this.parentMgSubformService = subformMagicService;
|
76
|
-
subformMagicService.currentRouteDefinition = null;
|
77
|
-
SubformMagicService.currentCallerMgSubformServiceRef = null;
|
78
|
-
let ignoreParamChange = true;
|
79
|
-
myActiveRoute.paramMap.subscribe(params => {
|
80
|
-
if (!ignoreParamChange)
|
81
|
-
this.insertRouteEvent(myActiveRoute);
|
82
|
-
ignoreParamChange = false;
|
83
|
-
});
|
84
|
-
this.parentMgSubformService.refreshView();
|
85
|
-
this.routerCommandsMagicService.ExecuteNextCommand();
|
86
|
-
}
|
87
|
-
}
|
88
|
-
ngOnDestroy() {
|
89
|
-
if (this.componentRef != null) {
|
90
|
-
this.componentRef.instance.task.close();
|
91
|
-
let currentActiveRoute = SubformMagicService.getRelativeRoute(this.activatedRoute);
|
92
|
-
this.parentMgSubformService.routesDict[currentActiveRoute.outlet] = "";
|
93
|
-
RouterContainerMagicComponent.lastRoute = this.router.url;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
}
|
97
|
-
RouterContainerMagicComponent.lastRoute = "/";
|
98
|
-
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)); };
|
99
|
-
RouterContainerMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RouterContainerMagicComponent, selectors: [["magic-route-outlet"]], decls: 0, vars: 0, template: function RouterContainerMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
100
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RouterContainerMagicComponent, [{
|
101
|
-
type: Component,
|
102
|
-
args: [{
|
103
|
-
selector: 'magic-route-outlet',
|
104
|
-
template: `
|
105
|
-
`
|
106
|
-
}]
|
107
|
-
}], 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); })();
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWNvbnRhaW5lci5tYWdpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91aS9yb3V0ZXItY29udGFpbmVyLm1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFVLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7O0FBVW5FLE1BQU0sT0FBTyw2QkFBNkI7SUFLeEMsTUFBTSxLQUFLLFNBQVM7UUFDbEIsT0FBTyw2QkFBNkIsQ0FBQyxTQUFTLENBQUM7SUFDakQsQ0FBQztJQVlELFlBQW9CLGNBQThCLEVBQzVCLE1BQWMsRUFDZCxLQUF5QixFQUMzQixvQkFBc0MsRUFDdEMsd0JBQWtELEVBQ2xELGdCQUFrQyxFQUNsQyxhQUF3QyxFQUN0Qyx3QkFB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S0QsV0FBVztRQUdULElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQzdCO1lBQzJCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVsRSxJQUFJLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUV2RSw2QkFBNkIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7U0FDM0Q7SUFDSCxDQUFDOztBQTVIYyx1Q0FBUyxHQUFXLEdBQUcsQ0FBQzswR0FINUIsNkJBQTZCO2tFQUE3Qiw2QkFBNkI7dUZBQTdCLDZCQUE2QjtjQUx6QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFO0dBQ1Q7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUYXNrQmFzZU1hZ2ljQ29tcG9uZW50IH0gZnJvbSAnLi90YXNrLWJhc2UubWFnaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW5naW5lTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZW5naW5lLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXRHdWlFdmVudE9iaiwgSUd1aUV2ZW50IH0gZnJvbSAnQG1hZ2ljLXhwYS9lbmdpbmUnO1xyXG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5pbXBvcnQgeyBTdHJVdGlsIH0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7IENvbXBvbmVudExpc3RNYWdpY1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQtbGlzdC5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViZm9ybU1hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N1YmZvcm0ubWFnaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1hbmRzQ29sbGVjdG9yTWFnaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tbWFuZHMtY29sbGVjdG9yLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJDb21tYW5kc01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1jb21tYW5kcy5tYWdpYy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFza01hZ2ljU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Rhc2subWFnaWNzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIE1vY2sgY29tcG9uZW50LCBpbXBsZW1lbnRzIHJvdXRpbmcgYnkgY29ubmVjdGluZyB0aGUgcmVxdWVzdGVkIFVSTCB3aXRoIHRoZSBhcHByb3ByaWF0ZSBNYWdpYyB0YXNrXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21hZ2ljLXJvdXRlLW91dGxldCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWYgPSBudWxsO1xyXG4gIHByaXZhdGUgcGFyZW50TWdTdWJmb3JtU2VydmljZTogU3ViZm9ybU1hZ2ljU2VydmljZSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbGFzdFJvdXRlOiBzdHJpbmcgPSBcIi9cIjtcclxuXHJcbiAgc3RhdGljIGdldCBMYXN0Um91dGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBSb3V0ZXJDb250YWluZXJNYWdpY0NvbXBvbmVudC5sYXN0Um91dGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBjaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAqIEBwYXJhbSBhY3RpdmF0ZWRSb3V0ZVxyXG4gICAqIEBwYXJhbSBtYWdpY1xyXG4gICAqIEBwYXJhbSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICAgKiBAcGFyYW0gdmlld0NvbnRhaW5lclJlZlxyXG4gICAqIEBwYXJhbSBjb21wb25lbnRMaXN0XHJcbiAgICogQHBhcmFtIHBlbmRpbmdDb21tYW5kc0NvbGxlY3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgbWFnaWM6IEVuZ2luZU1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNvbnRhaW5lclRhc2tTZXJ2aWNlOiBUYXNrTWFnaWNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY29tcG9uZW50TGlzdDogQ29tcG9uZW50TGlzdE1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcGVuZGluZ0NvbW1hbmRzQ29sbGVjdG9yOiBDb21tYW5kc0NvbGxlY3Rvck1hZ2ljU2VydmljZSxcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGVyQ29tbWFuZHNNYWdpY1NlcnZpY2U6IFJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXphdGlvblxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgbGV0IHN1YmZvcm1NYWdpY1NlcnZpY2U6IFN1YmZvcm1NYWdpY1NlcnZpY2UgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmO1xyXG5cclxuICAgIGxldCBjdXJyZW50QWN0aXZlUm91dGUgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcblxyXG4gICAgUm91dGVyQ29udGFpbmVyTWFnaWNDb21wb25lbnQubGFzdFJvdXRlID0gdGhpcy5yb3V0ZXIudXJsO1xyXG5cclxuICAgIGlmIChzdWJmb3JtTWFnaWNTZXJ2aWNlID09IG51bGwgfHwgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuaW5zZXJ0Um91dGVFdmVudChjdXJyZW50QWN0aXZlUm91dGUpO1xyXG5cclxuICAgICAgU3ViZm9ybU1hZ2ljU2VydmljZS5yb3V0ZXJDb250YWluZXJzLnB1c2godGhpcyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplQ29tcG9uZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluc2VydFJvdXRlRXZlbnQoY3VycmVudEFjdGl2ZVJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaignUm91dGVyTmF2aWdhdGUnLCBudWxsLCAwKTtcclxuICAgIGd1aUV2ZW50LlJvdXRlclBhdGggPSBjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3Qucm91dGVDb25maWcucGF0aDtcclxuXHJcbiAgICBpZiAoY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90Lm91dGxldCAhPT0gJ3ByaW1hcnknKVxyXG4gICAgICBndWlFdmVudC5Sb3V0ZXJPdXRsZXROYW1lID0gY3VycmVudEFjdGl2ZVJvdXRlLnNuYXBzaG90Lm91dGxldDtcclxuXHJcblxyXG4gICAgLy8gaWYgdGhpcyBpcyBMb2FkT25EZW1hbmRNb2R1bGVNYWdpY0NvbXBvbmVudCBpdCdzIG1lYW4gdGhhdCB0aGlzIGlzIGxvYWQgb24gZGVtYW5kIG1vZHVsZSBhbmQgd2VcclxuICAgIC8vIG5lZWQgdG8gdGFrZSB0aGUgcGF0aCBmb3JtIHJvdXRlQ29uZmlnLnBhdGhcclxuXHJcbiAgICBsZXQgY2FsY1JvdXRlclBhdGg6IHN0cmluZyA9IGN1cnJlbnRBY3RpdmVSb3V0ZS5yb3V0ZUNvbmZpZy5wYXRoO1xyXG4gICAgLy8gYWRkIHRoZSBSb3V0ZXJQYXRoIG9ubHkgaWYgZXhpc3RcclxuICAgIGlmIChjYWxjUm91dGVyUGF0aC5sZW5ndGggPiAwKVxyXG4gICAge1xyXG4gICAgICBsZXQgcm91dGVyUGF0aDogc3RyaW5nID0gY2FsY1JvdXRlclBhdGg7XHJcbiAgICAgIGxldCB0b2tlbnM6IHN0cmluZ1tdID0gU3RyVXRpbC50b2tlbml6ZShyb3V0ZXJQYXRoLCBcIi86XCIpO1xyXG4gICAgICBndWlFdmVudC5Sb3V0ZXJQYXRoID0gdG9rZW5zWzBdO1xyXG5cclxuICAgICAgZ3VpRXZlbnQuUm91dGVyUGFyYW1zID0gbmV3IExpc3QoKTtcclxuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBndWlFdmVudC5Sb3V0ZXJQYXJhbXMucHVzaChjdXJyZW50QWN0aXZlUm91dGUuc25hcHNob3QucGFyYW1zW3Rva2Vuc1tpXV0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb250YWluZXJUYXNrU2VydmljZS5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ29tcG9uZW50KCkge1xyXG4gICAgLy8gcmUtaW5pdCBzdWJmb3JtTWFnaWNTZXJ2aWNlICBzaW5jZSBpdCBtYXkgY2hhbmdlIGFmdGVyIGV4ZWN1dGluZyBcIlJvdXRlck5hdmlnYXRlXCIgZXZlbnQuXHJcbiAgICBsZXQgc3ViZm9ybU1hZ2ljU2VydmljZTogU3ViZm9ybU1hZ2ljU2VydmljZSA9IFN1YmZvcm1NYWdpY1NlcnZpY2UuY3VycmVudENhbGxlck1nU3ViZm9ybVNlcnZpY2VSZWY7XHJcbiAgICBpZiAoc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uICE9PSBudWxsKSB7XHJcbiAgICAgIGxldCBjb21wID0gdGhpcy5jb21wb25lbnRMaXN0LmdldENvbXBvbmVudChzdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRSb3V0ZURlZmluaXRpb24uZm9ybU5hbWUpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcCk7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSwgc3ViZm9ybU1hZ2ljU2VydmljZS5jdXJyZW50Um91dGVEZWZpbml0aW9uLnBhcmFtZXRlcnMpO1xyXG5cclxuXHJcbiAgICAgIGxldCBteUFjdGl2ZVJvdXRlID0gU3ViZm9ybU1hZ2ljU2VydmljZS5nZXRSZWxhdGl2ZVJvdXRlKHRoaXMuYWN0aXZhdGVkUm91dGUpO1xyXG5cclxuICAgICAgbGV0IHJvdXRlUGFyYW1zOiBzdHJpbmdbXSA9IFN0clV0aWwudG9rZW5pemUobXlBY3RpdmVSb3V0ZS5zbmFwc2hvdC5yb3V0ZUNvbmZpZy5wYXRoLCBcIi86XCIpO1xyXG4gICAgICBzdWJmb3JtTWFnaWNTZXJ2aWNlLnJvdXRlc0RpY3RbbXlBY3RpdmVSb3V0ZS5zbmFwc2hvdC5vdXRsZXRdID0gcm91dGVQYXJhbXNbMF07XHJcblxyXG4gICAgICB0aGlzLnBhcmVudE1nU3ViZm9ybVNlcnZpY2UgPSBzdWJmb3JtTWFnaWNTZXJ2aWNlO1xyXG4gICAgICBzdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRSb3V0ZURlZmluaXRpb24gPSBudWxsO1xyXG4gICAgICBTdWJmb3JtTWFnaWNTZXJ2aWNlLmN1cnJlbnRDYWxsZXJNZ1N1YmZvcm1TZXJ2aWNlUmVmID0gbnVsbDtcclxuXHJcbiAgICAgIC8vV2hlbiB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkLCB0aGVuIGFsc28gd2UgZ2V0IHRoZSBub3RpZmljYXRpb24gZm9yIHBhcmFtTWFwIHN1YnNjcmlwdGlvbi5cclxuICAgICAgLy9CdXQgaW4gdGhpcyBjYXNlLCAgd2UgZG8gbm90IGhhdmUgdG8gcmFpc2UgdGhlIGV2ZW50LCBiZWNhdXNlIG1hZ2ljIGVuZ2luZSBpdHNlbGYgaGFzICBpbml0aWF0ZWQgdGhlIHJvdXRlIHdpdGggdGhlIHNhbWUgcGFyYW1ldGVycy5cclxuICAgICAgLy9TbywgY29udHJvbCBpdCB2aWEgaWdub3JlUGFyYW1DaGFuZ2UgZmxhZy5cclxuICAgICAgbGV0IGlnbm9yZVBhcmFtQ2hhbmdlID0gdHJ1ZTtcclxuICAgICAgbXlBY3RpdmVSb3V0ZS5wYXJhbU1hcC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICBpZiAoIWlnbm9yZVBhcmFtQ2hhbmdlKVxyXG4gICAgICAgICAgdGhpcy5pbnNlcnRSb3V0ZUV2ZW50KG15QWN0aXZlUm91dGUpO1xyXG4gICAgICAgIGlnbm9yZVBhcmFtQ2hhbmdlID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5wYXJlbnRNZ1N1YmZvcm1TZXJ2aWNlLnJlZnJlc2hWaWV3KCk7XHJcblxyXG4gICAgICB0aGlzLnJvdXRlckNvbW1hbmRzTWFnaWNTZXJ2aWNlLkV4ZWN1dGVOZXh0Q29tbWFuZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYW51cFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gVE9ETyBSb3V0aW5nOiBDYWxsIGNsb3NlKCkgb25seSBpZiB0aGUgdGFzayBpcyBub3QgYWxyZWFkeSBjbG9zZWQuXHJcbiAgICAvLyBUYXNrIGNhbiBiZSBjbG9zZWQgd2hlbiBhIHJvdXRlciBpcyBvdmVybGF5ZWQgYnkgYW5vdGhlciB0YXNrIHZpYSBjYWxsIG9wZXJhdGlvbi5cclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZiAhPSBudWxsKVxyXG4gICAge1xyXG4gICAgICAoPFRhc2tCYXNlTWFnaWNDb21wb25lbnQ+dGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpLnRhc2suY2xvc2UoKTtcclxuXHJcbiAgICAgIGxldCBjdXJyZW50QWN0aXZlUm91dGUgPSBTdWJmb3JtTWFnaWNTZXJ2aWNlLmdldFJlbGF0aXZlUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgICAgIHRoaXMucGFyZW50TWdTdWJmb3JtU2VydmljZS5yb3V0ZXNEaWN0W2N1cnJlbnRBY3RpdmVSb3V0ZS5vdXRsZXRdID0gXCJcIjtcclxuXHJcbiAgICAgIFJvdXRlckNvbnRhaW5lck1hZ2ljQ29tcG9uZW50Lmxhc3RSb3V0ZSA9IHRoaXMucm91dGVyLnVybDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
@@ -1,86 +0,0 @@
|
|
1
|
-
import { ChangeDetectorRef, Component, Input } from '@angular/core';
|
2
|
-
import { MagicProperties } from "@magic-xpa/utils";
|
3
|
-
import { isNullOrUndefined } from "@magic-xpa/mscorelib";
|
4
|
-
import { TaskMagicService } from "../services/task.magics.service";
|
5
|
-
import { SubformMagicService } from "../services/subform.magic.service";
|
6
|
-
import { TableMagicService } from "../services/table.magic.service";
|
7
|
-
import { MagicServices } from "../services/magic.services";
|
8
|
-
import * as i0 from "@angular/core";
|
9
|
-
import * as i1 from "../services/magic.services";
|
10
|
-
export class TaskBaseMagicComponent {
|
11
|
-
constructor(ref, magicServices) {
|
12
|
-
this.ref = ref;
|
13
|
-
this.magicServices = magicServices;
|
14
|
-
this.magicProperties = MagicProperties;
|
15
|
-
}
|
16
|
-
get task() {
|
17
|
-
return this.magicServices.task;
|
18
|
-
}
|
19
|
-
get mgSub() {
|
20
|
-
return this.magicServices.subformService;
|
21
|
-
}
|
22
|
-
get tableService() {
|
23
|
-
return this.magicServices.tableService;
|
24
|
-
}
|
25
|
-
get mg() {
|
26
|
-
return this.magicServices.mgAccessorService;
|
27
|
-
}
|
28
|
-
get taskId() {
|
29
|
-
return this.task.taskId;
|
30
|
-
}
|
31
|
-
get screenFormGroup() {
|
32
|
-
return this.task.ScreenModeControls;
|
33
|
-
}
|
34
|
-
ngOnInit() {
|
35
|
-
this.task.detectChanges.pipe().subscribe(c => {
|
36
|
-
this.ref.detectChanges();
|
37
|
-
});
|
38
|
-
this.task.initTask(this.taskIdParam, this.taskDescription);
|
39
|
-
this.createFormControlsAccessor(this.screenFormGroup);
|
40
|
-
this.setInputDateFormat();
|
41
|
-
this.task.customPropertiesSubject.pipe().subscribe(property => {
|
42
|
-
this.PropertyChanged(property.propertyName, property.rowId, property.value);
|
43
|
-
});
|
44
|
-
this.task.recordsCountChangeSubject.pipe().subscribe(value => {
|
45
|
-
this.RecordsCountChanged(value);
|
46
|
-
});
|
47
|
-
this.task.mgLoadSubject.pipe().subscribe(value => {
|
48
|
-
this.mgOnLoad();
|
49
|
-
});
|
50
|
-
}
|
51
|
-
createFormControlsAccessor(formGroup) { }
|
52
|
-
setInputDateFormat() { }
|
53
|
-
PropertyChanged(propertyName, rowId, value) {
|
54
|
-
}
|
55
|
-
RecordsCountChanged(recordsCount) {
|
56
|
-
}
|
57
|
-
mgOnLoad() {
|
58
|
-
}
|
59
|
-
ngAfterViewInit() {
|
60
|
-
this.mgSub.init();
|
61
|
-
}
|
62
|
-
ngAfterContentChecked() {
|
63
|
-
if (!isNullOrUndefined(this.tableService.getPageSize()) && this.task.oldPageSize != this.tableService.getPageSize()) {
|
64
|
-
this.task.resize(this.tableService.getPageSize(), 0);
|
65
|
-
this.task.oldPageSize = this.tableService.getPageSize();
|
66
|
-
}
|
67
|
-
}
|
68
|
-
ngOnDestroy() {
|
69
|
-
this.task.dispose();
|
70
|
-
}
|
71
|
-
}
|
72
|
-
TaskBaseMagicComponent.ɵfac = function TaskBaseMagicComponent_Factory(t) { return new (t || TaskBaseMagicComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MagicServices)); };
|
73
|
-
TaskBaseMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TaskBaseMagicComponent, selectors: [["task-magic"]], inputs: { taskIdParam: "taskIdParam", taskDescription: "taskDescription" }, features: [i0.ɵɵProvidersFeature([TaskMagicService, SubformMagicService, TableMagicService])], decls: 0, vars: 0, template: function TaskBaseMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
74
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaskBaseMagicComponent, [{
|
75
|
-
type: Component,
|
76
|
-
args: [{
|
77
|
-
selector: 'task-magic',
|
78
|
-
providers: [TaskMagicService, SubformMagicService, TableMagicService],
|
79
|
-
template: ''
|
80
|
-
}]
|
81
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MagicServices }]; }, { taskIdParam: [{
|
82
|
-
type: Input
|
83
|
-
}], taskDescription: [{
|
84
|
-
type: Input
|
85
|
-
}] }); })();
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1iYXNlLm1hZ2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3VpL3Rhc2stYmFzZS5tYWdpYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFXM0QsTUFBTSxPQUFPLHNCQUFzQjtJQXFCakMsWUFBc0IsR0FBc0IsRUFDekIsYUFBNEI7UUFEekIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSL0Msb0JBQWUsR0FBRyxlQUFlLENBQUM7SUFTN0IsQ0FBQztJQU1OLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQU1ELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7SUFDM0MsQ0FBQztJQU1ELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDekMsQ0FBQztJQU1ELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWFnaWNQcm9wZXJ0aWVzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJmb3JtTWFnaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3N1YmZvcm0ubWFnaWMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUYWJsZU1hZ2ljU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy90YWJsZS5tYWdpYy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE1hZ2ljU2VydmljZXMgfSBmcm9tIFwiLi4vc2VydmljZXMvbWFnaWMuc2VydmljZXNcIjtcclxuaW1wb3J0IHsgQWNjZXNzb3JNYWdpY1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvYWNjZXNzb3IubWFnaWMuc2VydmljZVwiO1xyXG5cclxuLyoqXHJcbiAqIEJhc2UgY29tcG9uZW50IHJlcHJlc2VudGluZyBhIE1hZ2ljIHRhc2tcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndGFzay1tYWdpYycsXHJcbiAgcHJvdmlkZXJzOiBbVGFza01hZ2ljU2VydmljZSwgU3ViZm9ybU1hZ2ljU2VydmljZSwgVGFibGVNYWdpY1NlcnZpY2VdLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgLyoqXHJcbiAgICogSWQgb2YgdGFzaywgdXNlZCBmb3IgaW5pdGlhbGl6aW5nIHRoZSB0YXNrIHNlcnZpY2VcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXNrSWRQYXJhbTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASW5wdXQoKSB0YXNrRGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIG1hZ2ljUHJvcGVydGllcyA9IE1hZ2ljUHJvcGVydGllcztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcmVmIGNoYW5nZXMtZGV0ZWN0b3Igb2JqZWN0XHJcbiAgICogQHBhcmFtIG1hZ2ljU2VydmljZXMgQWNjZXNzIHBvaW50IGZvciBhbGwgTWFnaWMgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwdWJsaWMgbWFnaWNTZXJ2aWNlczogTWFnaWNTZXJ2aWNlc1xyXG4gICkgeyAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBNYWdpYyB0YXNrIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCB0YXNrKCk6IFRhc2tNYWdpY1NlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy50YXNrO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgTWFnaWMgc3ViZm9ybSBzZXJ2aWNlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgbWdTdWIoKTogU3ViZm9ybU1hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYWdpY1NlcnZpY2VzLnN1YmZvcm1TZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgTWFnaWMgdGFibGUgc2VydmljZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0IHRhYmxlU2VydmljZSgpOiBUYWJsZU1hZ2ljU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYWdpY1NlcnZpY2VzLnRhYmxlU2VydmljZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIE1hZ2ljIGFjY2Vzc29yIHNlcnZpY2VcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGdldCBtZygpOiBBY2Nlc3Nvck1hZ2ljU2VydmljZSAge1xyXG4gICAgcmV0dXJuIHRoaXMubWFnaWNTZXJ2aWNlcy5tZ0FjY2Vzc29yU2VydmljZTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSB0YXNrIElkXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgdGFza0lkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGFzay50YXNrSWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBGb3JtR3JvdXAgZm9yIHNjcmVlbi1tb2RlIGZvcm1zXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBnZXQgc2NyZWVuRm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLlNjcmVlbk1vZGVDb250cm9scztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMudGFzay5kZXRlY3RDaGFuZ2VzLnBpcGUoKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy50YXNrLmluaXRUYXNrKHRoaXMudGFza0lkUGFyYW0sIHRoaXMudGFza0Rlc2NyaXB0aW9uKTtcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Db250cm9sc0FjY2Vzc29yKHRoaXMuc2NyZWVuRm9ybUdyb3VwKTtcclxuICAgIHRoaXMuc2V0SW5wdXREYXRlRm9ybWF0KCk7XHJcblxyXG4gICAgLy8gc3ViY3JpYmUgdG8gY3VzdG9tIHByb3BlcnR5IGNoYW5nZXNcclxuICAgIHRoaXMudGFzay5jdXN0b21Qcm9wZXJ0aWVzU3ViamVjdC5waXBlKCkuc3Vic2NyaWJlKHByb3BlcnR5ID0+IHtcclxuICAgICAgdGhpcy5Qcm9wZXJ0eUNoYW5nZWQocHJvcGVydHkucHJvcGVydHlOYW1lLCBwcm9wZXJ0eS5yb3dJZCwgcHJvcGVydHkudmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gc3ViY3JpYmUgdG8gcmVjb3JkcyBjb3VudCBjaGFuZ2VzXHJcbiAgICB0aGlzLnRhc2sucmVjb3Jkc0NvdW50Q2hhbmdlU3ViamVjdC5waXBlKCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5SZWNvcmRzQ291bnRDaGFuZ2VkKHZhbHVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHN1YmNyaWJlIHRvIG1nTG9hZCBjaGFuZ2VcclxuICAgIHRoaXMudGFzay5tZ0xvYWRTdWJqZWN0LnBpcGUoKS5zdWJzY3JpYmUodmFsdWUgPT57XHJcbiAgICAgIHRoaXMubWdPbkxvYWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNyZWF0ZUZvcm1Db250cm9sc0FjY2Vzc29yKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgc2V0SW5wdXREYXRlRm9ybWF0ICgpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBvZiBhbnkgY3VzdG9tIHByb3BlcnR5IGlzIHVwZGF0ZWQgaW4gTWFnaWNcclxuICAgKiBwcm9wZXJ0eU5hbWUgOiBuYW1lIG9mIHByb3BlcnR5IHdoaWNoIGlzIHVwZGF0ZWQuIFRoZSBmb3JtYXQgaXMgPGNvbnRyb2xuYW1lPn48cHJvcGVydHluYW1lPlxyXG4gICAqIHJvd0lkIDogcm93IG51bWJlciBvZiB0aGUgdXBkYXRlZCBwcm9wZXJ0eSBmb3IgY29udHJvbHMgaW4gdGFibGUgY29udHJvbCAoMCBmb3IgY29udHJvbHMgb3V0c2lkZSB0YWJsZSlcclxuICAgKiB2YWx1ZSA6IHVwZGF0ZWQgdmFsdWUgb2YgdGhlIHByb3BlcnR5XHJcbiAgICogQHJldHVybnMgOiB2b2lkXHJcbiAgICogVG8gdXNlIHRoZSBtZXRob2Qgb3ZlcnJpZGUgaXQgaW4geW91ciBjb21wb25lbnQgYW5kIGNoZWNrIHRoZSBwcm9wZXJ0eSBuYW1lIGFuZCB3cml0ZSB5b3UgY29kZSAuLmZvciBlZ1xyXG4gICAqIGlmKHByb3BlcnR5TmFtZSA9PSAnY29udHJvbG5hbWV+cHJvcGVydHlOYW1lJykgey8vIHlvdXIgY29kZX1cclxuICAgKiAgZWxzZSB7IC8vIHlvdXIgY29kZX1cclxuICAgKi9cclxuICBQcm9wZXJ0eUNoYW5nZWQocHJvcGVydHlOYW1lOnN0cmluZywgcm93SWQgOiBudW1iZXIsIHZhbHVlIDogYW55KSA6IHZvaWQge1xyXG4gICAgLy8gaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBpbiB0aGUgZGVyaXZlZCBjbGFzc1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVjb3JkcyBjb3VudCBjaGFuZ2Ugc3ViamVjdCBpcyBzdWJzY3JpYmVkIHRvIGNoYW5nZSBpbiBpdHMgdmFsdWUuIFRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkXHJcbiAgICogYXMgdGhlIHZhbHVlIG9mIHJlY29yZHMgY291bnQgaXMgcmVjZWl2ZWQgYXQgZnJvbSBzZXJ2ZXIuXHJcbiAgICogQHJldHVybnMgOiB2b2lkXHJcbiAgICogVG8gdXNlIHRoZSBtZXRob2Qgb3ZlcnJpZGUgaXQgaW4geW91ciBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgUmVjb3Jkc0NvdW50Q2hhbmdlZChyZWNvcmRzQ291bnQgOiBudW1iZXIpIDogdm9pZCB7XHJcbiAgICAvLyBpbnRlbnRpb25hbGx5IGxlZnQgYmxhbmsgYmVjYXVzZSB0aGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIGJlIGluIHRoZSBkZXJpdmVkIGNsYXNzXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBvbmNlIGVuZ2luZSBpbmZvcm1zIFVJIGFib3V0IGxvYWRpbmcgb2YgZmlyc3Qgc2V0IG9mIGRhdGEgaXMgc2VudCB0byBjbGllbnRcclxuICAgKiBhbmQgY2xpZW50IGhhcyByZWFjaGVkIGl0cyBmaXJzdCBpZGxlIHRpbWUuXHJcbiAgICogQHJldHVybnMgOiB2b2lkXHJcbiAgICogVG8gdXNlIHRoZSBtZXRob2Qgb3ZlcnJpZGUgaXQgaW4geW91ciBjb21wb25lbnQuXHJcbiAgICovXHJcbiAgbWdPbkxvYWQoKSA6IHZvaWQge1xyXG4gICAgLy8gaW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rIGJlY2F1c2UgdGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBpbiB0aGUgZGVyaXZlZCBjbGFzc1xyXG4gIH1cclxuICAvKipcclxuICAgKiBJbnRlcmZhY2UgaW1wbGVtZW50YXRpb25cclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLm1nU3ViLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIDogdm9pZCB7XHJcbiAgICBpZighaXNOdWxsT3JVbmRlZmluZWQodGhpcy50YWJsZVNlcnZpY2UuZ2V0UGFnZVNpemUoKSkgJiYgdGhpcy50YXNrLm9sZFBhZ2VTaXplICE9IHRoaXMudGFibGVTZXJ2aWNlLmdldFBhZ2VTaXplKCkpIHtcclxuICAgICAgdGhpcy50YXNrLnJlc2l6ZSh0aGlzLnRhYmxlU2VydmljZS5nZXRQYWdlU2l6ZSgpLCAwKTtcclxuICAgICAgdGhpcy50YXNrLm9sZFBhZ2VTaXplID0gdGhpcy50YWJsZVNlcnZpY2UuZ2V0UGFnZVNpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy50YXNrLmRpc3Bvc2UoKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|