@magic-xpa/angular 4.801.7 → 4.900.0-dev4100.11
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/src/services/accessor.magic.service.mjs +29 -6
- package/esm2020/src/services/mg-date-adapter.mjs +13 -8
- package/esm2020/src/services/task.magics.service.mjs +2 -2
- package/esm2020/src/ui/directives/magic.directive.mjs +9 -9
- package/esm2020/src/ui/directives/mgformat.magic.directive.mjs +36 -17
- package/esm2020/src/ui/magic-modal/magic-overlay-container-wrapper.mjs +1 -1
- package/esm2020/src/ui/magic-modal/magic-overlay-container.mjs +2 -2
- package/esm2020/src/ui/magic-root.component.mjs +1 -1
- package/fesm2015/magic-xpa-angular.mjs +86 -38
- package/fesm2015/magic-xpa-angular.mjs.map +1 -1
- package/fesm2020/magic-xpa-angular.mjs +84 -38
- package/fesm2020/magic-xpa-angular.mjs.map +1 -1
- package/package.json +3 -3
- package/src/services/accessor.magic.service.d.ts +1 -0
- package/src/services/mg-date-adapter.d.ts +2 -1
- package/src/ui/directives/mgformat.magic.directive.d.ts +2 -0
@@ -5,6 +5,7 @@ import { PICInterface, StorageAttribute } from '@magic-xpa/utils';
|
|
5
5
|
import { MagicDirective } from './magic.directive';
|
6
6
|
import { Validators } from '@angular/forms';
|
7
7
|
import { MgDateFormatter } from '../pipes/date.magic.pipe';
|
8
|
+
import { isUndefined } from '@magic-xpa/mscorelib';
|
8
9
|
import * as i0 from "@angular/core";
|
9
10
|
import * as i1 from "./magic.directive";
|
10
11
|
import * as i2 from "../../services/task.magics.service";
|
@@ -23,6 +24,25 @@ export class MgformatMagicDirective {
|
|
23
24
|
}
|
24
25
|
}
|
25
26
|
onFocusEvent($event) {
|
27
|
+
this.calculatePattern();
|
28
|
+
}
|
29
|
+
onInputEvent($event) {
|
30
|
+
this.calculatePattern();
|
31
|
+
}
|
32
|
+
onChangeEvent($event) {
|
33
|
+
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
34
|
+
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
35
|
+
switch (attr) {
|
36
|
+
case StorageAttribute.ALPHA:
|
37
|
+
case StorageAttribute.UNICODE:
|
38
|
+
this.formatAlphaUnicode(control);
|
39
|
+
break;
|
40
|
+
case StorageAttribute.BOOLEAN:
|
41
|
+
this.formatBoolean(control);
|
42
|
+
break;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
calculatePattern() {
|
26
46
|
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
27
47
|
if (control != null) {
|
28
48
|
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
@@ -39,26 +59,22 @@ export class MgformatMagicDirective {
|
|
39
59
|
if (attr == StorageAttribute.ALPHA || attr == StorageAttribute.UNICODE) {
|
40
60
|
if (control.validator == null)
|
41
61
|
control.setValidators(Validators.maxLength(pic.getMaskLength()));
|
42
|
-
else
|
43
|
-
|
62
|
+
else {
|
63
|
+
if (pic.isFormatExp()) {
|
64
|
+
control.setValidators(Validators.maxLength(pic.getMaskLength()));
|
65
|
+
if (isUndefined(this.magicDir.rowId))
|
66
|
+
this.magicDir.rowId = '0';
|
67
|
+
control.setValidators([control.validator, this._task.customValidator(this.magicDir.rowId, this.magicDir.id)]);
|
68
|
+
}
|
69
|
+
else
|
70
|
+
control.setValidators([control.validator, Validators.maxLength(pic.getMaskLength())]);
|
71
|
+
}
|
72
|
+
control.updateValueAndValidity();
|
44
73
|
}
|
45
74
|
}
|
46
75
|
}
|
47
76
|
}
|
48
77
|
}
|
49
|
-
onChangeEvent($event) {
|
50
|
-
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
51
|
-
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
52
|
-
switch (attr) {
|
53
|
-
case StorageAttribute.ALPHA:
|
54
|
-
case StorageAttribute.UNICODE:
|
55
|
-
this.formatAlphaUnicode(control);
|
56
|
-
break;
|
57
|
-
case StorageAttribute.BOOLEAN:
|
58
|
-
this.formatBoolean(control);
|
59
|
-
break;
|
60
|
-
}
|
61
|
-
}
|
62
78
|
formatDate(pic) {
|
63
79
|
let mgDateFormatter = new MgDateFormatter();
|
64
80
|
this._task.mgInputDateFormat = mgDateFormatter.ConvertMgDateFormatToAngular(pic.getMask());
|
@@ -207,7 +223,7 @@ export class MgformatMagicDirective {
|
|
207
223
|
}
|
208
224
|
MgformatMagicDirective.ɵfac = function MgformatMagicDirective_Factory(t) { return new (t || MgformatMagicDirective)(i0.ɵɵdirectiveInject(i1.MagicDirective), i0.ɵɵdirectiveInject(i2.TaskMagicService)); };
|
209
225
|
MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirective, selectors: [["", "mgFormat", ""]], hostBindings: function MgformatMagicDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
210
|
-
i0.ɵɵlistener("focus", function MgformatMagicDirective_focus_HostBindingHandler($event) { return ctx.onFocusEvent($event); })("change", function MgformatMagicDirective_change_HostBindingHandler($event) { return ctx.onChangeEvent($event); });
|
226
|
+
i0.ɵɵlistener("focus", function MgformatMagicDirective_focus_HostBindingHandler($event) { return ctx.onFocusEvent($event); })("input", function MgformatMagicDirective_input_HostBindingHandler($event) { return ctx.onInputEvent($event); })("change", function MgformatMagicDirective_change_HostBindingHandler($event) { return ctx.onChangeEvent($event); });
|
211
227
|
} } });
|
212
228
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MgformatMagicDirective, [{
|
213
229
|
type: Directive,
|
@@ -217,8 +233,11 @@ MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirec
|
|
217
233
|
}], function () { return [{ type: i1.MagicDirective }, { type: i2.TaskMagicService }]; }, { onFocusEvent: [{
|
218
234
|
type: HostListener,
|
219
235
|
args: ['focus', ['$event']]
|
236
|
+
}], onInputEvent: [{
|
237
|
+
type: HostListener,
|
238
|
+
args: ['input', ['$event']]
|
220
239
|
}], onChangeEvent: [{
|
221
240
|
type: HostListener,
|
222
241
|
args: ['change', ['$event']]
|
223
242
|
}] }); })();
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWdmb3JtYXQubWFnaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tZ2Zvcm1hdC5tYWdpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBa0IsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7O0FBVXpELE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFDWSxRQUF3QixFQUN4QixLQUF1QjtRQUR2QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUUvQixDQUFDO0lBRUwsZUFBZTtRQUNiLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFFLENBQUM7UUFFaEYsSUFBRyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLElBQUksSUFBSSxFQUFFO1lBRTFELElBQUksR0FBRyxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFD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QUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFpQzFCLGFBQWE7a0JBRG5CLFlBQVk7bUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VGFza01hZ2ljU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay5tYWdpY3Muc2VydmljZSc7XHJcbmltcG9ydCB7U3RyaW5nQnVpbGRlciwgUmVmUGFyYW19IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHtQSUNJbnRlcmZhY2UsIFN0b3JhZ2VBdHRyaWJ1dGV9IGZyb20gJ0BtYWdpYy14cGEvdXRpbHMnO1xyXG5pbXBvcnQge01hZ2ljRGlyZWN0aXZlfSBmcm9tICcuL21hZ2ljLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7UElDfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7TWdEYXRlRm9ybWF0dGVyfSBmcm9tICcuLi9waXBlcy9kYXRlLm1hZ2ljLnBpcGUnO1xyXG5cclxuLyoqXHJcbiAqIFBlcmZvcm0gTWFnaWMgdmFsaWRhdGlvbiBvbiBpbnB1dCBjb250cm9scyB3aGljaCBob2xkIGFscGhhbnVtZXJpYyBzdHJpbmdzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1ttZ0Zvcm1hdF0nXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIE1nZm9ybWF0TWFnaWNEaXJlY3RpdmUge1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBtYWdpY0RpcjogTWFnaWNEaXJlY3RpdmUgLFxyXG4gICAgcHJvdGVjdGVkIF90YXNrOiBUYXNrTWFnaWNTZXJ2aWNlXHJcblxyXG4gICkgeyB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGxldCBjb250cm9sID0gdGhpcy5fdGFzay5nZXRGb3JtQ29udHJvbCh0aGlzLm1hZ2ljRGlyLnJvd0lkLCB0aGlzLm1hZ2ljRGlyLmlkICk7XHJcblxyXG4gICAgaWYoY29udHJvbCAhPSBudWxsICYmIHRoaXMuX3Rhc2subWdJbnB1dERhdGVGb3JtYXQgPT0gbnVsbCkge1xyXG4gICAgICAvLyBnZXQgdGhlIGZpcnN0IGRhdGUgY29udHJvbCdzIGZvcm1hdC5cclxuICAgICAgbGV0IHBpYzogUElDID0gdGhpcy5fdGFzay5HZXRDb250cm9sUGljdHVyZU1hc2sodGhpcy5tYWdpY0Rpci5pZCk7XHJcbiAgICAgIGlmIChwaWMuZ2V0QXR0cigpID09IFN0b3JhZ2VBdHRyaWJ1dGUuREFURSApIHtcclxuICAgICAgICB0aGlzLmZvcm1hdERhdGUocGljKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICAvKipcclxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNldCBwYXR0ZXJuXHJcbiAgICogT24gaW5wdXQsIHZlcmlmaWVzIHRoZSBpbnB1dCBtYXRjaGVzIHRoZSByZXF1aXJlZCBtYXNrXHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkZvY3VzRXZlbnQoJGV2ZW50KXtcclxuICAgIGxldCBjb250cm9sID0gdGhpcy5fdGFzay5nZXRGb3JtQ29udHJvbCh0aGlzLm1hZ2ljRGlyLnJvd0lkLCB0aGlzLm1hZ2ljRGlyLmlkICk7XHJcblxyXG4gICAgaWYoY29udHJvbCAhPSBudWxsICkge1xyXG4gICAgICBsZXQgYXR0cjogU3RvcmFnZUF0dHJpYnV0ZSA9IHRoaXMuX3Rhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLm1hZ2ljRGlyLmlkKS5kYXRhVHlwZTtcclxuICAgICAgaWYgKGF0dHIgPT0gU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDIHx8IGF0dHIgPT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCBhdHRyID09IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERSkge1xyXG4gICAgICAgIGxldCBwaWM6IFBJQyA9IHRoaXMuX3Rhc2suR2V0Q29udHJvbFBpY3R1cmVNYXNrKHRoaXMubWFnaWNEaXIuaWQpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc1BhdHRlcm5HZW5lcmF0aW9uTmVlZGVkKGF0dHIsIHBpYykpIHtcclxuICAgICAgICAgIGxldCBwYXR0ZXJuOiBzdHJpbmcgPSB0aGlzLmdlbmVyYXRlUGF0dGVybihhdHRyLCBwaWMpO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2wudmFsaWRhdG9yID09IG51bGwpXHJcbiAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnBhdHRlcm4ocGF0dGVybikpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoW2NvbnRyb2wudmFsaWRhdG9yLCBWYWxpZGF0b3JzLnBhdHRlcm4ocGF0dGVybildKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoYXR0ciA9PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGF0dHIgPT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFKSB7XHJcbiAgICAgICAgICAgICAgIGlmIChjb250cm9sLnZhbGlkYXRvciA9PSBudWxsKVxyXG4gICAgICAgICAgICAgICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5tYXhMZW5ndGgocGljLmdldE1hc2tMZW5ndGgoKSkpO1xyXG4gICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbY29udHJvbC52YWxpZGF0b3IsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHBpYy5nZXRNYXNrTGVuZ3RoKCkpXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgKi9cclxuICAvLyBUaGlzIGNhbiBiZSB1c2VkIHRvIGltcGxlbWVudCB1cHBlcmNhc2UvbG93ZXIgY2FzZVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uQ2hhbmdlRXZlbnQoJGV2ZW50KXtcclxuICAgIGxldCBjb250cm9sID0gdGhpcy5fdGFzay5nZXRGb3JtQ29udHJvbCh0aGlzLm1hZ2ljRGlyLnJvd0lkLCB0aGlzLm1hZ2ljRGlyLmlkICk7XHJcbiAgICBsZXQgYXR0cjogU3RvcmFnZUF0dHJpYnV0ZSA9IHRoaXMuX3Rhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLm1hZ2ljRGlyLmlkKS5kYXRhVHlwZTtcclxuXHJcbiAgICBzd2l0Y2ggIChhdHRyKVxyXG4gICAge1xyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEE6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFOlxyXG4gICAgICAgIHRoaXMuZm9ybWF0QWxwaGFVbmljb2RlIChjb250cm9sKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU46XHJcbiAgICAgICAgdGhpcy5mb3JtYXRCb29sZWFuKGNvbnRyb2wpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZShwaWM6IFBJQyk6IHZvaWQge1xyXG4gICAgIGxldCBtZ0RhdGVGb3JtYXR0ZXIgPSBuZXcgTWdEYXRlRm9ybWF0dGVyKCk7XHJcbiAgICAgIHRoaXMuX3Rhc2subWdJbnB1dERhdGVGb3JtYXQgPSBtZ0RhdGVGb3JtYXR0ZXIuQ29udmVydE1nRGF0ZUZvcm1hdFRvQW5ndWxhcihwaWMuZ2V0TWFzaygpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGZvcm1hdEFscGhhVW5pY29kZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcclxuICAgIGxldCB2YWx1ZTogc3RyaW5nID0gY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZTogc3RyaW5nID0gdGhpcy5fdGFzay5HZXRSYW5nZWRWYWx1ZSh0aGlzLm1hZ2ljRGlyLmlkLCB2YWx1ZSk7XHJcbiAgICAgIGlmIChuZXdWYWx1ZSAhPSBudWxsKVxyXG4gICAgICAgIHZhbHVlID0gbmV3VmFsdWU7XHJcblxyXG4gICAgICBsZXQgcGljOiBQSUMgPSB0aGlzLl90YXNrLkdldENvbnRyb2xQaWN0dXJlTWFzayh0aGlzLm1hZ2ljRGlyLmlkKTtcclxuICAgICAgbGV0IG1hc2s6IHN0cmluZyA9IHBpYy5nZXRNYXNrKCk7XHJcbiAgICAgIGxldCB2YWx1ZVN0cjogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBzd2l0Y2ggKG1hc2suY2hhckNvZGVBdChpKSkge1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX1U6XHJcbiAgICAgICAgICAgIHZhbHVlU3RyLkFwcGVuZCh2YWx1ZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX0w6XHJcbiAgICAgICAgICAgIHZhbHVlU3RyLkFwcGVuZCh2YWx1ZS5jaGFyQXQoaSkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdmFsdWVTdHIuQXBwZW5kKHZhbHVlLmNoYXJBdChpKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZVN0ci5Ub1N0cmluZygpKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZm9ybWF0Qm9vbGVhbiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogdm9pZCAge1xyXG4gICAgbGV0IHZhbHVlOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IG5ld1ZhbHVlOiBzdHJpbmcgPSB0aGlzLl90YXNrLkdldFJhbmdlZFZhbHVlICh0aGlzLm1hZ2ljRGlyLmlkICwgdmFsdWUpO1xyXG4gICAgICBpZiAobmV3VmFsdWUudG9VcHBlckNhc2UoKS5zdGFydHNXaXRoKHZhbHVlLnRvVXBwZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBnZW5lcmF0ZSBwYXR0ZXJuIGZyb20gIGZsZCdzICBmb3JtYXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gICBnZW5lcmF0ZVBhdHRlcm4gKGF0dHJpYnV0ZTogU3RvcmFnZUF0dHJpYnV0ZSwgcGljOiBQSUMpOiBzdHJpbmcge1xyXG4gICAgbGV0IHBhdHRlcm46IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIHN3aXRjaCAoYXR0cmlidXRlKVxyXG4gICAge1xyXG4gICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUM6XHJcbiAgICAgIHBhdHRlcm4gPSB0aGlzLmdlbmVyYXRlUGF0dGVybkZvck51bWJlcihwaWMpO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQTpcclxuICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFOlxyXG4gICAgICBwYXR0ZXJuID0gdGhpcy5nZW5lcmF0ZVBhdHRlcm5Gb3JBbHBoYShwaWMpO1xyXG4gICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhdHRlcm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBnZW5lcmF0ZSBwYXR0ZXJuIGZvciBBbHBoYVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiBnZW5lcmF0ZVBhdHRlcm5Gb3JOdW1iZXIocGljOiBQSUMpOiBzdHJpbmcge1xyXG4gICAgbGV0IHBhdHRlcm5TdHI6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlciAoKTtcclxuXHJcbiAgICBwYXR0ZXJuU3RyLkFwcGVuZCgnXicpO1xyXG4gICAgaWYgKHBpYy5pc05lZ2F0aXZlKCkpXHJcbiAgICAgIHBhdHRlcm5TdHIuQXBwZW5kKCctPycpO1xyXG4gICAgaWYgKHBpYy5nZXRXaG9sZXMoKSlcclxuICAgICAgcGF0dGVyblN0ci5BcHBlbmRGb3JtYXQoJ1xcXFxke3swfSx7MX19JywgMCwgcGljLmdldFdob2xlcygpKTtcclxuICAgIGlmIChwaWMuZ2V0RGVjKCkpXHJcbiAgICAgIHBhdHRlcm5TdHIuQXBwZW5kRm9ybWF0KCcoXFxcXC5cXFxcZHsxLHswfX0pPycsIHBpYy5nZXREZWMoKSk7XHJcbiAgICBwYXR0ZXJuU3RyLkFwcGVuZCgnJCcpO1xyXG5cclxuICAgIHJldHVybiBwYXR0ZXJuU3RyLlRvU3RyaW5nKCk7XHJcbiB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuIGlzUGF0dGVybkdlbmVyYXRpb25OZWVkZWQgKGF0dHIgOiBTdG9yYWdlQXR0cmlidXRlLCBwaWMgOiBQSUMpOiBib29sZWFuIHtcclxuXHJcbiAgIHN3aXRjaCAoYXR0cikge1xyXG4gICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDOlxyXG4gICAgICAgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQTpcclxuICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERTpcclxuICAgICAgIHJldHVybiAocGljLmdldE1hc2tDaGFycygpID4gMCkgPyB0cnVlIDogZmFsc2U7XHJcbiAgIH1cclxuIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZ2VuZXJhdGUgcGF0dGVybiBmb3IgQWxwaGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gZ2VuZXJhdGVQYXR0ZXJuRm9yQWxwaGEocGljIDogUElDKTogc3RyaW5nIHtcclxuICBsZXQgY250OiBudW1iZXIgPSAwO1xyXG4gIGxldCBpbnB1dEFsbENoYXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbGV0IGNsb3NlU2V0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgbGV0ICBtYXNrOiBzdHJpbmcgPSBwaWMuZ2V0TWFzaygpO1xyXG4gIGxldCAgcGF0dGVybjogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gIHBhdHRlcm4uQXBwZW5kKCdeJyk7XHJcbiAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IG1hc2subGVuZ3RoOylcclxuICB7XHJcbiAgICAvL3N0YXJ0IG5ldyBzdWJzZXQgLCBpZiBtYXNrW2ldIGlzIG9uZSBvZiB0aGVzZS5cclxuICAgIGlmIChpbnB1dEFsbENoYXJzICYmIChtYXNrLmNoYXJDb2RlQXQoaSkgPT0gUElDSW50ZXJmYWNlLlBJQ19OIHx8IG1hc2suY2hhckNvZGVBdChpKSA9PSBQSUNJbnRlcmZhY2UuUElDX1UgfHwgbWFzay5jaGFyQ29kZUF0KGkpID09IFBJQ0ludGVyZmFjZS5QSUNfTFxyXG4gICAgICAgIHx8IG1hc2suY2hhckNvZGVBdChpKSA9PSBQSUNJbnRlcmZhY2UuUElDX1gpKVxyXG4gICAge1xyXG4gICAgICBwYXR0ZXJuLkFwcGVuZCgnKCcpO1xyXG4gICAgICBjbG9zZVNldCA9IHRydWU7XHJcbiAgICAgIGlucHV0QWxsQ2hhcnMgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjbnQgPSAwO1xyXG4gICAgc3dpdGNoIChtYXNrLmNoYXJDb2RlQXQoaSkpXHJcbiAgICB7XHJcbiAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19VOlxyXG4gICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfWDpcclxuICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX0w6XHJcbiAgICAgIHtcclxuICAgICAgICBwYXR0ZXJuLkFwcGVuZCgnLicpO1xyXG4gICAgICAgIGxldCBpbnB1dEFsbENoYXJzUmVmOiBSZWZQYXJhbTxib29sZWFuPiA9IG5ldyBSZWZQYXJhbTxib29sZWFuPihmYWxzZSk7XHJcbiAgICAgICAgbGV0IGRpcnM6IHN0cmluZyA9ICBQSUNJbnRlcmZhY2UuUElDX1UudG9TdHJpbmcoKTtcclxuICAgICAgICBkaXJzICs9IFBJQ0ludGVyZmFjZS5QSUNfTC50b1N0cmluZygpO1xyXG4gICAgICAgIGRpcnMgKz0gUElDSW50ZXJmYWNlLlBJQ19YLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgY250ID0gdGhpcy5nZXREaXJlY3RpdmVDb3VudChtYXNrLCBpLCBkaXJzLCBpbnB1dEFsbENoYXJzUmVmKTtcclxuICAgICAgICBpbnB1dEFsbENoYXJzID0gaW5wdXRBbGxDaGFyc1JlZi52YWx1ZTtcclxuICAgICAgICBpICs9IGNudDtcclxuXHJcbiAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX046XHJcbiAgICAgIHtcclxuICAgICAgICBwYXR0ZXJuLkFwcGVuZCgnXFxcXGQnKTtcclxuICAgICAgICBsZXQgaW5wdXRBbGxDaGFyc1JlZjogUmVmUGFyYW08Ym9vbGVhbj4gPSBuZXcgUmVmUGFyYW08Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgICAgIGNudCA9IHRoaXMuZ2V0RGlyZWN0aXZlQ291bnQobWFzaywgaSwgUElDSW50ZXJmYWNlLlBJQ19MLnRvU3RyaW5nKCksIGlucHV0QWxsQ2hhcnNSZWYpO1xyXG4gICAgICAgIGlucHV0QWxsQ2hhcnMgPSBpbnB1dEFsbENoYXJzUmVmLnZhbHVlO1xyXG4gICAgICAgIGkgKz0gY250O1xyXG4gICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHBhdHRlcm4uQXBwZW5kKG1hc2tbaV0pO1xyXG4gICAgICAgIGkrKztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChjbnQgPiAwKVxyXG4gICAgICBwYXR0ZXJuLkFwcGVuZEZvcm1hdCgne3swfSx7MX19JywgaW5wdXRBbGxDaGFycyA/IGNudCA6IDAsIGNudCk7XHJcbiAgICBpZiAoY2xvc2VTZXQpXHJcbiAgICAgIHBhdHRlcm4uQXBwZW5kKCcpJyk7XHJcbiAgICBjbG9zZVNldCA9IGZhbHNlO1xyXG5cclxuICB9XHJcbiAgIHBhdHRlcm4uQXBwZW5kKCckJyk7XHJcbiAgIHJldHVybiBwYXR0ZXJuLlRvU3RyaW5nKCk7XHJcbiB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBnZXREaXJlY3RpdmVDb3VudChtYXNrOiBzdHJpbmcsIGlkeDogbnVtYmVyLCBwYXR0ZXJuOiBzdHJpbmcsIGNoYW5nZUluUGF0dGVybjogUmVmUGFyYW08Ym9vbGVhbj4gKTogbnVtYmVyICB7XHJcblxyXG4gICAgY2hhbmdlSW5QYXR0ZXJuLnZhbHVlID0gZmFsc2U7XHJcbiAgICBsZXQgcGF0dGVybkNvdW50OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vIGZpbmQgbWF4IGNoYXJzXHJcbiAgICB3aGlsZSAoaWR4IDwgbWFzay5sZW5ndGggJiYgdGhpcy5Jc1BhdHRlcm5NYXRjaGVzKG1hc2suY2hhckNvZGVBdChpZHgpLnRvU3RyaW5nKCksIHBhdHRlcm4pKVxyXG4gICAgeyBwYXR0ZXJuQ291bnQrKzsgaWR4Kys7IH1cclxuXHJcblxyXG4gICAgaWYgKGlkeCA8IG1hc2subGVuZ3RoKVxyXG4gICAgICBjaGFuZ2VJblBhdHRlcm4udmFsdWUgPSB0cnVlO1xyXG5cclxuICAgIHJldHVybiBwYXR0ZXJuQ291bnQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgSXNQYXR0ZXJuTWF0Y2hlcyhtYXNrOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGZvciAobGV0IGk6bnVtYmVyID0gMDsgaSA8IHBhdHRlcm4ubGVuZ3RoOyBpKyspXHJcbiAgICBpZiAobWFzayA9PSBwYXR0ZXJuW2ldKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWdmb3JtYXQubWFnaWMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdWkvZGlyZWN0aXZlcy9tZ2Zvcm1hdC5tYWdpYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBa0IsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVVqRCxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1ksUUFBd0IsRUFDeEIsS0FBdUI7UUFEdkIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7SUFFL0IsQ0FBQztJQUVMLGVBQWU7UUFDYixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBRSxDQUFDO1FBRWhGLElBQUcsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRTtZQUUxRCxJQUFJLEdBQUcsR0FB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SUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFDM0Y7WUFBRSxZQUFZLEVBQUUsQ0FBQztZQUFDLEdBQUcsRUFBRSxDQUFDO1NBQUU7UUFHMUIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDbkIsZUFBZSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFL0IsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUtELGdCQUFnQixDQUFDLElBQVksRUFBRSxPQUFlO1FBRTVDLEtBQUssSUFBSSxDQUFDLEdBQVUsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUM5QyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixPQUFPLElBQUksQ0FBQztRQUNkLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7NEZBM1RVLHNCQUFzQjsyREFBdEIsc0JBQXNCO3lHQUF0Qix3QkFBb0Isd0ZBQXBCLHdCQUFvQiwwRkFBcEIseUJBQXFCOzt1RkFBckIsc0JBQXNCO2NBTGxDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTthQUN2QjtnR0FrQ1EsWUFBWTtrQkFEbEIsWUFBWTttQkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFNMUIsWUFBWTtrQkFEbEIsWUFBWTttQkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFVMUIsYUFBYTtrQkFEbkIsWUFBWTttQkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUYXNrTWFnaWNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLm1hZ2ljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdHJpbmdCdWlsZGVyLCBSZWZQYXJhbX0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5pbXBvcnQge1BJQ0ludGVyZmFjZSwgU3RvcmFnZUF0dHJpYnV0ZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7TWFnaWNEaXJlY3RpdmV9IGZyb20gJy4vbWFnaWMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtQSUN9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtNZ0RhdGVGb3JtYXR0ZXJ9IGZyb20gJy4uL3BpcGVzL2RhdGUubWFnaWMucGlwZSc7XHJcbmltcG9ydCB7aXNVbmRlZmluZWR9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuXHJcbi8qKlxyXG4gKiBQZXJmb3JtIE1hZ2ljIHZhbGlkYXRpb24gb24gaW5wdXQgY29udHJvbHMgd2hpY2ggaG9sZCBhbHBoYW51bWVyaWMgc3RyaW5nc1xyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbWdGb3JtYXRdJ1xyXG59KVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBNZ2Zvcm1hdE1hZ2ljRGlyZWN0aXZlIHtcclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgbWFnaWNEaXI6IE1hZ2ljRGlyZWN0aXZlICxcclxuICAgIHByb3RlY3RlZCBfdGFzazogVGFza01hZ2ljU2VydmljZVxyXG5cclxuICApIHsgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBsZXQgY29udHJvbCA9IHRoaXMuX3Rhc2suZ2V0Rm9ybUNvbnRyb2wodGhpcy5tYWdpY0Rpci5yb3dJZCwgdGhpcy5tYWdpY0Rpci5pZCApO1xyXG5cclxuICAgIGlmKGNvbnRyb2wgIT0gbnVsbCAmJiB0aGlzLl90YXNrLm1nSW5wdXREYXRlRm9ybWF0ID09IG51bGwpIHtcclxuICAgICAgLy8gZ2V0IHRoZSBmaXJzdCBkYXRlIGNvbnRyb2wncyBmb3JtYXQuXHJcbiAgICAgIGxldCBwaWM6IFBJQyA9IHRoaXMuX3Rhc2suR2V0Q29udHJvbFBpY3R1cmVNYXNrKHRoaXMubWFnaWNEaXIuaWQpO1xyXG4gICAgICBpZiAocGljLmdldEF0dHIoKSA9PSBTdG9yYWdlQXR0cmlidXRlLkRBVEUgKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtYXREYXRlKHBpYyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLyoqXHJcbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBzZXQgcGF0dGVyblxyXG4gICAqIE9uIGlucHV0LCB2ZXJpZmllcyB0aGUgaW5wdXQgbWF0Y2hlcyB0aGUgcmVxdWlyZWQgbWFza1xyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25Gb2N1c0V2ZW50KCRldmVudCl7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZVBhdHRlcm4oKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25JbnB1dEV2ZW50KCRldmVudCl7XHJcbiAgICB0aGlzLmNhbGN1bGF0ZVBhdHRlcm4oKTtcclxuICAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgKi9cclxuICAvLyBUaGlzIGNhbiBiZSB1c2VkIHRvIGltcGxlbWVudCB1cHBlcmNhc2UvbG93ZXIgY2FzZVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uQ2hhbmdlRXZlbnQoJGV2ZW50KXtcclxuICAgIGxldCBjb250cm9sID0gdGhpcy5fdGFzay5nZXRGb3JtQ29udHJvbCh0aGlzLm1hZ2ljRGlyLnJvd0lkLCB0aGlzLm1hZ2ljRGlyLmlkICk7XHJcbiAgICBsZXQgYXR0cjogU3RvcmFnZUF0dHJpYnV0ZSA9IHRoaXMuX3Rhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLm1hZ2ljRGlyLmlkKS5kYXRhVHlwZTtcclxuXHJcbiAgICBzd2l0Y2ggIChhdHRyKVxyXG4gICAge1xyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEE6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFOlxyXG4gICAgICAgIHRoaXMuZm9ybWF0QWxwaGFVbmljb2RlIChjb250cm9sKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU46XHJcbiAgICAgICAgdGhpcy5mb3JtYXRCb29sZWFuKGNvbnRyb2wpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICovXHJcbiAgY2FsY3VsYXRlUGF0dGVybiAoKVxyXG4gIHtcclxuICAgIGxldCBjb250cm9sID0gdGhpcy5fdGFzay5nZXRGb3JtQ29udHJvbCh0aGlzLm1hZ2ljRGlyLnJvd0lkLCB0aGlzLm1hZ2ljRGlyLmlkICk7XHJcblxyXG4gICAgaWYoY29udHJvbCAhPSBudWxsICkge1xyXG4gICAgICBsZXQgYXR0cjogU3RvcmFnZUF0dHJpYnV0ZSA9IHRoaXMuX3Rhc2suUmVjb3Jkcy5saXN0WzBdLmdldENvbnRyb2xNZXRhZGF0YSh0aGlzLm1hZ2ljRGlyLmlkKS5kYXRhVHlwZTtcclxuICAgICAgaWYgKGF0dHIgPT0gU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDIHx8IGF0dHIgPT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCBhdHRyID09IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERSkge1xyXG4gICAgICAgIGxldCBwaWM6IFBJQyA9IHRoaXMuX3Rhc2suR2V0Q29udHJvbFBpY3R1cmVNYXNrKHRoaXMubWFnaWNEaXIuaWQpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc1BhdHRlcm5HZW5lcmF0aW9uTmVlZGVkKGF0dHIsIHBpYykpIHtcclxuICAgICAgICAgIGxldCBwYXR0ZXJuOiBzdHJpbmcgPSB0aGlzLmdlbmVyYXRlUGF0dGVybihhdHRyLCBwaWMpO1xyXG4gICAgICAgICAgaWYgKGNvbnRyb2wudmFsaWRhdG9yID09IG51bGwpXHJcbiAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnBhdHRlcm4ocGF0dGVybikpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoW2NvbnRyb2wudmFsaWRhdG9yLCBWYWxpZGF0b3JzLnBhdHRlcm4ocGF0dGVybildKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBpZiAoYXR0ciA9PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGF0dHIgPT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFKSB7XHJcbiAgICAgICAgICAgIGlmIChjb250cm9sLnZhbGlkYXRvciA9PSBudWxsKVxyXG4gICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1heExlbmd0aChwaWMuZ2V0TWFza0xlbmd0aCgpKSk7XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgIC8vIHJlLXNldCBhbGwgdmFsaWRhdG9ycyBhZ2FpblxyXG4gICAgICAgICAgICAgIGlmIChwaWMuaXNGb3JtYXRFeHAoKSkge1xyXG4gICAgICAgICAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWF4TGVuZ3RoKHBpYy5nZXRNYXNrTGVuZ3RoKCkpKTtcclxuICAgICAgICAgICAgICAgIGlmIChpc1VuZGVmaW5lZCh0aGlzLm1hZ2ljRGlyLnJvd0lkKSlcclxuICAgICAgICAgICAgICAgICAgdGhpcy5tYWdpY0Rpci5yb3dJZCA9ICcwJztcclxuICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbY29udHJvbC52YWxpZGF0b3IsIHRoaXMuX3Rhc2suY3VzdG9tVmFsaWRhdG9yKHRoaXMubWFnaWNEaXIucm93SWQsIHRoaXMubWFnaWNEaXIuaWQpXSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbY29udHJvbC52YWxpZGF0b3IsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKHBpYy5nZXRNYXNrTGVuZ3RoKCkpXSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWF4TGVuZ3RoKHBpYy5nZXRNYXNrTGVuZ3RoKCkpKTtcclxuICAgICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZShwaWM6IFBJQyk6IHZvaWQge1xyXG4gICAgIGxldCBtZ0RhdGVGb3JtYXR0ZXIgPSBuZXcgTWdEYXRlRm9ybWF0dGVyKCk7XHJcbiAgICAgIHRoaXMuX3Rhc2subWdJbnB1dERhdGVGb3JtYXQgPSBtZ0RhdGVGb3JtYXR0ZXIuQ29udmVydE1nRGF0ZUZvcm1hdFRvQW5ndWxhcihwaWMuZ2V0TWFzaygpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGZvcm1hdEFscGhhVW5pY29kZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcclxuICAgIGxldCB2YWx1ZTogc3RyaW5nID0gY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZTogc3RyaW5nID0gdGhpcy5fdGFzay5HZXRSYW5nZWRWYWx1ZSh0aGlzLm1hZ2ljRGlyLmlkLCB2YWx1ZSk7XHJcbiAgICAgIGlmIChuZXdWYWx1ZSAhPSBudWxsKVxyXG4gICAgICAgIHZhbHVlID0gbmV3VmFsdWU7XHJcblxyXG4gICAgICBsZXQgcGljOiBQSUMgPSB0aGlzLl90YXNrLkdldENvbnRyb2xQaWN0dXJlTWFzayh0aGlzLm1hZ2ljRGlyLmlkKTtcclxuICAgICAgbGV0IG1hc2s6IHN0cmluZyA9IHBpYy5nZXRNYXNrKCk7XHJcbiAgICAgIGxldCB2YWx1ZVN0cjogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBzd2l0Y2ggKG1hc2suY2hhckNvZGVBdChpKSkge1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX1U6XHJcbiAgICAgICAgICAgIHZhbHVlU3RyLkFwcGVuZCh2YWx1ZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX0w6XHJcbiAgICAgICAgICAgIHZhbHVlU3RyLkFwcGVuZCh2YWx1ZS5jaGFyQXQoaSkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgdmFsdWVTdHIuQXBwZW5kKHZhbHVlLmNoYXJBdChpKSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZVN0ci5Ub1N0cmluZygpKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZm9ybWF0Qm9vbGVhbiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogdm9pZCAge1xyXG4gICAgbGV0IHZhbHVlOiBzdHJpbmcgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IG5ld1ZhbHVlOiBzdHJpbmcgPSB0aGlzLl90YXNrLkdldFJhbmdlZFZhbHVlICh0aGlzLm1hZ2ljRGlyLmlkICwgdmFsdWUpO1xyXG4gICAgICBpZiAobmV3VmFsdWUudG9VcHBlckNhc2UoKS5zdGFydHNXaXRoKHZhbHVlLnRvVXBwZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBnZW5lcmF0ZSBwYXR0ZXJuIGZyb20gIGZsZCdzICBmb3JtYXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gICBnZW5lcmF0ZVBhdHRlcm4gKGF0dHJpYnV0ZTogU3RvcmFnZUF0dHJpYnV0ZSwgcGljOiBQSUMpOiBzdHJpbmcge1xyXG4gICAgbGV0IHBhdHRlcm46IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIHN3aXRjaCAoYXR0cmlidXRlKVxyXG4gICAge1xyXG4gICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUM6XHJcbiAgICAgIHBhdHRlcm4gPSB0aGlzLmdlbmVyYXRlUGF0dGVybkZvck51bWJlcihwaWMpO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQTpcclxuICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFOlxyXG4gICAgICBwYXR0ZXJuID0gdGhpcy5nZW5lcmF0ZVBhdHRlcm5Gb3JBbHBoYShwaWMpO1xyXG4gICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhdHRlcm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBnZW5lcmF0ZSBwYXR0ZXJuIGZvciBBbHBoYVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiBnZW5lcmF0ZVBhdHRlcm5Gb3JOdW1iZXIocGljOiBQSUMpOiBzdHJpbmcge1xyXG4gICAgbGV0IHBhdHRlcm5TdHI6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlciAoKTtcclxuXHJcbiAgICBwYXR0ZXJuU3RyLkFwcGVuZCgnXicpO1xyXG4gICAgaWYgKHBpYy5pc05lZ2F0aXZlKCkpXHJcbiAgICAgIHBhdHRlcm5TdHIuQXBwZW5kKCctPycpO1xyXG4gICAgaWYgKHBpYy5nZXRXaG9sZXMoKSlcclxuICAgICAgcGF0dGVyblN0ci5BcHBlbmRGb3JtYXQoJ1xcXFxke3swfSx7MX19JywgMCwgcGljLmdldFdob2xlcygpKTtcclxuICAgIGlmIChwaWMuZ2V0RGVjKCkpXHJcbiAgICAgIHBhdHRlcm5TdHIuQXBwZW5kRm9ybWF0KCcoXFxcXC5cXFxcZHsxLHswfX0pPycsIHBpYy5nZXREZWMoKSk7XHJcbiAgICBwYXR0ZXJuU3RyLkFwcGVuZCgnJCcpO1xyXG5cclxuICAgIHJldHVybiBwYXR0ZXJuU3RyLlRvU3RyaW5nKCk7XHJcbiB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuIGlzUGF0dGVybkdlbmVyYXRpb25OZWVkZWQgKGF0dHIgOiBTdG9yYWdlQXR0cmlidXRlLCBwaWMgOiBQSUMpOiBib29sZWFuIHtcclxuXHJcbiAgIHN3aXRjaCAoYXR0cikge1xyXG4gICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDOlxyXG4gICAgICAgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQTpcclxuICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERTpcclxuICAgICAgIHJldHVybiAocGljLmdldE1hc2tDaGFycygpID4gMCkgPyB0cnVlIDogZmFsc2U7XHJcbiAgIH1cclxuIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZ2VuZXJhdGUgcGF0dGVybiBmb3IgQWxwaGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gZ2VuZXJhdGVQYXR0ZXJuRm9yQWxwaGEocGljIDogUElDKTogc3RyaW5nIHtcclxuICBsZXQgY250OiBudW1iZXIgPSAwO1xyXG4gIGxldCBpbnB1dEFsbENoYXJzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbGV0IGNsb3NlU2V0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgbGV0ICBtYXNrOiBzdHJpbmcgPSBwaWMuZ2V0TWFzaygpO1xyXG4gIGxldCAgcGF0dGVybjogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gIHBhdHRlcm4uQXBwZW5kKCdeJyk7XHJcbiAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IG1hc2subGVuZ3RoOylcclxuICB7XHJcbiAgICAvL3N0YXJ0IG5ldyBzdWJzZXQgLCBpZiBtYXNrW2ldIGlzIG9uZSBvZiB0aGVzZS5cclxuICAgIGlmIChpbnB1dEFsbENoYXJzICYmIChtYXNrLmNoYXJDb2RlQXQoaSkgPT0gUElDSW50ZXJmYWNlLlBJQ19OIHx8IG1hc2suY2hhckNvZGVBdChpKSA9PSBQSUNJbnRlcmZhY2UuUElDX1UgfHwgbWFzay5jaGFyQ29kZUF0KGkpID09IFBJQ0ludGVyZmFjZS5QSUNfTFxyXG4gICAgICAgIHx8IG1hc2suY2hhckNvZGVBdChpKSA9PSBQSUNJbnRlcmZhY2UuUElDX1gpKVxyXG4gICAge1xyXG4gICAgICBwYXR0ZXJuLkFwcGVuZCgnKCcpO1xyXG4gICAgICBjbG9zZVNldCA9IHRydWU7XHJcbiAgICAgIGlucHV0QWxsQ2hhcnMgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjbnQgPSAwO1xyXG4gICAgc3dpdGNoIChtYXNrLmNoYXJDb2RlQXQoaSkpXHJcbiAgICB7XHJcbiAgICAgIGNhc2UgUElDSW50ZXJmYWNlLlBJQ19VOlxyXG4gICAgICBjYXNlIFBJQ0ludGVyZmFjZS5QSUNfWDpcclxuICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX0w6XHJcbiAgICAgIHtcclxuICAgICAgICBwYXR0ZXJuLkFwcGVuZCgnLicpO1xyXG4gICAgICAgIGxldCBpbnB1dEFsbENoYXJzUmVmOiBSZWZQYXJhbTxib29sZWFuPiA9IG5ldyBSZWZQYXJhbTxib29sZWFuPihmYWxzZSk7XHJcbiAgICAgICAgbGV0IGRpcnM6IHN0cmluZyA9ICBQSUNJbnRlcmZhY2UuUElDX1UudG9TdHJpbmcoKTtcclxuICAgICAgICBkaXJzICs9IFBJQ0ludGVyZmFjZS5QSUNfTC50b1N0cmluZygpO1xyXG4gICAgICAgIGRpcnMgKz0gUElDSW50ZXJmYWNlLlBJQ19YLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgY250ID0gdGhpcy5nZXREaXJlY3RpdmVDb3VudChtYXNrLCBpLCBkaXJzLCBpbnB1dEFsbENoYXJzUmVmKTtcclxuICAgICAgICBpbnB1dEFsbENoYXJzID0gaW5wdXRBbGxDaGFyc1JlZi52YWx1ZTtcclxuICAgICAgICBpICs9IGNudDtcclxuXHJcbiAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBQSUNJbnRlcmZhY2UuUElDX046XHJcbiAgICAgIHtcclxuICAgICAgICBwYXR0ZXJuLkFwcGVuZCgnXFxcXGQnKTtcclxuICAgICAgICBsZXQgaW5wdXRBbGxDaGFyc1JlZjogUmVmUGFyYW08Ym9vbGVhbj4gPSBuZXcgUmVmUGFyYW08Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgICAgIGNudCA9IHRoaXMuZ2V0RGlyZWN0aXZlQ291bnQobWFzaywgaSwgUElDSW50ZXJmYWNlLlBJQ19MLnRvU3RyaW5nKCksIGlucHV0QWxsQ2hhcnNSZWYpO1xyXG4gICAgICAgIGlucHV0QWxsQ2hhcnMgPSBpbnB1dEFsbENoYXJzUmVmLnZhbHVlO1xyXG4gICAgICAgIGkgKz0gY250O1xyXG4gICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHBhdHRlcm4uQXBwZW5kKG1hc2tbaV0pO1xyXG4gICAgICAgIGkrKztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGlmIChjbnQgPiAwKVxyXG4gICAgICBwYXR0ZXJuLkFwcGVuZEZvcm1hdCgne3swfSx7MX19JywgaW5wdXRBbGxDaGFycyA/IGNudCA6IDAsIGNudCk7XHJcbiAgICBpZiAoY2xvc2VTZXQpXHJcbiAgICAgIHBhdHRlcm4uQXBwZW5kKCcpJyk7XHJcbiAgICBjbG9zZVNldCA9IGZhbHNlO1xyXG5cclxuICB9XHJcbiAgIHBhdHRlcm4uQXBwZW5kKCckJyk7XHJcbiAgIHJldHVybiBwYXR0ZXJuLlRvU3RyaW5nKCk7XHJcbiB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBnZXREaXJlY3RpdmVDb3VudChtYXNrOiBzdHJpbmcsIGlkeDogbnVtYmVyLCBwYXR0ZXJuOiBzdHJpbmcsIGNoYW5nZUluUGF0dGVybjogUmVmUGFyYW08Ym9vbGVhbj4gKTogbnVtYmVyICB7XHJcblxyXG4gICAgY2hhbmdlSW5QYXR0ZXJuLnZhbHVlID0gZmFsc2U7XHJcbiAgICBsZXQgcGF0dGVybkNvdW50OiBudW1iZXIgPSAwO1xyXG5cclxuICAgIC8vIGZpbmQgbWF4IGNoYXJzXHJcbiAgICB3aGlsZSAoaWR4IDwgbWFzay5sZW5ndGggJiYgdGhpcy5Jc1BhdHRlcm5NYXRjaGVzKG1hc2suY2hhckNvZGVBdChpZHgpLnRvU3RyaW5nKCksIHBhdHRlcm4pKVxyXG4gICAgeyBwYXR0ZXJuQ291bnQrKzsgaWR4Kys7IH1cclxuXHJcblxyXG4gICAgaWYgKGlkeCA8IG1hc2subGVuZ3RoKVxyXG4gICAgICBjaGFuZ2VJblBhdHRlcm4udmFsdWUgPSB0cnVlO1xyXG5cclxuICAgIHJldHVybiBwYXR0ZXJuQ291bnQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgSXNQYXR0ZXJuTWF0Y2hlcyhtYXNrOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGZvciAobGV0IGk6bnVtYmVyID0gMDsgaSA8IHBhdHRlcm4ubGVuZ3RoOyBpKyspXHJcbiAgICBpZiAobWFzayA9PSBwYXR0ZXJuW2ldKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -93,7 +93,7 @@ MagicOverlayContainerWrapper.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlay
|
|
93
93
|
i0.ɵɵelementEnd();
|
94
94
|
i0.ɵɵelement(6, "div", 5);
|
95
95
|
i0.ɵɵelementEnd();
|
96
|
-
} }, directives: [i3.MagicFocusDirective, i4.MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;
|
96
|
+
} }, directives: [i3.MagicFocusDirective, i4.MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;z-index:999;inset:0}"] });
|
97
97
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainerWrapper, [{
|
98
98
|
type: Component,
|
99
99
|
args: [{
|
@@ -123,7 +123,7 @@ MagicOverlayContainer.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContain
|
|
123
123
|
i0.ɵɵproperty("ngIf", ctx.getShowTitleBar());
|
124
124
|
i0.ɵɵadvance(1);
|
125
125
|
i0.ɵɵproperty("ngStyle", ctx.getClientAreaStyles());
|
126
|
-
} }, directives: [i1.NgIf, i1.NgStyle, i2.MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;
|
126
|
+
} }, directives: [i1.NgIf, i1.NgStyle, i2.MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#fff}.modal-background[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header[_ngcontent-%COMP%]{background-color:beige;border-bottom:2px solid red}"] });
|
127
127
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainer, [{
|
128
128
|
type: Component,
|
129
129
|
args: [{ selector: 'app-magic-overlay-container', template: `
|
@@ -142,7 +142,7 @@ MagicOverlayContainer.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContain
|
|
142
142
|
</div>
|
143
143
|
</div>
|
144
144
|
</div>
|
145
|
-
`, styles: [".modal-foreground{position:fixed;
|
145
|
+
`, styles: [".modal-foreground{position:fixed;inset:0;background-color:#fff}.modal-background{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header{background-color:beige;border-bottom:2px solid red}\n"] }]
|
146
146
|
}], function () { return [{ type: i0.ComponentFactoryResolver }]; }, { headerElementRef: [{
|
147
147
|
type: ViewChild,
|
148
148
|
args: ['modalheader', { static: false }]
|
@@ -163,7 +163,7 @@ MagicShellComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicShellComponent,
|
|
163
163
|
i0.ɵɵproperty("ngIf", ctx.RootComponent !== null);
|
164
164
|
i0.ɵɵadvance(3);
|
165
165
|
i0.ɵɵproperty("ngIf", ctx.showSpinner);
|
166
|
-
} }, directives: [i8.NgIf, i9.DynamicComponent, i9.DynamicIoDirective, i10.MagicViewContainerRef, i8.NgTemplateOutlet], styles: [".mgSpinnerClass[_ngcontent-%COMP%]{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;
|
166
|
+
} }, directives: [i8.NgIf, i9.DynamicComponent, i9.DynamicIoDirective, i10.MagicViewContainerRef, i8.NgTemplateOutlet], styles: [".mgSpinnerClass[_ngcontent-%COMP%]{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;inset:0;width:100px;height:100px;animation:spin 2s linear infinite}.spinner-background[_ngcontent-%COMP%]{position:fixed;z-index:1000;inset:0;opacity:.5}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"] });
|
167
167
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicShellComponent, [{
|
168
168
|
type: Component,
|
169
169
|
args: [{
|
@@ -10,14 +10,14 @@ import * as i3 from 'ng-dynamic-component';
|
|
10
10
|
import { DynamicModule } from 'ng-dynamic-component';
|
11
11
|
import { InteractiveCommandType, OverlayType, Styles, HtmlProperties, GuiConstants, CommandType, PIC, GuiEnvironment, Modifiers } from '@magic-xpa/gui';
|
12
12
|
import { MagicBridge, getGuiEventObj, CookieService } from '@magic-xpa/engine';
|
13
|
-
import { MagicProperties, Logger, StrUtil, StorageAttribute, BindingLevel, StorageAttributeType, MgControlType
|
13
|
+
import { MagicProperties, Logger, StrUtil, StorageAttribute, PICInterface, BindingLevel, StorageAttributeType, MgControlType } from '@magic-xpa/utils';
|
14
14
|
import { filter, map, debounceTime } from 'rxjs/operators';
|
15
15
|
import { Subject, fromEvent } from 'rxjs';
|
16
16
|
import { __awaiter, __decorate, __metadata } from 'tslib';
|
17
17
|
import * as i1$1 from '@angular/platform-browser';
|
18
18
|
import * as i1$2 from '@angular/common/http';
|
19
19
|
import { HttpClientModule } from '@angular/common/http';
|
20
|
-
import { NativeDateAdapter, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
20
|
+
import { NativeDateAdapter, MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
21
21
|
import * as i1$3 from '@angular/cdk/platform';
|
22
22
|
|
23
23
|
class ControlMetadata {
|
@@ -993,7 +993,7 @@ MagicOverlayContainerWrapper.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlay
|
|
993
993
|
i0.ɵɵelement(6, "div", 5);
|
994
994
|
i0.ɵɵelementEnd();
|
995
995
|
}
|
996
|
-
}, directives: [MagicFocusDirective, MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;
|
996
|
+
}, directives: [MagicFocusDirective, MagicViewContainerRef], styles: [".overlay-container-wrapper-background[_ngcontent-%COMP%]{position:fixed;z-index:999;inset:0}"] });
|
997
997
|
(function () {
|
998
998
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainerWrapper, [{
|
999
999
|
type: Component,
|
@@ -1206,7 +1206,7 @@ MagicOverlayContainer.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContain
|
|
1206
1206
|
i0.ɵɵadvance(1);
|
1207
1207
|
i0.ɵɵproperty("ngStyle", ctx.getClientAreaStyles());
|
1208
1208
|
}
|
1209
|
-
}, directives: [i1.NgIf, i1.NgStyle, MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;
|
1209
|
+
}, directives: [i1.NgIf, i1.NgStyle, MagicViewContainerRef], styles: [".modal-foreground[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#fff}.modal-background[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header[_ngcontent-%COMP%]{background-color:beige;border-bottom:2px solid red}"] });
|
1210
1210
|
(function () {
|
1211
1211
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicOverlayContainer, [{
|
1212
1212
|
type: Component,
|
@@ -1226,7 +1226,7 @@ MagicOverlayContainer.ɵcmp = i0.ɵɵdefineComponent({ type: MagicOverlayContain
|
|
1226
1226
|
</div>
|
1227
1227
|
</div>
|
1228
1228
|
</div>
|
1229
|
-
`, styles: [".modal-foreground{position:fixed;
|
1229
|
+
`, styles: [".modal-foreground{position:fixed;inset:0;background-color:#fff}.modal-background{position:fixed;inset:0;background-color:#000;opacity:.75}.modal-header{background-color:beige;border-bottom:2px solid red}\n"] }]
|
1230
1230
|
}], function () { return [{ type: i0.ComponentFactoryResolver }]; }, { headerElementRef: [{
|
1231
1231
|
type: ViewChild,
|
1232
1232
|
args: ['modalheader', { static: false }]
|
@@ -2021,7 +2021,7 @@ class TaskMagicService {
|
|
2021
2021
|
return val;
|
2022
2022
|
}
|
2023
2023
|
case StorageAttribute.NUMERIC:
|
2024
|
-
return val;
|
2024
|
+
return +val;
|
2025
2025
|
default:
|
2026
2026
|
return val;
|
2027
2027
|
}
|
@@ -2409,9 +2409,9 @@ class AccessorMagicService {
|
|
2409
2409
|
let properties;
|
2410
2410
|
properties = this.task.Records.list[0].getControlMetadata(controlId);
|
2411
2411
|
if (properties.properties.get(HtmlProperties.ReadOnly) !== null && properties.properties.get(HtmlProperties.ReadOnly) === true)
|
2412
|
-
return false;
|
2413
|
-
else
|
2414
2412
|
return true;
|
2413
|
+
else
|
2414
|
+
return false;
|
2415
2415
|
}
|
2416
2416
|
getText(controlId, rowId) {
|
2417
2417
|
return this.task.getProperty(controlId, HtmlProperties.Text, rowId);
|
@@ -2441,6 +2441,29 @@ class AccessorMagicService {
|
|
2441
2441
|
let vis = this.getProperty(controlId, HtmlProperties.Visible, rowId);
|
2442
2442
|
return vis ? 'visible' : 'hidden';
|
2443
2443
|
}
|
2444
|
+
getAlphaMask(controlId, rowId) {
|
2445
|
+
if (isNullOrUndefined(controlId))
|
2446
|
+
return null;
|
2447
|
+
let pic = this.task.GetControlPictureMask(controlId);
|
2448
|
+
let mask = pic.getMask();
|
2449
|
+
let valueStr = new StringBuilder();
|
2450
|
+
for (let i = 0; i < mask.length; i++) {
|
2451
|
+
switch (mask.charCodeAt(i)) {
|
2452
|
+
case PICInterface.PIC_N:
|
2453
|
+
valueStr.Append("0");
|
2454
|
+
break;
|
2455
|
+
case PICInterface.PIC_U:
|
2456
|
+
case PICInterface.PIC_L:
|
2457
|
+
case PICInterface.PIC_X:
|
2458
|
+
valueStr.Append("A");
|
2459
|
+
break;
|
2460
|
+
default:
|
2461
|
+
valueStr.Append(mask.charAt(i));
|
2462
|
+
break;
|
2463
|
+
}
|
2464
|
+
}
|
2465
|
+
return (pic != null) ? valueStr.toString() : null;
|
2466
|
+
}
|
2444
2467
|
getNumericPicture(picture) {
|
2445
2468
|
var obj = {};
|
2446
2469
|
if (isNullOrUndefined(picture))
|
@@ -2622,7 +2645,7 @@ class AccessorMagicService {
|
|
2622
2645
|
if (c.hasError('maxlength'))
|
2623
2646
|
return 'Max length allowed is : ' + c.errors.maxlength.requiredLength;
|
2624
2647
|
if (c.hasError('max'))
|
2625
|
-
return 'Max value
|
2648
|
+
return 'Max value allowed is : ' + c.errors.max.max;
|
2626
2649
|
let controlMetadata = this.task.Records.list[rowId].getControlMetadata(id);
|
2627
2650
|
for (let key of controlMetadata.customValidators.keys()) {
|
2628
2651
|
if (c.hasError(key)) {
|
@@ -3009,15 +3032,15 @@ class MagicDirective {
|
|
3009
3032
|
}
|
3010
3033
|
handleSetProperty(command) {
|
3011
3034
|
switch (command.Operation) {
|
3012
|
-
case HtmlProperties.ReadOnly:
|
3013
|
-
|
3014
|
-
if (command.
|
3015
|
-
|
3016
|
-
|
3017
|
-
|
3035
|
+
case HtmlProperties.ReadOnly:
|
3036
|
+
{
|
3037
|
+
if (command.obj.Type == MgControlType.CTRL_TYPE_TEXT)
|
3038
|
+
if (command.obj1 != true)
|
3039
|
+
this.renderer.removeAttribute(this.htmlElement, command.Operation);
|
3040
|
+
else
|
3041
|
+
this.renderer.setAttribute(this.htmlElement, command.Operation, command.str);
|
3018
3042
|
}
|
3019
3043
|
break;
|
3020
|
-
}
|
3021
3044
|
}
|
3022
3045
|
}
|
3023
3046
|
ngOnDestroy() {
|
@@ -3348,6 +3371,25 @@ class MgformatMagicDirective {
|
|
3348
3371
|
}
|
3349
3372
|
}
|
3350
3373
|
onFocusEvent($event) {
|
3374
|
+
this.calculatePattern();
|
3375
|
+
}
|
3376
|
+
onInputEvent($event) {
|
3377
|
+
this.calculatePattern();
|
3378
|
+
}
|
3379
|
+
onChangeEvent($event) {
|
3380
|
+
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
3381
|
+
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
3382
|
+
switch (attr) {
|
3383
|
+
case StorageAttribute.ALPHA:
|
3384
|
+
case StorageAttribute.UNICODE:
|
3385
|
+
this.formatAlphaUnicode(control);
|
3386
|
+
break;
|
3387
|
+
case StorageAttribute.BOOLEAN:
|
3388
|
+
this.formatBoolean(control);
|
3389
|
+
break;
|
3390
|
+
}
|
3391
|
+
}
|
3392
|
+
calculatePattern() {
|
3351
3393
|
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
3352
3394
|
if (control != null) {
|
3353
3395
|
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
@@ -3364,26 +3406,22 @@ class MgformatMagicDirective {
|
|
3364
3406
|
if (attr == StorageAttribute.ALPHA || attr == StorageAttribute.UNICODE) {
|
3365
3407
|
if (control.validator == null)
|
3366
3408
|
control.setValidators(Validators.maxLength(pic.getMaskLength()));
|
3367
|
-
else
|
3368
|
-
|
3409
|
+
else {
|
3410
|
+
if (pic.isFormatExp()) {
|
3411
|
+
control.setValidators(Validators.maxLength(pic.getMaskLength()));
|
3412
|
+
if (isUndefined(this.magicDir.rowId))
|
3413
|
+
this.magicDir.rowId = '0';
|
3414
|
+
control.setValidators([control.validator, this._task.customValidator(this.magicDir.rowId, this.magicDir.id)]);
|
3415
|
+
}
|
3416
|
+
else
|
3417
|
+
control.setValidators([control.validator, Validators.maxLength(pic.getMaskLength())]);
|
3418
|
+
}
|
3419
|
+
control.updateValueAndValidity();
|
3369
3420
|
}
|
3370
3421
|
}
|
3371
3422
|
}
|
3372
3423
|
}
|
3373
3424
|
}
|
3374
|
-
onChangeEvent($event) {
|
3375
|
-
let control = this._task.getFormControl(this.magicDir.rowId, this.magicDir.id);
|
3376
|
-
let attr = this._task.Records.list[0].getControlMetadata(this.magicDir.id).dataType;
|
3377
|
-
switch (attr) {
|
3378
|
-
case StorageAttribute.ALPHA:
|
3379
|
-
case StorageAttribute.UNICODE:
|
3380
|
-
this.formatAlphaUnicode(control);
|
3381
|
-
break;
|
3382
|
-
case StorageAttribute.BOOLEAN:
|
3383
|
-
this.formatBoolean(control);
|
3384
|
-
break;
|
3385
|
-
}
|
3386
|
-
}
|
3387
3425
|
formatDate(pic) {
|
3388
3426
|
let mgDateFormatter = new MgDateFormatter();
|
3389
3427
|
this._task.mgInputDateFormat = mgDateFormatter.ConvertMgDateFormatToAngular(pic.getMask());
|
@@ -3533,7 +3571,7 @@ class MgformatMagicDirective {
|
|
3533
3571
|
MgformatMagicDirective.ɵfac = function MgformatMagicDirective_Factory(t) { return new (t || MgformatMagicDirective)(i0.ɵɵdirectiveInject(MagicDirective), i0.ɵɵdirectiveInject(TaskMagicService)); };
|
3534
3572
|
MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirective, selectors: [["", "mgFormat", ""]], hostBindings: function MgformatMagicDirective_HostBindings(rf, ctx) {
|
3535
3573
|
if (rf & 1) {
|
3536
|
-
i0.ɵɵlistener("focus", function MgformatMagicDirective_focus_HostBindingHandler($event) { return ctx.onFocusEvent($event); })("change", function MgformatMagicDirective_change_HostBindingHandler($event) { return ctx.onChangeEvent($event); });
|
3574
|
+
i0.ɵɵlistener("focus", function MgformatMagicDirective_focus_HostBindingHandler($event) { return ctx.onFocusEvent($event); })("input", function MgformatMagicDirective_input_HostBindingHandler($event) { return ctx.onInputEvent($event); })("change", function MgformatMagicDirective_change_HostBindingHandler($event) { return ctx.onChangeEvent($event); });
|
3537
3575
|
}
|
3538
3576
|
} });
|
3539
3577
|
(function () {
|
@@ -3545,6 +3583,9 @@ MgformatMagicDirective.ɵdir = i0.ɵɵdefineDirective({ type: MgformatMagicDirec
|
|
3545
3583
|
}], function () { return [{ type: MagicDirective }, { type: TaskMagicService }]; }, { onFocusEvent: [{
|
3546
3584
|
type: HostListener,
|
3547
3585
|
args: ['focus', ['$event']]
|
3586
|
+
}], onInputEvent: [{
|
3587
|
+
type: HostListener,
|
3588
|
+
args: ['input', ['$event']]
|
3548
3589
|
}], onChangeEvent: [{
|
3549
3590
|
type: HostListener,
|
3550
3591
|
args: ['change', ['$event']]
|
@@ -4056,7 +4097,7 @@ MagicShellComponent.ɵcmp = i0.ɵɵdefineComponent({ type: MagicShellComponent,
|
|
4056
4097
|
i0.ɵɵadvance(3);
|
4057
4098
|
i0.ɵɵproperty("ngIf", ctx.showSpinner);
|
4058
4099
|
}
|
4059
|
-
}, directives: [i1.NgIf, i3.DynamicComponent, i3.DynamicIoDirective, MagicViewContainerRef, i1.NgTemplateOutlet], styles: [".mgSpinnerClass[_ngcontent-%COMP%]{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;
|
4100
|
+
}, directives: [i1.NgIf, i3.DynamicComponent, i3.DynamicIoDirective, MagicViewContainerRef, i1.NgTemplateOutlet], styles: [".mgSpinnerClass[_ngcontent-%COMP%]{border:10px solid #cccccc;border-top:10px solid black;border-radius:50%;position:fixed;margin:auto;inset:0;width:100px;height:100px;animation:spin 2s linear infinite}.spinner-background[_ngcontent-%COMP%]{position:fixed;z-index:1000;inset:0;opacity:.5}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"] });
|
4060
4101
|
(function () {
|
4061
4102
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicShellComponent, [{
|
4062
4103
|
type: Component,
|
@@ -4481,11 +4522,13 @@ const MG_FORMATS = {
|
|
4481
4522
|
}
|
4482
4523
|
};
|
4483
4524
|
class MgDateAdapter extends NativeDateAdapter {
|
4484
|
-
constructor(platform, task) {
|
4485
|
-
super(
|
4525
|
+
constructor(platform, task, localeId) {
|
4526
|
+
super(localeId, platform);
|
4486
4527
|
this.platform = platform;
|
4487
4528
|
this.task = task;
|
4529
|
+
this.localeId = localeId;
|
4488
4530
|
this.mgdtfmt = null;
|
4531
|
+
this.setLocale(localeId);
|
4489
4532
|
}
|
4490
4533
|
parse(value) {
|
4491
4534
|
let valueStr = value;
|
@@ -4545,7 +4588,7 @@ class MgDateAdapter extends NativeDateAdapter {
|
|
4545
4588
|
}
|
4546
4589
|
if (month == 0 && year == 0 && date == 0)
|
4547
4590
|
return null;
|
4548
|
-
return new Date(
|
4591
|
+
return new Date(year, month, date);
|
4549
4592
|
}
|
4550
4593
|
}
|
4551
4594
|
format(date, displayFormat) {
|
@@ -4561,12 +4604,17 @@ class MgDateAdapter extends NativeDateAdapter {
|
|
4561
4604
|
}
|
4562
4605
|
}
|
4563
4606
|
}
|
4564
|
-
MgDateAdapter.ɵfac = function MgDateAdapter_Factory(t) { return new (t || MgDateAdapter)(i0.ɵɵinject(i1$3.Platform), i0.ɵɵinject(TaskMagicService)); };
|
4607
|
+
MgDateAdapter.ɵfac = function MgDateAdapter_Factory(t) { return new (t || MgDateAdapter)(i0.ɵɵinject(i1$3.Platform), i0.ɵɵinject(TaskMagicService), i0.ɵɵinject(MAT_DATE_LOCALE)); };
|
4565
4608
|
MgDateAdapter.ɵprov = i0.ɵɵdefineInjectable({ token: MgDateAdapter, factory: MgDateAdapter.ɵfac });
|
4566
4609
|
(function () {
|
4567
4610
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MgDateAdapter, [{
|
4568
4611
|
type: Injectable
|
4569
|
-
}], function () {
|
4612
|
+
}], function () {
|
4613
|
+
return [{ type: i1$3.Platform }, { type: TaskMagicService }, { type: undefined, decorators: [{
|
4614
|
+
type: Inject,
|
4615
|
+
args: [MAT_DATE_LOCALE]
|
4616
|
+
}] }];
|
4617
|
+
}, null);
|
4570
4618
|
})();
|
4571
4619
|
|
4572
4620
|
const matDateProviders = [
|