ngx-sp-infra 0.1.21 → 0.1.22

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.
@@ -7,7 +7,11 @@ export class ConfirmModalComponent {
7
7
  // #region PRIVATE
8
8
  this._closingModal = new EventEmitter();
9
9
  this.genreAndPluralitySubject = 'masc singular';
10
+ // Estas variáveis abaixo servem para deixar o mais genérico possível o modal de confirmalçao
10
11
  this.customMessage = '';
12
+ this.customTitle = '';
13
+ this.customButton = '';
14
+ this.customButtonLoading = '';
11
15
  this.importantMessage = false;
12
16
  this.showSpinner = false;
13
17
  }
@@ -41,11 +45,11 @@ export class ConfirmModalComponent {
41
45
  this._closingModal.emit(isExecuteAction);
42
46
  }
43
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfirmModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ConfirmModalComponent, selector: "app-confirm-modal", inputs: { modalSubject: "modalSubject", modalType: "modalType", genreAndPluralitySubject: "genreAndPluralitySubject", customMessage: "customMessage", importantMessage: "importantMessage" }, outputs: { _closingModal: "_closingModal" }, ngImport: i0, template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ modalType }} {{ modalSubject }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ modalType }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ modalType == 'Excluir' ? 'Excluindo...' : modalType == 'Ativar' ? 'Ativando...' : 'Inativando...' }} </span>\n </button>\n </ng-template>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ConfirmModalComponent, selector: "app-confirm-modal", inputs: { modalSubject: "modalSubject", modalType: "modalType", genreAndPluralitySubject: "genreAndPluralitySubject", customMessage: "customMessage", customTitle: "customTitle", customButton: "customButton", customButtonLoading: "customButtonLoading", importantMessage: "importantMessage" }, outputs: { _closingModal: "_closingModal" }, ngImport: i0, template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ customTitle === '' ? [modalType + ' ' + modalSubject] : customTitle }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ customButton === '' ? modalType : customButton }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ customButtonLoading === '' ? [modalType == 'Excluir' ? 'Excluindo...' : [modalType == 'Ativar' ? 'Ativando...' : 'Inativando...']] : customButtonLoading }} </span>\n </button>\n </ng-template>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
45
49
  }
46
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfirmModalComponent, decorators: [{
47
51
  type: Component,
48
- args: [{ selector: 'app-confirm-modal', template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ modalType }} {{ modalSubject }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ modalType }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ modalType == 'Excluir' ? 'Excluindo...' : modalType == 'Ativar' ? 'Ativando...' : 'Inativando...' }} </span>\n </button>\n </ng-template>\n\n</div>\n" }]
52
+ args: [{ selector: 'app-confirm-modal', template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ customTitle === '' ? [modalType + ' ' + modalSubject] : customTitle }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ customButton === '' ? modalType : customButton }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ customButtonLoading === '' ? [modalType == 'Excluir' ? 'Excluindo...' : [modalType == 'Ativar' ? 'Ativando...' : 'Inativando...']] : customButtonLoading }} </span>\n </button>\n </ng-template>\n\n</div>\n" }]
49
53
  }], ctorParameters: function () { return []; }, propDecorators: { _closingModal: [{
50
54
  type: Output
51
55
  }], modalSubject: [{
@@ -56,7 +60,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
56
60
  type: Input
57
61
  }], customMessage: [{
58
62
  type: Input
63
+ }], customTitle: [{
64
+ type: Input
65
+ }], customButton: [{
66
+ type: Input
67
+ }], customButtonLoading: [{
68
+ type: Input
59
69
  }], importantMessage: [{
60
70
  type: Input
61
71
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUdBLDZDQUE2QztRQUU3QyxrQkFBa0I7UUFDRCxrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBTXBFLDZCQUF3QixHQUNOLGVBQWUsQ0FBQztRQUNsQyxrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFM0MsZ0JBQVcsR0FBWSxLQUFLLENBQUM7SUFqQnBCLENBQUM7SUFrQmpCLG9CQUFvQjtJQUVwQixnREFBZ0Q7SUFHaEQsNENBQTRDO0lBQzVDOzs7Ozs7Ozs7T0FTRztJQUNJLHNCQUFzQixDQUFDLFFBQWdCO1FBQzVDLE1BQU0sYUFBYSxHQUFhLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCwrQ0FBK0M7SUFHL0MseUNBQXlDO0lBQ3pDOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxrQkFBMkIsS0FBSztRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQXZEVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixvU0NQbEMsdzJEQXNDQTs7MkZEL0JhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7MEVBWVosYUFBYTtzQkFBN0IsTUFBTTtnQkFJUyxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1Usd0JBQXdCO3NCQUF2QyxLQUFLO2dCQUVVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS1tb2RhbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1Nb2RhbENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuXG4gIC8vICNyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxuXG4gIC8vICNyZWdpb24gUFJJVkFURVxuICBAT3V0cHV0KCkgcHVibGljIF9jbG9zaW5nTW9kYWw6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgLy8gI2VuZHJlZ2lvbiBQUklWQVRFXG5cbiAgLy8gI3JlZ2lvbiBQVUJMSUNcbiAgQElucHV0KCkgcHVibGljIG1vZGFsU3ViamVjdDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgbW9kYWxUeXBlOiAnRXhjbHVpcicgfCAnSW5hdGl2YXInIHwgJ0F0aXZhcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBnZW5yZUFuZFBsdXJhbGl0eVN1YmplY3Q6ICdtYXNjIHNpbmd1bGFyJyB8ICdtYXNjIHBsdXJhbCcgfFxuICAgICdmZW0gc2luZ3VsYXInIHwgJ2ZlbSBwbHVyYWwnID0gJ21hc2Mgc2luZ3VsYXInO1xuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbXBvcnRhbnRNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIHNob3dTcGlubmVyOiBib29sZWFuID0gZmFsc2U7XG4gIC8vICNlbmRyZWdpb24gUFVCTElDXG5cbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBQUk9QRVJUSUVTIDw9PT09PT09PT09XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFVUSUxJVElFUyA8PT09PT09PT09PVxuICAvKipcbiAgICogRXN0ZSBtw6l0b2RvIHJlY2ViZSB1bWEgcGFsYXZyYSAocG9kZW5kbyBzZXIgdW1hIHBhbGF2cmEgY29tcG9zdGEpLCB2YWlcbiAgICogc2VwYXLDoS1sYSBlbSBvdXRyYXMgcGFsYXZyYXMgY2FzbyBlbGEgc2VqYSB1bWEgcGFsYXZyYSBjb21wb3N0YSwgaXLDoSBwZXJjb3JyZXJcbiAgICogYXMgcGFsYXZyYXMgc2VwYXJhZGFzLCBjb2xvY2FuZG8gYSBpbmljaWFsIGRlIGNhZGEgcGFsYXZyYSBlbSBtYWnDunNjdWxvLCBlXG4gICAqIGRlcG9pcyB2YWkgdW7DrS1sYXMgZW0gdW1hIG5vdmEgcGFsYXZyYSwgcXVlIHRlcsOhIHRvZGFzIGFzIHByaW1laXJhcyBsZXRyYXMgZW1cbiAgICogbWFpw7pzY3VsbyBwYXJhIG1vc3RyYXIgbm8gdMOtdHVsby5cbiAgICogQHBhcmFtIGZhdGVXb3JkIFBhbGF2cmEgKHBvZGVuZG8gc2VyIG91IG7Do28gcGFsYXZyYSBjb21wb3N0YSkgcXVlXG4gICAqIHNlcsOhIGFsdGVyYWRhIHBhcmEgdGVyIHN1YXMgaW5pY2lhaXMgbWFpw7pzY3VsYXMuXG4gICAqIEByZXR1cm5zIFBhbGF2cmEgY29tIGluaWNpYWlzIG1hacO6c2N1bGEuXG4gICAqL1xuICBwdWJsaWMgZmlyc3RMZXR0ZXJJc0xvd2VyY2FzZShmYXRlV29yZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBmYXRlV29yZFNwbGl0OiBzdHJpbmdbXSA9IGZhdGVXb3JkLnNwbGl0KFwiIFwiKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmF0ZVdvcmRTcGxpdC5sZW5ndGg7IGkrKykge1xuICAgICAgZmF0ZVdvcmRTcGxpdFtpXSA9IGZhdGVXb3JkU3BsaXRbaV1bMF0udG9Mb3dlckNhc2UoKSArIGZhdGVXb3JkU3BsaXRbaV0uc3Vic3RyaW5nKDEpO1xuICAgIH1cblxuICAgIHJldHVybiBmYXRlV29yZFNwbGl0LmpvaW4oXCIgXCIpO1xuICB9XG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gVVRJTElUSUVTIDw9PT09PT09PT09XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IE1PREFMUyA8PT09PT09PT09PVxuICAvKipcbiAgICogRnVuw6fDo28gY29tIG8gb2JqZXRpdm8gZGUgbWFuZGFyIHVtIGV2ZW50byBwYXJhIG8gY29tcG9uZW50ZSBwYWkgcGFyYSBxdWVcbiAgICogZWxlIGZlY2hlIG8gbW9kYWwuXG4gICAqL1xuICBwdWJsaWMgY2xvc2VNb2RhbChpc0V4ZWN1dGVBY3Rpb246IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb3NpbmdNb2RhbC5lbWl0KGlzRXhlY3V0ZUFjdGlvbik7XG4gIH1cbiAgLy8gI2VuZHJlZ2lvbiA9PT09PT09PT09PiBNT0RBTFMgPD09PT09PT09PT1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIG1vZGFsLXN0eWxlIG1vZGFsLWRpYWxvZy1jZW50ZXJlZFwiPlxuICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZSBwdWxsLWxlZnRcIj4ge3sgbW9kYWxUeXBlIH19IHt7IG1vZGFsU3ViamVjdCB9fSA8L2g0PlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCJcbiAgICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+PC9idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1tZXNzYWdlXCIgW2NsYXNzLnRleHQtZGFuZ2VyLmZ3LWJvbGRdPVwiaW1wb3J0YW50TWVzc2FnZVwiPlxuICAgIDxzcGFuICpuZ0lmPVwiY3VzdG9tTWVzc2FnZSA9PT0gJyc7IGVsc2Ugc2hvd0N1c3RvbU1lc3NhZ2VcIj4gVGVtIGNlcnRlemEgcXVlIHZvY8OqIHF1ZXIge3sgZmlyc3RMZXR0ZXJJc0xvd2VyY2FzZShtb2RhbFR5cGUpIH19XG4gICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwiZ2VucmVBbmRQbHVyYWxpdHlTdWJqZWN0XCI+XG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbWFzYyBzaW5ndWxhcidcIj4gZXN0ZSA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInbWFzYyBwbHVyYWwnXCI+IGVzdGVzIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmZW0gc2luZ3VsYXInXCI+IGVzdGEgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2ZlbSBwbHVyYWwnXCI+IGVzdGFzIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIHt7IGZpcnN0TGV0dGVySXNMb3dlcmNhc2UobW9kYWxTdWJqZWN0KSB9fT9cbiAgICA8L3NwYW4+XG5cbiAgICA8bmctdGVtcGxhdGUgI3Nob3dDdXN0b21NZXNzYWdlPlxuICAgICAgPHNwYW4+IHt7IGN1c3RvbU1lc3NhZ2UgfX0gPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8c3BhbiAqbmdJZj1cIm1vZGFsVHlwZSA9PSAnRXhjbHVpcidcIiBjbGFzcz1cInRleHQtZGFuZ2VyIGZ3LWJvbGRcIj4gKGVzdGEgYcOnw6NvIMOpIGlycmV2ZXJzw612ZWwpIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBtb2RhbC1idXR0b25cIlxuICAgIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj4gQ2FuY2VsYXIgPC9idXR0b24+XG4gIDxidXR0b24gKm5nSWY9XCIhc2hvd1NwaW5uZXI7IGVsc2UgbG9hZGluZ0J1dHRvblwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtb2RhbC1idXR0b25cIlxuICAgIChjbGljayk9XCJzaG93U3Bpbm5lciA9IHRydWU7IGNsb3NlTW9kYWwodHJ1ZSlcIj4ge3sgbW9kYWxUeXBlIH19IDwvYnV0dG9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbG9hZGluZ0J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1vZGFsLWJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiBkaXNhYmxlZD5cbiAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc21cIiByb2xlPVwic3RhdHVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgPHNwYW4+IHt7IG1vZGFsVHlwZSA9PSAnRXhjbHVpcicgPyAnRXhjbHVpbmRvLi4uJyA6IG1vZGFsVHlwZSA9PSAnQXRpdmFyJyA/ICdBdGl2YW5kby4uLicgOiAnSW5hdGl2YW5kby4uLicgfX0gPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L2Rpdj5cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3AtaW5mcmEvc3JjL2xpYi9tZXNzYWdlL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPL0UsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUdBLDZDQUE2QztRQUU3QyxrQkFBa0I7UUFDRCxrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBTXBFLDZCQUF3QixHQUNOLGVBQWUsQ0FBQztRQUVsRCw2RkFBNkY7UUFDN0Usa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsd0JBQW1CLEdBQVcsRUFBRSxDQUFDO1FBRWpDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUUzQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQXZCcEIsQ0FBQztJQXdCakIsb0JBQW9CO0lBRXBCLGdEQUFnRDtJQUdoRCw0Q0FBNEM7SUFDNUM7Ozs7Ozs7OztPQVNHO0lBQ0ksc0JBQXNCLENBQUMsUUFBZ0I7UUFDNUMsTUFBTSxhQUFhLEdBQWEsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM3QyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEY7UUFFRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELCtDQUErQztJQUcvQyx5Q0FBeUM7SUFDekM7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLGtCQUEyQixLQUFLO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBN0RVLHFCQUFxQjtrR0FBckIscUJBQXFCLDBZQ1BsQyw2K0RBdUNBOzsyRkRoQ2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjswRUFZWixhQUFhO3NCQUE3QixNQUFNO2dCQUlTLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBSVUsYUFBYTtzQkFBNUIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUVVLGdCQUFnQjtzQkFBL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbmZpcm0tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0tbW9kYWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtTW9kYWxDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cblxuICAvLyAjcmVnaW9uID09PT09PT09PT0+IFBST1BFUlRJRVMgPD09PT09PT09PT1cblxuICAvLyAjcmVnaW9uIFBSSVZBVEVcbiAgQE91dHB1dCgpIHB1YmxpYyBfY2xvc2luZ01vZGFsOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vICNlbmRyZWdpb24gUFJJVkFURVxuXG4gIC8vICNyZWdpb24gUFVCTElDXG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RhbFN1YmplY3Q6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG1vZGFsVHlwZTogJ0V4Y2x1aXInIHwgJ0luYXRpdmFyJyB8ICdBdGl2YXInO1xuICBASW5wdXQoKSBwdWJsaWMgZ2VucmVBbmRQbHVyYWxpdHlTdWJqZWN0OiAnbWFzYyBzaW5ndWxhcicgfCAnbWFzYyBwbHVyYWwnIHxcbiAgICAnZmVtIHNpbmd1bGFyJyB8ICdmZW0gcGx1cmFsJyA9ICdtYXNjIHNpbmd1bGFyJztcblxuICAvLyBFc3RhcyB2YXJpw6F2ZWlzIGFiYWl4byBzZXJ2ZW0gcGFyYSBkZWl4YXIgbyBtYWlzIGdlbsOpcmljbyBwb3Nzw612ZWwgbyBtb2RhbCBkZSBjb25maXJtYWzDp2FvXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21NZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbVRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUJ1dHRvbjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21CdXR0b25Mb2FkaW5nOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBwdWJsaWMgaW1wb3J0YW50TWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93U3Bpbm5lcjogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyAjZW5kcmVnaW9uIFBVQkxJQ1xuXG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gUFJPUEVSVElFUyA8PT09PT09PT09PVxuXG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBVVElMSVRJRVMgPD09PT09PT09PT1cbiAgLyoqXG4gICAqIEVzdGUgbcOpdG9kbyByZWNlYmUgdW1hIHBhbGF2cmEgKHBvZGVuZG8gc2VyIHVtYSBwYWxhdnJhIGNvbXBvc3RhKSwgdmFpXG4gICAqIHNlcGFyw6EtbGEgZW0gb3V0cmFzIHBhbGF2cmFzIGNhc28gZWxhIHNlamEgdW1hIHBhbGF2cmEgY29tcG9zdGEsIGlyw6EgcGVyY29ycmVyXG4gICAqIGFzIHBhbGF2cmFzIHNlcGFyYWRhcywgY29sb2NhbmRvIGEgaW5pY2lhbCBkZSBjYWRhIHBhbGF2cmEgZW0gbWFpw7pzY3VsbywgZVxuICAgKiBkZXBvaXMgdmFpIHVuw60tbGFzIGVtIHVtYSBub3ZhIHBhbGF2cmEsIHF1ZSB0ZXLDoSB0b2RhcyBhcyBwcmltZWlyYXMgbGV0cmFzIGVtXG4gICAqIG1hacO6c2N1bG8gcGFyYSBtb3N0cmFyIG5vIHTDrXR1bG8uXG4gICAqIEBwYXJhbSBmYXRlV29yZCBQYWxhdnJhIChwb2RlbmRvIHNlciBvdSBuw6NvIHBhbGF2cmEgY29tcG9zdGEpIHF1ZVxuICAgKiBzZXLDoSBhbHRlcmFkYSBwYXJhIHRlciBzdWFzIGluaWNpYWlzIG1hacO6c2N1bGFzLlxuICAgKiBAcmV0dXJucyBQYWxhdnJhIGNvbSBpbmljaWFpcyBtYWnDunNjdWxhLlxuICAgKi9cbiAgcHVibGljIGZpcnN0TGV0dGVySXNMb3dlcmNhc2UoZmF0ZVdvcmQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZmF0ZVdvcmRTcGxpdDogc3RyaW5nW10gPSBmYXRlV29yZC5zcGxpdChcIiBcIik7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZhdGVXb3JkU3BsaXQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZhdGVXb3JkU3BsaXRbaV0gPSBmYXRlV29yZFNwbGl0W2ldWzBdLnRvTG93ZXJDYXNlKCkgKyBmYXRlV29yZFNwbGl0W2ldLnN1YnN0cmluZygxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmF0ZVdvcmRTcGxpdC5qb2luKFwiIFwiKTtcbiAgfVxuICAvLyAjZW5kcmVnaW9uID09PT09PT09PT0+IFVUSUxJVElFUyA8PT09PT09PT09PVxuXG5cbiAgLy8gI3JlZ2lvbiA9PT09PT09PT09PiBNT0RBTFMgPD09PT09PT09PT1cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIGNvbSBvIG9iamV0aXZvIGRlIG1hbmRhciB1bSBldmVudG8gcGFyYSBvIGNvbXBvbmVudGUgcGFpIHBhcmEgcXVlXG4gICAqIGVsZSBmZWNoZSBvIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIGNsb3NlTW9kYWwoaXNFeGVjdXRlQWN0aW9uOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zaW5nTW9kYWwuZW1pdChpc0V4ZWN1dGVBY3Rpb24pO1xuICB9XG4gIC8vICNlbmRyZWdpb24gPT09PT09PT09PT4gTU9EQUxTIDw9PT09PT09PT09XG5cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBtb2RhbC1zdHlsZSBtb2RhbC1kaWFsb2ctY2VudGVyZWRcIj5cbiAgPGg0IGNsYXNzPVwibW9kYWwtdGl0bGUgcHVsbC1sZWZ0XCI+IHt7IGN1c3RvbVRpdGxlID09PSAnJyA/IFttb2RhbFR5cGUgKyAnICcgKyBtb2RhbFN1YmplY3RdIDogY3VzdG9tVGl0bGUgfX0gPC9oND5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiXG4gICAgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPjwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtbWVzc2FnZVwiIFtjbGFzcy50ZXh0LWRhbmdlci5mdy1ib2xkXT1cImltcG9ydGFudE1lc3NhZ2VcIj5cbiAgICA8c3BhbiAqbmdJZj1cImN1c3RvbU1lc3NhZ2UgPT09ICcnOyBlbHNlIHNob3dDdXN0b21NZXNzYWdlXCI+IFRlbSBjZXJ0ZXphIHF1ZSB2b2PDqiBxdWVyIHt7IGZpcnN0TGV0dGVySXNMb3dlcmNhc2UobW9kYWxUeXBlKSB9fVxuICAgICAgPHNwYW4gW25nU3dpdGNoXT1cImdlbnJlQW5kUGx1cmFsaXR5U3ViamVjdFwiPlxuICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ21hc2Mgc2luZ3VsYXInXCI+IGVzdGUgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ21hc2MgcGx1cmFsJ1wiPiBlc3RlcyA8L3NwYW4+XG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZmVtIHNpbmd1bGFyJ1wiPiBlc3RhIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmZW0gcGx1cmFsJ1wiPiBlc3RhcyA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICB7eyBmaXJzdExldHRlcklzTG93ZXJjYXNlKG1vZGFsU3ViamVjdCkgfX0/XG4gICAgPC9zcGFuPlxuXG4gICAgPG5nLXRlbXBsYXRlICNzaG93Q3VzdG9tTWVzc2FnZT5cbiAgICAgIDxzcGFuPiB7eyBjdXN0b21NZXNzYWdlIH19IDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJtb2RhbFR5cGUgPT0gJ0V4Y2x1aXInXCIgY2xhc3M9XCJ0ZXh0LWRhbmdlciBmdy1ib2xkXCI+IChlc3RhIGHDp8OjbyDDqSBpcnJldmVyc8OtdmVsKSA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgbW9kYWwtYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+IENhbmNlbGFyIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gKm5nSWY9XCIhc2hvd1NwaW5uZXI7IGVsc2UgbG9hZGluZ0J1dHRvblwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtb2RhbC1idXR0b25cIlxuICAgIChjbGljayk9XCJzaG93U3Bpbm5lciA9IHRydWU7IGNsb3NlTW9kYWwodHJ1ZSlcIj4ge3sgY3VzdG9tQnV0dG9uID09PSAnJyA/IG1vZGFsVHlwZSA6IGN1c3RvbUJ1dHRvbiB9fSA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgI2xvYWRpbmdCdXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtb2RhbC1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgZGlzYWJsZWQ+XG4gICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtXCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuPiB7eyBjdXN0b21CdXR0b25Mb2FkaW5nID09PSAnJyA/IFttb2RhbFR5cGUgPT0gJ0V4Y2x1aXInID8gJ0V4Y2x1aW5kby4uLicgOiBbbW9kYWxUeXBlID09ICdBdGl2YXInID8gJ0F0aXZhbmRvLi4uJyA6ICdJbmF0aXZhbmRvLi4uJ11dIDogY3VzdG9tQnV0dG9uTG9hZGluZyB9fSA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvZGl2PlxuIl19
@@ -97,7 +97,11 @@ class ConfirmModalComponent {
97
97
  // #region PRIVATE
98
98
  this._closingModal = new EventEmitter();
99
99
  this.genreAndPluralitySubject = 'masc singular';
100
+ // Estas variáveis abaixo servem para deixar o mais genérico possível o modal de confirmalçao
100
101
  this.customMessage = '';
102
+ this.customTitle = '';
103
+ this.customButton = '';
104
+ this.customButtonLoading = '';
101
105
  this.importantMessage = false;
102
106
  this.showSpinner = false;
103
107
  }
@@ -131,11 +135,11 @@ class ConfirmModalComponent {
131
135
  this._closingModal.emit(isExecuteAction);
132
136
  }
133
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfirmModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ConfirmModalComponent, selector: "app-confirm-modal", inputs: { modalSubject: "modalSubject", modalType: "modalType", genreAndPluralitySubject: "genreAndPluralitySubject", customMessage: "customMessage", importantMessage: "importantMessage" }, outputs: { _closingModal: "_closingModal" }, ngImport: i0, template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ modalType }} {{ modalSubject }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ modalType }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ modalType == 'Excluir' ? 'Excluindo...' : modalType == 'Ativar' ? 'Ativando...' : 'Inativando...' }} </span>\n </button>\n </ng-template>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ConfirmModalComponent, selector: "app-confirm-modal", inputs: { modalSubject: "modalSubject", modalType: "modalType", genreAndPluralitySubject: "genreAndPluralitySubject", customMessage: "customMessage", customTitle: "customTitle", customButton: "customButton", customButtonLoading: "customButtonLoading", importantMessage: "importantMessage" }, outputs: { _closingModal: "_closingModal" }, ngImport: i0, template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ customTitle === '' ? [modalType + ' ' + modalSubject] : customTitle }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ customButton === '' ? modalType : customButton }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ customButtonLoading === '' ? [modalType == 'Excluir' ? 'Excluindo...' : [modalType == 'Ativar' ? 'Ativando...' : 'Inativando...']] : customButtonLoading }} </span>\n </button>\n </ng-template>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] }); }
135
139
  }
136
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ConfirmModalComponent, decorators: [{
137
141
  type: Component,
138
- args: [{ selector: 'app-confirm-modal', template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ modalType }} {{ modalSubject }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ modalType }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ modalType == 'Excluir' ? 'Excluindo...' : modalType == 'Ativar' ? 'Ativando...' : 'Inativando...' }} </span>\n </button>\n </ng-template>\n\n</div>\n" }]
142
+ args: [{ selector: 'app-confirm-modal', template: "<div class=\"modal-header modal-style modal-dialog-centered\">\n <h4 class=\"modal-title pull-left\"> {{ customTitle === '' ? [modalType + ' ' + modalSubject] : customTitle }} </h4>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"\n (click)=\"closeModal()\"></button>\n</div>\n<div class=\"modal-body\">\n <div class=\"modal-message\" [class.text-danger.fw-bold]=\"importantMessage\">\n <span *ngIf=\"customMessage === ''; else showCustomMessage\"> Tem certeza que voc\u00EA quer {{ firstLetterIsLowercase(modalType) }}\n <span [ngSwitch]=\"genreAndPluralitySubject\">\n <span *ngSwitchCase=\"'masc singular'\"> este </span>\n <span *ngSwitchCase=\"'masc plural'\"> estes </span>\n <span *ngSwitchCase=\"'fem singular'\"> esta </span>\n <span *ngSwitchCase=\"'fem plural'\"> estas </span>\n </span>\n {{ firstLetterIsLowercase(modalSubject) }}?\n </span>\n\n <ng-template #showCustomMessage>\n <span> {{ customMessage }} </span>\n </ng-template>\n\n <span *ngIf=\"modalType == 'Excluir'\" class=\"text-danger fw-bold\"> (esta a\u00E7\u00E3o \u00E9 irrevers\u00EDvel) </span>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-outline-primary modal-button\"\n (click)=\"closeModal()\"> Cancelar </button>\n\n <button *ngIf=\"!showSpinner; else loadingButton\" type=\"button\" class=\"btn btn-primary modal-button\"\n (click)=\"showSpinner = true; closeModal(true)\"> {{ customButton === '' ? modalType : customButton }} </button>\n\n <ng-template #loadingButton>\n <button class=\"btn btn-primary modal-button\" type=\"button\" disabled>\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n <span> {{ customButtonLoading === '' ? [modalType == 'Excluir' ? 'Excluindo...' : [modalType == 'Ativar' ? 'Ativando...' : 'Inativando...']] : customButtonLoading }} </span>\n </button>\n </ng-template>\n\n</div>\n" }]
139
143
  }], ctorParameters: function () { return []; }, propDecorators: { _closingModal: [{
140
144
  type: Output
141
145
  }], modalSubject: [{
@@ -146,6 +150,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
146
150
  type: Input
147
151
  }], customMessage: [{
148
152
  type: Input
153
+ }], customTitle: [{
154
+ type: Input
155
+ }], customButton: [{
156
+ type: Input
157
+ }], customButtonLoading: [{
158
+ type: Input
149
159
  }], importantMessage: [{
150
160
  type: Input
151
161
  }] } });