@infordata-web/portal-common-component-lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.
71 lines • 13.1 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { map } from 'rxjs/operators';
import { InfoAnagrafichePFDTO } from '../../../models/info-anagrafiche-pf';
import { ComponentOutputStatus } from '../../../normalizzazione/component-output-status';
import { MessageService } from '../../../services/message.service';
import { ValidationService } from '../../../services/validation.service';
export class PfComponent {
constructor(msg) {
this.msg = msg;
this.done = new EventEmitter();
}
ngOnInit() {
this.form = new FormGroup({});
if (this.resetForm) {
this.subscription = this.resetForm.subscribe(val => val ? this.pulisciForm() : "");
}
const codiceFiscale = new FormControl({ value: '', disabled: false }, [
ValidationService.pattern(ValidationService.codiceFiscale, "cfInvalidoFormalmente"),
]);
this.form.addControl("codiceFiscale", codiceFiscale);
const nome = new FormControl({ value: '', disabled: false }, [
ValidationService.pattern(ValidationService.formatoName, "formatoName")
]);
this.form.addControl("nome", nome);
const cognome = new FormControl({ value: '', disabled: false }, [
ValidationService.pattern(ValidationService.formatoName, "formatoName")
]);
this.form.addControl("cognome", cognome);
const changes$ = this.form.valueChanges.pipe(map((_) => {
const pf = new InfoAnagrafichePFDTO();
pf.codFiscale = this.form.controls["codiceFiscale"].value;
pf.nome = this.form.controls["nome"].value;
pf.cognome = this.form.controls["cognome"].value;
return ComponentOutputStatus.of(this.form.valid, pf);
}));
this.form.setValidators(form => {
return (!form.get('codiceFiscale').value &&
(!form.get('cognome').value && !form.get('nome').value)) ?
{ requiredPF: true } : null;
});
this.subscription = changes$.subscribe((_) => this.done.emit(_));
}
ngOnDestroy() {
if (this.subscription) {
this.subscription.unsubscribe();
}
}
pulisciForm() {
const keys = Object.keys(this.form.value);
keys.forEach(key => {
const control = this.form.get(key);
control.setValue("");
});
}
}
PfComponent.decorators = [
{ type: Component, args: [{
selector: 'lib-pf',
template: "<form [formGroup]=\"form\">\r\n\t<div class=\"row my-2\">\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<mat-form-field>\r\n\t\t\t\t<!-- <input matInput placeholder=\"{{'required' | traduzione}}{{'codice-fiscale' | traduzione}}\" -->\r\n\t\t\t\t<input matInput placeholder=\"{{'codice-fiscale' | traduzione}}\"\r\n\t\t\t\t\tformControlName=\"codiceFiscale\" maxlength=\"16\">\r\n\t\t\t\t<mat-error *ngIf=\"form.controls['codiceFiscale'].invalid\">\r\n\t\t\t\t\t{{msg.produceCFMessage(form.controls['codiceFiscale']) | traduzione }}\r\n\t\t\t\t</mat-error>\r\n\t\t\t</mat-form-field>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n <mat-form-field>\r\n\t\t\t\t<!-- <input matInput placeholder=\"{{'required' | traduzione}}{{'cognome' | traduzione}}\" -->\r\n\t\t\t\t<input matInput placeholder=\"{{'cognome' | traduzione}}\"\r\n\t\t\t\t\tformControlName=\"cognome\">\r\n\t\t\t\t<mat-error *ngIf=\"form.controls['cognome'].invalid\">\r\n\t\t\t\t\t{{msg.produceMessage('obbligatorio',form.controls['cognome']) | traduzione }}\r\n\t\t\t\t</mat-error>\r\n\t\t\t</mat-form-field>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n <mat-form-field>\r\n\t\t\t\t<!-- <input matInput placeholder=\"{{'required' | traduzione}}{{'nome' | traduzione}}\" -->\r\n\t\t\t\t<input matInput placeholder=\"{{'nome' | traduzione}}\"\r\n\t\t\t\t\tformControlName=\"nome\">\r\n\t\t\t\t<mat-error *ngIf=\"form.controls['nome'].invalid\">\r\n\t\t\t\t\t{{msg.produceMessage('obbligatorio',form.controls['nome']) | traduzione }}\r\n\t\t\t\t</mat-error>\r\n\t\t\t</mat-form-field>\r\n\t\t</div>\r\n <div class=\"col-md-12\">\r\n <mat-error *ngIf=\"form.getError('requiredPF')\">\r\n {{msg.produceMessage('requiredPF', form) | traduzione }}\r\n </mat-error>\r\n </div>\r\n\t</div>\r\n</form>",
styles: [""]
},] }
];
PfComponent.ctorParameters = () => [
{ type: MessageService }
];
PfComponent.propDecorators = {
resetForm: [{ type: Input }],
done: [{ type: Output }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2dldHRpL0RBRy9zb3JnZW50aS9naXRsYWItdGVybmkvY29tbW9uLWNvbXBvbmVudC1saWIvcHJvamVjdHMvcG9ydGFsLWNvbW1vbi1jb21wb25lbnQtbGliL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXBvc2l0aS9jb21tb24tY29tcG9uZW50L3JpY2VyY2EtcGYvcGYvcGYuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFPekUsTUFBTSxPQUFPLFdBQVc7SUFjdkIsWUFBb0IsR0FBbUI7UUFBbkIsUUFBRyxHQUFILEdBQUcsQ0FBZ0I7UUFSdkMsU0FBSSxHQUVBLElBQUksWUFBWSxFQUErQyxDQUFDO0lBTXpCLENBQUM7SUFFNUMsUUFBUTtRQUVQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDbEQsR0FBRyxDQUFDLENBQUMs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SSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OztZQXRGRCxTQUFTLFNBQUM7Z0JBQ1YsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLG16REFBa0M7O2FBRWxDOzs7WUFQUSxjQUFjOzs7d0JBVXJCLEtBQUs7bUJBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEluZm9BbmFncmFmaWNoZVBGRFRPIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2luZm8tYW5hZ3JhZmljaGUtcGYnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRPdXRwdXRTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9ub3JtYWxpenphemlvbmUvY29tcG9uZW50LW91dHB1dC1zdGF0dXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLXBmJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGYuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3BmLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0cmVzZXRGb3JtOiBTdWJqZWN0PGJvb2xlYW4+O1xyXG5cclxuXHRAT3V0cHV0KClcclxuXHRkb25lOiBFdmVudEVtaXR0ZXI8XHJcblx0XHRDb21wb25lbnRPdXRwdXRTdGF0dXM8SW5mb0FuYWdyYWZpY2hlUEZEVE8+XHJcblx0PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcG9uZW50T3V0cHV0U3RhdHVzPEluZm9BbmFncmFmaWNoZVBGRFRPPj4oKTtcclxuXHJcblx0Zm9ybTogRm9ybUdyb3VwO1xyXG5cclxuXHRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBtc2c6IE1lc3NhZ2VTZXJ2aWNlKSB7IH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG5cdFx0dGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG5cdFx0aWYgKHRoaXMucmVzZXRGb3JtKSB7XHJcblx0XHRcdHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yZXNldEZvcm0uc3Vic2NyaWJlKHZhbCA9PlxyXG5cdFx0XHRcdHZhbCA/IHRoaXMucHVsaXNjaUZvcm0oKSA6IFwiXCIpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGNvZGljZUZpc2NhbGUgPSBuZXcgRm9ybUNvbnRyb2woXHJcblx0XHRcdHsgdmFsdWU6ICcnLCBkaXNhYmxlZDogZmFsc2UgfSxcclxuXHRcdFx0W1xyXG5cdFx0XHRcdFZhbGlkYXRpb25TZXJ2aWNlLnBhdHRlcm4oXHJcblx0XHRcdFx0XHRWYWxpZGF0aW9uU2VydmljZS5jb2RpY2VGaXNjYWxlLFxyXG5cdFx0XHRcdFx0XCJjZkludmFsaWRvRm9ybWFsbWVudGVcIlxyXG5cdFx0XHRcdCksXHJcblx0XHRcdF1cclxuXHRcdCk7XHJcblxyXG5cdFx0dGhpcy5mb3JtLmFkZENvbnRyb2woXCJjb2RpY2VGaXNjYWxlXCIsIGNvZGljZUZpc2NhbGUpO1xyXG5cclxuXHRcdGNvbnN0IG5vbWUgPSBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogJycsIGRpc2FibGVkOiBmYWxzZSB9LFxyXG5cdFx0XHRbXHJcblx0XHRcdFx0VmFsaWRhdGlvblNlcnZpY2UucGF0dGVybihWYWxpZGF0aW9uU2VydmljZS5mb3JtYXRvTmFtZSwgXCJmb3JtYXRvTmFtZVwiKVxyXG5cdFx0XHRdKTtcclxuXHRcdHRoaXMuZm9ybS5hZGRDb250cm9sKFwibm9tZVwiLCBub21lKTtcclxuXHJcblx0XHRjb25zdCBjb2dub21lID0gbmV3IEZvcm1Db250cm9sKFxyXG5cdFx0XHR7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IGZhbHNlIH0sXHJcblx0XHRcdFtcclxuXHRcdFx0XHRWYWxpZGF0aW9uU2VydmljZS5wYXR0ZXJuKFZhbGlkYXRpb25TZXJ2aWNlLmZvcm1hdG9OYW1lLCBcImZvcm1hdG9OYW1lXCIpXHJcblx0XHRcdF0pO1xyXG5cdFx0dGhpcy5mb3JtLmFkZENvbnRyb2woXCJjb2dub21lXCIsIGNvZ25vbWUpO1xyXG5cclxuXHRcdGNvbnN0IGNoYW5nZXMkID0gdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG5cdFx0XHRtYXAoKF8pID0+IHtcclxuXHRcdFx0XHRjb25zdCBwZiA9IG5ldyBJbmZvQW5hZ3JhZmljaGVQRkRUTygpO1xyXG5cdFx0XHRcdHBmLmNvZEZpc2NhbGUgPSB0aGlzLmZvcm0uY29udHJvbHNbXCJjb2RpY2VGaXNjYWxlXCJdLnZhbHVlO1xyXG5cdFx0XHRcdHBmLm5vbWUgPSB0aGlzLmZvcm0uY29udHJvbHNbXCJub21lXCJdLnZhbHVlO1xyXG5cdFx0XHRcdHBmLmNvZ25vbWUgPSB0aGlzLmZvcm0uY29udHJvbHNbXCJjb2dub21lXCJdLnZhbHVlO1xyXG5cdFx0XHRcdHJldHVybiBDb21wb25lbnRPdXRwdXRTdGF0dXMub2YodGhpcy5mb3JtLnZhbGlkLCBwZik7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuZm9ybS5zZXRWYWxpZGF0b3JzKGZvcm0gPT4ge1xyXG5cdFx0XHRyZXR1cm4gKCFmb3JtLmdldCgnY29kaWNlRmlzY2FsZScpLnZhbHVlICYmIFxyXG5cdFx0XHRcdCghZm9ybS5nZXQoJ2NvZ25vbWUnKS52YWx1ZSAmJiAhZm9ybS5nZXQoJ25vbWUnKS52YWx1ZSkpID9cclxuXHRcdFx0XHR7IHJlcXVpcmVkUEY6IHRydWUgfSA6IG51bGw7XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbiA9IGNoYW5nZXMkLnN1YnNjcmliZSgoXykgPT4gdGhpcy5kb25lLmVtaXQoXykpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1bGlzY2lGb3JtKCkge1xyXG5cdFx0Y29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMuZm9ybS52YWx1ZSk7XHJcblx0XHRrZXlzLmZvckVhY2goa2V5ID0+IHtcclxuXHRcdFx0Y29uc3QgY29udHJvbDogQWJzdHJhY3RDb250cm9sID0gdGhpcy5mb3JtLmdldChrZXkpO1xyXG5cdFx0XHRjb250cm9sLnNldFZhbHVlKFwiXCIpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG59Il19