@esfaenza/core 15.2.42-beta2 → 15.2.42-beta4

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 (59) hide show
  1. package/components/components.module.d.ts +5 -1
  2. package/components/operations/ops-menu/ops-menu.component.d.ts +6 -0
  3. package/components/operations/ops-menu-category/ops-menu-category.component.d.ts +8 -0
  4. package/components/operations/ops-menu-operation/ops-menu-operation.component.d.ts +9 -0
  5. package/components/page-structure/sidebar/sidebar.component.d.ts +5 -9
  6. package/components/page-structure/user-infos/user-infos.component.d.ts +63 -0
  7. package/components/page-structure/user-infos/user-infos.component.loc.d.ts +8 -0
  8. package/components/public-api.d.ts +6 -0
  9. package/components/search/base/base-search.d.ts +34 -0
  10. package/components/span/labeled-span/labeled-span.component.d.ts +11 -0
  11. package/domain/models/user/UpdateAccountRecoverySettingsDto.d.ts +3 -4
  12. package/domain/models/user/UpdatePasswordDto.d.ts +9 -0
  13. package/domain/models/user/UpdateProfilePictureDto.d.ts +4 -0
  14. package/domain/public-api.d.ts +2 -2
  15. package/esm2020/components/components.module.mjs +20 -4
  16. package/esm2020/components/operations/ops-menu/ops-menu.component.mjs +12 -0
  17. package/esm2020/components/operations/ops-menu-category/ops-menu-category.component.mjs +21 -0
  18. package/esm2020/components/operations/ops-menu-operation/ops-menu-operation.component.mjs +19 -0
  19. package/esm2020/components/page-structure/error/404/pagenotfound.component.mjs +1 -1
  20. package/esm2020/components/page-structure/page/pages.component.mjs +3 -3
  21. package/esm2020/components/page-structure/sidebar/sidebar.component.mjs +10 -18
  22. package/esm2020/components/page-structure/user-infos/user-infos.component.loc.mjs +43 -0
  23. package/esm2020/components/page-structure/user-infos/user-infos.component.mjs +160 -0
  24. package/esm2020/components/public-api.mjs +7 -1
  25. package/esm2020/components/search/base/base-search.mjs +112 -0
  26. package/esm2020/components/span/labeled-span/labeled-span.component.mjs +25 -0
  27. package/esm2020/domain/models/user/UpdateAccountRecoverySettingsDto.mjs +2 -3
  28. package/esm2020/domain/models/user/UpdatePasswordDto.mjs +11 -0
  29. package/esm2020/domain/models/user/UpdateProfilePictureDto.mjs +6 -0
  30. package/esm2020/domain/public-api.mjs +3 -3
  31. package/esm2020/lib/app.component.mjs +2 -2
  32. package/esm2020/lib/core.module.mjs +7 -4
  33. package/esm2020/pipes/pipes.module.mjs +1 -1
  34. package/esm2020/services/classes/preferences/app.preference.persistor.mjs +1 -1
  35. package/esm2020/services/classes/preferences/user/app.userpreferences.base.mjs +25 -33
  36. package/fesm2015/esfaenza-core-components.mjs +429 -65
  37. package/fesm2015/esfaenza-core-components.mjs.map +1 -1
  38. package/fesm2015/esfaenza-core-domain.mjs +4 -5
  39. package/fesm2015/esfaenza-core-domain.mjs.map +1 -1
  40. package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
  41. package/fesm2015/esfaenza-core-services.mjs +24 -32
  42. package/fesm2015/esfaenza-core-services.mjs.map +1 -1
  43. package/fesm2015/esfaenza-core.mjs +8 -5
  44. package/fesm2015/esfaenza-core.mjs.map +1 -1
  45. package/fesm2020/esfaenza-core-components.mjs +417 -65
  46. package/fesm2020/esfaenza-core-components.mjs.map +1 -1
  47. package/fesm2020/esfaenza-core-domain.mjs +4 -5
  48. package/fesm2020/esfaenza-core-domain.mjs.map +1 -1
  49. package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
  50. package/fesm2020/esfaenza-core-services.mjs +27 -35
  51. package/fesm2020/esfaenza-core-services.mjs.map +1 -1
  52. package/fesm2020/esfaenza-core.mjs +8 -5
  53. package/fesm2020/esfaenza-core.mjs.map +1 -1
  54. package/package.json +1 -1
  55. package/services/classes/preferences/user/app.userpreferences.base.d.ts +6 -6
  56. package/domain/models/user/ChangePasswordDto.d.ts +0 -9
  57. package/domain/models/user/ChangeProfilePictureDto.d.ts +0 -4
  58. package/esm2020/domain/models/user/ChangePasswordDto.mjs +0 -11
  59. package/esm2020/domain/models/user/ChangeProfilePictureDto.mjs +0 -6
@@ -0,0 +1,160 @@
1
+ import { Component, ViewChild } from "@angular/core";
2
+ import { NgFor, NgIf } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ // Configurazioni
5
+ import { ExtensionsModule } from "@esfaenza/extensions";
6
+ import { LocalizationModule, LocalizationService } from "@esfaenza/localizations";
7
+ // Classi
8
+ import { UpdatePasswordDto } from "@esfaenza/core/domain";
9
+ import { FormsAndValidationsModule } from "@esfaenza/forms-and-validations";
10
+ import { BaseComponent } from "../base/base.component";
11
+ import { UserInfoComponentLoc } from "./user-infos.component.loc";
12
+ import { EsModalComponent } from "../../es-modal/es-modal.component";
13
+ import { EsModalHeadComponent } from "../../es-modal/es-modal-head/es-modal-head.component";
14
+ import { LabeledSpanComponent } from "../../span/labeled-span/labeled-span.component";
15
+ import { OperationsMenuComponent } from "../../operations/ops-menu/ops-menu.component";
16
+ import { OperationsMenuCategoryComponent } from "../../operations/ops-menu-category/ops-menu-category.component";
17
+ import { OperationsMenuOperationComponent } from "../../operations/ops-menu-operation/ops-menu-operation.component";
18
+ import { AccessControlModule } from "@esfaenza/access-control";
19
+ import { MatTooltipModule } from "@angular/material/tooltip";
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@esfaenza/core/services";
22
+ import * as i2 from "@esfaenza/extensions";
23
+ import * as i3 from "@esfaenza/localizations";
24
+ import * as i4 from "@angular/forms";
25
+ import * as i5 from "@esfaenza/forms-and-validations";
26
+ import * as i6 from "@esfaenza/access-control";
27
+ import * as i7 from "@angular/material/tooltip";
28
+ export class UserInfosComponent extends BaseComponent {
29
+ constructor(inj, tks, msgExts, expExts, utiExts, lc, _state, profile) {
30
+ super(inj);
31
+ this.inj = inj;
32
+ this.tks = tks;
33
+ this.msgExts = msgExts;
34
+ this.expExts = expExts;
35
+ this.utiExts = utiExts;
36
+ this.lc = lc;
37
+ this._state = _state;
38
+ this.profile = profile;
39
+ this.UpdateProfilePictureDTO = null;
40
+ this.UpdateRecoverySettingsDTO = null;
41
+ this.UpdatePasswordDTO = null;
42
+ }
43
+ ngOnInit() {
44
+ this.getAccountDetails();
45
+ }
46
+ getAccountDetails() {
47
+ // Recupero le informazioni Account partendo dalla identity
48
+ let identity = this.tks.getJaceIdentity();
49
+ this.AccountRoles = identity.Roles;
50
+ this.AccountPermissions = identity.Permissions;
51
+ // TODO: Rimuovere, placeholder per grafica
52
+ this.AccountDetails = new JaceUserAccount();
53
+ this.AccountDetails.username = "TESTUSR";
54
+ this.AccountDetails.idtenant = "FX";
55
+ this.AccountDetails.firstname = "Utente";
56
+ this.AccountDetails.lastname = "di Test";
57
+ this.AccountDetails.recoveryemail = "testusr@enuma.it";
58
+ this.AccountDetails.dtvalidfrom = new Date();
59
+ this.AccountDetails.dtvalidto = new Date();
60
+ // TODO: Definire API per i dati dell Account loggato
61
+ //let pars = new HttpParams().set("idAccount", identity.IdAccount.toString());
62
+ //this.http.get<JaceUserAccount>(GET_Accounts_GetEntityAccount, pars).subscribe(res => { this.AccountDetails = res; });
63
+ }
64
+ onShowAccountRoles() {
65
+ this.dlgShowAccountRoles.show();
66
+ }
67
+ onUpdateProfilePicture() {
68
+ this.UpdateProfilePictureDTO = null;
69
+ requestAnimationFrame(() => {
70
+ this.UpdateProfilePictureDTO = { image: null };
71
+ this.dlgUpdateProfilePicture.show();
72
+ });
73
+ }
74
+ async doUpdateProfilePicture() {
75
+ let res = await this.profile.doUpdateProfilePicture(this.UpdateProfilePictureDTO.image);
76
+ this.msgExts.manageCallResultResponse(res, "Modifica eseguita con Successo", "Errori nella modifica", () => {
77
+ this.dlgUpdateProfilePicture.hide();
78
+ });
79
+ }
80
+ //#endregion
81
+ //#region Delete Profile Picture
82
+ onDeleteProfilePicture() {
83
+ this.msgExts.simpleWarningWithChoice("Conferma eliminazione", "Si e' certi di voler rimuovere la foto profilo?", () => {
84
+ this.doDeleteProfilePicture();
85
+ });
86
+ }
87
+ async doDeleteProfilePicture() {
88
+ let res = await this.profile.doDeleteProfilePicture();
89
+ this.msgExts.manageCallResultResponse(res, "Foto profilo rimossa con successo", "Errori nella rimozione della foto profilo", () => {
90
+ this.dlgUpdateProfilePicture.hide();
91
+ });
92
+ }
93
+ onUpdateRecoverySettings() {
94
+ this.UpdateRecoverySettingsDTO = null;
95
+ requestAnimationFrame(() => {
96
+ this.UpdateRecoverySettingsDTO = { email: this.AccountDetails.recoveryemail };
97
+ this.dlgUpdateRecoverySettings.show();
98
+ });
99
+ }
100
+ async doUpdateRecoverySettings() {
101
+ let res = await this.profile.doUpdateRecoverySettings(this.UpdateRecoverySettingsDTO.email);
102
+ this.msgExts.manageCallResultResponse(res, "Modifica eseguita con Successo", "Errori nella modifica", () => {
103
+ this.getAccountDetails();
104
+ this.dlgUpdateRecoverySettings.hide();
105
+ });
106
+ }
107
+ onUpdatePassword() {
108
+ this.UpdatePasswordDTO = null;
109
+ requestAnimationFrame(() => {
110
+ this.CustomError = "";
111
+ this.UpdatePasswordDTO = new UpdatePasswordDto();
112
+ this.dlgUpdatePassword.show();
113
+ });
114
+ }
115
+ async doUpdatePassword() {
116
+ if (this.UpdatePasswordDTO.newpwd != this.UpdatePasswordDTO.confirmpwd)
117
+ this.CustomError = "Le password inserite non coincidono.";
118
+ else {
119
+ let res = await this.profile.doUpdatePassword(this.UpdatePasswordDTO.oldpwd, this.UpdatePasswordDTO.newpwd, this.UpdatePasswordDTO.confirmpwd);
120
+ this.msgExts.manageCallResultResponse(res, "Password modificata con Successo", "Errori nella modifica della Password", () => { this.dlgUpdatePassword.hide(); });
121
+ }
122
+ }
123
+ }
124
+ UserInfosComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserInfosComponent, deps: [{ token: i0.Injector }, { token: i1.TokenService }, { token: i2.MessageService }, { token: i2.ExportService }, { token: i2.UtilityService }, { token: i3.LocalizationService }, { token: i1.AppState }, { token: i1.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Component });
125
+ UserInfosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: UserInfosComponent, isStandalone: true, selector: "user-infos", viewQueries: [{ propertyName: "dlgShowAccountRoles", first: true, predicate: ["dlgShowAccountRoles"], descendants: true }, { propertyName: "dlgUpdateProfilePicture", first: true, predicate: ["dlgUpdateProfilePicture"], descendants: true }, { propertyName: "dlgUpdateRecoverySettings", first: true, predicate: ["dlgUpdateRecoverySettings"], descendants: true }, { propertyName: "dlgUpdatePassword", first: true, predicate: ["dlgUpdatePassword"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 100%; width: 100%; display: flex;\">\r\n <div style=\"margin: auto;\">\r\n <div class=\"user-img-container\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"user-img\" class=\"user-img\" />\r\n <div class=\"app-pointer user-img-btn\">\r\n <div class=\"app-opacity user-img-btn-body\" (click)=\"onUpdateProfilePicture();\">\r\n <i class=\"far fa-pen\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\" style=\"position: relative;\" *ngIf=\"AccountDetails\">\r\n <div class=\"card card-body app-no-margin app-padding-15\">\r\n <div class=\"row\">\r\n <div *ac=\"'R:Jace Admin'\" class=\"user-roles-btn\" [matTooltip]=\"'Visualizza Ruoli e Permessi'\" matTooltipPosition=\"above\" (click)=\"onShowAccountRoles();\">\r\n <i class=\"far fa-book-user\"></i>\r\n </div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Utente' | localize : lc\" Display=\"Vertical\">{{AccountDetails.username}}</labeled-span></div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Tenant' | localize : lc\" Display=\"Vertical\">{{AccountDetails.idtenant}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Nome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.firstname}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Cognome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.lastname}}</labeled-span> </div>\r\n <div class=\"col-md-12 app-margin-top-10\"><labeled-span [Label]=\"'Email' | localize : lc\" Display=\"Vertical\">{{AccountDetails.recoveryemail || 'Non disponibile'}}</labeled-span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-10 row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdatePassword()\">Modifica Password</button>\r\n </div>\r\n <div class=\"col-md-6\" style=\"padding-left: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdateRecoverySettings()\">Modifica Email</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Update Password-->\r\n<es-modal #dlgUpdatePassword [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgUpdatePassword.hide();\">\r\n <h5 class=\"modal-title pull-left\">Modifica Password</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdatePasswordDTO\" #formUpdatePassword=\"ngForm\" (ngSubmit)=\"formUpdatePassword.valid && doUpdatePassword()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [Password]=\"true\" [Label]=\"'Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.oldpwd\" name=\"oldpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Nuova Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.newpwd\" name=\"newpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Conferma Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.confirmpwd\" name=\"confpw\" required></form-input>\r\n <!--Validazione Custom-->\r\n <div *ngIf=\"CustomError\" class=\"app-white-text app-margin-top-15 app-margin-bottom-0 card app-padding-10 card-danger\">\r\n <strong>{{'Error' | localize : lc}}:&nbsp;</strong>{{CustomError}}\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdatePassword.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Update Extra Info-->\r\n<es-modal #dlgUpdateRecoverySettings [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgUpdateRecoverySettings.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Modifica Email' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateRecoverySettingsDTO\" #formUpdateInfos=\"ngForm\" (ngSubmit)=\"formUpdateInfos.valid && doUpdateRecoverySettings()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [LabelInputRatio]=\"'3 9'\" [Label]=\"'Email' | localize: lc\" [(ngModel)]=\"UpdateRecoverySettingsDTO.email\" name=\"email\"></form-input>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateRecoverySettings.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Upload Picture-->\r\n<es-modal #dlgUpdateProfilePicture [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgUpdateProfilePicture.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Carica Avatar' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateProfilePictureDTO\" #formUpdateProfilePicture=\"ngForm\" (ngSubmit)=\"formUpdateProfilePicture && doUpdateProfilePicture();\">\r\n <div class=\"modal-body lastfix\">\r\n <form-file Label=\"File\" [FancyMode]=\"true\" [(ngModel)]=\"UpdateProfilePictureDTO.image\" name=\"up_file\"></form-file>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" style=\"margin-right: auto;\" (click)=\"onDeleteProfilePicture();\">{{'Rimuovi' | localize : lc}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateProfilePicture.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">{{'Save' | localize : lc}}</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Ruoli e Permessi-->\r\n<es-modal #dlgShowAccountRoles [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgShowAccountRoles.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Ruoli e Permessi' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\" style=\"max-height: 600px; overflow-y: auto;\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" *ngIf=\"AccountRoles\">\r\n <labeled-span [Label]=\"'Ruoli'\" Display=\"Vertical\">\r\n <div *ngFor=\"let r of AccountRoles;\">{{r}}</div>\r\n </labeled-span>\r\n </div>\r\n <div class=\"col-md-6\" *ngIf=\"AccountPermissions\">\r\n <labeled-span [Label]=\"'Permessi'\" Display=\"Vertical\">\r\n <div *ngFor=\"let p of AccountPermissions;\">{{p}}</div>\r\n </labeled-span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgShowAccountRoles.hide();\">{{'Chiudi' | localize : lc}}</button>\r\n </div>\r\n</es-modal>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Lato&family=Sora&display=swap\";.app-wideplus{width:100%;text-align:center;border:1px solid #ccc;border-radius:5px;padding:5px}.btn-outline-main-modified{color:#242d3a;border-color:#242d3a;background:transparent}.btn-outline-main-modified:hover{color:#fff;background:#242D3A;border-color:#242d3a}.user-img-container{position:relative;width:200px;margin:auto}.user-img{object-fit:cover;max-height:200px;min-height:200px;min-width:200px;max-width:200px;border-radius:50%;box-shadow:0 8px 6px #1313130a,0 12px 16px #1313130d}.user-img-btn{position:absolute;right:0;width:40px;height:40px;margin-top:-50px}.user-img-btn-body{background-color:#0056b3;color:#fff;border-radius:50%;text-align:center;height:100%;font-size:1.2rem;line-height:2.5rem}.user-roles-btn{position:absolute;top:0;right:2px;font-size:1.2rem;padding:5px;z-index:1;color:#0056b3;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i5.FormInputComponent, selector: "form-input", inputs: ["Password"], outputs: ["onSuffixAction", "onPrefixAction"] }, { kind: "component", type: i5.FormFileComponent, selector: "form-file", inputs: ["Multiple", "AllowDownload", "MaxSize", "FancyMode"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i3.LocalizePipe, name: "localize" }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", outputs: ["Close"] }, { kind: "component", type: LabeledSpanComponent, selector: "labeled-span", inputs: ["First", "Label", "Display"] }, { kind: "ngmodule", type: ExtensionsModule }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i6.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], viewProviders: [{ provide: LocalizationService, useClass: UserInfoComponentLoc }] });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: UserInfosComponent, decorators: [{
127
+ type: Component,
128
+ args: [{ selector: "user-infos", viewProviders: [{ provide: LocalizationService, useClass: UserInfoComponentLoc }], standalone: true, imports: [
129
+ FormsModule,
130
+ FormsAndValidationsModule,
131
+ NgIf,
132
+ NgFor,
133
+ LocalizationModule,
134
+ EsModalComponent,
135
+ EsModalHeadComponent,
136
+ OperationsMenuComponent,
137
+ OperationsMenuCategoryComponent,
138
+ OperationsMenuOperationComponent,
139
+ LabeledSpanComponent,
140
+ ExtensionsModule,
141
+ AccessControlModule,
142
+ MatTooltipModule
143
+ ], template: "<div style=\"height: 100%; width: 100%; display: flex;\">\r\n <div style=\"margin: auto;\">\r\n <div class=\"user-img-container\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"user-img\" class=\"user-img\" />\r\n <div class=\"app-pointer user-img-btn\">\r\n <div class=\"app-opacity user-img-btn-body\" (click)=\"onUpdateProfilePicture();\">\r\n <i class=\"far fa-pen\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\" style=\"position: relative;\" *ngIf=\"AccountDetails\">\r\n <div class=\"card card-body app-no-margin app-padding-15\">\r\n <div class=\"row\">\r\n <div *ac=\"'R:Jace Admin'\" class=\"user-roles-btn\" [matTooltip]=\"'Visualizza Ruoli e Permessi'\" matTooltipPosition=\"above\" (click)=\"onShowAccountRoles();\">\r\n <i class=\"far fa-book-user\"></i>\r\n </div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Utente' | localize : lc\" Display=\"Vertical\">{{AccountDetails.username}}</labeled-span></div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Tenant' | localize : lc\" Display=\"Vertical\">{{AccountDetails.idtenant}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Nome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.firstname}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Cognome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.lastname}}</labeled-span> </div>\r\n <div class=\"col-md-12 app-margin-top-10\"><labeled-span [Label]=\"'Email' | localize : lc\" Display=\"Vertical\">{{AccountDetails.recoveryemail || 'Non disponibile'}}</labeled-span></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-10 row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdatePassword()\">Modifica Password</button>\r\n </div>\r\n <div class=\"col-md-6\" style=\"padding-left: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdateRecoverySettings()\">Modifica Email</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Update Password-->\r\n<es-modal #dlgUpdatePassword [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgUpdatePassword.hide();\">\r\n <h5 class=\"modal-title pull-left\">Modifica Password</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdatePasswordDTO\" #formUpdatePassword=\"ngForm\" (ngSubmit)=\"formUpdatePassword.valid && doUpdatePassword()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [Password]=\"true\" [Label]=\"'Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.oldpwd\" name=\"oldpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Nuova Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.newpwd\" name=\"newpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Conferma Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.confirmpwd\" name=\"confpw\" required></form-input>\r\n <!--Validazione Custom-->\r\n <div *ngIf=\"CustomError\" class=\"app-white-text app-margin-top-15 app-margin-bottom-0 card app-padding-10 card-danger\">\r\n <strong>{{'Error' | localize : lc}}:&nbsp;</strong>{{CustomError}}\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdatePassword.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Update Extra Info-->\r\n<es-modal #dlgUpdateRecoverySettings [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgUpdateRecoverySettings.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Modifica Email' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateRecoverySettingsDTO\" #formUpdateInfos=\"ngForm\" (ngSubmit)=\"formUpdateInfos.valid && doUpdateRecoverySettings()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [LabelInputRatio]=\"'3 9'\" [Label]=\"'Email' | localize: lc\" [(ngModel)]=\"UpdateRecoverySettingsDTO.email\" name=\"email\"></form-input>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateRecoverySettings.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Upload Picture-->\r\n<es-modal #dlgUpdateProfilePicture [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgUpdateProfilePicture.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Carica Avatar' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateProfilePictureDTO\" #formUpdateProfilePicture=\"ngForm\" (ngSubmit)=\"formUpdateProfilePicture && doUpdateProfilePicture();\">\r\n <div class=\"modal-body lastfix\">\r\n <form-file Label=\"File\" [FancyMode]=\"true\" [(ngModel)]=\"UpdateProfilePictureDTO.image\" name=\"up_file\"></form-file>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" style=\"margin-right: auto;\" (click)=\"onDeleteProfilePicture();\">{{'Rimuovi' | localize : lc}}</button>\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateProfilePicture.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">{{'Save' | localize : lc}}</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Ruoli e Permessi-->\r\n<es-modal #dlgShowAccountRoles [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgShowAccountRoles.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Ruoli e Permessi' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\" style=\"max-height: 600px; overflow-y: auto;\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" *ngIf=\"AccountRoles\">\r\n <labeled-span [Label]=\"'Ruoli'\" Display=\"Vertical\">\r\n <div *ngFor=\"let r of AccountRoles;\">{{r}}</div>\r\n </labeled-span>\r\n </div>\r\n <div class=\"col-md-6\" *ngIf=\"AccountPermissions\">\r\n <labeled-span [Label]=\"'Permessi'\" Display=\"Vertical\">\r\n <div *ngFor=\"let p of AccountPermissions;\">{{p}}</div>\r\n </labeled-span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgShowAccountRoles.hide();\">{{'Chiudi' | localize : lc}}</button>\r\n </div>\r\n</es-modal>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Lato&family=Sora&display=swap\";.app-wideplus{width:100%;text-align:center;border:1px solid #ccc;border-radius:5px;padding:5px}.btn-outline-main-modified{color:#242d3a;border-color:#242d3a;background:transparent}.btn-outline-main-modified:hover{color:#fff;background:#242D3A;border-color:#242d3a}.user-img-container{position:relative;width:200px;margin:auto}.user-img{object-fit:cover;max-height:200px;min-height:200px;min-width:200px;max-width:200px;border-radius:50%;box-shadow:0 8px 6px #1313130a,0 12px 16px #1313130d}.user-img-btn{position:absolute;right:0;width:40px;height:40px;margin-top:-50px}.user-img-btn-body{background-color:#0056b3;color:#fff;border-radius:50%;text-align:center;height:100%;font-size:1.2rem;line-height:2.5rem}.user-roles-btn{position:absolute;top:0;right:2px;font-size:1.2rem;padding:5px;z-index:1;color:#0056b3;cursor:pointer}\n"] }]
144
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.TokenService }, { type: i2.MessageService }, { type: i2.ExportService }, { type: i2.UtilityService }, { type: i3.LocalizationService }, { type: i1.AppState }, { type: i1.UserPreferencesService }]; }, propDecorators: { dlgShowAccountRoles: [{
145
+ type: ViewChild,
146
+ args: ["dlgShowAccountRoles"]
147
+ }], dlgUpdateProfilePicture: [{
148
+ type: ViewChild,
149
+ args: ["dlgUpdateProfilePicture"]
150
+ }], dlgUpdateRecoverySettings: [{
151
+ type: ViewChild,
152
+ args: ["dlgUpdateRecoverySettings"]
153
+ }], dlgUpdatePassword: [{
154
+ type: ViewChild,
155
+ args: ["dlgUpdatePassword"]
156
+ }] } });
157
+ // TODO: Definire meglio entita ACCOUNT
158
+ export class JaceUserAccount {
159
+ }
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbmZvcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL3VzZXItaW5mb3MvdXNlci1pbmZvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL3VzZXItaW5mb3MvdXNlci1pbmZvcy5jb21wb25lbnRfdHN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQWtDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEYsU0FBUztBQUNULE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBVyx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUl0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVB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Z0hXLHc4QkQ3RUgsV0FBVyxvL0JBQ1gseUJBQXlCLHlUQUN6QixJQUFJLDZGQUNKLEtBQUssa0hBQ0wsa0JBQWtCLDBGQUNsQixnQkFBZ0Isc0lBQ2hCLG9CQUFvQiw4RUFJcEIsb0JBQW9CLCtGQUNwQixnQkFBZ0IsOEJBQ2hCLG1CQUFtQixzSUFDbkIsZ0JBQWdCLG9IQWhCTCxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDOzJGQW1CeEUsa0JBQWtCO2tCQXZCOUIsU0FBUzsrQkFDSSxZQUFZLGlCQUdQLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUMsY0FDckUsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gseUJBQXlCO3dCQUN6QixJQUFJO3dCQUNKLEtBQUs7d0JBQ0wsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QiwrQkFBK0I7d0JBQy9CLGdDQUFnQzt3QkFDaEMsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNuQjs4U0F1Q2lDLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBUU0sdUJBQXVCO3NCQUE1RCxTQUFTO3VCQUFDLHlCQUF5QjtnQkFtQ0kseUJBQXlCO3NCQUFoRSxTQUFTO3VCQUFDLDJCQUEyQjtnQkFxQk4saUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFDLG1CQUFtQjs7QUEwQmxDLHVDQUF1QztBQUN2QyxNQUFNLE9BQU8sZUFBZTtDQWUzQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgRXhwb3J0U2VydmljZSwgRXh0ZW5zaW9uc01vZHVsZSwgTWVzc2FnZVNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZSwgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5cclxuLy8gQ2xhc3NpXHJcbmltcG9ydCB7IFVwZGF0ZVBhc3N3b3JkRHRvIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5pbXBvcnQgeyBBcHBGaWxlLCBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9mb3Jtcy1hbmQtdmFsaWRhdGlvbnNcIjtcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuLi9iYXNlL2Jhc2UuY29tcG9uZW50XCJcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBBcHBTdGF0ZSwgVG9rZW5TZXJ2aWNlLCBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IFVzZXJJbmZvQ29tcG9uZW50TG9jIH0gZnJvbSBcIi4vdXNlci1pbmZvcy5jb21wb25lbnQubG9jXCI7XHJcbmltcG9ydCB7IEVzTW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZXMtbW9kYWwvZXMtbW9kYWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVzTW9kYWxIZWFkQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2VzLW1vZGFsL2VzLW1vZGFsLWhlYWQvZXMtbW9kYWwtaGVhZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTGFiZWxlZFNwYW5Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vc3Bhbi9sYWJlbGVkLXNwYW4vbGFiZWxlZC1zcGFuLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPcGVyYXRpb25zTWVudUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9vcGVyYXRpb25zL29wcy1tZW51L29wcy1tZW51LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBPcGVyYXRpb25zTWVudUNhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL29wZXJhdGlvbnMvb3BzLW1lbnUtY2F0ZWdvcnkvb3BzLW1lbnUtY2F0ZWdvcnkuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE9wZXJhdGlvbnNNZW51T3BlcmF0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL29wZXJhdGlvbnMvb3BzLW1lbnUtb3BlcmF0aW9uL29wcy1tZW51LW9wZXJhdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbE1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ1c2VyLWluZm9zXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3VzZXItaW5mb3MuY29tcG9uZW50X3RzdC5odG1sXCIsXHJcbiAgICBzdHlsZVVybHM6IFtcInVzZXItaW5mb3MuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogVXNlckluZm9Db21wb25lbnRMb2MgfV0sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEZvcm1zTW9kdWxlLCBcclxuICAgICAgICBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlLCBcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIE5nRm9yLFxyXG4gICAgICAgIExvY2FsaXphdGlvbk1vZHVsZSwgXHJcbiAgICAgICAgRXNNb2RhbENvbXBvbmVudCwgXHJcbiAgICAgICAgRXNNb2RhbEhlYWRDb21wb25lbnQsIFxyXG4gICAgICAgIE9wZXJhdGlvbnNNZW51Q29tcG9uZW50LCBcclxuICAgICAgICBPcGVyYXRpb25zTWVudUNhdGVnb3J5Q29tcG9uZW50LCBcclxuICAgICAgICBPcGVyYXRpb25zTWVudU9wZXJhdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBMYWJlbGVkU3BhbkNvbXBvbmVudCxcclxuICAgICAgICBFeHRlbnNpb25zTW9kdWxlLFxyXG4gICAgICAgIEFjY2Vzc0NvbnRyb2xNb2R1bGUsXHJcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlckluZm9zQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgICBwdWJsaWMgQWNjb3VudERldGFpbHM6IEphY2VVc2VyQWNjb3VudDtcclxuICAgIHB1YmxpYyBBY2NvdW50Um9sZXM6IHN0cmluZ1tdO1xyXG4gICAgcHVibGljIEFjY291bnRQZXJtaXNzaW9uczogc3RyaW5nW107XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmo6IEluamVjdG9yLCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBwdWJsaWMgbXNnRXh0czogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBleHBFeHRzOiBFeHBvcnRTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHVibGljIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIHB1YmxpYyBfc3RhdGU6IEFwcFN0YXRlLFxyXG4gICAgICAgICAgICAgICAgcHVibGljIHByb2ZpbGU6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihpbmopO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuZ2V0QWNjb3VudERldGFpbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBY2NvdW50RGV0YWlscygpIHtcclxuICAgICAgICAvLyBSZWN1cGVybyBsZSBpbmZvcm1hemlvbmkgQWNjb3VudCBwYXJ0ZW5kbyBkYWxsYSBpZGVudGl0eVxyXG4gICAgICAgIGxldCBpZGVudGl0eSA9IHRoaXMudGtzLmdldEphY2VJZGVudGl0eSgpO1xyXG4gICAgICAgIHRoaXMuQWNjb3VudFJvbGVzID0gaWRlbnRpdHkuUm9sZXM7XHJcbiAgICAgICAgdGhpcy5BY2NvdW50UGVybWlzc2lvbnMgPSBpZGVudGl0eS5QZXJtaXNzaW9ucztcclxuXHJcbiAgICAgICAgLy8gVE9ETzogUmltdW92ZXJlLCBwbGFjZWhvbGRlciBwZXIgZ3JhZmljYVxyXG4gICAgICAgIHRoaXMuQWNjb3VudERldGFpbHMgPSBuZXcgSmFjZVVzZXJBY2NvdW50KCk7XHJcbiAgICAgICAgdGhpcy5BY2NvdW50RGV0YWlscy51c2VybmFtZSA9IFwiVEVTVFVTUlwiO1xyXG4gICAgICAgIHRoaXMuQWNjb3VudERldGFpbHMuaWR0ZW5hbnQgPSBcIkZYXCI7XHJcbiAgICAgICAgdGhpcy5BY2NvdW50RGV0YWlscy5maXJzdG5hbWUgPSBcIlV0ZW50ZVwiO1xyXG4gICAgICAgIHRoaXMuQWNjb3VudERldGFpbHMubGFzdG5hbWUgPSBcImRpIFRlc3RcIjtcclxuICAgICAgICB0aGlzLkFjY291bnREZXRhaWxzLnJlY292ZXJ5ZW1haWwgPSBcInRlc3R1c3JAZW51bWEuaXRcIjtcclxuICAgICAgICB0aGlzLkFjY291bnREZXRhaWxzLmR0dmFsaWRmcm9tID0gbmV3IERhdGUoKTtcclxuICAgICAgICB0aGlzLkFjY291bnREZXRhaWxzLmR0dmFsaWR0byA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgIC8vIFRPRE86IERlZmluaXJlIEFQSSBwZXIgaSBkYXRpIGRlbGwgQWNjb3VudCBsb2dnYXRvXHJcbiAgICAgICAgLy9sZXQgcGFycyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KFwiaWRBY2NvdW50XCIsIGlkZW50aXR5LklkQWNjb3VudC50b1N0cmluZygpKTtcclxuICAgICAgICAvL3RoaXMuaHR0cC5nZXQ8SmFjZVVzZXJBY2NvdW50PihHRVRfQWNjb3VudHNfR2V0RW50aXR5QWNjb3VudCwgcGFycykuc3Vic2NyaWJlKHJlcyA9PiB7IHRoaXMuQWNjb3VudERldGFpbHMgPSByZXM7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vI3JlZ2lvbiBTaG93IFJvbGVzIGFuZCBQZXJtaXNzaW9uc1xyXG4gICAgQFZpZXdDaGlsZChcImRsZ1Nob3dBY2NvdW50Um9sZXNcIikgZGxnU2hvd0FjY291bnRSb2xlczogRXNNb2RhbENvbXBvbmVudDtcclxuXHJcbiAgICBvblNob3dBY2NvdW50Um9sZXMoKSB7XHJcbiAgICAgICAgdGhpcy5kbGdTaG93QWNjb3VudFJvbGVzLnNob3coKTtcclxuICAgIH1cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBVcGRhdGUgUHJvZmlsZSBQaWN0dXJlXHJcbiAgICBAVmlld0NoaWxkKFwiZGxnVXBkYXRlUHJvZmlsZVBpY3R1cmVcIikgZGxnVXBkYXRlUHJvZmlsZVBpY3R1cmU6IEVzTW9kYWxDb21wb25lbnQ7XHJcbiAgICBwdWJsaWMgVXBkYXRlUHJvZmlsZVBpY3R1cmVEVE86IHsgaW1hZ2U6IEFwcEZpbGUgfSA9IG51bGw7XHJcblxyXG4gICAgcHVibGljIG9uVXBkYXRlUHJvZmlsZVBpY3R1cmUoKSB7XHJcbiAgICAgICAgdGhpcy5VcGRhdGVQcm9maWxlUGljdHVyZURUTyA9IG51bGw7XHJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5VcGRhdGVQcm9maWxlUGljdHVyZURUTyA9IHsgaW1hZ2U6IG51bGwgfTtcclxuICAgICAgICAgICAgdGhpcy5kbGdVcGRhdGVQcm9maWxlUGljdHVyZS5zaG93KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRvVXBkYXRlUHJvZmlsZVBpY3R1cmUoKSB7XHJcbiAgICAgICAgbGV0IHJlcyA9IGF3YWl0IHRoaXMucHJvZmlsZS5kb1VwZGF0ZVByb2ZpbGVQaWN0dXJlKHRoaXMuVXBkYXRlUHJvZmlsZVBpY3R1cmVEVE8uaW1hZ2UpO1xyXG4gICAgICAgIHRoaXMubXNnRXh0cy5tYW5hZ2VDYWxsUmVzdWx0UmVzcG9uc2UocmVzLCBcIk1vZGlmaWNhIGVzZWd1aXRhIGNvbiBTdWNjZXNzb1wiLCBcIkVycm9yaSBuZWxsYSBtb2RpZmljYVwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGxnVXBkYXRlUHJvZmlsZVBpY3R1cmUuaGlkZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIERlbGV0ZSBQcm9maWxlIFBpY3R1cmVcclxuICAgIHB1YmxpYyBvbkRlbGV0ZVByb2ZpbGVQaWN0dXJlKCkge1xyXG4gICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nV2l0aENob2ljZShcIkNvbmZlcm1hIGVsaW1pbmF6aW9uZVwiLCBcIlNpIGUnIGNlcnRpIGRpIHZvbGVyIHJpbXVvdmVyZSBsYSBmb3RvIHByb2ZpbG8/XCIsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kb0RlbGV0ZVByb2ZpbGVQaWN0dXJlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRvRGVsZXRlUHJvZmlsZVBpY3R1cmUoKSB7XHJcbiAgICAgICAgbGV0IHJlcyA9IGF3YWl0IHRoaXMucHJvZmlsZS5kb0RlbGV0ZVByb2ZpbGVQaWN0dXJlKCk7XHJcbiAgICAgICAgdGhpcy5tc2dFeHRzLm1hbmFnZUNhbGxSZXN1bHRSZXNwb25zZShyZXMsIFwiRm90byBwcm9maWxvIHJpbW9zc2EgY29uIHN1Y2Nlc3NvXCIsIFwiRXJyb3JpIG5lbGxhIHJpbW96aW9uZSBkZWxsYSBmb3RvIHByb2ZpbG9cIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRsZ1VwZGF0ZVByb2ZpbGVQaWN0dXJlLmhpZGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBVcGRhdGUgUmVjb3ZlcnkgSW5mb1xyXG4gICAgQFZpZXdDaGlsZChcImRsZ1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3NcIikgZGxnVXBkYXRlUmVjb3ZlcnlTZXR0aW5nczogRXNNb2RhbENvbXBvbmVudDtcclxuICAgIHB1YmxpYyBVcGRhdGVSZWNvdmVyeVNldHRpbmdzRFRPOiB7IGVtYWlsOiBzdHJpbmcgfSA9IG51bGw7XHJcblxyXG4gICAgcHVibGljIG9uVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncygpIHtcclxuICAgICAgICB0aGlzLlVwZGF0ZVJlY292ZXJ5U2V0dGluZ3NEVE8gPSBudWxsO1xyXG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuVXBkYXRlUmVjb3ZlcnlTZXR0aW5nc0RUTyA9IHsgZW1haWw6IHRoaXMuQWNjb3VudERldGFpbHMucmVjb3ZlcnllbWFpbCB9O1xyXG4gICAgICAgICAgICB0aGlzLmRsZ1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3Muc2hvdygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBkb1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3MoKSB7XHJcbiAgICAgICAgbGV0IHJlcyA9IGF3YWl0IHRoaXMucHJvZmlsZS5kb1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3ModGhpcy5VcGRhdGVSZWNvdmVyeVNldHRpbmdzRFRPLmVtYWlsKTtcclxuICAgICAgICB0aGlzLm1zZ0V4dHMubWFuYWdlQ2FsbFJlc3VsdFJlc3BvbnNlKHJlcywgXCJNb2RpZmljYSBlc2VndWl0YSBjb24gU3VjY2Vzc29cIiwgXCJFcnJvcmkgbmVsbGEgbW9kaWZpY2FcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmdldEFjY291bnREZXRhaWxzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGxnVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncy5oaWRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gVXBkYXRlIFBhc3N3b3JkXHJcbiAgICBAVmlld0NoaWxkKFwiZGxnVXBkYXRlUGFzc3dvcmRcIikgZGxnVXBkYXRlUGFzc3dvcmQ6IEVzTW9kYWxDb21wb25lbnQ7XHJcbiAgICBwdWJsaWMgVXBkYXRlUGFzc3dvcmREVE86IFVwZGF0ZVBhc3N3b3JkRHRvID0gbnVsbDtcclxuICAgIEN1c3RvbUVycm9yOiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIG9uVXBkYXRlUGFzc3dvcmQoKSB7XHJcbiAgICAgICAgdGhpcy5VcGRhdGVQYXNzd29yZERUTyA9IG51bGw7XHJcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5DdXN0b21FcnJvciA9IFwiXCI7XHJcbiAgICAgICAgICAgIHRoaXMuVXBkYXRlUGFzc3dvcmREVE8gPSBuZXcgVXBkYXRlUGFzc3dvcmREdG8oKTtcclxuICAgICAgICAgICAgdGhpcy5kbGdVcGRhdGVQYXNzd29yZC5zaG93KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGRvVXBkYXRlUGFzc3dvcmQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuVXBkYXRlUGFzc3dvcmREVE8ubmV3cHdkICE9IHRoaXMuVXBkYXRlUGFzc3dvcmREVE8uY29uZmlybXB3ZClcclxuICAgICAgICAgICAgdGhpcy5DdXN0b21FcnJvciA9IFwiTGUgcGFzc3dvcmQgaW5zZXJpdGUgbm9uIGNvaW5jaWRvbm8uXCI7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCByZXMgPSBhd2FpdCB0aGlzLnByb2ZpbGUuZG9VcGRhdGVQYXNzd29yZCh0aGlzLlVwZGF0ZVBhc3N3b3JkRFRPLm9sZHB3ZCwgdGhpcy5VcGRhdGVQYXNzd29yZERUTy5uZXdwd2QsIHRoaXMuVXBkYXRlUGFzc3dvcmREVE8uY29uZmlybXB3ZCk7XHJcbiAgICAgICAgICAgIHRoaXMubXNnRXh0cy5tYW5hZ2VDYWxsUmVzdWx0UmVzcG9uc2UocmVzLCBcIlBhc3N3b3JkIG1vZGlmaWNhdGEgY29uIFN1Y2Nlc3NvXCIsIFwiRXJyb3JpIG5lbGxhIG1vZGlmaWNhIGRlbGxhIFBhc3N3b3JkXCIsXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7IHRoaXMuZGxnVXBkYXRlUGFzc3dvcmQuaGlkZSgpOyB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8jZW5kcmVnaW9uXHJcbn1cclxuXHJcbi8vIFRPRE86IERlZmluaXJlIG1lZ2xpbyBlbnRpdGEgQUNDT1VOVFxyXG5leHBvcnQgY2xhc3MgSmFjZVVzZXJBY2NvdW50IHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBpZHVzZXI6IHN0cmluZztcclxuICAgIGlkdGVuYW50OiBzdHJpbmc7XHJcbiAgICB1c2VybmFtZTogc3RyaW5nO1xyXG4gICAgZHR2YWxpZGZyb206IERhdGU7XHJcbiAgICBkdHZhbGlkdG86IERhdGU7XHJcbiAgICBjb2RmaXNjYWxlOiBzdHJpbmc7XHJcbiAgICBmaXJzdG5hbWU6IHN0cmluZztcclxuICAgIGxhc3RuYW1lOiBzdHJpbmc7XHJcbiAgICBkdGxvY2tkb3duOiBEYXRlO1xyXG4gICAgbG9ja2Rvd25yZWFzb246IHN0cmluZztcclxuICAgIC8vIERldGFpbFxyXG4gICAgcmVjb3ZlcnllbWFpbDogc3RyaW5nO1xyXG4gICAgcmVjb3ZlcnlwaG9uZTogc3RyaW5nO1xyXG59IiwiPGRpdiBzdHlsZT1cImhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGRpc3BsYXk6IGZsZXg7XCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luOiBhdXRvO1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWltZy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cInByb2ZpbGUuUHJvZmlsZVBpY3R1cmVcIiBhbHQ9XCJ1c2VyLWltZ1wiIGNsYXNzPVwidXNlci1pbWdcIiAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLXBvaW50ZXIgdXNlci1pbWctYnRuXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLW9wYWNpdHkgdXNlci1pbWctYnRuLWJvZHlcIiAoY2xpY2spPVwib25VcGRhdGVQcm9maWxlUGljdHVyZSgpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXBlblwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLW1hcmdpbi10b3AtMTVcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTtcIiAqbmdJZj1cIkFjY291bnREZXRhaWxzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGNhcmQtYm9keSBhcHAtbm8tbWFyZ2luIGFwcC1wYWRkaW5nLTE1XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqYWM9XCInUjpKYWNlIEFkbWluJ1wiIGNsYXNzPVwidXNlci1yb2xlcy1idG5cIiBbbWF0VG9vbHRpcF09XCInVmlzdWFsaXp6YSBSdW9saSBlIFBlcm1lc3NpJ1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgKGNsaWNrKT1cIm9uU2hvd0FjY291bnRSb2xlcygpO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1ib29rLXVzZXJcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+PGxhYmVsZWQtc3BhbiBbTGFiZWxdPVwiJ1V0ZW50ZScgfCBsb2NhbGl6ZSA6IGxjXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+e3tBY2NvdW50RGV0YWlscy51c2VybmFtZX19PC9sYWJlbGVkLXNwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+PGxhYmVsZWQtc3BhbiBbTGFiZWxdPVwiJ1RlbmFudCcgfCBsb2NhbGl6ZSA6IGxjXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+e3tBY2NvdW50RGV0YWlscy5pZHRlbmFudH19PC9sYWJlbGVkLXNwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGFwcC1tYXJnaW4tdG9wLTEwXCI+PGxhYmVsZWQtc3BhbiBbTGFiZWxdPVwiJ05vbWUnIHwgbG9jYWxpemUgOiBsY1wiIERpc3BsYXk9XCJWZXJ0aWNhbFwiPnt7QWNjb3VudERldGFpbHMuZmlyc3RuYW1lfX08L2xhYmVsZWQtc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgYXBwLW1hcmdpbi10b3AtMTBcIj48bGFiZWxlZC1zcGFuIFtMYWJlbF09XCInQ29nbm9tZScgfCBsb2NhbGl6ZSA6IGxjXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+e3tBY2NvdW50RGV0YWlscy5sYXN0bmFtZX19PC9sYWJlbGVkLXNwYW4+IDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgYXBwLW1hcmdpbi10b3AtMTBcIj48bGFiZWxlZC1zcGFuIFtMYWJlbF09XCInRW1haWwnIHwgbG9jYWxpemUgOiBsY1wiIERpc3BsYXk9XCJWZXJ0aWNhbFwiPnt7QWNjb3VudERldGFpbHMucmVjb3ZlcnllbWFpbCB8fCAnTm9uIGRpc3BvbmliaWxlJ319PC9sYWJlbGVkLXNwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1tYXJnaW4tdG9wLTEwIHJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwib25VcGRhdGVQYXNzd29yZCgpXCI+TW9kaWZpY2EgUGFzc3dvcmQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm9uVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncygpXCI+TW9kaWZpY2EgRW1haWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tVXBkYXRlIFBhc3N3b3JkLS0+XHJcbjxlcy1tb2RhbCAjZGxnVXBkYXRlUGFzc3dvcmQgW1NpemVdPVwiJ00nXCI+XHJcbiAgICA8ZXMtbW9kYWwtaGVhZCAoQ2xvc2UpPVwiZGxnVXBkYXRlUGFzc3dvcmQuaGlkZSgpO1wiPlxyXG4gICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPk1vZGlmaWNhIFBhc3N3b3JkPC9oNT5cclxuICAgIDwvZXMtbW9kYWwtaGVhZD5cclxuICAgIDxmb3JtICpuZ0lmPVwiVXBkYXRlUGFzc3dvcmREVE9cIiAjZm9ybVVwZGF0ZVBhc3N3b3JkPVwibmdGb3JtXCIgKG5nU3VibWl0KT1cImZvcm1VcGRhdGVQYXNzd29yZC52YWxpZCAmJiBkb1VwZGF0ZVBhc3N3b3JkKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBsYXN0Zml4XCI+XHJcbiAgICAgICAgICAgIDxmb3JtLWlucHV0IFtQYXNzd29yZF09XCJ0cnVlXCIgW0xhYmVsXT1cIidQYXNzd29yZCcgfCBsb2NhbGl6ZTogbGNcIiBbKG5nTW9kZWwpXT1cIlVwZGF0ZVBhc3N3b3JkRFRPLm9sZHB3ZFwiIG5hbWU9XCJvbGRwd1wiIHJlcXVpcmVkPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgPGZvcm0taW5wdXQgW1Bhc3N3b3JkXT1cInRydWVcIiBbTGFiZWxdPVwiJ051b3ZhIFBhc3N3b3JkJyB8IGxvY2FsaXplOiBsY1wiIFsobmdNb2RlbCldPVwiVXBkYXRlUGFzc3dvcmREVE8ubmV3cHdkXCIgbmFtZT1cIm5ld3B3XCIgcmVxdWlyZWQ+PC9mb3JtLWlucHV0PlxyXG4gICAgICAgICAgICA8Zm9ybS1pbnB1dCBbUGFzc3dvcmRdPVwidHJ1ZVwiIFtMYWJlbF09XCInQ29uZmVybWEgUGFzc3dvcmQnIHwgbG9jYWxpemU6IGxjXCIgWyhuZ01vZGVsKV09XCJVcGRhdGVQYXNzd29yZERUTy5jb25maXJtcHdkXCIgbmFtZT1cImNvbmZwd1wiIHJlcXVpcmVkPjwvZm9ybS1pbnB1dD5cclxuICAgICAgICAgICAgPCEtLVZhbGlkYXppb25lIEN1c3RvbS0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiQ3VzdG9tRXJyb3JcIiBjbGFzcz1cImFwcC13aGl0ZS10ZXh0IGFwcC1tYXJnaW4tdG9wLTE1IGFwcC1tYXJnaW4tYm90dG9tLTAgY2FyZCBhcHAtcGFkZGluZy0xMCBjYXJkLWRhbmdlclwiPlxyXG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eydFcnJvcicgfCBsb2NhbGl6ZSA6IGxjfX06Jm5ic3A7PC9zdHJvbmc+e3tDdXN0b21FcnJvcn19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBhcHAtbWFyZ2luLXJpZ2h0LTEwXCIgKGNsaWNrKT1cImRsZ1VwZGF0ZVBhc3N3b3JkLmhpZGUoKTtcIj57eydDYW5jZWwnIHwgbG9jYWxpemUgOiBsY319PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+Q29uZmVybWE8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuPC9lcy1tb2RhbD5cclxuXHJcbjwhLS1VcGRhdGUgRXh0cmEgSW5mby0tPlxyXG48ZXMtbW9kYWwgI2RsZ1VwZGF0ZVJlY292ZXJ5U2V0dGluZ3MgW1NpemVdPVwiJ00nXCI+XHJcbiAgICA8ZXMtbW9kYWwtaGVhZCAoQ2xvc2UpPVwiZGxnVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncy5oaWRlKCk7XCI+XHJcbiAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3snTW9kaWZpY2EgRW1haWwnIHwgbG9jYWxpemUgOiBsY319PC9oNT5cclxuICAgIDwvZXMtbW9kYWwtaGVhZD5cclxuICAgIDxmb3JtICpuZ0lmPVwiVXBkYXRlUmVjb3ZlcnlTZXR0aW5nc0RUT1wiICNmb3JtVXBkYXRlSW5mb3M9XCJuZ0Zvcm1cIiAobmdTdWJtaXQpPVwiZm9ybVVwZGF0ZUluZm9zLnZhbGlkICYmIGRvVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncygpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbGFzdGZpeFwiPlxyXG4gICAgICAgICAgICA8Zm9ybS1pbnB1dCBbTGFiZWxJbnB1dFJhdGlvXT1cIiczIDknXCIgW0xhYmVsXT1cIidFbWFpbCcgfCBsb2NhbGl6ZTogbGNcIiBbKG5nTW9kZWwpXT1cIlVwZGF0ZVJlY292ZXJ5U2V0dGluZ3NEVE8uZW1haWxcIiBuYW1lPVwiZW1haWxcIj48L2Zvcm0taW5wdXQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGFwcC1tYXJnaW4tcmlnaHQtMTBcIiAoY2xpY2spPVwiZGxnVXBkYXRlUmVjb3ZlcnlTZXR0aW5ncy5oaWRlKCk7XCI+e3snQ2FuY2VsJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPkNvbmZlcm1hPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbjwvZXMtbW9kYWw+XHJcblxyXG48IS0tVXBsb2FkIFBpY3R1cmUtLT5cclxuPGVzLW1vZGFsICNkbGdVcGRhdGVQcm9maWxlUGljdHVyZSBbU2l6ZV09XCInTSdcIj5cclxuICAgIDxlcy1tb2RhbC1oZWFkIChDbG9zZSk9XCJkbGdVcGRhdGVQcm9maWxlUGljdHVyZS5oaWRlKCk7XCI+XHJcbiAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+e3snQ2FyaWNhIEF2YXRhcicgfCBsb2NhbGl6ZSA6IGxjfX08L2g1PlxyXG4gICAgPC9lcy1tb2RhbC1oZWFkPlxyXG4gICAgPGZvcm0gKm5nSWY9XCJVcGRhdGVQcm9maWxlUGljdHVyZURUT1wiICNmb3JtVXBkYXRlUHJvZmlsZVBpY3R1cmU9XCJuZ0Zvcm1cIiAobmdTdWJtaXQpPVwiZm9ybVVwZGF0ZVByb2ZpbGVQaWN0dXJlICYmIGRvVXBkYXRlUHJvZmlsZVBpY3R1cmUoKTtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBsYXN0Zml4XCI+XHJcbiAgICAgICAgICAgIDxmb3JtLWZpbGUgTGFiZWw9XCJGaWxlXCIgW0ZhbmN5TW9kZV09XCJ0cnVlXCIgWyhuZ01vZGVsKV09XCJVcGRhdGVQcm9maWxlUGljdHVyZURUTy5pbWFnZVwiIG5hbWU9XCJ1cF9maWxlXCI+PC9mb3JtLWZpbGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IGF1dG87XCIgKGNsaWNrKT1cIm9uRGVsZXRlUHJvZmlsZVBpY3R1cmUoKTtcIj57eydSaW11b3ZpJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGFwcC1tYXJnaW4tcmlnaHQtMTBcIiAoY2xpY2spPVwiZGxnVXBkYXRlUHJvZmlsZVBpY3R1cmUuaGlkZSgpO1wiPnt7J0NhbmNlbCcgfCBsb2NhbGl6ZSA6IGxjfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj57eydTYXZlJyB8IGxvY2FsaXplIDogbGN9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG48L2VzLW1vZGFsPlxyXG5cclxuPCEtLVJ1b2xpIGUgUGVybWVzc2ktLT5cclxuPGVzLW1vZGFsICNkbGdTaG93QWNjb3VudFJvbGVzIFtTaXplXT1cIidMJ1wiPlxyXG4gICAgPGVzLW1vZGFsLWhlYWQgKENsb3NlKT1cImRsZ1Nob3dBY2NvdW50Um9sZXMuaGlkZSgpO1wiPlxyXG4gICAgICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPnt7J1J1b2xpIGUgUGVybWVzc2knIHwgbG9jYWxpemUgOiBsY319PC9oNT5cclxuICAgIDwvZXMtbW9kYWwtaGVhZD5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCIgc3R5bGU9XCJtYXgtaGVpZ2h0OiA2MDBweDsgb3ZlcmZsb3cteTogYXV0bztcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiICpuZ0lmPVwiQWNjb3VudFJvbGVzXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWxlZC1zcGFuIFtMYWJlbF09XCInUnVvbGknXCIgRGlzcGxheT1cIlZlcnRpY2FsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgciBvZiBBY2NvdW50Um9sZXM7XCI+e3tyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWxlZC1zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCIgKm5nSWY9XCJBY2NvdW50UGVybWlzc2lvbnNcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbGVkLXNwYW4gW0xhYmVsXT1cIidQZXJtZXNzaSdcIiBEaXNwbGF5PVwiVmVydGljYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwIG9mIEFjY291bnRQZXJtaXNzaW9ucztcIj57e3B9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbGVkLXNwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJkbGdTaG93QWNjb3VudFJvbGVzLmhpZGUoKTtcIj57eydDaGl1ZGknIHwgbG9jYWxpemUgOiBsY319PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9lcy1tb2RhbD4iXX0=
@@ -13,6 +13,7 @@ export * from './page-structure/sidebar/sidebar.component';
13
13
  export * from './page-structure/base/base.component';
14
14
  export * from './page-structure/base/reactive.component';
15
15
  export * from './page-structure/jace-resource/jace-resource.component';
16
+ export * from './page-structure/user-infos/user-infos.component';
16
17
  export * from './components.module';
17
18
  export * from "./es-modal/es-modal.component";
18
19
  export * from "./es-modal/es-modal-head/es-modal-head.component";
@@ -21,4 +22,9 @@ export * from './search/filters-sidebar/filters-sidebar.component';
21
22
  export * from './search/filters-sidebar-section/filters-sidebar-section.component';
22
23
  export * from './search/filters-sidebar-item/filters-sidebar-item.component';
23
24
  export * from './search/es-filters/es-filters.component';
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2JhY2stdG9wL2JhY2stdG9wLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvZXJyb3IvNDA0L3BhZ2Vub3Rmb3VuZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2Vycm9yLzUwMC9zZXJ2ZXJlcnJvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2Vycm9yL0FuZ3VsYXIvYW5ndWxhcmVycm9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvcGFnZS9wYWdlcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2V4dGVybmFsLXBhZ2UvZXh0ZXJuYWxfcGFnZXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXN0cnVjdHVyZS9qYWNlLWxvZ2luL2phY2UtbG9naW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXN0cnVjdHVyZS9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvbmF2YmFyL21vZHVsZXMtYm9hcmQvamFjZS1tb2R1bGVzLWJvYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvcmVkaXJlY3Rlci9yZWRpcmVjdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvYmFzZS9iYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvYmFzZS9yZWFjdGl2ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2phY2UtcmVzb3VyY2UvamFjZS1yZXNvdXJjZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSBcIi4vZXMtbW9kYWwvZXMtbW9kYWwuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2VzLW1vZGFsL2VzLW1vZGFsLWhlYWQvZXMtbW9kYWwtaGVhZC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvZmlsdGVycy10b3BiYXIvZmlsdGVycy10b3BiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvZmlsdGVycy1zaWRlYmFyL2ZpbHRlcnMtc2lkZWJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC9maWx0ZXJzLXNpZGViYXItc2VjdGlvbi9maWx0ZXJzLXNpZGViYXItc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC9maWx0ZXJzLXNpZGViYXItaXRlbS9maWx0ZXJzLXNpZGViYXItaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC9lcy1maWx0ZXJzL2VzLWZpbHRlcnMuY29tcG9uZW50JzsiXX0=
25
+ export * from './span/labeled-span/labeled-span.component';
26
+ export * from './operations/ops-menu/ops-menu.component';
27
+ export * from './operations/ops-menu-category/ops-menu-category.component';
28
+ export * from './operations/ops-menu-operation/ops-menu-operation.component';
29
+ export * from './search/base/base-search';
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2JhY2stdG9wL2JhY2stdG9wLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvZXJyb3IvNDA0L3BhZ2Vub3Rmb3VuZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2Vycm9yLzUwMC9zZXJ2ZXJlcnJvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2Vycm9yL0FuZ3VsYXIvYW5ndWxhcmVycm9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvcGFnZS9wYWdlcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2V4dGVybmFsLXBhZ2UvZXh0ZXJuYWxfcGFnZXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXN0cnVjdHVyZS9qYWNlLWxvZ2luL2phY2UtbG9naW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXN0cnVjdHVyZS9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvbmF2YmFyL21vZHVsZXMtYm9hcmQvamFjZS1tb2R1bGVzLWJvYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvcmVkaXJlY3Rlci9yZWRpcmVjdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvYmFzZS9iYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1zdHJ1Y3R1cmUvYmFzZS9yZWFjdGl2ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL2phY2UtcmVzb3VyY2UvamFjZS1yZXNvdXJjZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2Utc3RydWN0dXJlL3VzZXItaW5mb3MvdXNlci1pbmZvcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSBcIi4vZXMtbW9kYWwvZXMtbW9kYWwuY29tcG9uZW50XCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2VzLW1vZGFsL2VzLW1vZGFsLWhlYWQvZXMtbW9kYWwtaGVhZC5jb21wb25lbnRcIjtcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvZmlsdGVycy10b3BiYXIvZmlsdGVycy10b3BiYXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gvZmlsdGVycy1zaWRlYmFyL2ZpbHRlcnMtc2lkZWJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC9maWx0ZXJzLXNpZGViYXItc2VjdGlvbi9maWx0ZXJzLXNpZGViYXItc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC9maWx0ZXJzLXNpZGViYXItaXRlbS9maWx0ZXJzLXNpZGViYXItaXRlbS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC9lcy1maWx0ZXJzL2VzLWZpbHRlcnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcGFuL2xhYmVsZWQtc3Bhbi9sYWJlbGVkLXNwYW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRpb25zL29wcy1tZW51L29wcy1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0aW9ucy9vcHMtbWVudS1jYXRlZ29yeS9vcHMtbWVudS1jYXRlZ29yeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL29wZXJhdGlvbnMvb3BzLW1lbnUtb3BlcmF0aW9uL29wcy1tZW51LW9wZXJhdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC9iYXNlL2Jhc2Utc2VhcmNoJzsiXX0=
@@ -0,0 +1,112 @@
1
+ import { Directive, ViewChild } from "@angular/core";
2
+ import { ActivatedRoute } from "@angular/router";
3
+ import { AppSearch } from "@esfaenza/es-table";
4
+ import { UtilityService } from "@esfaenza/extensions";
5
+ import { HTTPService } from "@esfaenza/httpservice";
6
+ import { CacheService } from "@esfaenza/preferences";
7
+ import { combineLatest } from "rxjs";
8
+ import { Location } from "@angular/common";
9
+ // Componenti Interni
10
+ import { EsFiltersComponent } from "../es-filters/es-filters.component";
11
+ import { BaseComponent } from "../../page-structure/base/base.component";
12
+ import * as i0 from "@angular/core";
13
+ export class BaseSearchComponent extends BaseComponent {
14
+ constructor(injector) {
15
+ super(injector);
16
+ this.searchView = null;
17
+ this.location = injector.get(Location);
18
+ this.localStorage = injector.get(CacheService);
19
+ this.http = injector.get(HTTPService);
20
+ this.route = injector.get(ActivatedRoute);
21
+ this.utiExts = injector.get(UtilityService);
22
+ }
23
+ ngOnInit() {
24
+ this.StorageSub = combineLatest(this.route.queryParams, this.route.params, (querypars, pars) => ({ querypars, pars })).subscribe(res => {
25
+ // TODO: Salvare fuori res.querypars e res.pars se servono in modo da poterli usare quando servono
26
+ this.onInit(res.querypars["ignoreStorage"]);
27
+ });
28
+ }
29
+ ngOnDestroy() {
30
+ super.ngOnDestroy();
31
+ if (this.StorageSub)
32
+ this.StorageSub.unsubscribe();
33
+ }
34
+ async onInit(ignoreStorage) {
35
+ await this.getCombos();
36
+ this.doInit(ignoreStorage);
37
+ }
38
+ async doInit(ignoreStorage) {
39
+ let item = await this.localStorage.getItem(this.HotView).toPromise();
40
+ if (!ignoreStorage && item) {
41
+ item["__proto__"] = new this.SearchType();
42
+ this.init(item);
43
+ }
44
+ else {
45
+ this.init(null);
46
+ this.location.replaceState(this.getRedirectUrl());
47
+ await this.localStorage.removeItem(this.HotView).toPromise();
48
+ }
49
+ }
50
+ init(HotPotato) {
51
+ if (HotPotato) {
52
+ this.searchView = HotPotato;
53
+ }
54
+ else {
55
+ this.searchView = new this.SearchType();
56
+ this.searchView.page = 1;
57
+ this.setDefaultFilters(this.searchView);
58
+ }
59
+ }
60
+ sendSearch() {
61
+ debugger;
62
+ let keepProto = this.searchView["__proto__"];
63
+ this.searchView = AppSearch.newref(this.searchView);
64
+ this.searchView["__proto__"] = keepProto;
65
+ }
66
+ // Chiamo onUpdateFiltersBar sia all'inizio che alla fine della chiamata, in quanto l'utente
67
+ // pi� stronzo potrebbe cancellare il filtro durante il caricamento...
68
+ onSearchRequest(resetPage = true) {
69
+ this.filters.onUpdateFiltersTop();
70
+ this.searchView.searchinprogress = true;
71
+ if (resetPage)
72
+ this.searchView.page = 1;
73
+ //#region Questo mi serve per testare sul template
74
+ if (!this.SearchURL) {
75
+ let ret = this.utiExts.deepClone(this.searchView);
76
+ ret.items = [
77
+ { id: "1", description: "Riga 1" },
78
+ { id: "2", description: "Riga 2" },
79
+ { id: "3", description: "Riga 3" },
80
+ ];
81
+ setTimeout(() => {
82
+ this.RetrieveProto(ret);
83
+ this.searchView.searchinprogress = false;
84
+ this.filters.onUpdateFiltersTop();
85
+ this.localStorage.setItem(this.HotView, this.searchView).subscribe();
86
+ }, 1500);
87
+ }
88
+ else
89
+ //#endregion
90
+ this.http.post(this.SearchURL, this.searchView).subscribe(t => {
91
+ this.RetrieveProto(t);
92
+ this.searchView.searchinprogress = false;
93
+ this.filters.onUpdateFiltersTop();
94
+ this.localStorage.setItem(this.HotView, this.searchView).subscribe();
95
+ });
96
+ }
97
+ // Funzione per non perdere il proto dopo che il backend mi restituisce la sua searchView
98
+ RetrieveProto(res) {
99
+ let keepProto = this.searchView["__proto__"];
100
+ this.searchView = res;
101
+ this.searchView["__proto__"] = keepProto;
102
+ }
103
+ }
104
+ BaseSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseSearchComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
105
+ BaseSearchComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseSearchComponent, viewQueries: [{ propertyName: "filters", first: true, predicate: EsFiltersComponent, descendants: true }], usesInheritance: true, ngImport: i0 });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseSearchComponent, decorators: [{
107
+ type: Directive
108
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { filters: [{
109
+ type: ViewChild,
110
+ args: [EsFiltersComponent, { static: false }]
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3NlYXJjaC9iYXNlL2Jhc2Utc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLHFCQUFxQjtBQUNyQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBR3pFLE1BQU0sT0FBZ0IsbUJBQTZELFNBQVEsYUFBYTtJQWlCcEcsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFmYixlQUFVLEdBQVksSUFBSSxDQUFDO1FBaUI5QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENB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RUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx5RkFBeUY7SUFDakYsYUFBYSxDQUFDLEdBQUc7UUFDckIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM3QyxDQUFDOztnSEFuSGlCLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG1FQUMxQixrQkFBa0I7MkZBRFgsbUJBQW1CO2tCQUR4QyxTQUFTOytGQUU0QyxPQUFPO3NCQUF4RCxTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBBcHBTZWFyY2ggfSBmcm9tIFwiQGVzZmFlbnphL2VzLXRhYmxlXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IEhUVFBTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9odHRwc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDYWNoZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCI7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29tcG9uZW50aSBJbnRlcm5pXHJcbmltcG9ydCB7IEVzRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gXCIuLi9lcy1maWx0ZXJzL2VzLWZpbHRlcnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vcGFnZS1zdHJ1Y3R1cmUvYmFzZS9iYXNlLmNvbXBvbmVudFwiO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VhcmNoQ29tcG9uZW50PFRTZWFyY2ggZXh0ZW5kcyBBcHBTZWFyY2g8VEl0ZW0+LCBUSXRlbT4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoRXNGaWx0ZXJzQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZmlsdGVyczogRXNGaWx0ZXJzQ29tcG9uZW50O1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2hWaWV3OiBUU2VhcmNoID0gbnVsbDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgSG90Vmlldzogc3RyaW5nO1xyXG4gICAgcHJvdGVjdGVkIFNlYXJjaFVSTDogc3RyaW5nO1xyXG4gICAgcHJvdGVjdGVkIFNlYXJjaFR5cGU6IG5ldyAoKSA9PiBUU2VhcmNoO1xyXG5cclxuICAgIHByaXZhdGUgU3RvcmFnZVN1YjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uO1xyXG4gICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2U6IENhY2hlU2VydmljZTtcclxuICAgIHByb3RlY3RlZCBodHRwOiBIVFRQU2VydmljZTtcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlO1xyXG4gICAgcHJvdGVjdGVkIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuXHJcbiAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGluamVjdG9yLmdldChMb2NhdGlvbik7XHJcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UgPSBpbmplY3Rvci5nZXQoQ2FjaGVTZXJ2aWNlKTtcclxuICAgICAgICB0aGlzLmh0dHAgPSBpbmplY3Rvci5nZXQoSFRUUFNlcnZpY2UpO1xyXG4gICAgICAgIHRoaXMucm91dGUgPSBpbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgICAgIHRoaXMudXRpRXh0cyA9IGluamVjdG9yLmdldChVdGlsaXR5U2VydmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5TdG9yYWdlU3ViID0gY29tYmluZUxhdGVzdCh0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLCB0aGlzLnJvdXRlLnBhcmFtcywgKHF1ZXJ5cGFycywgcGFycykgPT4gKHsgcXVlcnlwYXJzLCBwYXJzIH0pKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgLy8gVE9ETzogU2FsdmFyZSBmdW9yaSByZXMucXVlcnlwYXJzIGUgcmVzLnBhcnMgc2Ugc2Vydm9ubyBpbiBtb2RvIGRhIHBvdGVybGkgdXNhcmUgcXVhbmRvIHNlcnZvbm9cclxuICAgICAgICAgICAgdGhpcy5vbkluaXQocmVzLnF1ZXJ5cGFyc1tcImlnbm9yZVN0b3JhZ2VcIl0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuU3RvcmFnZVN1YilcclxuICAgICAgICAgICAgdGhpcy5TdG9yYWdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgb25Jbml0KGlnbm9yZVN0b3JhZ2UpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmdldENvbWJvcygpO1xyXG4gICAgICAgIHRoaXMuZG9Jbml0KGlnbm9yZVN0b3JhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRvSW5pdChpZ25vcmVTdG9yYWdlKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBhd2FpdCB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtPFRTZWFyY2g+KHRoaXMuSG90VmlldykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKCFpZ25vcmVTdG9yYWdlICYmIGl0ZW0pIHtcclxuICAgICAgICAgICAgaXRlbVtcIl9fcHJvdG9fX1wiXSA9IG5ldyB0aGlzLlNlYXJjaFR5cGUoKTtcclxuICAgICAgICAgICAgdGhpcy5pbml0KGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdChudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGUodGhpcy5nZXRSZWRpcmVjdFVybCgpKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLkhvdFZpZXcpLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbml0KEhvdFBvdGF0bzogVFNlYXJjaCkge1xyXG4gICAgICAgIGlmIChIb3RQb3RhdG8pIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gSG90UG90YXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hWaWV3ID0gbmV3IHRoaXMuU2VhcmNoVHlwZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFZpZXcucGFnZSA9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZpbHRlcnModGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFNlYXJjaCgpIHtcclxuICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICBsZXQga2VlcFByb3RvID0gdGhpcy5zZWFyY2hWaWV3W1wiX19wcm90b19fXCJdO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IEFwcFNlYXJjaC5uZXdyZWYodGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXdbXCJfX3Byb3RvX19cIl0gPSBrZWVwUHJvdG87XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hpYW1vIG9uVXBkYXRlRmlsdGVyc0JhciBzaWEgYWxsJ2luaXppbyBjaGUgYWxsYSBmaW5lIGRlbGxhIGNoaWFtYXRhLCBpbiBxdWFudG8gbCd1dGVudGVcclxuICAgIC8vIHBp77+9IHN0cm9uem8gcG90cmViYmUgY2FuY2VsbGFyZSBpbCBmaWx0cm8gZHVyYW50ZSBpbCBjYXJpY2FtZW50by4uLlxyXG4gICAgb25TZWFyY2hSZXF1ZXN0KHJlc2V0UGFnZTogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgICAgICB0aGlzLmZpbHRlcnMub25VcGRhdGVGaWx0ZXJzVG9wKCk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hWaWV3LnNlYXJjaGlucHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgIGlmIChyZXNldFBhZ2UpXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5wYWdlID0gMTtcclxuXHJcbiAgICAgICAgLy8jcmVnaW9uIFF1ZXN0byBtaSBzZXJ2ZSBwZXIgdGVzdGFyZSBzdWwgdGVtcGxhdGVcclxuICAgICAgICBpZighdGhpcy5TZWFyY2hVUkwpIHtcclxuICAgICAgICAgICAgbGV0IHJldCA9IHRoaXMudXRpRXh0cy5kZWVwQ2xvbmUodGhpcy5zZWFyY2hWaWV3KTtcclxuICAgICAgICAgICAgcmV0Lml0ZW1zID0gW1xyXG4gICAgICAgICAgICAgICAgPGFueT57IGlkOiBcIjFcIiwgZGVzY3JpcHRpb246IFwiUmlnYSAxXCIgfSxcclxuICAgICAgICAgICAgICAgIDxhbnk+eyBpZDogXCIyXCIsIGRlc2NyaXB0aW9uOiBcIlJpZ2EgMlwiIH0sXHJcbiAgICAgICAgICAgICAgICA8YW55PnsgaWQ6IFwiM1wiLCBkZXNjcmlwdGlvbjogXCJSaWdhIDNcIiB9LFxyXG4gICAgICAgICAgICBdO1xyXG5cclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlJldHJpZXZlUHJvdG8ocmV0KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcnMub25VcGRhdGVGaWx0ZXJzVG9wKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuSG90VmlldywgdGhpcy5zZWFyY2hWaWV3KS5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgfSwgMTUwMCk7XHJcbiAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PFRTZWFyY2g+KHRoaXMuU2VhcmNoVVJMLCB0aGlzLnNlYXJjaFZpZXcpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5SZXRyaWV2ZVByb3RvKHQpXHJcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoVmlldy5zZWFyY2hpbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVycy5vblVwZGF0ZUZpbHRlcnNUb3AoKTtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkhvdFZpZXcsIHRoaXMuc2VhcmNoVmlldykuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRnVuemlvbmUgcGVyIG5vbiBwZXJkZXJlIGlsIHByb3RvIGRvcG8gY2hlIGlsIGJhY2tlbmQgbWkgcmVzdGl0dWlzY2UgbGEgc3VhIHNlYXJjaFZpZXdcclxuICAgIHByaXZhdGUgUmV0cmlldmVQcm90byhyZXMpIHtcclxuICAgICAgICBsZXQga2VlcFByb3RvID0gdGhpcy5zZWFyY2hWaWV3W1wiX19wcm90b19fXCJdO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVmlldyA9IHJlcztcclxuICAgICAgICB0aGlzLnNlYXJjaFZpZXdbXCJfX3Byb3RvX19cIl0gPSBrZWVwUHJvdG87XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0Q29tYm9zKCk7XHJcbiAgICBhYnN0cmFjdCBnZXRSZWRpcmVjdFVybCgpOiBzdHJpbmc7XHJcbiAgICBhYnN0cmFjdCBzZXREZWZhdWx0RmlsdGVycyhzdjogVFNlYXJjaCk7XHJcbn0iXX0=
@@ -0,0 +1,25 @@
1
+ import { NgIf } from "@angular/common";
2
+ import { Component, Input } from "@angular/core";
3
+ import * as i0 from "@angular/core";
4
+ export class LabeledSpanComponent {
5
+ constructor() {
6
+ this.H_MODE = "Horizontal";
7
+ this.V_MODE = "Vertical";
8
+ this.First = false;
9
+ this.Label = "";
10
+ this.Display = "Horizontal";
11
+ }
12
+ }
13
+ LabeledSpanComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabeledSpanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ LabeledSpanComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LabeledSpanComponent, isStandalone: true, selector: "labeled-span", inputs: { First: "First", Label: "Label", Display: "Display" }, ngImport: i0, template: "<div [class.app-margin-top-10]=\"First\" \r\n [style.display]=\"Display == V_MODE ? 'inline-grid' : 'block'\"\r\n [style.margin-right.px]=\"Display == V_MODE ? 10 : 0\">\r\n <strong class=\"text-uppercase\" style=\"font-size: .7rem !important;\">\r\n {{Label}}<span *ngIf=\"Display == H_MODE\">:&nbsp;&nbsp;</span>\r\n </strong>\r\n <span><ng-content></ng-content></span>\r\n</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LabeledSpanComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: "labeled-span", standalone: true, imports: [NgIf], template: "<div [class.app-margin-top-10]=\"First\" \r\n [style.display]=\"Display == V_MODE ? 'inline-grid' : 'block'\"\r\n [style.margin-right.px]=\"Display == V_MODE ? 10 : 0\">\r\n <strong class=\"text-uppercase\" style=\"font-size: .7rem !important;\">\r\n {{Label}}<span *ngIf=\"Display == H_MODE\">:&nbsp;&nbsp;</span>\r\n </strong>\r\n <span><ng-content></ng-content></span>\r\n</div>" }]
18
+ }], ctorParameters: function () { return []; }, propDecorators: { First: [{
19
+ type: Input
20
+ }], Label: [{
21
+ type: Input
22
+ }], Display: [{
23
+ type: Input
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxlZC1zcGFuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvc3Bhbi9sYWJlbGVkLXNwYW4vbGFiZWxlZC1zcGFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvc3Bhbi9sYWJlbGVkLXNwYW4vbGFiZWxlZC1zcGFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRakQsTUFBTSxPQUFPLG9CQUFvQjtJQVE3QjtRQVBPLFdBQU0sR0FBRyxZQUFZLENBQUM7UUFDdEIsV0FBTSxHQUFHLFVBQVUsQ0FBQztRQUVsQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUE4QixZQUFZLENBQUM7SUFFM0MsQ0FBQzs7aUhBUlIsb0JBQW9CO3FHQUFwQixvQkFBb0Isd0lDVGpDLHVaQU9NLDRDREFRLElBQUk7MkZBRUwsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGNBQWMsY0FFWixJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUM7MEVBTU4sS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwibGFiZWxlZC1zcGFuXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2xhYmVsZWQtc3Bhbi5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGFiZWxlZFNwYW5Db21wb25lbnQge1xyXG4gICAgcHVibGljIEhfTU9ERSA9IFwiSG9yaXpvbnRhbFwiO1xyXG4gICAgcHVibGljIFZfTU9ERSA9IFwiVmVydGljYWxcIjtcclxuXHJcbiAgICBASW5wdXQoKSBGaXJzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgTGFiZWw6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBASW5wdXQoKSBEaXNwbGF5OiBcIkhvcml6b250YWxcIiB8IFwiVmVydGljYWxcIiA9IFwiSG9yaXpvbnRhbFwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn0iLCI8ZGl2IFtjbGFzcy5hcHAtbWFyZ2luLXRvcC0xMF09XCJGaXJzdFwiIFxyXG4gICAgIFtzdHlsZS5kaXNwbGF5XT1cIkRpc3BsYXkgPT0gVl9NT0RFID8gJ2lubGluZS1ncmlkJyA6ICdibG9jaydcIlxyXG4gICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiRGlzcGxheSA9PSBWX01PREUgPyAxMCA6IDBcIj5cclxuICAgIDxzdHJvbmcgY2xhc3M9XCJ0ZXh0LXVwcGVyY2FzZVwiIHN0eWxlPVwiZm9udC1zaXplOiAuN3JlbSAhaW1wb3J0YW50O1wiPlxyXG4gICAgICAgIHt7TGFiZWx9fTxzcGFuICpuZ0lmPVwiRGlzcGxheSA9PSBIX01PREVcIj46Jm5ic3A7Jm5ic3A7PC9zcGFuPlxyXG4gICAgPC9zdHJvbmc+XHJcbiAgICA8c3Bhbj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxyXG48L2Rpdj4iXX0=
@@ -1,8 +1,7 @@
1
1
  export class UpdateAccountRecoverySettingsDto {
2
- constructor(accountid, email, phone) {
2
+ constructor(accountid, email) {
3
3
  this.accountid = accountid;
4
4
  this.email = email;
5
- this.phone = phone;
6
5
  }
7
6
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlQWNjb3VudFJlY292ZXJ5U2V0dGluZ3NEdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL3VzZXIvVXBkYXRlQWNjb3VudFJlY292ZXJ5U2V0dGluZ3NEdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLGdDQUFnQztJQUN6QyxZQUFtQixTQUFpQixFQUFTLEtBQWEsRUFBUyxLQUFhO1FBQTdELGNBQVMsR0FBVCxTQUFTLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUFJLENBQUM7Q0FDeEYiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGNsYXNzIFVwZGF0ZUFjY291bnRSZWNvdmVyeVNldHRpbmdzRHRvIHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBhY2NvdW50aWQ6IHN0cmluZywgcHVibGljIGVtYWlsOiBzdHJpbmcsIHB1YmxpYyBwaG9uZTogc3RyaW5nKSB7IH1cclxufVxyXG5cclxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlQWNjb3VudFJlY292ZXJ5U2V0dGluZ3NEdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL3VzZXIvVXBkYXRlQWNjb3VudFJlY292ZXJ5U2V0dGluZ3NEdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLGdDQUFnQztJQUN6QyxZQUFtQixTQUFrQixFQUFTLEtBQWM7UUFBekMsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUFTLFVBQUssR0FBTCxLQUFLLENBQVM7SUFBSSxDQUFDO0NBQ3BFIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBjbGFzcyBVcGRhdGVBY2NvdW50UmVjb3ZlcnlTZXR0aW5nc0R0byB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYWNjb3VudGlkPzogc3RyaW5nLCBwdWJsaWMgZW1haWw/OiBzdHJpbmcpIHsgfVxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,11 @@
1
+ export class UpdatePasswordDto {
2
+ constructor(accountid, oldpwd, newpwd, confirmpwd, changeall = true, changeforexternals = true) {
3
+ this.accountid = accountid;
4
+ this.oldpwd = oldpwd;
5
+ this.newpwd = newpwd;
6
+ this.confirmpwd = confirmpwd;
7
+ this.changeall = changeall;
8
+ this.changeforexternals = changeforexternals;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlUGFzc3dvcmREdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL3VzZXIvVXBkYXRlUGFzc3dvcmREdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUNXLFNBQWtCLEVBQ2xCLE1BQWUsRUFDZixNQUFlLEVBQ2YsVUFBbUIsRUFDbkIsWUFBcUIsSUFBSSxFQUN6QixxQkFBOEIsSUFBSTtRQUxsQyxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBUztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWdCO0lBQUksQ0FBQztDQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVcGRhdGVQYXNzd29yZER0byB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgYWNjb3VudGlkPzogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBvbGRwd2Q/OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIG5ld3B3ZD86IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgY29uZmlybXB3ZD86IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgY2hhbmdlYWxsOiBib29sZWFuID0gdHJ1ZSxcclxuICAgICAgICBwdWJsaWMgY2hhbmdlZm9yZXh0ZXJuYWxzOiBib29sZWFuID0gdHJ1ZSkgeyB9XHJcbn0iXX0=
@@ -0,0 +1,6 @@
1
+ export class UpdateProfilePictureDto {
2
+ constructor(accountid) {
3
+ this.accountid = accountid;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBkYXRlUHJvZmlsZVBpY3R1cmVEdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RvbWFpbi9zcmMvbW9kZWxzL3VzZXIvVXBkYXRlUHJvZmlsZVBpY3R1cmVEdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxZQUFtQixTQUFrQjtRQUFsQixjQUFTLEdBQVQsU0FBUyxDQUFTO0lBQUksQ0FBQztDQUM3QyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgY2xhc3MgVXBkYXRlUHJvZmlsZVBpY3R1cmVEdG8ge1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGFjY291bnRpZD86IHN0cmluZykgeyB9XHJcbn1cclxuIl19
@@ -16,8 +16,8 @@ export * from './models/jace/JaceUser';
16
16
  export * from './models/global_search/SaerchResultContainer';
17
17
  export * from './models/global_search/SearchResult';
18
18
  export * from './models/decorators/decorators';
19
- export * from './models/user/ChangePasswordDto';
20
- export * from './models/user/ChangeProfilePictureDto';
19
+ export * from './models/user/UpdatePasswordDto';
20
+ export * from './models/user/UpdateProfilePictureDto';
21
21
  export * from './models/user/UpdateAccountRecoverySettingsDto';
22
22
  export * from './tokens';
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29yZS9BcHBsaWNhdGlvbk1lbnUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uSm9iJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29yZS9FbnZPcHRpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29yZS9LZXlWYWx1ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvcmUvR2VuZXJpY0l0ZW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uUm91dGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9DYXRlZ29yaWVzV2l0aE1vZHVsZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0FjY291bnRTY29wZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvQWN0aXZlTW9kdWxlVmlldyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZUFjY291bnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0phY2VJZGVudGl0eSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZU1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZVBlcm1pc3Npb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0phY2VSb2xlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlVXNlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2dsb2JhbF9zZWFyY2gvU2FlcmNoUmVzdWx0Q29udGFpbmVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZ2xvYmFsX3NlYXJjaC9TZWFyY2hSZXN1bHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kZWNvcmF0b3JzL2RlY29yYXRvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy91c2VyL0NoYW5nZVBhc3N3b3JkRHRvJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdXNlci9DaGFuZ2VQcm9maWxlUGljdHVyZUR0byc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3VzZXIvVXBkYXRlQWNjb3VudFJlY292ZXJ5U2V0dGluZ3NEdG8nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZG9tYWluL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29yZS9BcHBsaWNhdGlvbk1lbnUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uSm9iJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29yZS9FbnZPcHRpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29yZS9LZXlWYWx1ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvcmUvR2VuZXJpY0l0ZW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb3JlL0FwcGxpY2F0aW9uUm91dGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9DYXRlZ29yaWVzV2l0aE1vZHVsZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0FjY291bnRTY29wZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvQWN0aXZlTW9kdWxlVmlldyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZUFjY291bnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0phY2VJZGVudGl0eSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZU1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2phY2UvSmFjZVBlcm1pc3Npb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9qYWNlL0phY2VSb2xlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvamFjZS9KYWNlVXNlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2dsb2JhbF9zZWFyY2gvU2FlcmNoUmVzdWx0Q29udGFpbmVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvZ2xvYmFsX3NlYXJjaC9TZWFyY2hSZXN1bHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kZWNvcmF0b3JzL2RlY29yYXRvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy91c2VyL1VwZGF0ZVBhc3N3b3JkRHRvJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdXNlci9VcGRhdGVQcm9maWxlUGljdHVyZUR0byc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3VzZXIvVXBkYXRlQWNjb3VudFJlY292ZXJ5U2V0dGluZ3NEdG8nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucyc7Il19