@lenne.tech/ng-base 13.17.0 → 13.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/base-cms/base-cms.module.d.ts +6 -6
  2. package/base-cms/interfaces/base-cms-module-config.interface.d.ts +6 -6
  3. package/base-cms/pages/base-cms/base-cms.component.d.ts +0 -7
  4. package/base-components/base-components.module.d.ts +6 -3
  5. package/base-components/components/model-form/model-form.component.d.ts +13 -2
  6. package/base-components/components/model-form-sub/model-form-sub.component.d.ts +26 -0
  7. package/base-components/components/model-table/model-table.component.d.ts +4 -3
  8. package/base-components/components/refence-input/refence-input.component.d.ts +23 -0
  9. package/base-components/components/upload-image/upload-image.component.d.ts +70 -0
  10. package/base-components/public-api.d.ts +3 -0
  11. package/base-prototype/base-prototype.module.d.ts +7 -6
  12. package/base-prototype/pages/profile/profile.component.d.ts +34 -0
  13. package/base-prototype/public-api.d.ts +1 -0
  14. package/esm2020/base-cms/base-cms.module.mjs +3 -4
  15. package/esm2020/base-cms/interfaces/base-cms-module-config.interface.mjs +1 -1
  16. package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +10 -24
  17. package/esm2020/base-components/base-components.module.mjs +15 -3
  18. package/esm2020/base-components/components/model-form/model-form.component.mjs +47 -12
  19. package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +48 -0
  20. package/esm2020/base-components/components/model-table/model-table.component.mjs +14 -10
  21. package/esm2020/base-components/components/refence-input/refence-input.component.mjs +61 -0
  22. package/esm2020/base-components/components/upload-image/upload-image.component.mjs +138 -0
  23. package/esm2020/base-components/public-api.mjs +4 -1
  24. package/esm2020/base-prototype/base-prototype.module.mjs +8 -4
  25. package/esm2020/base-prototype/pages/profile/profile.component.mjs +45 -0
  26. package/esm2020/base-prototype/public-api.mjs +2 -1
  27. package/esm2020/shared/classes/graphql-meta.class.mjs +14 -2
  28. package/esm2020/shared/classes/sort.class.mjs +47 -0
  29. package/esm2020/shared/directives/sort.directive.mjs +54 -0
  30. package/esm2020/shared/public-api.mjs +4 -1
  31. package/esm2020/shared/services/graphql.service.mjs +2 -2
  32. package/esm2020/shared/services/user.service.mjs +2 -1
  33. package/fesm2015/lenne.tech-ng-base-base-cms.mjs +16 -30
  34. package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  35. package/fesm2015/lenne.tech-ng-base-base-components.mjs +304 -21
  36. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  37. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +49 -5
  38. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  39. package/fesm2015/lenne.tech-ng-base-shared.mjs +118 -4
  40. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -1
  41. package/fesm2020/lenne.tech-ng-base-base-cms.mjs +11 -26
  42. package/fesm2020/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  43. package/fesm2020/lenne.tech-ng-base-base-components.mjs +298 -18
  44. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  45. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +49 -5
  46. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  47. package/fesm2020/lenne.tech-ng-base-shared.mjs +115 -4
  48. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -1
  49. package/package.json +1 -1
  50. package/shared/classes/sort.class.d.ts +19 -0
  51. package/shared/directives/sort.directive.d.ts +14 -0
  52. package/shared/public-api.d.ts +2 -0
@@ -0,0 +1,61 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { GraphQLRequestType } from '@lenne.tech/ng-base/shared';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@lenne.tech/ng-base/shared";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ export class RefenceInputComponent {
8
+ constructor(graphQLService) {
9
+ this.graphQLService = graphQLService;
10
+ this.placeholder = '';
11
+ this.required = false;
12
+ this.method = 'find';
13
+ this.fields = ['id', 'name'];
14
+ this.valueField = 'id';
15
+ this.nameField = 'name';
16
+ this.objects = [];
17
+ }
18
+ ngOnInit() {
19
+ this.graphQLService
20
+ .graphQl(this.method, {
21
+ fields: this.fields,
22
+ type: GraphQLRequestType.QUERY,
23
+ })
24
+ .subscribe((result) => {
25
+ if (result) {
26
+ this.objects = result;
27
+ }
28
+ });
29
+ }
30
+ }
31
+ RefenceInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: RefenceInputComponent, deps: [{ token: i1.GraphQLService }], target: i0.ɵɵFactoryTarget.Component });
32
+ RefenceInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: RefenceInputComponent, selector: "base-refence-input", inputs: { id: "id", name: "name", label: "label", placeholder: "placeholder", autocomplete: "autocomplete", tabIndex: "tabIndex", control: "control", required: "required", method: "method", fields: "fields", valueField: "valueField", nameField: "nameField" }, ngImport: i0, template: "<div class=\"form-group mb-3\">\n <label [for]=\"id\" class=\"form-label\" [ngClass]=\"{ required: required }\" *ngIf=\"label\">{{ label }}</label>\n <input\n [id]=\"id\"\n [name]=\"name\"\n class=\"form-control\"\n [formControl]=\"control\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [autocomplete]=\"autocomplete ?? null\"\n [tabIndex]=\"tabIndex ?? null\"\n [ngClass]=\"{ 'is-invalid': control?.invalid && control?.touched }\"\n [attr.list]=\"id + '-datalistOptions'\"\n />\n <datalist [id]=\"id + '-datalistOptions'\">\n <option *ngFor=\"let object of objects\" [value]=\"object[valueField]\">{{ object[nameField] }}</option>\n </datalist>\n\n <div class=\"invalid-feedback m-2\" *ngIf=\"control?.invalid && (control?.dirty || control?.touched)\">\n <div *ngIf=\"control?.errors?.['required']\">Dieses Feld ist ein Pflichtfeld.</div>\n <div *ngIf=\"control?.errors?.['minlength']\">\n Die Mindestl\u00E4nge f\u00FCr dieses Feld betr\u00E4gt\n {{control.errors?.['minlength']?.requiredLength}} Zeichen.\n </div>\n <div *ngIf=\"control?.errors?.['maxlength']\">\n Die maximale L\u00E4nge f\u00FCr dieses Feld betr\u00E4gt\n {{control.errors?.['maxlength']?.requiredLength}} Zeichen.\n </div>\n <div *ngIf=\"control?.errors?.['email']\">Bitte eine g\u00FCltige E-Mail Adresse angeben.</div>\n <div *ngIf=\"control?.errors?.['matching']\">Die Passw\u00F6rter m\u00FCssen \u00FCberein stimmen.</div>\n </div>\n</div>\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: RefenceInputComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'base-refence-input', template: "<div class=\"form-group mb-3\">\n <label [for]=\"id\" class=\"form-label\" [ngClass]=\"{ required: required }\" *ngIf=\"label\">{{ label }}</label>\n <input\n [id]=\"id\"\n [name]=\"name\"\n class=\"form-control\"\n [formControl]=\"control\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [autocomplete]=\"autocomplete ?? null\"\n [tabIndex]=\"tabIndex ?? null\"\n [ngClass]=\"{ 'is-invalid': control?.invalid && control?.touched }\"\n [attr.list]=\"id + '-datalistOptions'\"\n />\n <datalist [id]=\"id + '-datalistOptions'\">\n <option *ngFor=\"let object of objects\" [value]=\"object[valueField]\">{{ object[nameField] }}</option>\n </datalist>\n\n <div class=\"invalid-feedback m-2\" *ngIf=\"control?.invalid && (control?.dirty || control?.touched)\">\n <div *ngIf=\"control?.errors?.['required']\">Dieses Feld ist ein Pflichtfeld.</div>\n <div *ngIf=\"control?.errors?.['minlength']\">\n Die Mindestl\u00E4nge f\u00FCr dieses Feld betr\u00E4gt\n {{control.errors?.['minlength']?.requiredLength}} Zeichen.\n </div>\n <div *ngIf=\"control?.errors?.['maxlength']\">\n Die maximale L\u00E4nge f\u00FCr dieses Feld betr\u00E4gt\n {{control.errors?.['maxlength']?.requiredLength}} Zeichen.\n </div>\n <div *ngIf=\"control?.errors?.['email']\">Bitte eine g\u00FCltige E-Mail Adresse angeben.</div>\n <div *ngIf=\"control?.errors?.['matching']\">Die Passw\u00F6rter m\u00FCssen \u00FCberein stimmen.</div>\n </div>\n</div>\n", styles: [""] }]
36
+ }], ctorParameters: function () { return [{ type: i1.GraphQLService }]; }, propDecorators: { id: [{
37
+ type: Input
38
+ }], name: [{
39
+ type: Input
40
+ }], label: [{
41
+ type: Input
42
+ }], placeholder: [{
43
+ type: Input
44
+ }], autocomplete: [{
45
+ type: Input
46
+ }], tabIndex: [{
47
+ type: Input
48
+ }], control: [{
49
+ type: Input
50
+ }], required: [{
51
+ type: Input
52
+ }], method: [{
53
+ type: Input
54
+ }], fields: [{
55
+ type: Input
56
+ }], valueField: [{
57
+ type: Input
58
+ }], nameField: [{
59
+ type: Input
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZW5jZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL2Jhc2UtY29tcG9uZW50cy9jb21wb25lbnRzL3JlZmVuY2UtaW5wdXQvcmVmZW5jZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL2Jhc2UtY29tcG9uZW50cy9jb21wb25lbnRzL3JlZmVuY2UtaW5wdXQvcmVmZW5jZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBT2hGLE1BQU0sT0FBTyxxQkFBcUI7SUFlaEMsWUFBb0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWHpDLGdCQUFXLEdBQVksRUFBRSxDQUFDO1FBSTFCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixXQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixjQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzVCLFlBQU8sR0FBVSxFQUFFLENBQUM7SUFFaUMsQ0FBQztJQUV0RCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWM7YUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1NBQy9CLENBQUM7YUFDRCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQzthQUN2QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0hBNUJVLHFCQUFxQjtzR0FBckIscUJBQXFCLDhUQ1JsQyw2K0NBZ0NBOzJGRHhCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usb0JBQW9CO3FHQUtyQixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JhcGhRTFJlcXVlc3RUeXBlLCBHcmFwaFFMU2VydmljZSB9IGZyb20gJ0BsZW5uZS50ZWNoL25nLWJhc2Uvc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFzZS1yZWZlbmNlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVuY2UtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWZlbmNlLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVuY2VJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZT86IHN0cmluZztcbiAgQElucHV0KCkgdGFiSW5kZXg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IGFueTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbWV0aG9kID0gJ2ZpbmQnO1xuICBASW5wdXQoKSBmaWVsZHMgPSBbJ2lkJywgJ25hbWUnXTtcbiAgQElucHV0KCkgdmFsdWVGaWVsZCA9ICdpZCc7XG4gIEBJbnB1dCgpIG5hbWVGaWVsZCA9ICduYW1lJztcbiAgb2JqZWN0czogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdyYXBoUUxTZXJ2aWNlOiBHcmFwaFFMU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdyYXBoUUxTZXJ2aWNlXG4gICAgICAuZ3JhcGhRbCh0aGlzLm1ldGhvZCwge1xuICAgICAgICBmaWVsZHM6IHRoaXMuZmllbGRzLFxuICAgICAgICB0eXBlOiBHcmFwaFFMUmVxdWVzdFR5cGUuUVVFUlksXG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICB0aGlzLm9iamVjdHMgPSByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBtYi0zXCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCIgW25nQ2xhc3NdPVwieyByZXF1aXJlZDogcmVxdWlyZWQgfVwiICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gIDxpbnB1dFxuICAgIFtpZF09XCJpZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGUgPz8gbnVsbFwiXG4gICAgW3RhYkluZGV4XT1cInRhYkluZGV4ID8/IG51bGxcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBjb250cm9sPy5pbnZhbGlkICYmIGNvbnRyb2w/LnRvdWNoZWQgfVwiXG4gICAgW2F0dHIubGlzdF09XCJpZCArICctZGF0YWxpc3RPcHRpb25zJ1wiXG4gIC8+XG4gIDxkYXRhbGlzdCBbaWRdPVwiaWQgKyAnLWRhdGFsaXN0T3B0aW9ucydcIj5cbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvYmplY3Qgb2Ygb2JqZWN0c1wiIFt2YWx1ZV09XCJvYmplY3RbdmFsdWVGaWVsZF1cIj57eyBvYmplY3RbbmFtZUZpZWxkXSB9fTwvb3B0aW9uPlxuICA8L2RhdGFsaXN0PlxuXG4gIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrIG0tMlwiICpuZ0lmPVwiY29udHJvbD8uaW52YWxpZCAmJiAoY29udHJvbD8uZGlydHkgfHwgY29udHJvbD8udG91Y2hlZClcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5bJ3JlcXVpcmVkJ11cIj5EaWVzZXMgRmVsZCBpc3QgZWluIFBmbGljaHRmZWxkLjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJjb250cm9sPy5lcnJvcnM/LlsnbWlubGVuZ3RoJ11cIj5cbiAgICAgIERpZSBNaW5kZXN0bMOkbmdlIGbDvHIgZGllc2VzIEZlbGQgYmV0csOkZ3RcbiAgICAgIHt7Y29udHJvbC5lcnJvcnM/LlsnbWlubGVuZ3RoJ10/LnJlcXVpcmVkTGVuZ3RofX0gWmVpY2hlbi5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5bJ21heGxlbmd0aCddXCI+XG4gICAgICBEaWUgbWF4aW1hbGUgTMOkbmdlIGbDvHIgZGllc2VzIEZlbGQgYmV0csOkZ3RcbiAgICAgIHt7Y29udHJvbC5lcnJvcnM/LlsnbWF4bGVuZ3RoJ10/LnJlcXVpcmVkTGVuZ3RofX0gWmVpY2hlbi5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY29udHJvbD8uZXJyb3JzPy5bJ2VtYWlsJ11cIj5CaXR0ZSBlaW5lIGfDvGx0aWdlIEUtTWFpbCBBZHJlc3NlIGFuZ2ViZW4uPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImNvbnRyb2w/LmVycm9ycz8uWydtYXRjaGluZyddXCI+RGllIFBhc3N3w7ZydGVyIG3DvHNzZW4gw7xiZXJlaW4gc3RpbW1lbi48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,138 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common/http";
4
+ import * as i2 from "@angular/common";
5
+ export class UploadImageComponent {
6
+ constructor(httpClient) {
7
+ this.httpClient = httpClient;
8
+ this.supportText = 'Supports: JPEG, JPG, PNG';
9
+ this.required = false;
10
+ this.dragText = 'Drag & Drop';
11
+ this.validExtensions = ['image/jpeg', 'image/jpg', 'image/png'];
12
+ this.url = 'http://localhost:3000';
13
+ this.uploadPath = '/files/upload';
14
+ this.deletePath = '/files/';
15
+ this.path = '/files/';
16
+ this.dragActive = false;
17
+ }
18
+ /**
19
+ * The dragOver function is called when the user drags a file over the dropzone. It prevents the default action of the
20
+ * event, and sets the dragText to 'Release to Upload' and the dragActive to true
21
+ *
22
+ * @param event - any - This is the event that is triggered when the user drags a file over the dropzone.
23
+ */
24
+ dragOver(event) {
25
+ event.preventDefault();
26
+ this.dragText = 'Release to Upload';
27
+ this.dragActive = true;
28
+ }
29
+ /**
30
+ * When the user drags a file over the drop zone, the dragActive variable is set to true, which will change the color of
31
+ * the drop zone to green
32
+ *
33
+ * @param event - The event object that is passed to the dragLeave event.
34
+ */
35
+ dragLeave(event) {
36
+ this.dragText = 'Drag & Drop';
37
+ this.dragActive = false;
38
+ }
39
+ /**
40
+ * The function takes an event as a parameter, prevents the default action of the event, sets the URL of the image to the
41
+ * file that was dragged and dropped, sets the text of the drag and drop area to the default text, and sets the
42
+ * dragActive variable to false
43
+ *
44
+ * @param event - any - This is the event that is triggered when the user drags and drops a file.
45
+ */
46
+ drop(event) {
47
+ event.preventDefault();
48
+ this.setUrl(event.dataTransfer.files[0]);
49
+ this.dragText = 'Drag & Drop';
50
+ this.dragActive = false;
51
+ }
52
+ /**
53
+ * It takes a file as an argument, checks if the file type is valid, and if it is, it creates a new FileReader object,
54
+ * sets the onload function to set the fileUrl to the result of the fileReader, sets the selectedFile to the file, and
55
+ * calls the upload function
56
+ *
57
+ * @param file - any - this is the file that is selected by the user.
58
+ */
59
+ setUrl(file) {
60
+ if (this.validExtensions.includes(file.type)) {
61
+ const fileReader = new FileReader();
62
+ fileReader.onload = () => {
63
+ this.fileUrl = fileReader.result;
64
+ this.selectedFile = file;
65
+ this.upload();
66
+ };
67
+ fileReader.readAsDataURL(file);
68
+ }
69
+ }
70
+ /**
71
+ * The function takes an event as an argument, and then sets the url of the file to the first file in the event's
72
+ * target's files array
73
+ *
74
+ * @param event - any - The event that is triggered when the user selects a file.
75
+ */
76
+ selectFile(event) {
77
+ this.setUrl(event.target.files[0]);
78
+ }
79
+ /**
80
+ * We create a new FormData object, append the selected file to it, and then send it to the server
81
+ */
82
+ upload() {
83
+ const data = new FormData();
84
+ data.append('file', this.selectedFile);
85
+ this.httpClient.post(this.url + this.uploadPath, data).subscribe((result) => {
86
+ if (result?.id) {
87
+ this.control.setValue(result.id);
88
+ }
89
+ });
90
+ }
91
+ /**
92
+ * It deletes the file from the server and sets the selectedFile and fileUrl to null
93
+ *
94
+ * @param [id] - The id of the file to delete.
95
+ */
96
+ deleteFile(id) {
97
+ this.selectedFile = null;
98
+ this.fileUrl = null;
99
+ if (id) {
100
+ this.httpClient.delete(this.url + this.deletePath + id).subscribe((result) => {
101
+ this.selectedFile = null;
102
+ this.fileUrl = null;
103
+ this.control.setValue('');
104
+ });
105
+ }
106
+ }
107
+ }
108
+ UploadImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UploadImageComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
109
+ UploadImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: UploadImageComponent, selector: "base-upload-image", inputs: { id: "id", name: "name", label: "label", supportText: "supportText", required: "required", dragText: "dragText", validExtensions: "validExtensions", control: "control", url: "url", uploadPath: "uploadPath", deletePath: "deletePath", path: "path" }, ngImport: i0, template: "<div class=\"mt-3\">\n <label [for]=\"id\" class=\"form-label\" [ngClass]=\"{ required: required }\" *ngIf=\"label\">{{ label }}</label>\n <div\n class=\"drag-area\"\n (dragover)=\"dragOver($event)\"\n (dragleave)=\"dragLeave($event)\"\n (drop)=\"drop($event)\"\n [ngClass]=\"{ active: dragActive }\"\n >\n <ng-container *ngIf=\"selectedFile && !control?.value\">\n <img [src]=\"fileUrl\" *ngIf=\"selectedFile\" />\n <button class=\"btn btn-danger\" (click)=\"deleteFile()\">L\u00F6schen</button>\n </ng-container>\n\n <ng-container *ngIf=\"control?.value\">\n <img [src]=\"url + path + control?.value\" />\n <button class=\"btn btn-danger\" (click)=\"deleteFile(control?.value)\">L\u00F6schen</button>\n </ng-container>\n\n <ng-container *ngIf=\"!selectedFile && !control?.value\">\n <div class=\"icon\">\n <i class=\"bi bi-images\"></i>\n </div>\n\n <span class=\"header\">{{ dragText }}</span>\n <span class=\"header\">or <span class=\"button\" (click)=\"fileInput.click()\">browse</span></span>\n <input type=\"file\" (change)=\"selectFile($event)\" hidden #fileInput />\n <span class=\"support\">{{ supportText }}</span>\n </ng-container>\n </div>\n</div>\n", styles: [".required:after{content:\" *\"}.drag-area{height:400px;border:2px dashed #e1e1e1;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:10px auto;padding:20px}.drag-area img{height:100%;max-height:300px;max-width:100%}.drag-area .btn-danger{margin-top:auto}.drag-area .icon{font-size:50px;color:var(--bs-primary)}.drag-area .header{font-size:20px;font-weight:500}.drag-area .support{font-size:12px;color:#e1e1e1;margin:10px 0 15px}.drag-area .button{font-size:20px;font-weight:500;color:var(--bs-primary);cursor:pointer}.active{border:2px solid var(--bs-primary)}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: UploadImageComponent, decorators: [{
111
+ type: Component,
112
+ args: [{ selector: 'base-upload-image', template: "<div class=\"mt-3\">\n <label [for]=\"id\" class=\"form-label\" [ngClass]=\"{ required: required }\" *ngIf=\"label\">{{ label }}</label>\n <div\n class=\"drag-area\"\n (dragover)=\"dragOver($event)\"\n (dragleave)=\"dragLeave($event)\"\n (drop)=\"drop($event)\"\n [ngClass]=\"{ active: dragActive }\"\n >\n <ng-container *ngIf=\"selectedFile && !control?.value\">\n <img [src]=\"fileUrl\" *ngIf=\"selectedFile\" />\n <button class=\"btn btn-danger\" (click)=\"deleteFile()\">L\u00F6schen</button>\n </ng-container>\n\n <ng-container *ngIf=\"control?.value\">\n <img [src]=\"url + path + control?.value\" />\n <button class=\"btn btn-danger\" (click)=\"deleteFile(control?.value)\">L\u00F6schen</button>\n </ng-container>\n\n <ng-container *ngIf=\"!selectedFile && !control?.value\">\n <div class=\"icon\">\n <i class=\"bi bi-images\"></i>\n </div>\n\n <span class=\"header\">{{ dragText }}</span>\n <span class=\"header\">or <span class=\"button\" (click)=\"fileInput.click()\">browse</span></span>\n <input type=\"file\" (change)=\"selectFile($event)\" hidden #fileInput />\n <span class=\"support\">{{ supportText }}</span>\n </ng-container>\n </div>\n</div>\n", styles: [".required:after{content:\" *\"}.drag-area{height:400px;border:2px dashed #e1e1e1;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:10px auto;padding:20px}.drag-area img{height:100%;max-height:300px;max-width:100%}.drag-area .btn-danger{margin-top:auto}.drag-area .icon{font-size:50px;color:var(--bs-primary)}.drag-area .header{font-size:20px;font-weight:500}.drag-area .support{font-size:12px;color:#e1e1e1;margin:10px 0 15px}.drag-area .button{font-size:20px;font-weight:500;color:var(--bs-primary);cursor:pointer}.active{border:2px solid var(--bs-primary)}\n"] }]
113
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; }, propDecorators: { id: [{
114
+ type: Input
115
+ }], name: [{
116
+ type: Input
117
+ }], label: [{
118
+ type: Input
119
+ }], supportText: [{
120
+ type: Input
121
+ }], required: [{
122
+ type: Input
123
+ }], dragText: [{
124
+ type: Input
125
+ }], validExtensions: [{
126
+ type: Input
127
+ }], control: [{
128
+ type: Input
129
+ }], url: [{
130
+ type: Input
131
+ }], uploadPath: [{
132
+ type: Input
133
+ }], deletePath: [{
134
+ type: Input
135
+ }], path: [{
136
+ type: Input
137
+ }] } });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWltYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1jb21wb25lbnRzL2NvbXBvbmVudHMvdXBsb2FkLWltYWdlL3VwbG9hZC1pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL2Jhc2UtY29tcG9uZW50cy9jb21wb25lbnRzL3VwbG9hZC1pbWFnZS91cGxvYWQtaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRakQsTUFBTSxPQUFPLG9CQUFvQjtJQWlCL0IsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWJqQyxnQkFBVyxHQUFHLDBCQUEwQixDQUFDO1FBQ3pDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLGFBQWEsQ0FBQztRQUN6QixvQkFBZSxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUzRCxRQUFHLEdBQUcsdUJBQXVCLENBQUM7UUFDOUIsZUFBVSxHQUFHLGVBQWUsQ0FBQztRQUM3QixlQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLFNBQUksR0FBRyxTQUFTLENBQUM7UUFDMUIsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUkwQixDQUFDO0lBRTlDOzs7OztPQUtHO0lBQ0gsUUFBUSxDQUFDLEtBQVU7UUFDakIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQVU7UUFDbEIs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QXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFzZS11cGxvYWQtaW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLWltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWltYWdlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZEltYWdlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgc3VwcG9ydFRleHQgPSAnU3VwcG9ydHM6IEpQRUcsIEpQRywgUE5HJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZHJhZ1RleHQgPSAnRHJhZyAmIERyb3AnO1xuICBASW5wdXQoKSB2YWxpZEV4dGVuc2lvbnMgPSBbJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvanBnJywgJ2ltYWdlL3BuZyddO1xuICBASW5wdXQoKSBjb250cm9sOiBhbnk7XG4gIEBJbnB1dCgpIHVybCA9ICdodHRwOi8vbG9jYWxob3N0OjMwMDAnO1xuICBASW5wdXQoKSB1cGxvYWRQYXRoID0gJy9maWxlcy91cGxvYWQnO1xuICBASW5wdXQoKSBkZWxldGVQYXRoID0gJy9maWxlcy8nO1xuICBASW5wdXQoKSBwYXRoID0gJy9maWxlcy8nO1xuICBkcmFnQWN0aXZlID0gZmFsc2U7XG4gIHNlbGVjdGVkRmlsZTogRmlsZTtcbiAgZmlsZVVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cblxuICAvKipcbiAgICogVGhlIGRyYWdPdmVyIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGRyYWdzIGEgZmlsZSBvdmVyIHRoZSBkcm9wem9uZS4gSXQgcHJldmVudHMgdGhlIGRlZmF1bHQgYWN0aW9uIG9mIHRoZVxuICAgKiBldmVudCwgYW5kIHNldHMgdGhlIGRyYWdUZXh0IHRvICdSZWxlYXNlIHRvIFVwbG9hZCcgYW5kIHRoZSBkcmFnQWN0aXZlIHRvIHRydWVcbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IC0gYW55IC0gVGhpcyBpcyB0aGUgZXZlbnQgdGhhdCBpcyB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBkcmFncyBhIGZpbGUgb3ZlciB0aGUgZHJvcHpvbmUuXG4gICAqL1xuICBkcmFnT3ZlcihldmVudDogYW55KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmRyYWdUZXh0ID0gJ1JlbGVhc2UgdG8gVXBsb2FkJztcbiAgICB0aGlzLmRyYWdBY3RpdmUgPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIHVzZXIgZHJhZ3MgYSBmaWxlIG92ZXIgdGhlIGRyb3Agem9uZSwgdGhlIGRyYWdBY3RpdmUgdmFyaWFibGUgaXMgc2V0IHRvIHRydWUsIHdoaWNoIHdpbGwgY2hhbmdlIHRoZSBjb2xvciBvZlxuICAgKiB0aGUgZHJvcCB6b25lIHRvIGdyZWVuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBldmVudCBvYmplY3QgdGhhdCBpcyBwYXNzZWQgdG8gdGhlIGRyYWdMZWF2ZSBldmVudC5cbiAgICovXG4gIGRyYWdMZWF2ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5kcmFnVGV4dCA9ICdEcmFnICYgRHJvcCc7XG4gICAgdGhpcy5kcmFnQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRha2VzIGFuIGV2ZW50IGFzIGEgcGFyYW1ldGVyLCBwcmV2ZW50cyB0aGUgZGVmYXVsdCBhY3Rpb24gb2YgdGhlIGV2ZW50LCBzZXRzIHRoZSBVUkwgb2YgdGhlIGltYWdlIHRvIHRoZVxuICAgKiBmaWxlIHRoYXQgd2FzIGRyYWdnZWQgYW5kIGRyb3BwZWQsIHNldHMgdGhlIHRleHQgb2YgdGhlIGRyYWcgYW5kIGRyb3AgYXJlYSB0byB0aGUgZGVmYXVsdCB0ZXh0LCBhbmQgc2V0cyB0aGVcbiAgICogZHJhZ0FjdGl2ZSB2YXJpYWJsZSB0byBmYWxzZVxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgLSBhbnkgLSBUaGlzIGlzIHRoZSBldmVudCB0aGF0IGlzIHRyaWdnZXJlZCB3aGVuIHRoZSB1c2VyIGRyYWdzIGFuZCBkcm9wcyBhIGZpbGUuXG4gICAqL1xuICBkcm9wKGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc2V0VXJsKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlc1swXSk7XG4gICAgdGhpcy5kcmFnVGV4dCA9ICdEcmFnICYgRHJvcCc7XG4gICAgdGhpcy5kcmFnQWN0aXZlID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogSXQgdGFrZXMgYSBmaWxlIGFzIGFuIGFyZ3VtZW50LCBjaGVja3MgaWYgdGhlIGZpbGUgdHlwZSBpcyB2YWxpZCwgYW5kIGlmIGl0IGlzLCBpdCBjcmVhdGVzIGEgbmV3IEZpbGVSZWFkZXIgb2JqZWN0LFxuICAgKiBzZXRzIHRoZSBvbmxvYWQgZnVuY3Rpb24gdG8gc2V0IHRoZSBmaWxlVXJsIHRvIHRoZSByZXN1bHQgb2YgdGhlIGZpbGVSZWFkZXIsIHNldHMgdGhlIHNlbGVjdGVkRmlsZSB0byB0aGUgZmlsZSwgYW5kXG4gICAqIGNhbGxzIHRoZSB1cGxvYWQgZnVuY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIGZpbGUgLSBhbnkgLSB0aGlzIGlzIHRoZSBmaWxlIHRoYXQgaXMgc2VsZWN0ZWQgYnkgdGhlIHVzZXIuXG4gICAqL1xuICBzZXRVcmwoZmlsZTogYW55KSB7XG4gICAgaWYgKHRoaXMudmFsaWRFeHRlbnNpb25zLmluY2x1ZGVzKGZpbGUudHlwZSkpIHtcbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgZmlsZVJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZmlsZVVybCA9IGZpbGVSZWFkZXIucmVzdWx0IGFzIHN0cmluZztcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGUgPSBmaWxlO1xuICAgICAgICB0aGlzLnVwbG9hZCgpO1xuICAgICAgfTtcbiAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRha2VzIGFuIGV2ZW50IGFzIGFuIGFyZ3VtZW50LCBhbmQgdGhlbiBzZXRzIHRoZSB1cmwgb2YgdGhlIGZpbGUgdG8gdGhlIGZpcnN0IGZpbGUgaW4gdGhlIGV2ZW50J3NcbiAgICogdGFyZ2V0J3MgZmlsZXMgYXJyYXlcbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IC0gYW55IC0gVGhlIGV2ZW50IHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhIGZpbGUuXG4gICAqL1xuICBzZWxlY3RGaWxlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNldFVybChldmVudC50YXJnZXQuZmlsZXNbMF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdlIGNyZWF0ZSBhIG5ldyBGb3JtRGF0YSBvYmplY3QsIGFwcGVuZCB0aGUgc2VsZWN0ZWQgZmlsZSB0byBpdCwgYW5kIHRoZW4gc2VuZCBpdCB0byB0aGUgc2VydmVyXG4gICAqL1xuICB1cGxvYWQoKSB7XG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGRhdGEuYXBwZW5kKCdmaWxlJywgdGhpcy5zZWxlY3RlZEZpbGUpO1xuICAgIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMudXJsICsgdGhpcy51cGxvYWRQYXRoLCBkYXRhKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICBpZiAocmVzdWx0Py5pZCkge1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzdWx0LmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBkZWxldGVzIHRoZSBmaWxlIGZyb20gdGhlIHNlcnZlciBhbmQgc2V0cyB0aGUgc2VsZWN0ZWRGaWxlIGFuZCBmaWxlVXJsIHRvIG51bGxcbiAgICpcbiAgICogQHBhcmFtIFtpZF0gLSBUaGUgaWQgb2YgdGhlIGZpbGUgdG8gZGVsZXRlLlxuICAgKi9cbiAgZGVsZXRlRmlsZShpZD86IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gbnVsbDtcbiAgICB0aGlzLmZpbGVVcmwgPSBudWxsO1xuXG4gICAgaWYgKGlkKSB7XG4gICAgICB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHRoaXMudXJsICsgdGhpcy5kZWxldGVQYXRoICsgaWQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maWxlVXJsID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm10LTNcIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIiBbbmdDbGFzc109XCJ7IHJlcXVpcmVkOiByZXF1aXJlZCB9XCIgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZHJhZy1hcmVhXCJcbiAgICAoZHJhZ292ZXIpPVwiZHJhZ092ZXIoJGV2ZW50KVwiXG4gICAgKGRyYWdsZWF2ZSk9XCJkcmFnTGVhdmUoJGV2ZW50KVwiXG4gICAgKGRyb3ApPVwiZHJvcCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogZHJhZ0FjdGl2ZSB9XCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEZpbGUgJiYgIWNvbnRyb2w/LnZhbHVlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiZmlsZVVybFwiICpuZ0lmPVwic2VsZWN0ZWRGaWxlXCIgLz5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRhbmdlclwiIChjbGljayk9XCJkZWxldGVGaWxlKClcIj5Mw7ZzY2hlbjwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2w/LnZhbHVlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwidXJsICsgcGF0aCArIGNvbnRyb2w/LnZhbHVlXCIgLz5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRhbmdlclwiIChjbGljayk9XCJkZWxldGVGaWxlKGNvbnRyb2w/LnZhbHVlKVwiPkzDtnNjaGVuPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGVkRmlsZSAmJiAhY29udHJvbD8udmFsdWVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYmkgYmktaW1hZ2VzXCI+PC9pPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyXCI+e3sgZHJhZ1RleHQgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImhlYWRlclwiPm9yIDxzcGFuIGNsYXNzPVwiYnV0dG9uXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCI+YnJvd3NlPC9zcGFuPjwvc3Bhbj5cbiAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIChjaGFuZ2UpPVwic2VsZWN0RmlsZSgkZXZlbnQpXCIgaGlkZGVuICNmaWxlSW5wdXQgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic3VwcG9ydFwiPnt7IHN1cHBvcnRUZXh0IH19PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -15,4 +15,7 @@ export * from './components/skeleton-loader/skeleton-loader.component';
15
15
  export * from './components/breadcrumb/breadcrumb.component';
16
16
  export * from './components/model-form/model-form.component';
17
17
  export * from './components/model-table/model-table.component';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1jb21wb25lbnRzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxTQUFTO0FBQ1QsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxhQUFhO0FBQ2IsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHBvcnRzIGZvciBwdWJsaWMgQVBJXG4gKi9cblxuLy8gTW9kdWxlXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5tb2R1bGUnO1xuXG4vLyBDb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhZ3MvdGFncy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGluZy1iYXIvbG9hZGluZy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kZWwtZm9ybS9tb2RlbC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kZWwtdGFibGUvbW9kZWwtdGFibGUuY29tcG9uZW50JztcbiJdfQ==
18
+ export * from './components/model-form-sub/model-form-sub.component';
19
+ export * from './components/upload-image/upload-image.component';
20
+ export * from './components/refence-input/refence-input.component';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1jb21wb25lbnRzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxTQUFTO0FBQ1QsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxhQUFhO0FBQ2IsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHBvcnRzIGZvciBwdWJsaWMgQVBJXG4gKi9cblxuLy8gTW9kdWxlXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5tb2R1bGUnO1xuXG4vLyBDb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90ZXh0YXJlYS90ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhZ3MvdGFncy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGluZy1iYXIvbG9hZGluZy1iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9za2VsZXRvbi1sb2FkZXIvc2tlbGV0b24tbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kZWwtZm9ybS9tb2RlbC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbW9kZWwtdGFibGUvbW9kZWwtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9tb2RlbC1mb3JtLXN1Yi9tb2RlbC1mb3JtLXN1Yi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3VwbG9hZC1pbWFnZS91cGxvYWQtaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9yZWZlbmNlLWlucHV0L3JlZmVuY2UtaW5wdXQuY29tcG9uZW50JztcbiJdfQ==
@@ -2,11 +2,12 @@ import { NgModule } from '@angular/core';
2
2
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { RouterModule } from '@angular/router';
5
+ import { BaseModule } from '@lenne.tech/ng-base';
5
6
  import { BaseComponentsModule } from '@lenne.tech/ng-base/base-components';
6
7
  import { LoginComponent } from './pages/login/login.component';
7
8
  import { RegisterComponent } from './pages/register/register.component';
8
9
  import { ForgotPasswordComponent } from './pages/forgot-password/forgot-password.component';
9
- import { BaseModule } from '@lenne.tech/ng-base';
10
+ import { ProfileComponent } from './pages/profile/profile.component';
10
11
  import * as i0 from "@angular/core";
11
12
  // Modules
12
13
  const imports = [BaseModule, FormsModule, RouterModule, ReactiveFormsModule, CommonModule, BaseComponentsModule];
@@ -16,6 +17,7 @@ const elements = [
16
17
  LoginComponent,
17
18
  RegisterComponent,
18
19
  ForgotPasswordComponent,
20
+ ProfileComponent,
19
21
  ];
20
22
  export class BasePrototypeModule {
21
23
  }
@@ -24,11 +26,13 @@ BasePrototypeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
24
26
  // Components
25
27
  LoginComponent,
26
28
  RegisterComponent,
27
- ForgotPasswordComponent], imports: [BaseModule, FormsModule, RouterModule, ReactiveFormsModule, CommonModule, BaseComponentsModule], exports: [
29
+ ForgotPasswordComponent,
30
+ ProfileComponent], imports: [BaseModule, FormsModule, RouterModule, ReactiveFormsModule, CommonModule, BaseComponentsModule], exports: [
28
31
  // Components
29
32
  LoginComponent,
30
33
  RegisterComponent,
31
- ForgotPasswordComponent] });
34
+ ForgotPasswordComponent,
35
+ ProfileComponent] });
32
36
  BasePrototypeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: BasePrototypeModule, imports: [imports] });
33
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: BasePrototypeModule, decorators: [{
34
38
  type: NgModule,
@@ -38,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
38
42
  exports: elements,
39
43
  }]
40
44
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm90b3R5cGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9iYXNlLXByb3RvdHlwZS9iYXNlLXByb3RvdHlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUVqRCxVQUFVO0FBQ1YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUVqSCxpQ0FBaUM7QUFDakMsTUFBTSxRQUFRLEdBQUc7SUFDZixhQUFhO0lBQ2IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQix1QkFBdUI7Q0FDeEIsQ0FBQztBQU9GLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQjtRQVg5QixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQix1QkFBdUIsYUFQUixVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsb0JBQW9CO1FBSTdHLGFBQWE7UUFDYixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLHVCQUF1QjtpSEFRWixtQkFBbUIsWUFIOUIsT0FBTzsyRkFHSSxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLFFBQVE7b0JBQ3RCLE9BQU87b0JBQ1AsT0FBTyxFQUFFLFFBQVE7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnQGxlbm5lLnRlY2gvbmctYmFzZS9iYXNlLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWdpc3RlckNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcmdvdFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlTW9kdWxlIH0gZnJvbSAnQGxlbm5lLnRlY2gvbmctYmFzZSc7XG5cbi8vIE1vZHVsZXNcbmNvbnN0IGltcG9ydHMgPSBbQmFzZU1vZHVsZSwgRm9ybXNNb2R1bGUsIFJvdXRlck1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBCYXNlQ29tcG9uZW50c01vZHVsZV07XG5cbi8vIEltcG9ydGVkIGFuZCBleHBvcnRlZCBlbGVtZW50c1xuY29uc3QgZWxlbWVudHMgPSBbXG4gIC8vIENvbXBvbmVudHNcbiAgTG9naW5Db21wb25lbnQsXG4gIFJlZ2lzdGVyQ29tcG9uZW50LFxuICBGb3Jnb3RQYXNzd29yZENvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogZWxlbWVudHMsXG4gIGltcG9ydHMsXG4gIGV4cG9ydHM6IGVsZW1lbnRzLFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlUHJvdG90eXBlTW9kdWxlIHt9XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm90b3R5cGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9iYXNlLXByb3RvdHlwZS9iYXNlLXByb3RvdHlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUVyRSxVQUFVO0FBQ1YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUVqSCxpQ0FBaUM7QUFDakMsTUFBTSxRQUFRLEdBQUc7SUFDZixhQUFhO0lBQ2IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0NBQ2pCLENBQUM7QUFPRixNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUI7UUFaOUIsYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGdCQUFnQixhQVJELFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxvQkFBb0I7UUFJN0csYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtpSEFRTCxtQkFBbUIsWUFIOUIsT0FBTzsyRkFHSSxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLFFBQVE7b0JBQ3RCLE9BQU87b0JBQ1AsT0FBTyxFQUFFLFFBQVE7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEJhc2VNb2R1bGUgfSBmcm9tICdAbGVubmUudGVjaC9uZy1iYXNlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnQGxlbm5lLnRlY2gvbmctYmFzZS9iYXNlLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvbG9naW4vbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7IFJlZ2lzdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xuXG4vLyBNb2R1bGVzXG5jb25zdCBpbXBvcnRzID0gW0Jhc2VNb2R1bGUsIEZvcm1zTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgQmFzZUNvbXBvbmVudHNNb2R1bGVdO1xuXG4vLyBJbXBvcnRlZCBhbmQgZXhwb3J0ZWQgZWxlbWVudHNcbmNvbnN0IGVsZW1lbnRzID0gW1xuICAvLyBDb21wb25lbnRzXG4gIExvZ2luQ29tcG9uZW50LFxuICBSZWdpc3RlckNvbXBvbmVudCxcbiAgRm9yZ290UGFzc3dvcmRDb21wb25lbnQsXG4gIFByb2ZpbGVDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IGVsZW1lbnRzLFxuICBpbXBvcnRzLFxuICBleHBvcnRzOiBlbGVtZW50cyxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVByb3RvdHlwZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,45 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@lenne.tech/ng-base/shared";
4
+ import * as i2 from "@lenne.tech/ng-base/base-components";
5
+ export class ProfileComponent {
6
+ constructor(authService) {
7
+ this.authService = authService;
8
+ this.config = {};
9
+ this.profileConfig = {
10
+ email: {
11
+ label: 'E-Mail',
12
+ placeholder: '',
13
+ },
14
+ firstName: {
15
+ label: 'Vorname',
16
+ placeholder: '',
17
+ },
18
+ lastName: {
19
+ label: 'Nachname',
20
+ placeholder: '',
21
+ },
22
+ roles: {
23
+ exclude: true,
24
+ },
25
+ username: {
26
+ label: 'Benutzername',
27
+ placeholder: '',
28
+ },
29
+ password: {
30
+ exclude: true,
31
+ },
32
+ };
33
+ this.currentUser = authService.currentUser;
34
+ this.profileConfig = { ...this.profileConfig, ...this.config };
35
+ }
36
+ }
37
+ ProfileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ProfileComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
38
+ ProfileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ProfileComponent, selector: "base-profile", inputs: { config: "config" }, ngImport: i0, template: "<div class=\"container\">\n <div class=\"py-5\">\n <base-model-form\n [id]=\"currentUser?.id\"\n [modelName]=\"'user'\"\n [label]=\"'Mein Profil'\"\n [config]=\"profileConfig || {}\"\n [delete]=\"false\"\n ></base-model-form>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.ModelFormComponent, selector: "base-model-form", inputs: ["modelName", "label", "id", "delete", "logging", "config"], outputs: ["finished"] }] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ProfileComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'base-profile', template: "<div class=\"container\">\n <div class=\"py-5\">\n <base-model-form\n [id]=\"currentUser?.id\"\n [modelName]=\"'user'\"\n [label]=\"'Mein Profil'\"\n [config]=\"profileConfig || {}\"\n [delete]=\"false\"\n ></base-model-form>\n </div>\n</div>\n", styles: [""] }]
42
+ }], ctorParameters: function () { return [{ type: i1.AuthService }]; }, propDecorators: { config: [{
43
+ type: Input
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL2Jhc2UtcHJvdG90eXBlL3BhZ2VzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL2Jhc2UtcHJvdG90eXBlL3BhZ2VzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFqRCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkIzQixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQTVCbkMsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUMxQixrQkFBYSxHQUFHO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxRQUFRO2dCQUNmLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxTQUFTO2dCQUNoQixXQUFXLEVBQUUsRUFBRTthQUNoQjtZQUNELFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUUsVUFBVTtnQkFDakIsV0FBVyxFQUFFLEVBQUU7YUFDaEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUUsY0FBYztnQkFDckIsV0FBVyxFQUFFLEVBQUU7YUFDaEI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLElBQUk7YUFDZDtTQUNGLENBQUM7UUFLQSxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqRSxDQUFDOzs2R0FoQ1UsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isa0ZDUjdCLHVSQVdBOzJGREhhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjO2tHQUtmLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBCYXNpY1VzZXIgfSBmcm9tICdAbGVubmUudGVjaC9uZy1iYXNlL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Jhc2UtcHJvZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZmlsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29uZmlnOiBhbnkgPSB7fTtcbiAgcHJvZmlsZUNvbmZpZyA9IHtcbiAgICBlbWFpbDoge1xuICAgICAgbGFiZWw6ICdFLU1haWwnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgIH0sXG4gICAgZmlyc3ROYW1lOiB7XG4gICAgICBsYWJlbDogJ1Zvcm5hbWUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgIH0sXG4gICAgbGFzdE5hbWU6IHtcbiAgICAgIGxhYmVsOiAnTmFjaG5hbWUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgIH0sXG4gICAgcm9sZXM6IHtcbiAgICAgIGV4Y2x1ZGU6IHRydWUsXG4gICAgfSxcbiAgICB1c2VybmFtZToge1xuICAgICAgbGFiZWw6ICdCZW51dHplcm5hbWUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgIH0sXG4gICAgcGFzc3dvcmQ6IHtcbiAgICAgIGV4Y2x1ZGU6IHRydWUsXG4gICAgfSxcbiAgfTtcblxuICBjdXJyZW50VXNlcjogQmFzaWNVc2VyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlKSB7XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IGF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyO1xuICAgIHRoaXMucHJvZmlsZUNvbmZpZyA9IHsgLi4udGhpcy5wcm9maWxlQ29uZmlnLCAuLi50aGlzLmNvbmZpZyB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJweS01XCI+XG4gICAgPGJhc2UtbW9kZWwtZm9ybVxuICAgICAgW2lkXT1cImN1cnJlbnRVc2VyPy5pZFwiXG4gICAgICBbbW9kZWxOYW1lXT1cIid1c2VyJ1wiXG4gICAgICBbbGFiZWxdPVwiJ01laW4gUHJvZmlsJ1wiXG4gICAgICBbY29uZmlnXT1cInByb2ZpbGVDb25maWcgfHwge31cIlxuICAgICAgW2RlbGV0ZV09XCJmYWxzZVwiXG4gICAgPjwvYmFzZS1tb2RlbC1mb3JtPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -7,4 +7,5 @@ export * from './base-prototype.module';
7
7
  export * from './pages/login/login.component';
8
8
  export * from './pages/register/register.component';
9
9
  export * from './pages/forgot-password/forgot-password.component';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1wcm90b3R5cGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILFNBQVM7QUFDVCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFFBQVE7QUFDUixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXhwb3J0cyBmb3IgcHVibGljIEFQSVxuICovXG5cbi8vIE1vZHVsZVxuZXhwb3J0ICogZnJvbSAnLi9iYXNlLXByb3RvdHlwZS5tb2R1bGUnO1xuXG4vLyBQYWdlc1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlcy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlcy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlcy9mb3Jnb3QtcGFzc3dvcmQvZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudCc7XG4iXX0=
10
+ export * from './pages/profile/profile.component';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1wcm90b3R5cGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILFNBQVM7QUFDVCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFFBQVE7QUFDUixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHBvcnRzIGZvciBwdWJsaWMgQVBJXG4gKi9cblxuLy8gTW9kdWxlXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvdG90eXBlLm1vZHVsZSc7XG5cbi8vIFBhZ2VzXG5leHBvcnQgKiBmcm9tICcuL3BhZ2VzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VzL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXMvcHJvZmlsZS9wcm9maWxlLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { GraphQLList, GraphQLNonNull } from 'graphql';
1
+ import { GraphQLInputObjectType, GraphQLList, GraphQLNonNull } from 'graphql';
2
2
  import { Helper } from './helper.class';
3
3
  import { GraphQLType } from './graphql-type.class';
4
4
  import { cloneDeep } from '@apollo/client/utilities';
@@ -170,6 +170,12 @@ export class GraphQLMeta {
170
170
  const preparedType = prepared.get(type);
171
171
  if (preparedType) {
172
172
  const clone = cloneDeep(preparedType);
173
+ // Disable meta flags for sub objects
174
+ if (type?.type instanceof GraphQLInputObjectType ||
175
+ (type?.type instanceof GraphQLNonNull && type?.type?.ofType instanceof GraphQLInputObjectType && setMetaData)) {
176
+ setMetaData = false;
177
+ }
178
+ // Check for meta flags
173
179
  if (type.type && setMetaData) {
174
180
  if (type.type instanceof GraphQLNonNull) {
175
181
  clone.isRequired = true;
@@ -218,6 +224,12 @@ export class GraphQLMeta {
218
224
  // Get type name
219
225
  if (type.type) {
220
226
  const typeResult = this.getDeepType(type.type, prepared, setMetaData);
227
+ // Disable meta flags for sub objects
228
+ if (type?.type instanceof GraphQLInputObjectType ||
229
+ (type?.type instanceof GraphQLNonNull && type?.type?.ofType instanceof GraphQLInputObjectType && setMetaData)) {
230
+ setMetaData = false;
231
+ }
232
+ // Check for meta flags
221
233
  if (setMetaData) {
222
234
  if (type.type instanceof GraphQLNonNull) {
223
235
  typeResult.isRequired = true;
@@ -264,4 +276,4 @@ export class GraphQLMeta {
264
276
  return graphqlType;
265
277
  }
266
278
  }
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1tZXRhLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvY2xhc3Nlcy9ncmFwaHFsLW1ldGEuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBb0IsY0FBYyxFQUFpQixNQUFNLFNBQVMsQ0FBQztBQUV2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBS3RCOztPQUVHO0lBQ0gsWUFBc0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQVAzQyxnQkFBZ0I7UUFDTixTQUFJLEdBQXdCLEVBQUUsQ0FBQztRQUMvQixXQUFNLEdBQXdCLEVBQUUsQ0FBQztRQU16QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxRQUFRO1FBQ04sTUFBTSxhQUFhLEdBQXNCLEVBQVMsQ0FBQztRQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFN0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUU7WUFDaEUsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMxQixhQUFh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QUFDO1FBRUgsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbEIsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDMUIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUMzRCxJQUFJLENBQUUsS0FBYSxDQUFDLFlBQVksRUFBRTtvQkFDaEMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2xDO2FBQ0Y7U0FDRjtRQUVELFNBQVM7UUFDVCxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNoQyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmFwaFFMTGlzdCwgR3JhcGhRTE5hbWVkVHlwZSwgR3JhcGhRTE5vbk51bGwsIEdyYXBoUUxTY2hlbWEgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IEdyYXBoUUxSZXF1ZXN0VHlwZSB9IGZyb20gJy4uL2VudW1zL2dyYXBocWwtcmVxdWVzdC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi9oZWxwZXIuY2xhc3MnO1xuaW1wb3J0IHsgR3JhcGhRTFR5cGUgfSBmcm9tICcuL2dyYXBocWwtdHlwZS5jbGFzcyc7XG5pbXBvcnQgeyBJR3JhcGhRTFR5cGVDb2xsZWN0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ncmFwaHFsLXR5cGUtY29sbGVjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JhcGhxbENydWRUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ncmFwaHFsLWNydWQtdHlwZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvdXRpbGl0aWVzJztcblxuLyoqXG4gKiBHcmFwaFFMIG1ldGFcbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoUUxNZXRhIHtcbiAgLy8gRnJvemVuIGNhY2hlc1xuICBwcm90ZWN0ZWQgYXJnczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBwcm90ZWN0ZWQgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgLyoqXG4gICAqIEludGVncmF0ZSBzY2hlbWFcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY2hlbWE6IEdyYXBoUUxTY2hlbWEpIHtcbiAgICBpZiAoIXNjaGVtYSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ01pc3Npbmcgc2NoZW1hJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdlJ3JlIGdvaW5nIHRvIGdldCB0aGUgcXVlcnkgYW5kIG11dGF0aW9uIHR5cGVzIGZyb20gdGhlIHNjaGVtYSwgdGhlbiB3ZSdyZSBnb2luZyB0byBsb29wIHRocm91Z2ggdGhlIGZpZWxkcyBvZiBlYWNoXG4gICAqIHR5cGUgYW5kIGNoZWNrIGlmIHRoZSBmaWVsZCBuYW1lIHN0YXJ0cyB3aXRoIGBmaW5kYCwgYGNyZWF0ZWAsIGB1cGRhdGVgLCBvciBgZGVsZXRlYC4gSWYgaXQgZG9lcywgd2UncmUgZ29pbmcgdG8gYWRkXG4gICAqIHRoZSBtb2RlbCBuYW1lIHRvIHRoZSBgcG9zc2libGVUeXBlc2AgYXJyYXlcbiAgICpcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2Ygb2JqZWN0cyB3aXRoIHRoZSBuYW1lIG9mIHRoZSBtb2RlbCwgYW5kIHRoZSBDUlVEIG9wZXJhdGlvbnMgdGhhdCBhcmUgYXZhaWxhYmxlIGZvciB0aGF0IG1vZGVsLlxuICAgKi9cbiAgZ2V0VHlwZXMoKTogR3JhcGhxbENydWRUeXBlW10ge1xuICAgIGNvbnN0IHBvc3NpYmxlVHlwZXM6IEdyYXBocWxDcnVkVHlwZVtdID0gW10gYXMgYW55O1xuICAgIGNvbnN0IG11dGF0aW9uVHlwZSA9IHRoaXMuc2NoZW1hLmdldE11dGF0aW9uVHlwZSgpO1xuICAgIGNvbnN0IHF1ZXJ5VHlwZSA9IHRoaXMuc2NoZW1hLmdldFF1ZXJ5VHlwZSgpO1xuXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocXVlcnlUeXBlLmdldEZpZWxkcygpKSkge1xuICAgICAgaWYgKGtleS5zdGFydHNXaXRoKCdmaW5kJykpIHtcbiAgICAgICAgcG9zc2libGVUeXBlcy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBrZXkuc3BsaXQoJ2ZpbmQnKS5wb3AoKS5zbGljZSgwLCAtMSksXG4gICAgICAgICAgY3JlYXRlOiBmYWxzZSxcbiAgICAgICAgICB1cGRhdGU6IGZhbHNlLFxuICAgICAgICAgIGRlbGV0ZTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG11dGF0aW9uVHlwZS5nZXRGaWVsZHMoKSkpIHtcbiAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnY3JlYXRlJykpIHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSBrZXkuc3BsaXQoJ2NyZWF0ZScpLnBvcCgpO1xuICAgICAgICBpZiAocG9zc2libGVUeXBlcy5maW5kKChlKSA9PiBlLm5hbWUgPT09IG1vZGVsKSkge1xuICAgICAgICAgIHBvc3NpYmxlVHlwZXMuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBtb2RlbCkuY3JlYXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ3VwZGF0ZScpKSB7XG4gICAgICAgIGNvbnN0IG1vZGVsID0ga2V5LnNwbGl0KCd1cGRhdGUnKS5wb3AoKTtcbiAgICAgICAgaWYgKHBvc3NpYmxlVHlwZXMuZmluZCgoZSkgPT4gZS5uYW1lID09PSBtb2RlbCkpIHtcbiAgICAgICAgICBwb3NzaWJsZVR5cGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSA9PT0gbW9kZWwpLnVwZGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGtleS5zdGFydHNXaXRoKCdkZWxldGUnKSkge1xuICAgICAgICBjb25zdCBtb2RlbCA9IGtleS5zcGxpdCgnZGVsZXRlJykucG9wKCk7XG4gICAgICAgIGlmIChwb3NzaWJsZVR5cGVzLmZpbmQoKGUpID0+IGUubmFtZSA9PT0gbW9kZWwpKSB7XG4gICAgICAgICAgcG9zc2libGVUeXBlcy5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgPT09IG1vZGVsKS5kZWxldGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBvc3NpYmxlVHlwZXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFyZ3VtZW50cyBvZiBHcmFwaFFMIGZ1bmN0aW9uXG4gICAqL1xuICBnZXRBcmdzKFxuICAgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgY2FjaGU/OiBib29sZWFuOyBmcmVlemU/OiBib29sZWFuOyB0eXBlPzogR3JhcGhRTFJlcXVlc3RUeXBlIH0gPSB7fVxuICApOiBJR3JhcGhRTFR5cGVDb2xsZWN0aW9uIHtcbiAgICBjb25zdCB7IGNhY2hlLCBmcmVlemUsIHR5cGUgfSA9IHtcbiAgICAgIGNhY2hlOiB0cnVlLFxuICAgICAgZnJlZXplOiB0cnVlLFxuICAgICAgdHlwZTogdW5kZWZpbmVkLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLy8gR2V0IGNhY2hlXG4gICAgaWYgKGNhY2hlICYmIGZyZWV6ZSkge1xuICAgICAgY29uc3QgYXJncyA9IHRoaXMuYXJnc1tmdW5jdGlvbk5hbWUgKyB0eXBlXTtcbiAgICAgIGlmIChhcmdzKSB7XG4gICAgICAgIHJldHVybiBhcmdzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmdldEZ1bmN0aW9uKGZ1bmN0aW9uTmFtZSwgeyB0eXBlIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGlmIChmdW5jPy5hcmdzKSB7XG4gICAgICBmdW5jLmFyZ3MuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICByZXN1bHRbaXRlbS5uYW1lXSA9IHRoaXMuZ2V0RGVlcFR5cGUoaXRlbS50eXBlKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFNldCBjYWNoZVxuICAgIGlmIChmcmVlemUpIHtcbiAgICAgIHRoaXMuYXJnc1tmdW5jdGlvbk5hbWUgKyB0eXBlXSA9IEhlbHBlci5kZWVwRnJlZXplKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZmllbGRzIG9mIEdyYXBoUUwgZnVuY3Rpb25cbiAgICovXG4gIGdldEZpZWxkcyhcbiAgICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7IGNhY2hlPzogYm9vbGVhbjsgZnJlZXplPzogYm9vbGVhbjsgdHlwZT86IEdyYXBoUUxSZXF1ZXN0VHlwZSB9ID0ge31cbiAgKTogSUdyYXBoUUxUeXBlQ29sbGVjdGlvbiB7XG4gICAgY29uc3QgeyBjYWNoZSwgZnJlZXplLCB0eXBlIH0gPSB7XG4gICAgICBjYWNoZTogdHJ1ZSxcbiAgICAgIGZyZWV6ZTogdHJ1ZSxcbiAgICAgIHR5cGU6IHVuZGVmaW5lZCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIEdldCBjYWNoZVxuICAgIGlmIChjYWNoZSAmJiBmcmVlemUpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSB0aGlzLmZpZWxkc1tmdW5jdGlvbk5hbWUgKyB0eXBlXTtcbiAgICAgIGlmIChhcmdzKSB7XG4gICAgICAgIHJldHVybiBhcmdzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmdldEZ1bmN0aW9uKGZ1bmN0aW9uTmFtZSwgb3B0aW9ucyk7XG4gICAgY29uc3QgcmVzdWx0OiBJR3JhcGhRTFR5cGVDb2xsZWN0aW9uID0gdGhpcy5nZXREZWVwVHlwZShmdW5jLnR5cGUpIGFzIElHcmFwaFFMVHlwZUNvbGxlY3Rpb247XG5cbiAgICAvLyBTZXQgY2FjaGVcbiAgICBpZiAoZnJlZXplKSB7XG4gICAgICB0aGlzLmZpZWxkc1tmdW5jdGlvbk5hbWUgKyB0eXBlXSA9IEhlbHBlci5kZWVwRnJlZXplKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgR3JhcGhRTCBmdW5jdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGdldEZ1bmN0aW9uKG5hbWU6IHN0cmluZywgb3B0aW9uczogeyB0eXBlPzogR3JhcGhRTFJlcXVlc3RUeXBlIH0gPSB7fSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIC8vIFNldCBjb25maWdcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICAvLyBJbml0IHBvc3NpYmxlIGZ1bmN0aW9uc1xuICAgIGxldCBmdW5jdGlvbnMgPSB7fTtcblxuICAgIC8vIElmIGZ1bmN0aW9uIHR5cGUgaXMgc2V0XG4gICAgaWYgKGNvbmZpZy50eXBlKSB7XG4gICAgICBjb25zdCBncmFwaFFMVHlwZSA9IGNvbmZpZy50eXBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgY29uZmlnLnR5cGUuc2xpY2UoMSk7XG4gICAgICBjb25zdCB0eXBlID0gdGhpcy5zY2hlbWEuZ2V0VHlwZShncmFwaFFMVHlwZSk7XG4gICAgICBpZiAodHlwZSkge1xuICAgICAgICBmdW5jdGlvbnMgPSAodHlwZSBhcyBhbnkpLmdldEZpZWxkcygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIGZ1bmN0aW9uIHR5cGUgaXMgbm90IHNldFxuICAgIGVsc2Uge1xuICAgICAgWydTdWJzY3JpcHRpb24nLCAnTXV0YXRpb24nLCAnUXVlcnknXS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGU6IGFueSA9IHRoaXMuc2NoZW1hLmdldFR5cGUoaXRlbSk7XG4gICAgICAgIGlmICh0eXBlKSB7XG4gICAgICAgICAgZnVuY3Rpb25zID0ge1xuICAgICAgICAgICAgLi4uZnVuY3Rpb25zLFxuICAgICAgICAgICAgLi4uKHR5cGUuZ2V0RmllbGRzKCkgfHwge30pLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEdldCBmdW5jdGlvbiB2aWEgbmFtZVxuICAgIHJldHVybiBmdW5jdGlvbnNbbmFtZV07XG4gIH1cblxuICAvKipcbiAgICogR2V0IHR5cGVcbiAgICovXG4gIHByb3RlY3RlZCBnZXRUeXBlKG5hbWU6IHN0cmluZyk6IEdyYXBoUUxOYW1lZFR5cGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWEuZ2V0VHlwZShuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGVlcCB0eXBlIGRhdGFcbiAgICovXG4gIHByb3RlY3RlZCBnZXREZWVwVHlwZShcbiAgICB0eXBlOiBhbnksXG4gICAgcHJlcGFyZWQ6IFdlYWtNYXA8YW55LCBhbnk+ID0gbmV3IFdlYWtNYXAoKSxcbiAgICBzZXRNZXRhRGF0YSA9IGZhbHNlXG4gICk6IElHcmFwaFFMVHlwZUNvbGxlY3Rpb24gfCBHcmFwaFFMVHlwZSB7XG4gICAgLy8gQ2hlY2sgdHlwZVxuICAgIGlmICghdHlwZSkge1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgLy8gSW5maW5pdGUgcmVncmVzcyBwcm90ZWN0aW9uXG4gICAgY29uc3QgcHJlcGFyZWRPYmplY3QgPSB7fTtcblxuICAgIC8vIENoZWNrIHByZXBhcmVkXG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgY29uc3QgcHJlcGFyZWRUeXBlID0gcHJlcGFyZWQuZ2V0KHR5cGUpO1xuICAgICAgaWYgKHByZXBhcmVkVHlwZSkge1xuICAgICAgICBjb25zdCBjbG9uZSA9IGNsb25lRGVlcChwcmVwYXJlZFR5cGUpO1xuXG4gICAgICAgIGlmICh0eXBlLnR5cGUgJiYgc2V0TWV0YURhdGEpIHtcbiAgICAgICAgICBpZiAodHlwZS50eXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGwpIHtcbiAgICAgICAgICAgIGNsb25lLmlzUmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGUudHlwZS5vZlR5cGUgaW5zdGFuY2VvZiBHcmFwaFFMTGlzdCkge1xuICAgICAgICAgICAgICBjbG9uZS5pc0xpc3QgPSB0cnVlO1xuICAgICAgICAgICAgICBjbG9uZS5pc0l0ZW1SZXF1aXJlZCA9IHR5cGUudHlwZS5vZlR5cGUub2ZUeXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjbG9uZS5pc0xpc3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY2xvbmUuaXNJdGVtUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xvbmUuaXNSZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAvLyBMaXN0IGZpcnN0XG4gICAgICAgICAgICBpZiAodHlwZS50eXBlIGluc3RhbmNlb2YgR3JhcGhRTExpc3QpIHtcbiAgICAgICAgICAgICAgY2xvbmUuaXNMaXN0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY2xvbmUuaXNJdGVtUmVxdWlyZWQgPSB0eXBlLm9mVHlwZSBpbnN0YW5jZW9mIEdyYXBoUUxOb25OdWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY2xvbmUuaXNMaXN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIGNsb25lLmlzSXRlbVJlcXVpcmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgcHJlcGFyZWRcbiAgICAgIHByZXBhcmVkLnNldCh0eXBlLCBwcmVwYXJlZE9iamVjdCk7XG4gICAgfVxuXG4gICAgLy8gU2VhcmNoIGRlZXBlclxuICAgIGlmICh0eXBlLm9mVHlwZSkge1xuICAgICAgY29uc3Qgb2ZUeXBlUmVzdWx0ID0gdGhpcy5nZXREZWVwVHlwZSh0eXBlLm9mVHlwZSwgcHJlcGFyZWQsIHNldE1ldGFEYXRhKTtcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJlcGFyZWRPYmplY3QsIG9mVHlwZVJlc3VsdCk7XG4gICAgICByZXR1cm4gb2ZUeXBlUmVzdWx0O1xuICAgIH1cblxuICAgIC8vIFByb2Nlc3MgZmllbGRzXG4gICAgaWYgKHR5cGUuX2ZpZWxkcykge1xuICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0eXBlLl9maWVsZHMpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdGhpcy5nZXREZWVwVHlwZSh2YWx1ZSwgcHJlcGFyZWQsIHRydWUpO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmFzc2lnbihwcmVwYXJlZE9iamVjdCwgcmVzdWx0KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gR2V0IHR5cGUgbmFtZVxuICAgIGlmICh0eXBlLnR5cGUpIHtcbiAgICAgIGNvbnN0IHR5cGVSZXN1bHQgPSB0aGlzLmdldERlZXBUeXBlKHR5cGUudHlwZSwgcHJlcGFyZWQsIHNldE1ldGFEYXRhKTtcblxuICAgICAgaWYgKHNldE1ldGFEYXRhKSB7XG4gICAgICAgIGlmICh0eXBlLnR5cGUgaW5zdGFuY2VvZiBHcmFwaFFMTm9uTnVsbCkge1xuICAgICAgICAgIHR5cGVSZXN1bHQuaXNSZXF1aXJlZCA9IHRydWU7XG4gICAgICAgICAgaWYgKHR5cGUudHlwZS5vZlR5cGUgaW5zdGFuY2VvZiBHcmFwaFFMTGlzdCkge1xuICAgICAgICAgICAgdHlwZVJlc3VsdC5pc0xpc3QgPSB0cnVlO1xuICAgICAgICAgICAgdHlwZVJlc3VsdC5pc0l0ZW1SZXF1aXJlZCA9IHR5cGUudHlwZS5vZlR5cGUub2ZUeXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHR5cGVSZXN1bHQuaXNMaXN0ID0gZmFsc2U7XG4gICAgICAgICAgICB0eXBlUmVzdWx0LmlzSXRlbVJlcXVpcmVkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHR5cGVSZXN1bHQuaXNSZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgLy8gTGlzdCBmaXJzdFxuICAgICAgICAgIGlmICh0eXBlLnR5cGUgaW5zdGFuY2VvZiBHcmFwaFFMTGlzdCkge1xuICAgICAgICAgICAgdHlwZVJlc3VsdC5pc0xpc3QgPSB0cnVlO1xuICAgICAgICAgICAgdHlwZVJlc3VsdC5pc0l0ZW1SZXF1aXJlZCA9IHR5cGUub2ZUeXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGw7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHR5cGVSZXN1bHQuaXNMaXN0ID0gZmFsc2U7XG4gICAgICAgICAgICB0eXBlUmVzdWx0LmlzSXRlbVJlcXVpcmVkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIE9iamVjdC5hc3NpZ24ocHJlcGFyZWRPYmplY3QsIHR5cGVSZXN1bHQpO1xuICAgICAgcmV0dXJuIHR5cGVSZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBHcmFwaFFMVHlwZVxuICAgIGNvbnN0IGdyYXBocWxUeXBlID0gR3JhcGhRTFR5cGUubWFwKHtcbiAgICAgIHR5cGU6IHR5cGUubmFtZSxcbiAgICB9KTtcblxuICAgIC8vIFNldCBlbnVtIHZhbHVlc1xuICAgIGlmICghIXR5cGUuX3ZhbHVlcykge1xuICAgICAgZ3JhcGhxbFR5cGUuaXNFbnVtID0gdHJ1ZTtcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHR5cGUuX25hbWVMb29rdXApKSB7XG4gICAgICAgIGlmICghKHZhbHVlIGFzIGFueSkuaXNEZXByZWNhdGVkKSB7XG4gICAgICAgICAgZ3JhcGhxbFR5cGUudmFsaWRFbnVtcy5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaW5pc2hcbiAgICBwcmVwYXJlZC5zZXQodHlwZSwgZ3JhcGhxbFR5cGUpO1xuICAgIHJldHVybiBncmFwaHFsVHlwZTtcbiAgfVxufVxuIl19
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1tZXRhLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvY2xhc3Nlcy9ncmFwaHFsLW1ldGEuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBb0IsY0FBYyxFQUFpQixNQUFNLFNBQVMsQ0FBQztBQUUvRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBS3RCOztPQUVHO0lBQ0gsWUFBc0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQVAzQyxnQkFBZ0I7UUFDTixTQUFJLEdBQXdCLEVBQUUsQ0FBQztRQUMvQixXQUFNLEdBQXdCLEVBQUUsQ0FBQztRQU16QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxRQUFRO1FBQ04sTUFBTSxhQUFhLEdBQXNCLEVBQVMsQ0FBQztRQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFN0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUU7WUFDaEUsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFF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SUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLFdBQVcsRUFBRTt3QkFDcEMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7d0JBQ3pCLFVBQVUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sWUFBWSxjQUFjLENBQUM7cUJBQ25FO3lCQUFNO3dCQUNMLFVBQVUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO3dCQUMxQixVQUFVLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztxQkFDbkM7aUJBQ0Y7YUFDRjtZQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQseUJBQXlCO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUM7WUFDbEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUMsQ0FBQztRQUVILGtCQUFrQjtRQUNsQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2xCLFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQzFCLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDM0QsSUFBSSxDQUFFLEtBQWEsQ0FBQyxZQUFZLEVBQUU7b0JBQ2hDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNsQzthQUNGO1NBQ0Y7UUFFRCxTQUFTO1FBQ1QsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDaEMsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTElucHV0T2JqZWN0VHlwZSwgR3JhcGhRTExpc3QsIEdyYXBoUUxOYW1lZFR5cGUsIEdyYXBoUUxOb25OdWxsLCBHcmFwaFFMU2NoZW1hIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyBHcmFwaFFMUmVxdWVzdFR5cGUgfSBmcm9tICcuLi9lbnVtcy9ncmFwaHFsLXJlcXVlc3QtdHlwZS5lbnVtJztcbmltcG9ydCB7IEhlbHBlciB9IGZyb20gJy4vaGVscGVyLmNsYXNzJztcbmltcG9ydCB7IEdyYXBoUUxUeXBlIH0gZnJvbSAnLi9ncmFwaHFsLXR5cGUuY2xhc3MnO1xuaW1wb3J0IHsgSUdyYXBoUUxUeXBlQ29sbGVjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3JhcGhxbC10eXBlLWNvbGxlY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEdyYXBocWxDcnVkVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3JhcGhxbC1jcnVkLXR5cGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L3V0aWxpdGllcyc7XG5cbi8qKlxuICogR3JhcGhRTCBtZXRhXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFFMTWV0YSB7XG4gIC8vIEZyb3plbiBjYWNoZXNcbiAgcHJvdGVjdGVkIGFyZ3M6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgcHJvdGVjdGVkIGZpZWxkczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIC8qKlxuICAgKiBJbnRlZ3JhdGUgc2NoZW1hXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2NoZW1hOiBHcmFwaFFMU2NoZW1hKSB7XG4gICAgaWYgKCFzY2hlbWEpIHtcbiAgICAgIHRocm93IEVycm9yKCdNaXNzaW5nIHNjaGVtYScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXZSdyZSBnb2luZyB0byBnZXQgdGhlIHF1ZXJ5IGFuZCBtdXRhdGlvbiB0eXBlcyBmcm9tIHRoZSBzY2hlbWEsIHRoZW4gd2UncmUgZ29pbmcgdG8gbG9vcCB0aHJvdWdoIHRoZSBmaWVsZHMgb2YgZWFjaFxuICAgKiB0eXBlIGFuZCBjaGVjayBpZiB0aGUgZmllbGQgbmFtZSBzdGFydHMgd2l0aCBgZmluZGAsIGBjcmVhdGVgLCBgdXBkYXRlYCwgb3IgYGRlbGV0ZWAuIElmIGl0IGRvZXMsIHdlJ3JlIGdvaW5nIHRvIGFkZFxuICAgKiB0aGUgbW9kZWwgbmFtZSB0byB0aGUgYHBvc3NpYmxlVHlwZXNgIGFycmF5XG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIG9iamVjdHMgd2l0aCB0aGUgbmFtZSBvZiB0aGUgbW9kZWwsIGFuZCB0aGUgQ1JVRCBvcGVyYXRpb25zIHRoYXQgYXJlIGF2YWlsYWJsZSBmb3IgdGhhdCBtb2RlbC5cbiAgICovXG4gIGdldFR5cGVzKCk6IEdyYXBocWxDcnVkVHlwZVtdIHtcbiAgICBjb25zdCBwb3NzaWJsZVR5cGVzOiBHcmFwaHFsQ3J1ZFR5cGVbXSA9IFtdIGFzIGFueTtcbiAgICBjb25zdCBtdXRhdGlvblR5cGUgPSB0aGlzLnNjaGVtYS5nZXRNdXRhdGlvblR5cGUoKTtcbiAgICBjb25zdCBxdWVyeVR5cGUgPSB0aGlzLnNjaGVtYS5nZXRRdWVyeVR5cGUoKTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHF1ZXJ5VHlwZS5nZXRGaWVsZHMoKSkpIHtcbiAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnZmluZCcpKSB7XG4gICAgICAgIHBvc3NpYmxlVHlwZXMucHVzaCh7XG4gICAgICAgICAgbmFtZToga2V5LnNwbGl0KCdmaW5kJykucG9wKCkuc2xpY2UoMCwgLTEpLFxuICAgICAgICAgIGNyZWF0ZTogZmFsc2UsXG4gICAgICAgICAgdXBkYXRlOiBmYWxzZSxcbiAgICAgICAgICBkZWxldGU6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhtdXRhdGlvblR5cGUuZ2V0RmllbGRzKCkpKSB7XG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ2NyZWF0ZScpKSB7XG4gICAgICAgIGNvbnN0IG1vZGVsID0ga2V5LnNwbGl0KCdjcmVhdGUnKS5wb3AoKTtcbiAgICAgICAgaWYgKHBvc3NpYmxlVHlwZXMuZmluZCgoZSkgPT4gZS5uYW1lID09PSBtb2RlbCkpIHtcbiAgICAgICAgICBwb3NzaWJsZVR5cGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSA9PT0gbW9kZWwpLmNyZWF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGtleS5zdGFydHNXaXRoKCd1cGRhdGUnKSkge1xuICAgICAgICBjb25zdCBtb2RlbCA9IGtleS5zcGxpdCgndXBkYXRlJykucG9wKCk7XG4gICAgICAgIGlmIChwb3NzaWJsZVR5cGVzLmZpbmQoKGUpID0+IGUubmFtZSA9PT0gbW9kZWwpKSB7XG4gICAgICAgICAgcG9zc2libGVUeXBlcy5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgPT09IG1vZGVsKS51cGRhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnZGVsZXRlJykpIHtcbiAgICAgICAgY29uc3QgbW9kZWwgPSBrZXkuc3BsaXQoJ2RlbGV0ZScpLnBvcCgpO1xuICAgICAgICBpZiAocG9zc2libGVUeXBlcy5maW5kKChlKSA9PiBlLm5hbWUgPT09IG1vZGVsKSkge1xuICAgICAgICAgIHBvc3NpYmxlVHlwZXMuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBtb2RlbCkuZGVsZXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwb3NzaWJsZVR5cGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhcmd1bWVudHMgb2YgR3JhcGhRTCBmdW5jdGlvblxuICAgKi9cbiAgZ2V0QXJncyhcbiAgICBmdW5jdGlvbk5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiB7IGNhY2hlPzogYm9vbGVhbjsgZnJlZXplPzogYm9vbGVhbjsgdHlwZT86IEdyYXBoUUxSZXF1ZXN0VHlwZSB9ID0ge31cbiAgKTogSUdyYXBoUUxUeXBlQ29sbGVjdGlvbiB7XG4gICAgY29uc3QgeyBjYWNoZSwgZnJlZXplLCB0eXBlIH0gPSB7XG4gICAgICBjYWNoZTogdHJ1ZSxcbiAgICAgIGZyZWV6ZTogdHJ1ZSxcbiAgICAgIHR5cGU6IHVuZGVmaW5lZCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIEdldCBjYWNoZVxuICAgIGlmIChjYWNoZSAmJiBmcmVlemUpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSB0aGlzLmFyZ3NbZnVuY3Rpb25OYW1lICsgdHlwZV07XG4gICAgICBpZiAoYXJncykge1xuICAgICAgICByZXR1cm4gYXJncztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmdW5jID0gdGhpcy5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUsIHsgdHlwZSB9KTtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBpZiAoZnVuYz8uYXJncykge1xuICAgICAgZnVuYy5hcmdzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgcmVzdWx0W2l0ZW0ubmFtZV0gPSB0aGlzLmdldERlZXBUeXBlKGl0ZW0udHlwZSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBTZXQgY2FjaGVcbiAgICBpZiAoZnJlZXplKSB7XG4gICAgICB0aGlzLmFyZ3NbZnVuY3Rpb25OYW1lICsgdHlwZV0gPSBIZWxwZXIuZGVlcEZyZWV6ZShyZXN1bHQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpZWxkcyBvZiBHcmFwaFFMIGZ1bmN0aW9uXG4gICAqL1xuICBnZXRGaWVsZHMoXG4gICAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uczogeyBjYWNoZT86IGJvb2xlYW47IGZyZWV6ZT86IGJvb2xlYW47IHR5cGU/OiBHcmFwaFFMUmVxdWVzdFR5cGUgfSA9IHt9XG4gICk6IElHcmFwaFFMVHlwZUNvbGxlY3Rpb24ge1xuICAgIGNvbnN0IHsgY2FjaGUsIGZyZWV6ZSwgdHlwZSB9ID0ge1xuICAgICAgY2FjaGU6IHRydWUsXG4gICAgICBmcmVlemU6IHRydWUsXG4gICAgICB0eXBlOiB1bmRlZmluZWQsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICAvLyBHZXQgY2FjaGVcbiAgICBpZiAoY2FjaGUgJiYgZnJlZXplKSB7XG4gICAgICBjb25zdCBhcmdzID0gdGhpcy5maWVsZHNbZnVuY3Rpb25OYW1lICsgdHlwZV07XG4gICAgICBpZiAoYXJncykge1xuICAgICAgICByZXR1cm4gYXJncztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmdW5jID0gdGhpcy5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUsIG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlc3VsdDogSUdyYXBoUUxUeXBlQ29sbGVjdGlvbiA9IHRoaXMuZ2V0RGVlcFR5cGUoZnVuYy50eXBlKSBhcyBJR3JhcGhRTFR5cGVDb2xsZWN0aW9uO1xuXG4gICAgLy8gU2V0IGNhY2hlXG4gICAgaWYgKGZyZWV6ZSkge1xuICAgICAgdGhpcy5maWVsZHNbZnVuY3Rpb25OYW1lICsgdHlwZV0gPSBIZWxwZXIuZGVlcEZyZWV6ZShyZXN1bHQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IEdyYXBoUUwgZnVuY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBnZXRGdW5jdGlvbihuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IHsgdHlwZT86IEdyYXBoUUxSZXF1ZXN0VHlwZSB9ID0ge30pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICAvLyBTZXQgY29uZmlnXG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLy8gSW5pdCBwb3NzaWJsZSBmdW5jdGlvbnNcbiAgICBsZXQgZnVuY3Rpb25zID0ge307XG5cbiAgICAvLyBJZiBmdW5jdGlvbiB0eXBlIGlzIHNldFxuICAgIGlmIChjb25maWcudHlwZSkge1xuICAgICAgY29uc3QgZ3JhcGhRTFR5cGUgPSBjb25maWcudHlwZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGNvbmZpZy50eXBlLnNsaWNlKDEpO1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuc2NoZW1hLmdldFR5cGUoZ3JhcGhRTFR5cGUpO1xuICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgZnVuY3Rpb25zID0gKHR5cGUgYXMgYW55KS5nZXRGaWVsZHMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBmdW5jdGlvbiB0eXBlIGlzIG5vdCBzZXRcbiAgICBlbHNlIHtcbiAgICAgIFsnU3Vic2NyaXB0aW9uJywgJ011dGF0aW9uJywgJ1F1ZXJ5J10uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlOiBhbnkgPSB0aGlzLnNjaGVtYS5nZXRUeXBlKGl0ZW0pO1xuICAgICAgICBpZiAodHlwZSkge1xuICAgICAgICAgIGZ1bmN0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLmZ1bmN0aW9ucyxcbiAgICAgICAgICAgIC4uLih0eXBlLmdldEZpZWxkcygpIHx8IHt9KSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBHZXQgZnVuY3Rpb24gdmlhIG5hbWVcbiAgICByZXR1cm4gZnVuY3Rpb25zW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0eXBlXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0VHlwZShuYW1lOiBzdHJpbmcpOiBHcmFwaFFMTmFtZWRUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hLmdldFR5cGUobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlZXAgdHlwZSBkYXRhXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0RGVlcFR5cGUoXG4gICAgdHlwZTogYW55LFxuICAgIHByZXBhcmVkOiBXZWFrTWFwPGFueSwgYW55PiA9IG5ldyBXZWFrTWFwKCksXG4gICAgc2V0TWV0YURhdGEgPSBmYWxzZVxuICApOiBJR3JhcGhRTFR5cGVDb2xsZWN0aW9uIHwgR3JhcGhRTFR5cGUge1xuICAgIC8vIENoZWNrIHR5cGVcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIC8vIEluZmluaXRlIHJlZ3Jlc3MgcHJvdGVjdGlvblxuICAgIGNvbnN0IHByZXBhcmVkT2JqZWN0ID0ge307XG5cbiAgICAvLyBDaGVjayBwcmVwYXJlZFxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IHByZXBhcmVkVHlwZSA9IHByZXBhcmVkLmdldCh0eXBlKTtcbiAgICAgIGlmIChwcmVwYXJlZFR5cGUpIHtcbiAgICAgICAgY29uc3QgY2xvbmUgPSBjbG9uZURlZXAocHJlcGFyZWRUeXBlKTtcblxuICAgICAgICAvLyBEaXNhYmxlIG1ldGEgZmxhZ3MgZm9yIHN1YiBvYmplY3RzXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0eXBlPy50eXBlIGluc3RhbmNlb2YgR3JhcGhRTElucHV0T2JqZWN0VHlwZSB8fFxuICAgICAgICAgICh0eXBlPy50eXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGwgJiYgdHlwZT8udHlwZT8ub2ZUeXBlIGluc3RhbmNlb2YgR3JhcGhRTElucHV0T2JqZWN0VHlwZSAmJiBzZXRNZXRhRGF0YSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0TWV0YURhdGEgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGZvciBtZXRhIGZsYWdzXG4gICAgICAgIGlmICh0eXBlLnR5cGUgJiYgc2V0TWV0YURhdGEpIHtcbiAgICAgICAgICBpZiAodHlwZS50eXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGwpIHtcbiAgICAgICAgICAgIGNsb25lLmlzUmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHR5cGUudHlwZS5vZlR5cGUgaW5zdGFuY2VvZiBHcmFwaFFMTGlzdCkge1xuICAgICAgICAgICAgICBjbG9uZS5pc0xpc3QgPSB0cnVlO1xuICAgICAgICAgICAgICBjbG9uZS5pc0l0ZW1SZXF1aXJlZCA9IHR5cGUudHlwZS5vZlR5cGUub2ZUeXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjbG9uZS5pc0xpc3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY2xvbmUuaXNJdGVtUmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xvbmUuaXNSZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAvLyBMaXN0IGZpcnN0XG4gICAgICAgICAgICBpZiAodHlwZS50eXBlIGluc3RhbmNlb2YgR3JhcGhRTExpc3QpIHtcbiAgICAgICAgICAgICAgY2xvbmUuaXNMaXN0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY2xvbmUuaXNJdGVtUmVxdWlyZWQgPSB0eXBlLm9mVHlwZSBpbnN0YW5jZW9mIEdyYXBoUUxOb25OdWxsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY2xvbmUuaXNMaXN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgIGNsb25lLmlzSXRlbVJlcXVpcmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXQgcHJlcGFyZWRcbiAgICAgIHByZXBhcmVkLnNldCh0eXBlLCBwcmVwYXJlZE9iamVjdCk7XG4gICAgfVxuXG4gICAgLy8gU2VhcmNoIGRlZXBlclxuICAgIGlmICh0eXBlLm9mVHlwZSkge1xuICAgICAgY29uc3Qgb2ZUeXBlUmVzdWx0ID0gdGhpcy5nZXREZWVwVHlwZSh0eXBlLm9mVHlwZSwgcHJlcGFyZWQsIHNldE1ldGFEYXRhKTtcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJlcGFyZWRPYmplY3QsIG9mVHlwZVJlc3VsdCk7XG4gICAgICByZXR1cm4gb2ZUeXBlUmVzdWx0O1xuICAgIH1cblxuICAgIC8vIFByb2Nlc3MgZmllbGRzXG4gICAgaWYgKHR5cGUuX2ZpZWxkcykge1xuICAgICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0eXBlLl9maWVsZHMpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdGhpcy5nZXREZWVwVHlwZSh2YWx1ZSwgcHJlcGFyZWQsIHRydWUpO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmFzc2lnbihwcmVwYXJlZE9iamVjdCwgcmVzdWx0KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gR2V0IHR5cGUgbmFtZVxuICAgIGlmICh0eXBlLnR5cGUpIHtcbiAgICAgIGNvbnN0IHR5cGVSZXN1bHQgPSB0aGlzLmdldERlZXBUeXBlKHR5cGUudHlwZSwgcHJlcGFyZWQsIHNldE1ldGFEYXRhKTtcblxuICAgICAgLy8gRGlzYWJsZSBtZXRhIGZsYWdzIGZvciBzdWIgb2JqZWN0c1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlPy50eXBlIGluc3RhbmNlb2YgR3JhcGhRTElucHV0T2JqZWN0VHlwZSB8fFxuICAgICAgICAodHlwZT8udHlwZSBpbnN0YW5jZW9mIEdyYXBoUUxOb25OdWxsICYmIHR5cGU/LnR5cGU/Lm9mVHlwZSBpbnN0YW5jZW9mIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUgJiYgc2V0TWV0YURhdGEpXG4gICAgICApIHtcbiAgICAgICAgc2V0TWV0YURhdGEgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgZm9yIG1ldGEgZmxhZ3NcbiAgICAgIGlmIChzZXRNZXRhRGF0YSkge1xuICAgICAgICBpZiAodHlwZS50eXBlIGluc3RhbmNlb2YgR3JhcGhRTE5vbk51bGwpIHtcbiAgICAgICAgICB0eXBlUmVzdWx0LmlzUmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICAgIGlmICh0eXBlLnR5cGUub2ZUeXBlIGluc3RhbmNlb2YgR3JhcGhRTExpc3QpIHtcbiAgICAgICAgICAgIHR5cGVSZXN1bHQuaXNMaXN0ID0gdHJ1ZTtcbiAgICAgICAgICAgIHR5cGVSZXN1bHQuaXNJdGVtUmVxdWlyZWQgPSB0eXBlLnR5cGUub2ZUeXBlLm9mVHlwZSBpbnN0YW5jZW9mIEdyYXBoUUxOb25OdWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0eXBlUmVzdWx0LmlzTGlzdCA9IGZhbHNlO1xuICAgICAgICAgICAgdHlwZVJlc3VsdC5pc0l0ZW1SZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0eXBlUmVzdWx0LmlzUmVxdWlyZWQgPSBmYWxzZTtcblxuICAgICAgICAgIC8vIExpc3QgZmlyc3RcbiAgICAgICAgICBpZiAodHlwZS50eXBlIGluc3RhbmNlb2YgR3JhcGhRTExpc3QpIHtcbiAgICAgICAgICAgIHR5cGVSZXN1bHQuaXNMaXN0ID0gdHJ1ZTtcbiAgICAgICAgICAgIHR5cGVSZXN1bHQuaXNJdGVtUmVxdWlyZWQgPSB0eXBlLm9mVHlwZSBpbnN0YW5jZW9mIEdyYXBoUUxOb25OdWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0eXBlUmVzdWx0LmlzTGlzdCA9IGZhbHNlO1xuICAgICAgICAgICAgdHlwZVJlc3VsdC5pc0l0ZW1SZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBPYmplY3QuYXNzaWduKHByZXBhcmVkT2JqZWN0LCB0eXBlUmVzdWx0KTtcbiAgICAgIHJldHVybiB0eXBlUmVzdWx0O1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgR3JhcGhRTFR5cGVcbiAgICBjb25zdCBncmFwaHFsVHlwZSA9IEdyYXBoUUxUeXBlLm1hcCh7XG4gICAgICB0eXBlOiB0eXBlLm5hbWUsXG4gICAgfSk7XG5cbiAgICAvLyBTZXQgZW51bSB2YWx1ZXNcbiAgICBpZiAoISF0eXBlLl92YWx1ZXMpIHtcbiAgICAgIGdyYXBocWxUeXBlLmlzRW51bSA9IHRydWU7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0eXBlLl9uYW1lTG9va3VwKSkge1xuICAgICAgICBpZiAoISh2YWx1ZSBhcyBhbnkpLmlzRGVwcmVjYXRlZCkge1xuICAgICAgICAgIGdyYXBocWxUeXBlLnZhbGlkRW51bXMucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmluaXNoXG4gICAgcHJlcGFyZWQuc2V0KHR5cGUsIGdyYXBocWxUeXBlKTtcbiAgICByZXR1cm4gZ3JhcGhxbFR5cGU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ export class Sort {
2
+ constructor() {
3
+ this.sortOrder = 1;
4
+ this.collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });
5
+ }
6
+ /**
7
+ * Sorts clicked column
8
+ *
9
+ * @param property
10
+ * @param order
11
+ * @param type
12
+ */
13
+ startSort(property, order, type = '') {
14
+ if (order === 'desc') {
15
+ this.sortOrder = -1;
16
+ }
17
+ return (a, b) => {
18
+ if (type === 'date') {
19
+ return this.sortDate(new Date(a.latestStep[property]), new Date(b.latestStep[property]));
20
+ }
21
+ else if (type === 'position') {
22
+ return this.collator.compare(a.position.Value[property], b.position.Value[property]) * this.sortOrder;
23
+ }
24
+ else {
25
+ return this.collator.compare(a[property], b[property]) * this.sortOrder;
26
+ }
27
+ };
28
+ }
29
+ /**
30
+ * Sorts dates
31
+ *
32
+ * @param a
33
+ * @param b
34
+ */
35
+ sortDate(a, b) {
36
+ if (a < b) {
37
+ return -1 * this.sortOrder;
38
+ }
39
+ else if (a > b) {
40
+ return 1 * this.sortOrder;
41
+ }
42
+ else {
43
+ return 0 * this.sortOrder;
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2NsYXNzZXMvc29ydC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sSUFBSTtJQUFqQjtRQUNVLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDdEIsYUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBdUNsRixDQUFDO0lBckNDOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxRQUFnQixFQUFFLEtBQWEsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUN6RCxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDZCxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUY7aUJBQU0sSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUM5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUN2RztpQkFBTTtnQkFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ3pFO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssUUFBUSxDQUFDLENBQU8sRUFBRSxDQUFPO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNULE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUM1QjthQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQzNCO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNvcnQge1xuICBwcml2YXRlIHNvcnRPcmRlciA9IDE7XG4gIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IodW5kZWZpbmVkLCB7IG51bWVyaWM6IHRydWUsIHNlbnNpdGl2aXR5OiAnYmFzZScgfSk7XG5cbiAgLyoqXG4gICAqIFNvcnRzIGNsaWNrZWQgY29sdW1uXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb3JkZXJcbiAgICogQHBhcmFtIHR5cGVcbiAgICovXG4gIHB1YmxpYyBzdGFydFNvcnQocHJvcGVydHk6IHN0cmluZywgb3JkZXI6IHN0cmluZywgdHlwZSA9ICcnKSB7XG4gICAgaWYgKG9yZGVyID09PSAnZGVzYycpIHtcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gLTE7XG4gICAgfVxuICAgIHJldHVybiAoYSwgYikgPT4ge1xuICAgICAgaWYgKHR5cGUgPT09ICdkYXRlJykge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0RGF0ZShuZXcgRGF0ZShhLmxhdGVzdFN0ZXBbcHJvcGVydHldKSwgbmV3IERhdGUoYi5sYXRlc3RTdGVwW3Byb3BlcnR5XSkpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAncG9zaXRpb24nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbGxhdG9yLmNvbXBhcmUoYS5wb3NpdGlvbi5WYWx1ZVtwcm9wZXJ0eV0sIGIucG9zaXRpb24uVmFsdWVbcHJvcGVydHldKSAqIHRoaXMuc29ydE9yZGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGF0b3IuY29tcGFyZShhW3Byb3BlcnR5XSwgYltwcm9wZXJ0eV0pICogdGhpcy5zb3J0T3JkZXI7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb3J0cyBkYXRlc1xuICAgKlxuICAgKiBAcGFyYW0gYVxuICAgKiBAcGFyYW0gYlxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0RGF0ZShhOiBEYXRlLCBiOiBEYXRlKSB7XG4gICAgaWYgKGEgPCBiKSB7XG4gICAgICByZXR1cm4gLTEgKiB0aGlzLnNvcnRPcmRlcjtcbiAgICB9IGVsc2UgaWYgKGEgPiBiKSB7XG4gICAgICByZXR1cm4gMSAqIHRoaXMuc29ydE9yZGVyO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gMCAqIHRoaXMuc29ydE9yZGVyO1xuICAgIH1cbiAgfVxufVxuIl19