@onemrvapublic/design-system 18.2.13 → 18.2.14-develop.2
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/assets/i18n/de.json +6 -6
- package/assets/i18n/nl.json +6 -6
- package/esm2022/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.mjs +43 -32
- package/esm2022/mat-stepper/src/onemrva-mat-stepper.component.mjs +26 -2
- package/esm2022/shared/src/lib/adapters/date.adapter.mjs +2 -2
- package/esm2022/shared/src/lib/adapters/year-month.adapter.mjs +3 -5
- package/esm2022/shared/src/lib/constants/date.format.mjs +1 -13
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs +42 -31
- package/fesm2022/onemrvapublic-design-system-mat-file-upload.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs +25 -1
- package/fesm2022/onemrvapublic-design-system-mat-stepper.mjs.map +1 -1
- package/fesm2022/onemrvapublic-design-system-shared.mjs +17 -31
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/mat-file-upload/src/components/onemrva-mat-file-upload/onemrva-mat-file-upload.component.d.ts +2 -1
- package/mat-stepper/src/onemrva-mat-stepper.component.d.ts +6 -2
- package/package.json +1 -1
- package/shared/src/lib/constants/date.format.d.ts +1 -12
package/assets/i18n/de.json
CHANGED
|
@@ -74,12 +74,12 @@
|
|
|
74
74
|
"invalid": "Feld erforderlich"
|
|
75
75
|
},
|
|
76
76
|
"phone": {
|
|
77
|
-
"required": "
|
|
78
|
-
"invalid": "
|
|
79
|
-
"notFound": "
|
|
80
|
-
"search": "
|
|
81
|
-
"label": "
|
|
82
|
-
"hint": "
|
|
77
|
+
"required": "Feld erforderlich",
|
|
78
|
+
"invalid": "Ungültiges Feld",
|
|
79
|
+
"notFound": "Nicht gefunden",
|
|
80
|
+
"search": "Suchen",
|
|
81
|
+
"label": "Telefonnummer",
|
|
82
|
+
"hint": "Beginnen Sie mit 0 für belgische Telefonnummern"
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
"copied.to.clipboard": "In Zwischenablage kopiert",
|
package/assets/i18n/nl.json
CHANGED
|
@@ -73,12 +73,12 @@
|
|
|
73
73
|
"invalid": "Veld verplicht"
|
|
74
74
|
},
|
|
75
75
|
"phone": {
|
|
76
|
-
"required": "
|
|
77
|
-
"invalid": "
|
|
78
|
-
"notFound": "
|
|
79
|
-
"search": "
|
|
80
|
-
"label": "
|
|
81
|
-
"hint": "
|
|
76
|
+
"required": "Veld vereist",
|
|
77
|
+
"invalid": "Ongeldig veld",
|
|
78
|
+
"notFound": "Niet gevonden",
|
|
79
|
+
"search": "Zoeken",
|
|
80
|
+
"label": "Telefoonnummer",
|
|
81
|
+
"hint": "Begin met 0 voor Belgische telefoonnummers"
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
"copied.to.clipboard": "Naar klembord gekopieerd",
|
|
@@ -21,6 +21,7 @@ export class OnemrvaMatFileUploadComponent {
|
|
|
21
21
|
this.accept = [];
|
|
22
22
|
this.maxFileSize = 0;
|
|
23
23
|
this.numberOfFiles = 0;
|
|
24
|
+
this.maxTotalFileSize = 0;
|
|
24
25
|
this.uploadOnDrop = true;
|
|
25
26
|
this.initialFiles = [];
|
|
26
27
|
this.errorMessage = '';
|
|
@@ -68,46 +69,54 @@ export class OnemrvaMatFileUploadComponent {
|
|
|
68
69
|
* @param files (Files List)
|
|
69
70
|
*/
|
|
70
71
|
prepareFilesList(files) {
|
|
71
|
-
this.fileUploadStore.files$.pipe(take(1)).subscribe(
|
|
72
|
-
// if numberOffiles is set and the total length of files is
|
|
72
|
+
this.fileUploadStore.files$.pipe(take(1)).subscribe(currentFiles => {
|
|
73
|
+
// if numberOffiles is set and the total length of files is smal
|
|
74
|
+
// ler than it
|
|
73
75
|
if (this.numberOfFiles > 0 &&
|
|
74
|
-
files.length +
|
|
76
|
+
files.length + currentFiles.length > this.numberOfFiles) {
|
|
75
77
|
// too many files
|
|
76
78
|
this.errorMessage = this.translate.instant('file.upload.too.many.files');
|
|
79
|
+
return;
|
|
77
80
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (file === null)
|
|
85
|
-
continue;
|
|
86
|
-
const item = {
|
|
87
|
-
file,
|
|
88
|
-
progress: 0,
|
|
89
|
-
message: '',
|
|
90
|
-
color: 'primary',
|
|
91
|
-
url: null,
|
|
92
|
-
id: null,
|
|
93
|
-
enableProgressBar: this.uploadOnDrop,
|
|
94
|
-
name: file.name,
|
|
95
|
-
lastModified: file.lastModified,
|
|
96
|
-
size: file.size,
|
|
97
|
-
type: file.type,
|
|
98
|
-
};
|
|
99
|
-
fs.push(item);
|
|
81
|
+
if (this.maxTotalFileSize > 0) {
|
|
82
|
+
const total = Object.values(files).reduce((sum, obj) => sum + obj.size, 0) +
|
|
83
|
+
currentFiles.reduce((sum, obj) => sum + obj.size, 0);
|
|
84
|
+
if (total > this.maxTotalFileSize) {
|
|
85
|
+
this.errorMessage = this.translate.instant('file.upload.total.max.size.exceeded');
|
|
86
|
+
return;
|
|
100
87
|
}
|
|
101
|
-
if (this.uploadOnDrop)
|
|
102
|
-
this.fileUploadStore.uploadFiles(fs);
|
|
103
|
-
else
|
|
104
|
-
this.fileUploadStore.addSeveralForPotentialUpload(fs);
|
|
105
|
-
this.fileDropRef.nativeElement.value = null;
|
|
106
88
|
}
|
|
89
|
+
// clear error message
|
|
90
|
+
this.errorMessage = '';
|
|
91
|
+
const fs = [];
|
|
92
|
+
for (let i = 0; i < files.length; i++) {
|
|
93
|
+
const file = files.item(i);
|
|
94
|
+
if (file === null)
|
|
95
|
+
continue;
|
|
96
|
+
const item = {
|
|
97
|
+
file,
|
|
98
|
+
progress: 0,
|
|
99
|
+
message: '',
|
|
100
|
+
color: 'primary',
|
|
101
|
+
url: null,
|
|
102
|
+
id: null,
|
|
103
|
+
enableProgressBar: this.uploadOnDrop,
|
|
104
|
+
name: file.name,
|
|
105
|
+
lastModified: file.lastModified,
|
|
106
|
+
size: file.size,
|
|
107
|
+
type: file.type,
|
|
108
|
+
};
|
|
109
|
+
fs.push(item);
|
|
110
|
+
}
|
|
111
|
+
if (this.uploadOnDrop)
|
|
112
|
+
this.fileUploadStore.uploadFiles(fs);
|
|
113
|
+
else
|
|
114
|
+
this.fileUploadStore.addSeveralForPotentialUpload(fs);
|
|
115
|
+
this.fileDropRef.nativeElement.value = null;
|
|
107
116
|
});
|
|
108
117
|
}
|
|
109
118
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaMatFileUploadComponent, deps: [{ token: i1.MatDialog }, { token: i2.OnemRvaCDNMimeService }, { token: i3.TranslateService }, { token: i4.OnemrvaMatFileUploadStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: OnemrvaMatFileUploadComponent, selector: "onemrva-mat-file-upload", inputs: { accept: "accept", maxFileSize: "maxFileSize", numberOfFiles: "numberOfFiles", uploadOnDrop: "uploadOnDrop", initialFiles: "initialFiles", errorMessage: "errorMessage", dropFilesHereTextTranslationKey: "dropFilesHereTextTranslationKey", filePanelTemplate: "filePanelTemplate", dataCy: "dataCy" }, host: { properties: { "attr.data-cy": "this.dataCy" } }, viewQueries: [{ propertyName: "fileDropRef", first: true, predicate: ["fileDropRef"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"files$ | async as files\">\n <div\n class=\"onemrva-mat-file-upload-drop-area\"\n appDnd\n (fileDropped)=\"onFileDropped($event)\"\n [ngClass]=\"{\n 'fu-error': errorMessage !== '',\n filein: files.length > 0,\n }\"\n >\n <input\n type=\"file\"\n #fileDropRef\n [attr.id]=\"inputId\"\n role=\"button\"\n multiple\n (change)=\"fileBrowseHandler($event)\"\n accept=\"{{ acceptString$ | async }}\"\n />\n <div\n class=\"download-outer\"\n *ngIf=\"numberOfFiles === 0 || numberOfFiles > files.length\"\n >\n <div class=\"download-icon\">\n <mat-icon class=\"onemrva-upload xxlarge\">download</mat-icon>\n </div>\n\n <div class=\"download-text\">\n {{ dropFilesHereTextTranslationKey | translate }}\n {{ 'file.upload.or' | translate }}\n <label for=\"{{ inputId }}\" class=\"content\">\n {{ 'file.upload.browse.for.file' | translate }} </label\n ><br />\n <span class=\"restrictions\" *ngIf=\"maxFileSize > 0\">\n {{ 'file.upload.maximum' | translate }}\n {{ maxFileSizeFormatted }}\n\n <span *ngIf=\"accept.length > 0\">{{ '| ' }}</span>\n\n {{ acceptString$ | async }}\n </span>\n </div>\n </div>\n <ul class=\"files-list\">\n <li *ngFor=\"let file of files\">\n <ng-container\n *ngTemplateOutlet=\"\n filePanelTemplate;\n context: { file, $implicit: file }\n \"\n ></ng-container>\n </li>\n </ul>\n </div>\n\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage | translate }}</mat-error>\n\n <mat-error *ngIf=\"fileUploadErrorMessage$ | async as fileUploadErrorMessage\">\n {{ fileUploadErrorMessage | translate }}\n </mat-error>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.DndDirective, selector: "[appDnd]", outputs: ["fileDropped"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: [
|
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: OnemrvaMatFileUploadComponent, selector: "onemrva-mat-file-upload", inputs: { accept: "accept", maxFileSize: "maxFileSize", numberOfFiles: "numberOfFiles", maxTotalFileSize: "maxTotalFileSize", uploadOnDrop: "uploadOnDrop", initialFiles: "initialFiles", errorMessage: "errorMessage", dropFilesHereTextTranslationKey: "dropFilesHereTextTranslationKey", filePanelTemplate: "filePanelTemplate", dataCy: "dataCy" }, host: { properties: { "attr.data-cy": "this.dataCy" } }, viewQueries: [{ propertyName: "fileDropRef", first: true, predicate: ["fileDropRef"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"files$ | async as files\">\n <div\n class=\"onemrva-mat-file-upload-drop-area\"\n appDnd\n (fileDropped)=\"onFileDropped($event)\"\n [ngClass]=\"{\n 'fu-error': errorMessage !== '',\n filein: files.length > 0,\n }\"\n >\n <input\n type=\"file\"\n #fileDropRef\n [attr.id]=\"inputId\"\n role=\"button\"\n multiple\n (change)=\"fileBrowseHandler($event)\"\n accept=\"{{ acceptString$ | async }}\"\n />\n <div\n class=\"download-outer\"\n *ngIf=\"numberOfFiles === 0 || numberOfFiles > files.length\"\n >\n <div class=\"download-icon\">\n <mat-icon class=\"onemrva-upload xxlarge\">download</mat-icon>\n </div>\n\n <div class=\"download-text\">\n {{ dropFilesHereTextTranslationKey | translate }}\n {{ 'file.upload.or' | translate }}\n <label for=\"{{ inputId }}\" class=\"content\">\n {{ 'file.upload.browse.for.file' | translate }} </label\n ><br />\n <span class=\"restrictions\" *ngIf=\"maxFileSize > 0\">\n {{ 'file.upload.maximum' | translate }}\n {{ maxFileSizeFormatted }}\n\n <span *ngIf=\"accept.length > 0\">{{ '| ' }}</span>\n\n {{ acceptString$ | async }}\n </span>\n </div>\n </div>\n <ul class=\"files-list\">\n <li *ngFor=\"let file of files\">\n <ng-container\n *ngTemplateOutlet=\"\n filePanelTemplate;\n context: { file, $implicit: file }\n \"\n ></ng-container>\n </li>\n </ul>\n </div>\n\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage | translate }}</mat-error>\n\n <mat-error *ngIf=\"fileUploadErrorMessage$ | async as fileUploadErrorMessage\">\n {{ fileUploadErrorMessage | translate }}\n </mat-error>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.DndDirective, selector: "[appDnd]", outputs: ["fileDropped"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: [
|
|
111
120
|
trigger('inOutAnimation', [
|
|
112
121
|
state('in', style({ opacity: 1 })),
|
|
113
122
|
transition(':enter', [
|
|
@@ -162,6 +171,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
162
171
|
type: Input
|
|
163
172
|
}], numberOfFiles: [{
|
|
164
173
|
type: Input
|
|
174
|
+
}], maxTotalFileSize: [{
|
|
175
|
+
type: Input
|
|
165
176
|
}], uploadOnDrop: [{
|
|
166
177
|
type: Input
|
|
167
178
|
}], initialFiles: [{
|
|
@@ -181,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
181
192
|
type: ViewChild,
|
|
182
193
|
args: [`fileDropRef`]
|
|
183
194
|
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1maWxlLXVwbG9hZC9zcmMvY29tcG9uZW50cy9vbmVtcnZhLW1hdC1maWxlLXVwbG9hZC9vbmVtcnZhLW1hdC1maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LWZpbGUtdXBsb2FkL3NyYy9jb21wb25lbnRzL29uZW1ydmEtbWF0LWZpbGUtdXBsb2FkL29uZW1ydmEtbWF0LWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxHQUFHLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxXQUFXLEdBR1osTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztBQUsxQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFtQ2hCLE1BQU0sT0FBTyw2QkFBNkI7SUFrRHhDLFlBQ1MsTUFBaUIsRUFDakIsT0FBOEIsRUFDN0IsU0FBMkIsRUFDM0IsZUFBMEM7UUFIM0MsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM3QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FB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O2dCQU1OLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sK0JBQStCO3NCQUQ5QixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFjQyxNQUFNO3NCQUZaLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgc3RhdGUsXG4gIGtleWZyYW1lcyxcbiAgc3R5bGUsXG4gIGFuaW1hdGUsXG4gIHRyaWdnZXIsXG4gIHRyYW5zaXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgZm9ybWF0Qnl0ZXMsXG4gIFByb2dyZXNzRmlsZSxcbiAgUmVmZXJlbmNlZFByb2dyZXNzRmlsZSxcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb2dyZXNzLWZpbGUubW9kZWwnO1xuaW1wb3J0IHsgT25lbXJ2YU1hdEZpbGVVcGxvYWRTdG9yZSB9IGZyb20gJy4uLy4uL29uZW1ydmEtbWF0LWZpbGUtdXBsb2FkLnN0b3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9uZW1SdmFDRE5NaW1lU2VydmljZSB9IGZyb20gJ0BvbmVtcnZhcHVibGljL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbmVtcnZhLW1hdC1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnb25lbXJ2YS1tYXQtZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5PdXRBbmltYXRpb24nLCBbXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLFxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgIDMwMCxcbiAgICAgICAgICBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCBvZmZzZXQ6IDAgfSksXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAuMjUsIG9mZnNldDogMC4yNSB9KSxcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMC41LCBvZmZzZXQ6IDAuNSB9KSxcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMC43NSwgb2Zmc2V0OiAwLjc1IH0pLFxuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAxLCBvZmZzZXQ6IDEgfSksXG4gICAgICAgICAgXSksXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAzMDAsXG4gICAgICAgICAga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSwgb2Zmc2V0OiAwIH0pLFxuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLjc1LCBvZmZzZXQ6IDAuMjUgfSksXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAuNSwgb2Zmc2V0OiAwLjUgfSksXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAuMjUsIG9mZnNldDogMC43NSB9KSxcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgb2Zmc2V0OiAxIH0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFNYXRGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgYWNjZXB0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGFjY2VwdFN0cmluZyQ/OiBPYnNlcnZhYmxlPGFueT47XG5cbiAgQElucHV0KClcbiAgbWF4RmlsZVNpemUgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIG51bWJlck9mRmlsZXMgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHVwbG9hZE9uRHJvcCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgaW5pdGlhbEZpbGVzOiBQcm9ncmVzc0ZpbGVbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGVycm9yTWVzc2FnZSA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGRyb3BGaWxlc0hlcmVUZXh0VHJhbnNsYXRpb25LZXkgPSAnZmlsZS51cGxvYWQuZHJhZy5hbmQuZHJvcCc7XG5cbiAgZmlsZVVwbG9hZEVycm9yTWVzc2FnZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBmaWxlcyQ6IE9ic2VydmFibGU8UmVmZXJlbmNlZFByb2dyZXNzRmlsZVtdPjtcblxuICBASW5wdXQoKSBmaWxlUGFuZWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcmV0cnlGaWxlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGluZGV4OiBudW1iZXI7IGNtcFJlZjogc3ltYm9sIH0+KCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBkYXRhLWN5YCBvZiB0aGUgZWxlbWVudC4gSWYgbm90IHNldCwgdGhlIGZpcnN0IGNvbXBvbmVudCBpbnN0YW5jZSB3aWxsIGhhdmUgYGRhdGEtY3lgID0gYFwib25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LTBcImAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LW11bHRpLXNlbGVjdCBpZD1cIm15LWZpcnN0LW11bHRpLXNlbGVjdFwiPjwvb25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0PlxuICAgKiBgYGBcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWN5JylcbiAgQElucHV0KClcbiAgcHVibGljIGRhdGFDeSA9IGBvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QtJHtORVhUX0lEKyt9YDtcblxuICBAVmlld0NoaWxkKGBmaWxlRHJvcFJlZmApXG4gIGZpbGVEcm9wUmVmITogRWxlbWVudFJlZjtcblxuICBpbnB1dElkID0gYGZpbGVEcm9wUmVmLSR7TkVYVF9JRH1gO1xuICBtYXhGaWxlU2l6ZUZvcm1hdHRlZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwdWJsaWMgbWltZUNETjogT25lbVJ2YUNETk1pbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFN0b3JlOiBPbmVtcnZhTWF0RmlsZVVwbG9hZFN0b3JlLFxuICApIHtcbiAgICB0aGlzLmZpbGVzJCA9IGZpbGVVcGxvYWRTdG9yZS5maWxlcyQ7XG5cbiAgICB0aGlzLmZpbGVVcGxvYWRFcnJvck1lc3NhZ2UkID0gdGhpcy5maWxlVXBsb2FkU3RvcmUuZmlsZVVwbG9hZEVycm9yJDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjY2VwdC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFjY2VwdFN0cmluZyQgPSB0aGlzLm1pbWVDRE5cbiAgICAgICAgLmdldEV4dGVuc2lvbnNGb3JNaW1lKHRoaXMuYWNjZXB0KVxuICAgICAgICAucGlwZShtYXAoYXJyID0+IGFyci5tYXAoaXRlbSA9PiBgLiR7aXRlbX1gKS5qb2luKCcsICcpKSk7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdG9yZS5zZXRBY2NlcHQodGhpcy5hY2NlcHQpO1xuICAgIH1cblxuICAgIHRoaXMubWF4RmlsZVNpemVGb3JtYXR0ZWQgPSBmb3JtYXRCeXRlcyh0aGlzLm1heEZpbGVTaXplKTtcbiAgICB0aGlzLmZpbGVVcGxvYWRTdG9yZS5zZXRNYXhGaWxlU2l6ZSh0aGlzLm1heEZpbGVTaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBvbiBmaWxlIGRyb3AgaGFuZGxlclxuICAgKi9cbiAgb25GaWxlRHJvcHBlZCgkZXZlbnQ6IEZpbGVMaXN0KSB7XG4gICAgdGhpcy5wcmVwYXJlRmlsZXNMaXN0KCRldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogaGFuZGxlIGZpbGUgZnJvbSBicm93c2luZ1xuICAgKi9cbiAgZmlsZUJyb3dzZUhhbmRsZXIoJGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGVsbSA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCxcbiAgICAgIGZpbGVzID0gZWxtLmZpbGVzIGFzIEZpbGVMaXN0O1xuXG4gICAgdGhpcy5wcmVwYXJlRmlsZXNMaXN0KGZpbGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IEZpbGVzIGxpc3QgdG8gbm9ybWFsIGFycmF5IGxpc3RcbiAgICogQHBhcmFtIGZpbGVzIChGaWxlcyBMaXN0KVxuICAgKi9cbiAgcHJlcGFyZUZpbGVzTGlzdChmaWxlczogRmlsZUxpc3QpIHtcbiAgICB0aGlzLmZpbGVVcGxvYWRTdG9yZS5maWxlcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgLy8gaWYgbnVtYmVyT2ZmaWxlcyBpcyBzZXQgYW5kIHRoZSB0b3RhbCBsZW5ndGggb2YgZmlsZXMgaXMgc21hbGxlciB0aGFuIGl0XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMubnVtYmVyT2ZGaWxlcyA+IDAgJiZcbiAgICAgICAgZmlsZXMubGVuZ3RoICsgdmFsdWUubGVuZ3RoID4gdGhpcy5udW1iZXJPZkZpbGVzXG4gICAgICApIHtcbiAgICAgICAgLy8gdG9vIG1hbnkgZmlsZXNcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdmaWxlLnVwbG9hZC50b28ubWFueS5maWxlcycsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBjbGVhciBlcnJvciBtZXNzYWdlXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG5cbiAgICAgICAgY29uc3QgZnM6IFByb2dyZXNzRmlsZVtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBmaWxlID0gZmlsZXMuaXRlbShpKTtcbiAgICAgICAgICBpZiAoZmlsZSA9PT0gbnVsbCkgY29udGludWU7XG5cbiAgICAgICAgICBjb25zdCBpdGVtOiBQcm9ncmVzc0ZpbGUgPSB7XG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgcHJvZ3Jlc3M6IDAsXG4gICAgICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgICAgICBpZDogbnVsbCxcbiAgICAgICAgICAgIGVuYWJsZVByb2dyZXNzQmFyOiB0aGlzLnVwbG9hZE9uRHJvcCxcblxuICAgICAgICAgICAgbmFtZTogZmlsZSEubmFtZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZDogZmlsZSEubGFzdE1vZGlmaWVkLFxuICAgICAgICAgICAgc2l6ZTogZmlsZSEuc2l6ZSxcbiAgICAgICAgICAgIHR5cGU6IGZpbGUhLnR5cGUsXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGZzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy51cGxvYWRPbkRyb3ApIHRoaXMuZmlsZVVwbG9hZFN0b3JlLnVwbG9hZEZpbGVzKGZzKTtcbiAgICAgICAgZWxzZSB0aGlzLmZpbGVVcGxvYWRTdG9yZS5hZGRTZXZlcmFsRm9yUG90ZW50aWFsVXBsb2FkKGZzKTtcblxuICAgICAgICB0aGlzLmZpbGVEcm9wUmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZXMkIHwgYXN5bmMgYXMgZmlsZXNcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwib25lbXJ2YS1tYXQtZmlsZS11cGxvYWQtZHJvcC1hcmVhXCJcbiAgICBhcHBEbmRcbiAgICAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcHBlZCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZnUtZXJyb3InOiBlcnJvck1lc3NhZ2UgIT09ICcnLFxuICAgICAgZmlsZWluOiBmaWxlcy5sZW5ndGggPiAwLFxuICAgIH1cIlxuICA+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAjZmlsZURyb3BSZWZcbiAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICBtdWx0aXBsZVxuICAgICAgKGNoYW5nZSk9XCJmaWxlQnJvd3NlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIGFjY2VwdD1cInt7IGFjY2VwdFN0cmluZyQgfCBhc3luYyB9fVwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRvd25sb2FkLW91dGVyXCJcbiAgICAgICpuZ0lmPVwibnVtYmVyT2ZGaWxlcyA9PT0gMCB8fCBudW1iZXJPZkZpbGVzID4gZmlsZXMubGVuZ3RoXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG93bmxvYWQtaWNvblwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvbmVtcnZhLXVwbG9hZCB4eGxhcmdlXCI+ZG93bmxvYWQ8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb3dubG9hZC10ZXh0XCI+XG4gICAgICAgIHt7IGRyb3BGaWxlc0hlcmVUZXh0VHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAge3sgJ2ZpbGUudXBsb2FkLm9yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8bGFiZWwgZm9yPVwie3sgaW5wdXRJZCB9fVwiIGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgIHt7ICdmaWxlLnVwbG9hZC5icm93c2UuZm9yLmZpbGUnIHwgdHJhbnNsYXRlIH19IDwvbGFiZWxcbiAgICAgICAgPjxiciAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlc3RyaWN0aW9uc1wiICpuZ0lmPVwibWF4RmlsZVNpemUgPiAwXCI+XG4gICAgICAgICAge3sgJ2ZpbGUudXBsb2FkLm1heGltdW0nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAge3sgbWF4RmlsZVNpemVGb3JtYXR0ZWQgfX1cblxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWNjZXB0Lmxlbmd0aCA+IDBcIj57eyAnfCAnIH19PC9zcGFuPlxuXG4gICAgICAgICAge3sgYWNjZXB0U3RyaW5nJCB8IGFzeW5jIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDx1bCBjbGFzcz1cImZpbGVzLWxpc3RcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGZpbGVQYW5lbFRlbXBsYXRlO1xuICAgICAgICAgICAgY29udGV4dDogeyBmaWxlLCAkaW1wbGljaXQ6IGZpbGUgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImVycm9yTWVzc2FnZVwiPnt7IGVycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZSB9fTwvbWF0LWVycm9yPlxuXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJmaWxlVXBsb2FkRXJyb3JNZXNzYWdlJCB8IGFzeW5jIGFzIGZpbGVVcGxvYWRFcnJvck1lc3NhZ2VcIj5cbiAgICB7eyBmaWxlVXBsb2FkRXJyb3JNZXNzYWdlIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LWVycm9yPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1maWxlLXVwbG9hZC9zcmMvY29tcG9uZW50cy9vbmVtcnZhLW1hdC1maWxlLXVwbG9hZC9vbmVtcnZhLW1hdC1maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LWZpbGUtdXBsb2FkL3NyYy9jb21wb25lbnRzL29uZW1ydmEtbWF0LWZpbGUtdXBsb2FkL29uZW1ydmEtbWF0LWZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxHQUFHLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFDTCxLQUFLLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxXQUFXLEdBR1osTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztBQUsxQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFtQ2hCLE1BQU0sT0FBTyw2QkFBNkI7SUFxRHhDLFlBQ1MsTUFBaUIsRUFDakIsT0FBOEIsRUFDN0IsU0FBMkIsRUFDM0IsZUFBMEM7UUFIM0MsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM3QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FB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NkJBQ0YsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixPQUFPLENBQ0wsR0FBRyxFQUNILFNBQVMsQ0FBQztvQ0FDUixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztvQ0FDaEMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7b0NBQ3RDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO29DQUNwQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztvQ0FDdEMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUNBQ2pDLENBQUMsQ0FDSDs2QkFDRixDQUFDO3lCQUNILENBQUM7cUJBQ0g7eUxBSUQsTUFBTTtzQkFETCxLQUFLO2dCQU1OLFdBQVc7c0JBRFYsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sK0JBQStCO3NCQUQ5QixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFjQyxNQUFNO3NCQUZaLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgc3RhdGUsXG4gIGtleWZyYW1lcyxcbiAgc3R5bGUsXG4gIGFuaW1hdGUsXG4gIHRyaWdnZXIsXG4gIHRyYW5zaXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgZm9ybWF0Qnl0ZXMsXG4gIFByb2dyZXNzRmlsZSxcbiAgUmVmZXJlbmNlZFByb2dyZXNzRmlsZSxcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb2dyZXNzLWZpbGUubW9kZWwnO1xuaW1wb3J0IHsgT25lbXJ2YU1hdEZpbGVVcGxvYWRTdG9yZSB9IGZyb20gJy4uLy4uL29uZW1ydmEtbWF0LWZpbGUtdXBsb2FkLnN0b3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9uZW1SdmFDRE5NaW1lU2VydmljZSB9IGZyb20gJ0BvbmVtcnZhcHVibGljL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkJztcblxubGV0IE5FWFRfSUQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbmVtcnZhLW1hdC1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnb25lbXJ2YS1tYXQtZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignaW5PdXRBbmltYXRpb24nLCBbXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpLFxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgIDMwMCxcbiAgICAgICAgICBrZXlmcmFtZXMoW1xuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCBvZmZzZXQ6IDAgfSksXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAuMjUsIG9mZnNldDogMC4yNSB9KSxcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMC41LCBvZmZzZXQ6IDAuNSB9KSxcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMC43NSwgb2Zmc2V0OiAwLjc1IH0pLFxuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAxLCBvZmZzZXQ6IDEgfSksXG4gICAgICAgICAgXSksXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAzMDAsXG4gICAgICAgICAga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSwgb2Zmc2V0OiAwIH0pLFxuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLjc1LCBvZmZzZXQ6IDAuMjUgfSksXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAuNSwgb2Zmc2V0OiAwLjUgfSksXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAuMjUsIG9mZnNldDogMC43NSB9KSxcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgb2Zmc2V0OiAxIH0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFNYXRGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgYWNjZXB0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGFjY2VwdFN0cmluZyQ/OiBPYnNlcnZhYmxlPGFueT47XG5cbiAgQElucHV0KClcbiAgbWF4RmlsZVNpemUgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIG51bWJlck9mRmlsZXMgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIG1heFRvdGFsRmlsZVNpemUgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHVwbG9hZE9uRHJvcCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgaW5pdGlhbEZpbGVzOiBQcm9ncmVzc0ZpbGVbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIGVycm9yTWVzc2FnZSA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGRyb3BGaWxlc0hlcmVUZXh0VHJhbnNsYXRpb25LZXkgPSAnZmlsZS51cGxvYWQuZHJhZy5hbmQuZHJvcCc7XG5cbiAgZmlsZVVwbG9hZEVycm9yTWVzc2FnZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBmaWxlcyQ6IE9ic2VydmFibGU8UmVmZXJlbmNlZFByb2dyZXNzRmlsZVtdPjtcblxuICBASW5wdXQoKSBmaWxlUGFuZWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcmV0cnlGaWxlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGluZGV4OiBudW1iZXI7IGNtcFJlZjogc3ltYm9sIH0+KCk7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGBkYXRhLWN5YCBvZiB0aGUgZWxlbWVudC4gSWYgbm90IHNldCwgdGhlIGZpcnN0IGNvbXBvbmVudCBpbnN0YW5jZSB3aWxsIGhhdmUgYGRhdGEtY3lgID0gYFwib25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LTBcImAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG9uZW1ydmEtbWF0LW11bHRpLXNlbGVjdCBpZD1cIm15LWZpcnN0LW11bHRpLXNlbGVjdFwiPjwvb25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0PlxuICAgKiBgYGBcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWN5JylcbiAgQElucHV0KClcbiAgcHVibGljIGRhdGFDeSA9IGBvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QtJHtORVhUX0lEKyt9YDtcblxuICBAVmlld0NoaWxkKGBmaWxlRHJvcFJlZmApXG4gIGZpbGVEcm9wUmVmITogRWxlbWVudFJlZjtcblxuICBpbnB1dElkID0gYGZpbGVEcm9wUmVmLSR7TkVYVF9JRH1gO1xuICBtYXhGaWxlU2l6ZUZvcm1hdHRlZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwdWJsaWMgbWltZUNETjogT25lbVJ2YUNETk1pbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFN0b3JlOiBPbmVtcnZhTWF0RmlsZVVwbG9hZFN0b3JlLFxuICApIHtcbiAgICB0aGlzLmZpbGVzJCA9IGZpbGVVcGxvYWRTdG9yZS5maWxlcyQ7XG5cbiAgICB0aGlzLmZpbGVVcGxvYWRFcnJvck1lc3NhZ2UkID0gdGhpcy5maWxlVXBsb2FkU3RvcmUuZmlsZVVwbG9hZEVycm9yJDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjY2VwdC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFjY2VwdFN0cmluZyQgPSB0aGlzLm1pbWVDRE5cbiAgICAgICAgLmdldEV4dGVuc2lvbnNGb3JNaW1lKHRoaXMuYWNjZXB0KVxuICAgICAgICAucGlwZShtYXAoYXJyID0+IGFyci5tYXAoaXRlbSA9PiBgLiR7aXRlbX1gKS5qb2luKCcsICcpKSk7XG4gICAgICB0aGlzLmZpbGVVcGxvYWRTdG9yZS5zZXRBY2NlcHQodGhpcy5hY2NlcHQpO1xuICAgIH1cblxuICAgIHRoaXMubWF4RmlsZVNpemVGb3JtYXR0ZWQgPSBmb3JtYXRCeXRlcyh0aGlzLm1heEZpbGVTaXplKTtcbiAgICB0aGlzLmZpbGVVcGxvYWRTdG9yZS5zZXRNYXhGaWxlU2l6ZSh0aGlzLm1heEZpbGVTaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBvbiBmaWxlIGRyb3AgaGFuZGxlclxuICAgKi9cbiAgb25GaWxlRHJvcHBlZCgkZXZlbnQ6IEZpbGVMaXN0KSB7XG4gICAgdGhpcy5wcmVwYXJlRmlsZXNMaXN0KCRldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogaGFuZGxlIGZpbGUgZnJvbSBicm93c2luZ1xuICAgKi9cbiAgZmlsZUJyb3dzZUhhbmRsZXIoJGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IGVsbSA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCxcbiAgICAgIGZpbGVzID0gZWxtLmZpbGVzIGFzIEZpbGVMaXN0O1xuXG4gICAgdGhpcy5wcmVwYXJlRmlsZXNMaXN0KGZpbGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IEZpbGVzIGxpc3QgdG8gbm9ybWFsIGFycmF5IGxpc3RcbiAgICogQHBhcmFtIGZpbGVzIChGaWxlcyBMaXN0KVxuICAgKi9cbiAgcHJlcGFyZUZpbGVzTGlzdChmaWxlczogRmlsZUxpc3QpIHtcbiAgICB0aGlzLmZpbGVVcGxvYWRTdG9yZS5maWxlcyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY3VycmVudEZpbGVzID0+IHtcbiAgICAgIC8vIGlmIG51bWJlck9mZmlsZXMgaXMgc2V0IGFuZCB0aGUgdG90YWwgbGVuZ3RoIG9mIGZpbGVzIGlzIHNtYWxcbiAgICAgIC8vIGxlciB0aGFuIGl0XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMubnVtYmVyT2ZGaWxlcyA+IDAgJiZcbiAgICAgICAgZmlsZXMubGVuZ3RoICsgY3VycmVudEZpbGVzLmxlbmd0aCA+IHRoaXMubnVtYmVyT2ZGaWxlc1xuICAgICAgKSB7XG4gICAgICAgIC8vIHRvbyBtYW55IGZpbGVzXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnZmlsZS51cGxvYWQudG9vLm1hbnkuZmlsZXMnLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tYXhUb3RhbEZpbGVTaXplID4gMCkge1xuICAgICAgICBjb25zdCB0b3RhbDogbnVtYmVyID1cbiAgICAgICAgICBPYmplY3QudmFsdWVzKGZpbGVzKS5yZWR1Y2UoKHN1bSwgb2JqKSA9PiBzdW0gKyBvYmouc2l6ZSwgMCkgK1xuICAgICAgICAgIGN1cnJlbnRGaWxlcy5yZWR1Y2UoKHN1bSwgb2JqKSA9PiBzdW0gKyBvYmouc2l6ZSwgMCk7XG4gICAgICAgIGlmICh0b3RhbCA+IHRoaXMubWF4VG90YWxGaWxlU2l6ZSkge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdmaWxlLnVwbG9hZC50b3RhbC5tYXguc2l6ZS5leGNlZWRlZCcsXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gY2xlYXIgZXJyb3IgbWVzc2FnZVxuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcblxuICAgICAgY29uc3QgZnM6IFByb2dyZXNzRmlsZVtdID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlcy5pdGVtKGkpO1xuICAgICAgICBpZiAoZmlsZSA9PT0gbnVsbCkgY29udGludWU7XG5cbiAgICAgICAgY29uc3QgaXRlbTogUHJvZ3Jlc3NGaWxlID0ge1xuICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgcHJvZ3Jlc3M6IDAsXG4gICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgICAgaWQ6IG51bGwsXG4gICAgICAgICAgZW5hYmxlUHJvZ3Jlc3NCYXI6IHRoaXMudXBsb2FkT25Ecm9wLFxuXG4gICAgICAgICAgbmFtZTogZmlsZSEubmFtZSxcbiAgICAgICAgICBsYXN0TW9kaWZpZWQ6IGZpbGUhLmxhc3RNb2RpZmllZCxcbiAgICAgICAgICBzaXplOiBmaWxlIS5zaXplLFxuICAgICAgICAgIHR5cGU6IGZpbGUhLnR5cGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgZnMucHVzaChpdGVtKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMudXBsb2FkT25Ecm9wKSB0aGlzLmZpbGVVcGxvYWRTdG9yZS51cGxvYWRGaWxlcyhmcyk7XG4gICAgICBlbHNlIHRoaXMuZmlsZVVwbG9hZFN0b3JlLmFkZFNldmVyYWxGb3JQb3RlbnRpYWxVcGxvYWQoZnMpO1xuXG4gICAgICB0aGlzLmZpbGVEcm9wUmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZXMkIHwgYXN5bmMgYXMgZmlsZXNcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwib25lbXJ2YS1tYXQtZmlsZS11cGxvYWQtZHJvcC1hcmVhXCJcbiAgICBhcHBEbmRcbiAgICAoZmlsZURyb3BwZWQpPVwib25GaWxlRHJvcHBlZCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZnUtZXJyb3InOiBlcnJvck1lc3NhZ2UgIT09ICcnLFxuICAgICAgZmlsZWluOiBmaWxlcy5sZW5ndGggPiAwLFxuICAgIH1cIlxuICA+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAjZmlsZURyb3BSZWZcbiAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICBtdWx0aXBsZVxuICAgICAgKGNoYW5nZSk9XCJmaWxlQnJvd3NlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgIGFjY2VwdD1cInt7IGFjY2VwdFN0cmluZyQgfCBhc3luYyB9fVwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRvd25sb2FkLW91dGVyXCJcbiAgICAgICpuZ0lmPVwibnVtYmVyT2ZGaWxlcyA9PT0gMCB8fCBudW1iZXJPZkZpbGVzID4gZmlsZXMubGVuZ3RoXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZG93bmxvYWQtaWNvblwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJvbmVtcnZhLXVwbG9hZCB4eGxhcmdlXCI+ZG93bmxvYWQ8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJkb3dubG9hZC10ZXh0XCI+XG4gICAgICAgIHt7IGRyb3BGaWxlc0hlcmVUZXh0VHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAge3sgJ2ZpbGUudXBsb2FkLm9yJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8bGFiZWwgZm9yPVwie3sgaW5wdXRJZCB9fVwiIGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgIHt7ICdmaWxlLnVwbG9hZC5icm93c2UuZm9yLmZpbGUnIHwgdHJhbnNsYXRlIH19IDwvbGFiZWxcbiAgICAgICAgPjxiciAvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInJlc3RyaWN0aW9uc1wiICpuZ0lmPVwibWF4RmlsZVNpemUgPiAwXCI+XG4gICAgICAgICAge3sgJ2ZpbGUudXBsb2FkLm1heGltdW0nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAge3sgbWF4RmlsZVNpemVGb3JtYXR0ZWQgfX1cblxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWNjZXB0Lmxlbmd0aCA+IDBcIj57eyAnfCAnIH19PC9zcGFuPlxuXG4gICAgICAgICAge3sgYWNjZXB0U3RyaW5nJCB8IGFzeW5jIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDx1bCBjbGFzcz1cImZpbGVzLWxpc3RcIj5cbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGZpbGVQYW5lbFRlbXBsYXRlO1xuICAgICAgICAgICAgY29udGV4dDogeyBmaWxlLCAkaW1wbGljaXQ6IGZpbGUgfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImVycm9yTWVzc2FnZVwiPnt7IGVycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZSB9fTwvbWF0LWVycm9yPlxuXG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJmaWxlVXBsb2FkRXJyb3JNZXNzYWdlJCB8IGFzeW5jIGFzIGZpbGVVcGxvYWRFcnJvck1lc3NhZ2VcIj5cbiAgICB7eyBmaWxlVXBsb2FkRXJyb3JNZXNzYWdlIHwgdHJhbnNsYXRlIH19XG4gIDwvbWF0LWVycm9yPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { CdkStepper } from '@angular/cdk/stepper';
|
|
|
2
2
|
import { ChangeDetectionStrategy, Component, HostBinding, Input, Optional, ViewEncapsulation, } from '@angular/core';
|
|
3
3
|
import { onemrvaMatStepperAnimations } from './onemrva-stepper-animations';
|
|
4
4
|
import { MatStepper } from '@angular/material/stepper';
|
|
5
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/cdk/bidi";
|
|
7
8
|
import * as i2 from "@angular/common";
|
|
@@ -13,13 +14,36 @@ export class OnemrvaMatStepperComponent extends MatStepper {
|
|
|
13
14
|
}
|
|
14
15
|
// eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures
|
|
15
16
|
set orientation(value) {
|
|
16
|
-
|
|
17
|
+
this.matStepperVertical = true;
|
|
18
|
+
}
|
|
19
|
+
scrollToElement(elementId) {
|
|
20
|
+
const element = document.getElementById(elementId);
|
|
21
|
+
if (element) {
|
|
22
|
+
const yOffset = -100; // Optional: offset from the top for better positioning
|
|
23
|
+
const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;
|
|
24
|
+
window.scrollTo({ top: y, behavior: 'smooth' });
|
|
25
|
+
}
|
|
17
26
|
}
|
|
18
27
|
constructor(dir, changeDetectorRef, elementRef) {
|
|
19
28
|
super(dir, changeDetectorRef, elementRef);
|
|
29
|
+
this.destroyNotifier$ = new Subject();
|
|
20
30
|
this.matStepperVertical = true;
|
|
21
31
|
this.ariaOrientation = 'vertical';
|
|
22
32
|
this.role = 'tablist';
|
|
33
|
+
this.selectionChange
|
|
34
|
+
.pipe(takeUntil(this.destroyNotifier$))
|
|
35
|
+
.subscribe(value => {
|
|
36
|
+
const timeBeforeScroll = parseInt(this.animationDuration || '0') + 400;
|
|
37
|
+
setTimeout(() => {
|
|
38
|
+
const el = `cdk-step-label-${this._groupId}-${value.selectedIndex}`;
|
|
39
|
+
this.scrollToElement(el);
|
|
40
|
+
}, timeBeforeScroll);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
ngOnDestroy() {
|
|
44
|
+
super.ngOnDestroy();
|
|
45
|
+
this.destroyNotifier$.next();
|
|
46
|
+
this.destroyNotifier$.complete();
|
|
23
47
|
}
|
|
24
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaMatStepperComponent, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
49
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: OnemrvaMatStepperComponent, selector: "onemrva-mat-stepper, onemrva-mat-vertical-stepper, [onemrvaMatStepper]", inputs: { selectedIndex: "selectedIndex", orientation: "orientation" }, host: { properties: { "class.mat-stepper-vertical": "this.matStepperVertical", "attr.aria-orientation": "this.ariaOrientation", "role": "this.role" } }, providers: [
|
|
@@ -47,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
47
71
|
type: HostBinding,
|
|
48
72
|
args: ['role']
|
|
49
73
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtc3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LXN0ZXBwZXIvc3JjL29uZW1ydmEtbWF0LXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1zdGVwcGVyL3NyYy9vbmVtcnZhLW1hdC1zdGVwcGVyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBc0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQWtCdkQsTUFBTSxPQUFPLDBCQUNYLFNBQVEsVUFBVTtJQUdsQiwwQ0FBMEM7SUFDMUMsSUFDYSxXQUFXO1FBQ3RCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFNRCwyRUFBMkU7SUFDM0UsSUFBYSxXQUFXLENBQUMsS0FBeUI7UUFDaEQsRUFBRTtJQUNKLENBQUM7SUFFRCxZQUNjLEdBQW1CLEVBQy9CLGlCQUFvQyxFQUNwQyxVQUFtQztRQUVuQyxLQUFLLENBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBZEQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLG9CQUFlLEdBQUcsVUFBVSxDQUFDO1FBQzlDLFNBQUksR0FBRyxTQUFTLENBQUM7SUFhdEMsQ0FBQzs4R0F6QlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsa1VBUDFCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtZQUNoRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRTtTQUNqRCx5SEM3QkgsdXlFQTZEQSxza0VEcENjLENBQUMsMkJBQTJCLENBQUMsc0JBQXNCLENBQUM7OzJGQVFyRCwwQkFBMEI7a0JBaEJ0QyxTQUFTOytCQUVOLHdFQUF3RSxZQUNoRSxzREFBc0QsVUFJeEQsQ0FBQyxlQUFlLENBQUMsY0FDYixDQUFDLDJCQUEyQixDQUFDLHNCQUFzQixDQUFDLGFBQ3JEO3dCQUNULEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLDRCQUE0QixFQUFFO3dCQUNoRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRTtxQkFDakQsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBc0I1QyxRQUFRO2tHQWRFLFdBQVc7c0JBRHZCLEtBQUs7Z0JBS3FDLGtCQUFrQjtzQkFBNUQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBQ0gsZUFBZTtzQkFBcEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBQ2YsSUFBSTtzQkFBeEIsV0FBVzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDZGtTdGVwcGVyLCBTdGVwcGVyT3JpZW50YXRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvc3RlcHBlcic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBvbmVtcnZhTWF0U3RlcHBlckFuaW1hdGlvbnMgfSBmcm9tICcuL29uZW1ydmEtc3RlcHBlci1hbmltYXRpb25zJztcbmltcG9ydCB7IE1hdFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOlxuICAgICdvbmVtcnZhLW1hdC1zdGVwcGVyLCBvbmVtcnZhLW1hdC12ZXJ0aWNhbC1zdGVwcGVyLCBbb25lbXJ2YU1hdFN0ZXBwZXJdJyxcbiAgZXhwb3J0QXM6ICdtYXRTdGVwcGVyLCBtYXRWZXJ0aWNhbFN0ZXBwZXIsIG1hdEhvcml6b250YWxTdGVwcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdvbmVtcnZhLW1hdC1zdGVwcGVyLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnb25lbXJ2YS1tYXQtc3RlcHBlci5zY3NzJ10sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBpbnB1dHM6IFsnc2VsZWN0ZWRJbmRleCddLFxuICBhbmltYXRpb25zOiBbb25lbXJ2YU1hdFN0ZXBwZXJBbmltYXRpb25zLnZlcnRpY2FsU3RlcFRyYW5zaXRpb25dLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1hdFN0ZXBwZXIsIHVzZUV4aXN0aW5nOiBPbmVtcnZhTWF0U3RlcHBlckNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQ2RrU3RlcHBlciwgdXNlRXhpc3Rpbmc6IE1hdFN0ZXBwZXIgfSxcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFNYXRTdGVwcGVyQ29tcG9uZW50XG4gIGV4dGVuZHMgTWF0U3RlcHBlclxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXRcbntcbiAgLyoqIE9yaWVudGF0aW9uIG9mIHRoZSBzdW1tYXJ5LXN0ZXBwZXIuICovXG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIGdldCBvcmllbnRhdGlvbigpOiBTdGVwcGVyT3JpZW50YXRpb24ge1xuICAgIHJldHVybiAndmVydGljYWwnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtc3RlcHBlci12ZXJ0aWNhbCcpIG1hdFN0ZXBwZXJWZXJ0aWNhbCA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLW9yaWVudGF0aW9uJykgYXJpYU9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJztcbiAgQEhvc3RCaW5kaW5nKCdyb2xlJykgcm9sZSA9ICd0YWJsaXN0JztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2FkamFjZW50LW92ZXJsb2FkLXNpZ25hdHVyZXNcbiAgb3ZlcnJpZGUgc2V0IG9yaWVudGF0aW9uKHZhbHVlOiBTdGVwcGVyT3JpZW50YXRpb24pIHtcbiAgICAvL1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgZGlyOiBEaXJlY3Rpb25hbGl0eSxcbiAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKGRpciwgY2hhbmdlRGV0ZWN0b3JSZWYsIGVsZW1lbnRSZWYpO1xuICB9XG59XG4iLCI8IS0tIFZlcnRpY2FsIHN1bW1hcnktc3RlcHBlciAtLT5cbjxuZy1jb250YWluZXI+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm1hdC1zdGVwXCJcbiAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleDsgbGV0IGlzTGFzdCA9IGxhc3RcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcFRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7c3RlcDogc3RlcCwgaTogaX1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm1hdC12ZXJ0aWNhbC1jb250ZW50LWNvbnRhaW5lclwiXG4gICAgICBbY2xhc3MubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZV09XCIhaXNMYXN0XCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWF0LXZlcnRpY2FsLXN0ZXBwZXItY29udGVudFwiXG4gICAgICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICAgIFtAdmVydGljYWxTdGVwVHJhbnNpdGlvbl09XCJ7XG4gICAgICAgICAgICAgICd2YWx1ZSc6IF9nZXRBbmltYXRpb25EaXJlY3Rpb24oaSksXG4gICAgICAgICAgICAgICdwYXJhbXMnOiB7J2FuaW1hdGlvbkR1cmF0aW9uJzogX2dldEFuaW1hdGlvbkR1cmF0aW9uKCl9XG4gICAgICAgICAgICB9XCJcbiAgICAgICAgKEB2ZXJ0aWNhbFN0ZXBUcmFuc2l0aW9uLmRvbmUpPVwiX2FuaW1hdGlvbkRvbmUubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW2lkXT1cIl9nZXRTdGVwQ29udGVudElkKGkpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl9nZXRTdGVwTGFiZWxJZChpKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtdmVydGljYWwtY29udGVudFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3RlcC5jb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gQ29tbW9uIHN0ZXAgdGVtcGxhdGluZyAtLT5cbjxuZy10ZW1wbGF0ZSBsZXQtc3RlcD1cInN0ZXBcIiBsZXQtaT1cImlcIiAjc3RlcFRlbXBsYXRlPlxuICA8bWF0LXN0ZXAtaGVhZGVyXG4gICAgW2NsYXNzLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyXT1cIm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCdcIlxuICAgIFtjbGFzcy5tYXQtdmVydGljYWwtc3RlcHBlci1oZWFkZXJdPVwib3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcIlxuICAgIChjbGljayk9XCJzdGVwLnNlbGVjdCgpXCJcbiAgICAoa2V5ZG93bik9XCJfb25LZXlkb3duKCRldmVudClcIlxuICAgIFt0YWJJbmRleF09XCJfZ2V0Rm9jdXNJbmRleCgpID09PSBpID8gMCA6IC0xXCJcbiAgICBbaWRdPVwiX2dldFN0ZXBMYWJlbElkKGkpXCJcbiAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICBbYXR0ci5hcmlhLXNldHNpemVdPVwic3RlcHMubGVuZ3RoXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIl9nZXRTdGVwQ29udGVudElkKGkpXCJcbiAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInNlbGVjdGVkSW5kZXggPT09IGlcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RlcC5hcmlhTGFiZWwgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIighc3RlcC5hcmlhTGFiZWwgJiYgc3RlcC5hcmlhTGFiZWxsZWRieSkgPyBzdGVwLmFyaWFMYWJlbGxlZGJ5IDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJfc3RlcElzTmF2aWdhYmxlKGksIHN0ZXApID8gbnVsbCA6IHRydWVcIlxuICAgIFtpbmRleF09XCJpXCJcbiAgICBbc3RhdGVdPVwiX2dldEluZGljYXRvclR5cGUoaSwgc3RlcC5zdGF0ZSlcIlxuICAgIFtsYWJlbF09XCJzdGVwLnN0ZXBMYWJlbCB8fCBzdGVwLmxhYmVsXCJcbiAgICBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgW2FjdGl2ZV09XCJfc3RlcElzTmF2aWdhYmxlKGksIHN0ZXApXCJcbiAgICBbb3B0aW9uYWxdPVwic3RlcC5vcHRpb25hbFwiXG4gICAgW2Vycm9yTWVzc2FnZV09XCJzdGVwLmVycm9yTWVzc2FnZVwiXG4gICAgW2ljb25PdmVycmlkZXNdPVwiX2ljb25PdmVycmlkZXNcIlxuICAgIFtkaXNhYmxlUmlwcGxlXT1cImRpc2FibGVSaXBwbGUgfHwgIV9zdGVwSXNOYXZpZ2FibGUoaSwgc3RlcClcIlxuICA+PC9tYXQtc3RlcC1oZWFkZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtc3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbWF0LXN0ZXBwZXIvc3JjL29uZW1ydmEtbWF0LXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1zdGVwcGVyL3NyYy9vbmVtcnZhLW1hdC1zdGVwcGVyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBc0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsRUFDUixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBbUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFrQjNELE1BQU0sT0FBTywwQkFDWCxTQUFRLFVBQVU7SUFLbEIsMENBQTBDO0lBQzFDLElBQ2EsV0FBVztRQUN0QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBTUQsMkVBQTJFO0lBQzNFLElBQWEsV0FBVyxDQUFDLEtBQXlCO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLHVEQUF1RDtZQUM3RSxNQUFNLENBQUMsR0FDTCxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7WUFDckUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxZQUNjLEdBQW1CLEVBQy9CLGlCQUFvQyxFQUNwQyxVQUFtQztRQUVuQyxLQUFLLENBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBaEM1QyxxQkFBZ0IsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVFYLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixvQkFBZSxHQUFHLFVBQVUsQ0FBQztRQUM5QyxTQUFJLEdBQUcsU0FBUyxDQUFDO1FBd0JwQyxJQUFJLENBQUMsZUFBZTthQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3RDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNwRSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQzs4R0FyRFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsa1VBUDFCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtZQUNoRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRTtTQUNqRCx5SEMvQkgsdXlFQTZEQSxza0VEbENjLENBQUMsMkJBQTJCLENBQUMsc0JBQXNCLENBQUM7OzJGQVFyRCwwQkFBMEI7a0JBaEJ0QyxTQUFTOytCQUVOLHdFQUF3RSxZQUNoRSxzREFBc0QsVUFJeEQsQ0FBQyxlQUFlLENBQUMsY0FDYixDQUFDLDJCQUEyQixDQUFDLHNCQUFzQixDQUFDLGFBQ3JEO3dCQUNULEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLDRCQUE0QixFQUFFO3dCQUNoRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRTtxQkFDakQsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBa0M1QyxRQUFRO2tHQXhCRSxXQUFXO3NCQUR2QixLQUFLO2dCQUtxQyxrQkFBa0I7c0JBQTVELFdBQVc7dUJBQUMsNEJBQTRCO2dCQUNILGVBQWU7c0JBQXBELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNmLElBQUk7c0JBQXhCLFdBQVc7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ2RrU3RlcHBlciwgU3RlcHBlck9yaWVudGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3N0ZXBwZXInO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBvbmVtcnZhTWF0U3RlcHBlckFuaW1hdGlvbnMgfSBmcm9tICcuL29uZW1ydmEtc3RlcHBlci1hbmltYXRpb25zJztcbmltcG9ydCB7IE1hdFN0ZXBwZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjpcbiAgICAnb25lbXJ2YS1tYXQtc3RlcHBlciwgb25lbXJ2YS1tYXQtdmVydGljYWwtc3RlcHBlciwgW29uZW1ydmFNYXRTdGVwcGVyXScsXG4gIGV4cG9ydEFzOiAnbWF0U3RlcHBlciwgbWF0VmVydGljYWxTdGVwcGVyLCBtYXRIb3Jpem9udGFsU3RlcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnb25lbXJ2YS1tYXQtc3RlcHBlci5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ29uZW1ydmEtbWF0LXN0ZXBwZXIuc2NzcyddLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkSW5kZXgnXSxcbiAgYW5pbWF0aW9uczogW29uZW1ydmFNYXRTdGVwcGVyQW5pbWF0aW9ucy52ZXJ0aWNhbFN0ZXBUcmFuc2l0aW9uXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBNYXRTdGVwcGVyLCB1c2VFeGlzdGluZzogT25lbXJ2YU1hdFN0ZXBwZXJDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IENka1N0ZXBwZXIsIHVzZUV4aXN0aW5nOiBNYXRTdGVwcGVyIH0sXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPbmVtcnZhTWF0U3RlcHBlckNvbXBvbmVudFxuICBleHRlbmRzIE1hdFN0ZXBwZXJcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgZGVzdHJveU5vdGlmaWVyJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIE9yaWVudGF0aW9uIG9mIHRoZSBzdW1tYXJ5LXN0ZXBwZXIuICovXG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIGdldCBvcmllbnRhdGlvbigpOiBTdGVwcGVyT3JpZW50YXRpb24ge1xuICAgIHJldHVybiAndmVydGljYWwnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYXQtc3RlcHBlci12ZXJ0aWNhbCcpIG1hdFN0ZXBwZXJWZXJ0aWNhbCA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLW9yaWVudGF0aW9uJykgYXJpYU9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJztcbiAgQEhvc3RCaW5kaW5nKCdyb2xlJykgcm9sZSA9ICd0YWJsaXN0JztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2FkamFjZW50LW92ZXJsb2FkLXNpZ25hdHVyZXNcbiAgb3ZlcnJpZGUgc2V0IG9yaWVudGF0aW9uKHZhbHVlOiBTdGVwcGVyT3JpZW50YXRpb24pIHtcbiAgICB0aGlzLm1hdFN0ZXBwZXJWZXJ0aWNhbCA9IHRydWU7XG4gIH1cblxuICBzY3JvbGxUb0VsZW1lbnQoZWxlbWVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3QgeU9mZnNldCA9IC0xMDA7IC8vIE9wdGlvbmFsOiBvZmZzZXQgZnJvbSB0aGUgdG9wIGZvciBiZXR0ZXIgcG9zaXRpb25pbmdcbiAgICAgIGNvbnN0IHkgPVxuICAgICAgICBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldCArIHlPZmZzZXQ7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHksIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBkaXI6IERpcmVjdGlvbmFsaXR5LFxuICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKSB7XG4gICAgc3VwZXIoZGlyLCBjaGFuZ2VEZXRlY3RvclJlZiwgZWxlbWVudFJlZik7XG5cbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgY29uc3QgdGltZUJlZm9yZVNjcm9sbCA9IHBhcnNlSW50KHRoaXMuYW5pbWF0aW9uRHVyYXRpb24gfHwgJzAnKSArIDQwMDtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgZWwgPSBgY2RrLXN0ZXAtbGFiZWwtJHt0aGlzLl9ncm91cElkfS0ke3ZhbHVlLnNlbGVjdGVkSW5kZXh9YDtcbiAgICAgICAgICB0aGlzLnNjcm9sbFRvRWxlbWVudChlbCk7XG4gICAgICAgIH0sIHRpbWVCZWZvcmVTY3JvbGwpO1xuICAgICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuZGVzdHJveU5vdGlmaWVyJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjwhLS0gVmVydGljYWwgc3VtbWFyeS1zdGVwcGVyIC0tPlxuPG5nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIGNsYXNzPVwibWF0LXN0ZXBcIlxuICAgICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzOyBsZXQgaSA9IGluZGV4OyBsZXQgaXNMYXN0ID0gbGFzdFwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntzdGVwOiBzdGVwLCBpOiBpfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibWF0LXZlcnRpY2FsLWNvbnRlbnQtY29udGFpbmVyXCJcbiAgICAgIFtjbGFzcy5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lXT1cIiFpc0xhc3RcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtYXQtdmVydGljYWwtc3RlcHBlci1jb250ZW50XCJcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgW0B2ZXJ0aWNhbFN0ZXBUcmFuc2l0aW9uXT1cIntcbiAgICAgICAgICAgICAgJ3ZhbHVlJzogX2dldEFuaW1hdGlvbkRpcmVjdGlvbihpKSxcbiAgICAgICAgICAgICAgJ3BhcmFtcyc6IHsnYW5pbWF0aW9uRHVyYXRpb24nOiBfZ2V0QW5pbWF0aW9uRHVyYXRpb24oKX1cbiAgICAgICAgICAgIH1cIlxuICAgICAgICAoQHZlcnRpY2FsU3RlcFRyYW5zaXRpb24uZG9uZSk9XCJfYW5pbWF0aW9uRG9uZS5uZXh0KCRldmVudClcIlxuICAgICAgICBbaWRdPVwiX2dldFN0ZXBDb250ZW50SWQoaSlcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiX2dldFN0ZXBMYWJlbElkKGkpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC12ZXJ0aWNhbC1jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzdGVwLmNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBDb21tb24gc3RlcCB0ZW1wbGF0aW5nIC0tPlxuPG5nLXRlbXBsYXRlIGxldC1zdGVwPVwic3RlcFwiIGxldC1pPVwiaVwiICNzdGVwVGVtcGxhdGU+XG4gIDxtYXQtc3RlcC1oZWFkZXJcbiAgICBbY2xhc3MubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXJdPVwib3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1wiXG4gICAgW2NsYXNzLm1hdC12ZXJ0aWNhbC1zdGVwcGVyLWhlYWRlcl09XCJvcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgKGNsaWNrKT1cInN0ZXAuc2VsZWN0KClcIlxuICAgIChrZXlkb3duKT1cIl9vbktleWRvd24oJGV2ZW50KVwiXG4gICAgW3RhYkluZGV4XT1cIl9nZXRGb2N1c0luZGV4KCkgPT09IGkgPyAwIDogLTFcIlxuICAgIFtpZF09XCJfZ2V0U3RlcExhYmVsSWQoaSlcIlxuICAgIFthdHRyLmFyaWEtcG9zaW5zZXRdPVwiaSArIDFcIlxuICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJzdGVwcy5sZW5ndGhcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiX2dldFN0ZXBDb250ZW50SWQoaSlcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzdGVwLmFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiKCFzdGVwLmFyaWFMYWJlbCAmJiBzdGVwLmFyaWFMYWJlbGxlZGJ5KSA/IHN0ZXAuYXJpYUxhYmVsbGVkYnkgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIl9zdGVwSXNOYXZpZ2FibGUoaSwgc3RlcCkgPyBudWxsIDogdHJ1ZVwiXG4gICAgW2luZGV4XT1cImlcIlxuICAgIFtzdGF0ZV09XCJfZ2V0SW5kaWNhdG9yVHlwZShpLCBzdGVwLnN0YXRlKVwiXG4gICAgW2xhYmVsXT1cInN0ZXAuc3RlcExhYmVsIHx8IHN0ZXAubGFiZWxcIlxuICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcbiAgICBbYWN0aXZlXT1cIl9zdGVwSXNOYXZpZ2FibGUoaSwgc3RlcClcIlxuICAgIFtvcHRpb25hbF09XCJzdGVwLm9wdGlvbmFsXCJcbiAgICBbZXJyb3JNZXNzYWdlXT1cInN0ZXAuZXJyb3JNZXNzYWdlXCJcbiAgICBbaWNvbk92ZXJyaWRlc109XCJfaWNvbk92ZXJyaWRlc1wiXG4gICAgW2Rpc2FibGVSaXBwbGVdPVwiZGlzYWJsZVJpcHBsZSB8fCAhX3N0ZXBJc05hdmlnYWJsZShpLCBzdGVwKVwiXG4gID48L21hdC1zdGVwLWhlYWRlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { NativeDateAdapter } from '@angular/material/core';
|
|
3
3
|
import { DateTime } from 'luxon';
|
|
4
|
-
import { ONEMRVA_FORMAT } from '../constants/date.format';
|
|
5
4
|
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
+
import { ONEMRVA_FORMAT } from '../constants';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@ngx-translate/core";
|
|
8
8
|
export class OnemrvaDateAdapter extends NativeDateAdapter {
|
|
@@ -59,4 +59,4 @@ export class OnemrvaDateAdapter extends NativeDateAdapter {
|
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaDateAdapter, decorators: [{
|
|
60
60
|
type: Injectable
|
|
61
61
|
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2FkYXB0ZXJzL2RhdGUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFHakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBRzlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFLdkQsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUo5QyxlQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFOUMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUs3QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTthQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3RDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLE1BQU0sQ0FBQyxJQUFVO1FBQ3hCLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRVEsS0FBSyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDckQsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQixDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVEsaUJBQWlCO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBMURVLGtCQUFrQjtrSEFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXRpdmVEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT05FTVJWQV9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT25lbXJ2YURhdGVBZGFwdGVyIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRhdGVGb3JtYXQgPSBPTkVNUlZBX0ZPUk1BVC5kaXNwbGF5LmRhdGVJbnB1dDtcblxuICBwcml2YXRlIGRlc3Ryb3lOb3RpZmllciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnNldExvY2FsZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lOb3RpZmllciQpKVxuICAgICAgLnN1YnNjcmliZSgoeyBsYW5nIH0pID0+IHtcbiAgICAgICAgdGhpcy5zZXRMb2NhbGUobGFuZyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1hdChkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBkdCA9IERhdGVUaW1lLmZyb21KU0RhdGUoZGF0ZSk7XG4gICAgcmV0dXJuIGR0LnRvRm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gIH1cblxuICBvdmVycmlkZSBwYXJzZSh2YWx1ZTogYW55KTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnLycpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0LCB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgIH0pO1xuXG4gICAgaWYgKGR0LmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBkdC50b0pTRGF0ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHMgPSBbJ2RkTU15eXl5JywgJ2QvTS95eXl5JywgJ2RkL00veXl5eScsICdkL01NL3l5eXknXTtcbiAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiBmb3JtYXRzKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBEYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCBmb3JtYXQsIHtcbiAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICAgIH0pO1xuICAgICAgaWYgKHBhcnNlZC5pc1ZhbGlkKSB7XG4gICAgICAgIHJldHVybiBwYXJzZWQudG9KU0RhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkKCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { NativeDateAdapter } from '@angular/material/core';
|
|
3
3
|
import { DateTime } from 'luxon';
|
|
4
|
-
import { ONEMRVA_FORMAT } from '../constants/date.format';
|
|
5
4
|
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
+
import { ONEMRVA_FORMAT } from '../constants';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@ngx-translate/core";
|
|
8
8
|
export class OnemrvaYearMonthAdapter extends NativeDateAdapter {
|
|
9
9
|
constructor(translateService) {
|
|
10
10
|
super();
|
|
11
11
|
this.translateService = translateService;
|
|
12
|
-
this.dateFormat = ONEMRVA_FORMAT.display.
|
|
12
|
+
this.dateFormat = ONEMRVA_FORMAT.display.monthYearLabel;
|
|
13
13
|
this.destroyNotifier$ = new Subject();
|
|
14
14
|
this.setLocale(this.translateService.currentLang);
|
|
15
15
|
this.translateService.onLangChange
|
|
@@ -20,14 +20,12 @@ export class OnemrvaYearMonthAdapter extends NativeDateAdapter {
|
|
|
20
20
|
}
|
|
21
21
|
format(date) {
|
|
22
22
|
const dt = DateTime.fromJSDate(date);
|
|
23
|
-
console.log(dt.toFormat(this.dateFormat));
|
|
24
23
|
return dt.toFormat(this.dateFormat);
|
|
25
24
|
}
|
|
26
25
|
parse(value) {
|
|
27
26
|
if (value && typeof value === 'string') {
|
|
28
27
|
value = value.replace(/\D/g, '/');
|
|
29
28
|
}
|
|
30
|
-
console.warn('*****');
|
|
31
29
|
if (value === null || value === '') {
|
|
32
30
|
return null;
|
|
33
31
|
}
|
|
@@ -61,4 +59,4 @@ export class OnemrvaYearMonthAdapter extends NativeDateAdapter {
|
|
|
61
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaYearMonthAdapter, decorators: [{
|
|
62
60
|
type: Injectable
|
|
63
61
|
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci1tb250aC5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2FkYXB0ZXJzL3llYXItbW9udGguYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBRzlDLE1BQU0sT0FBTyx1QkFDWCxTQUFRLGlCQUFpQjtJQU96QixZQUFvQixnQkFBa0M7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSjlDLGVBQVUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUVuRCxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSzdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO2FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDdEMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVEsTUFBTSxDQUFDLElBQVU7UUFDeEIsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFUSxLQUFLLENBQUMsS0FBVTtRQUN2QixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNyRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUNoRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLGlCQUFpQjtRQUN4QixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQTdEVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ORU1SVkFfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFZZWFyTW9udGhBZGFwdGVyXG4gIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBkYXRlRm9ybWF0ID0gT05FTVJWQV9GT1JNQVQuZGlzcGxheS5tb250aFllYXJMYWJlbDtcblxuICBwcml2YXRlIGRlc3Ryb3lOb3RpZmllciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnNldExvY2FsZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3lOb3RpZmllciQpKVxuICAgICAgLnN1YnNjcmliZSgoeyBsYW5nIH0pID0+IHtcbiAgICAgICAgdGhpcy5zZXRMb2NhbGUobGFuZyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1hdChkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBkdCA9IERhdGVUaW1lLmZyb21KU0RhdGUoZGF0ZSk7XG4gICAgcmV0dXJuIGR0LnRvRm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gIH1cblxuICBvdmVycmlkZSBwYXJzZSh2YWx1ZTogYW55KTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnLycpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0LCB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgIH0pO1xuXG4gICAgaWYgKGR0LmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBkdC50b0pTRGF0ZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHMgPSBbJ01NeXl5eScsICdNL3l5eXknLCAnTU0veXl5eSddO1xuICAgIGZvciAoY29uc3QgZm9ybWF0IG9mIGZvcm1hdHMpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IERhdGVUaW1lLmZyb21Gb3JtYXQodmFsdWUsIGZvcm1hdCwge1xuICAgICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgICAgfSk7XG4gICAgICBpZiAocGFyc2VkLmlzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlZC50b0pTRGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmludmFsaWQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveU5vdGlmaWVyJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,16 +9,4 @@ export const ONEMRVA_FORMAT = {
|
|
|
9
9
|
monthYearA11yLabel: 'MMMM yyyy',
|
|
10
10
|
},
|
|
11
11
|
};
|
|
12
|
-
|
|
13
|
-
export const ONEMRVA_YEAR_MONTH_FORMAT = {
|
|
14
|
-
parse: {
|
|
15
|
-
dateInput: 'LL/yyyy',
|
|
16
|
-
},
|
|
17
|
-
display: {
|
|
18
|
-
dateInput: 'LL/yyyy',
|
|
19
|
-
monthYearLabel: 'LL/yyyy',
|
|
20
|
-
dateA11yLabel: 'LL',
|
|
21
|
-
monthYearA11yLabel: 'LLL yyyy',
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvY29uc3RhbnRzL2RhdGUuZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsSUFBSTtLQUNoQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO0FBQ0YsU0FBUztBQUNULE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFtQjtJQUN2RCxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsU0FBUztLQUNyQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFVBQVU7S0FDL0I7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IE9ORU1SVkFfRk9STUFUID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ0xMJyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ2RkL01NL3l5eXknLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIHl5eXknLFxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSB5eXl5JyxcbiAgfSxcbn07XG4vLyBLRUVQID9cbmV4cG9ydCBjb25zdCBPTkVNUlZBX1lFQVJfTU9OVEhfRk9STUFUOiBNYXREYXRlRm9ybWF0cyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6ICdMTC95eXl5JyxcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogJ0xML3l5eXknLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTEwveXl5eScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdMTEwgeXl5eScsXG4gIH0sXG59O1xuIl19
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvY29uc3RhbnRzL2RhdGUuZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBbUI7SUFDNUMsS0FBSyxFQUFFO1FBQ0wsU0FBUyxFQUFFLElBQUk7S0FDaEI7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsWUFBWTtRQUN2QixjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2hDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBPTkVNUlZBX0ZPUk1BVDogTWF0RGF0ZUZvcm1hdHMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnTEwnLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnZGQvTU0veXl5eScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0geXl5eScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIHl5eXknLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -565,6 +565,7 @@ class OnemrvaMatFileUploadComponent {
|
|
|
565
565
|
this.accept = [];
|
|
566
566
|
this.maxFileSize = 0;
|
|
567
567
|
this.numberOfFiles = 0;
|
|
568
|
+
this.maxTotalFileSize = 0;
|
|
568
569
|
this.uploadOnDrop = true;
|
|
569
570
|
this.initialFiles = [];
|
|
570
571
|
this.errorMessage = '';
|
|
@@ -612,46 +613,54 @@ class OnemrvaMatFileUploadComponent {
|
|
|
612
613
|
* @param files (Files List)
|
|
613
614
|
*/
|
|
614
615
|
prepareFilesList(files) {
|
|
615
|
-
this.fileUploadStore.files$.pipe(take(1)).subscribe(
|
|
616
|
-
// if numberOffiles is set and the total length of files is
|
|
616
|
+
this.fileUploadStore.files$.pipe(take(1)).subscribe(currentFiles => {
|
|
617
|
+
// if numberOffiles is set and the total length of files is smal
|
|
618
|
+
// ler than it
|
|
617
619
|
if (this.numberOfFiles > 0 &&
|
|
618
|
-
files.length +
|
|
620
|
+
files.length + currentFiles.length > this.numberOfFiles) {
|
|
619
621
|
// too many files
|
|
620
622
|
this.errorMessage = this.translate.instant('file.upload.too.many.files');
|
|
623
|
+
return;
|
|
621
624
|
}
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
if (file === null)
|
|
629
|
-
continue;
|
|
630
|
-
const item = {
|
|
631
|
-
file,
|
|
632
|
-
progress: 0,
|
|
633
|
-
message: '',
|
|
634
|
-
color: 'primary',
|
|
635
|
-
url: null,
|
|
636
|
-
id: null,
|
|
637
|
-
enableProgressBar: this.uploadOnDrop,
|
|
638
|
-
name: file.name,
|
|
639
|
-
lastModified: file.lastModified,
|
|
640
|
-
size: file.size,
|
|
641
|
-
type: file.type,
|
|
642
|
-
};
|
|
643
|
-
fs.push(item);
|
|
625
|
+
if (this.maxTotalFileSize > 0) {
|
|
626
|
+
const total = Object.values(files).reduce((sum, obj) => sum + obj.size, 0) +
|
|
627
|
+
currentFiles.reduce((sum, obj) => sum + obj.size, 0);
|
|
628
|
+
if (total > this.maxTotalFileSize) {
|
|
629
|
+
this.errorMessage = this.translate.instant('file.upload.total.max.size.exceeded');
|
|
630
|
+
return;
|
|
644
631
|
}
|
|
645
|
-
if (this.uploadOnDrop)
|
|
646
|
-
this.fileUploadStore.uploadFiles(fs);
|
|
647
|
-
else
|
|
648
|
-
this.fileUploadStore.addSeveralForPotentialUpload(fs);
|
|
649
|
-
this.fileDropRef.nativeElement.value = null;
|
|
650
632
|
}
|
|
633
|
+
// clear error message
|
|
634
|
+
this.errorMessage = '';
|
|
635
|
+
const fs = [];
|
|
636
|
+
for (let i = 0; i < files.length; i++) {
|
|
637
|
+
const file = files.item(i);
|
|
638
|
+
if (file === null)
|
|
639
|
+
continue;
|
|
640
|
+
const item = {
|
|
641
|
+
file,
|
|
642
|
+
progress: 0,
|
|
643
|
+
message: '',
|
|
644
|
+
color: 'primary',
|
|
645
|
+
url: null,
|
|
646
|
+
id: null,
|
|
647
|
+
enableProgressBar: this.uploadOnDrop,
|
|
648
|
+
name: file.name,
|
|
649
|
+
lastModified: file.lastModified,
|
|
650
|
+
size: file.size,
|
|
651
|
+
type: file.type,
|
|
652
|
+
};
|
|
653
|
+
fs.push(item);
|
|
654
|
+
}
|
|
655
|
+
if (this.uploadOnDrop)
|
|
656
|
+
this.fileUploadStore.uploadFiles(fs);
|
|
657
|
+
else
|
|
658
|
+
this.fileUploadStore.addSeveralForPotentialUpload(fs);
|
|
659
|
+
this.fileDropRef.nativeElement.value = null;
|
|
651
660
|
});
|
|
652
661
|
}
|
|
653
662
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaMatFileUploadComponent, deps: [{ token: i1$1.MatDialog }, { token: i2$1.OnemRvaCDNMimeService }, { token: i3$1.TranslateService }, { token: OnemrvaMatFileUploadStore }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
654
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: OnemrvaMatFileUploadComponent, selector: "onemrva-mat-file-upload", inputs: { accept: "accept", maxFileSize: "maxFileSize", numberOfFiles: "numberOfFiles", uploadOnDrop: "uploadOnDrop", initialFiles: "initialFiles", errorMessage: "errorMessage", dropFilesHereTextTranslationKey: "dropFilesHereTextTranslationKey", filePanelTemplate: "filePanelTemplate", dataCy: "dataCy" }, host: { properties: { "attr.data-cy": "this.dataCy" } }, viewQueries: [{ propertyName: "fileDropRef", first: true, predicate: ["fileDropRef"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"files$ | async as files\">\n <div\n class=\"onemrva-mat-file-upload-drop-area\"\n appDnd\n (fileDropped)=\"onFileDropped($event)\"\n [ngClass]=\"{\n 'fu-error': errorMessage !== '',\n filein: files.length > 0,\n }\"\n >\n <input\n type=\"file\"\n #fileDropRef\n [attr.id]=\"inputId\"\n role=\"button\"\n multiple\n (change)=\"fileBrowseHandler($event)\"\n accept=\"{{ acceptString$ | async }}\"\n />\n <div\n class=\"download-outer\"\n *ngIf=\"numberOfFiles === 0 || numberOfFiles > files.length\"\n >\n <div class=\"download-icon\">\n <mat-icon class=\"onemrva-upload xxlarge\">download</mat-icon>\n </div>\n\n <div class=\"download-text\">\n {{ dropFilesHereTextTranslationKey | translate }}\n {{ 'file.upload.or' | translate }}\n <label for=\"{{ inputId }}\" class=\"content\">\n {{ 'file.upload.browse.for.file' | translate }} </label\n ><br />\n <span class=\"restrictions\" *ngIf=\"maxFileSize > 0\">\n {{ 'file.upload.maximum' | translate }}\n {{ maxFileSizeFormatted }}\n\n <span *ngIf=\"accept.length > 0\">{{ '| ' }}</span>\n\n {{ acceptString$ | async }}\n </span>\n </div>\n </div>\n <ul class=\"files-list\">\n <li *ngFor=\"let file of files\">\n <ng-container\n *ngTemplateOutlet=\"\n filePanelTemplate;\n context: { file, $implicit: file }\n \"\n ></ng-container>\n </li>\n </ul>\n </div>\n\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage | translate }}</mat-error>\n\n <mat-error *ngIf=\"fileUploadErrorMessage$ | async as fileUploadErrorMessage\">\n {{ fileUploadErrorMessage | translate }}\n </mat-error>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: DndDirective, selector: "[appDnd]", outputs: ["fileDropped"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], animations: [
|
|
663
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: OnemrvaMatFileUploadComponent, selector: "onemrva-mat-file-upload", inputs: { accept: "accept", maxFileSize: "maxFileSize", numberOfFiles: "numberOfFiles", maxTotalFileSize: "maxTotalFileSize", uploadOnDrop: "uploadOnDrop", initialFiles: "initialFiles", errorMessage: "errorMessage", dropFilesHereTextTranslationKey: "dropFilesHereTextTranslationKey", filePanelTemplate: "filePanelTemplate", dataCy: "dataCy" }, host: { properties: { "attr.data-cy": "this.dataCy" } }, viewQueries: [{ propertyName: "fileDropRef", first: true, predicate: ["fileDropRef"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"files$ | async as files\">\n <div\n class=\"onemrva-mat-file-upload-drop-area\"\n appDnd\n (fileDropped)=\"onFileDropped($event)\"\n [ngClass]=\"{\n 'fu-error': errorMessage !== '',\n filein: files.length > 0,\n }\"\n >\n <input\n type=\"file\"\n #fileDropRef\n [attr.id]=\"inputId\"\n role=\"button\"\n multiple\n (change)=\"fileBrowseHandler($event)\"\n accept=\"{{ acceptString$ | async }}\"\n />\n <div\n class=\"download-outer\"\n *ngIf=\"numberOfFiles === 0 || numberOfFiles > files.length\"\n >\n <div class=\"download-icon\">\n <mat-icon class=\"onemrva-upload xxlarge\">download</mat-icon>\n </div>\n\n <div class=\"download-text\">\n {{ dropFilesHereTextTranslationKey | translate }}\n {{ 'file.upload.or' | translate }}\n <label for=\"{{ inputId }}\" class=\"content\">\n {{ 'file.upload.browse.for.file' | translate }} </label\n ><br />\n <span class=\"restrictions\" *ngIf=\"maxFileSize > 0\">\n {{ 'file.upload.maximum' | translate }}\n {{ maxFileSizeFormatted }}\n\n <span *ngIf=\"accept.length > 0\">{{ '| ' }}</span>\n\n {{ acceptString$ | async }}\n </span>\n </div>\n </div>\n <ul class=\"files-list\">\n <li *ngFor=\"let file of files\">\n <ng-container\n *ngTemplateOutlet=\"\n filePanelTemplate;\n context: { file, $implicit: file }\n \"\n ></ng-container>\n </li>\n </ul>\n </div>\n\n <mat-error *ngIf=\"errorMessage\">{{ errorMessage | translate }}</mat-error>\n\n <mat-error *ngIf=\"fileUploadErrorMessage$ | async as fileUploadErrorMessage\">\n {{ fileUploadErrorMessage | translate }}\n </mat-error>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: DndDirective, selector: "[appDnd]", outputs: ["fileDropped"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TranslatePipe, name: "translate" }], animations: [
|
|
655
664
|
trigger('inOutAnimation', [
|
|
656
665
|
state('in', style({ opacity: 1 })),
|
|
657
666
|
transition(':enter', [
|
|
@@ -706,6 +715,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
706
715
|
type: Input
|
|
707
716
|
}], numberOfFiles: [{
|
|
708
717
|
type: Input
|
|
718
|
+
}], maxTotalFileSize: [{
|
|
719
|
+
type: Input
|
|
709
720
|
}], uploadOnDrop: [{
|
|
710
721
|
type: Input
|
|
711
722
|
}], initialFiles: [{
|