@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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2dldHRpL0RBRy9zb3JnZW50aS9naXRsYWItc29mdHdhcmVmYWN0b3J5L2NvbW1vbi1jb21wb25lbnQtbGliL3Byb2plY3RzL3BvcnRhbC1jb21tb24tY29tcG9uZW50LWxpYi9zcmMvIiwic291cmNlcyI6WyJsaWIvZGVwb3NpdGkvY29tbW9uLWNvbXBvbmVudC9yaWNlcmNhLXBmL3BmL3BmLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQW1CLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBT3pFLE1BQU0sT0FBTyxXQUFXO0lBY3ZCLFlBQW9CLEdBQW1CO1FBQW5CLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBUnZDLFNBQUksR0FFQSxJQUFJLFlBQVksRUFBK0MsQ0FBQztJQU16QixDQUFDO0lBRTVDLFFBQVE7UUFFUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ2xELEdBQUcs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TSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEIsTUFBTSxPQUFPLEdBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzs7WUF0RkQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixtekRBQWtDOzthQUVsQzs7O1lBUFEsY0FBYzs7O3dCQVVyQixLQUFLO21CQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJbmZvQW5hZ3JhZmljaGVQRkRUTyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pbmZvLWFuYWdyYWZpY2hlLXBmJztcclxuaW1wb3J0IHsgQ29tcG9uZW50T3V0cHV0U3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vbm9ybWFsaXp6YXppb25lL2NvbXBvbmVudC1vdXRwdXQtc3RhdHVzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1wZicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3BmLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9wZi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBmQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuXHRASW5wdXQoKVxyXG5cdHJlc2V0Rm9ybTogU3ViamVjdDxib29sZWFuPjtcclxuXHJcblx0QE91dHB1dCgpXHJcblx0ZG9uZTogRXZlbnRFbWl0dGVyPFxyXG5cdFx0Q29tcG9uZW50T3V0cHV0U3RhdHVzPEluZm9BbmFncmFmaWNoZVBGRFRPPlxyXG5cdD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbXBvbmVudE91dHB1dFN0YXR1czxJbmZvQW5hZ3JhZmljaGVQRkRUTz4+KCk7XHJcblxyXG5cdGZvcm06IEZvcm1Hcm91cDtcclxuXHJcblx0c3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgbXNnOiBNZXNzYWdlU2VydmljZSkgeyB9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuXHRcdHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG5cclxuXHRcdGlmICh0aGlzLnJlc2V0Rm9ybSkge1xyXG5cdFx0XHR0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMucmVzZXRGb3JtLnN1YnNjcmliZSh2YWwgPT5cclxuXHRcdFx0XHR2YWwgPyB0aGlzLnB1bGlzY2lGb3JtKCkgOiBcIlwiKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBjb2RpY2VGaXNjYWxlID0gbmV3IEZvcm1Db250cm9sKFxyXG5cdFx0XHR7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IGZhbHNlIH0sXHJcblx0XHRcdFtcclxuXHRcdFx0XHRWYWxpZGF0aW9uU2VydmljZS5wYXR0ZXJuKFxyXG5cdFx0XHRcdFx0VmFsaWRhdGlvblNlcnZpY2UuY29kaWNlRmlzY2FsZSxcclxuXHRcdFx0XHRcdFwiY2ZJbnZhbGlkb0Zvcm1hbG1lbnRlXCJcclxuXHRcdFx0XHQpLFxyXG5cdFx0XHRdXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuZm9ybS5hZGRDb250cm9sKFwiY29kaWNlRmlzY2FsZVwiLCBjb2RpY2VGaXNjYWxlKTtcclxuXHJcblx0XHRjb25zdCBub21lID0gbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6ICcnLCBkaXNhYmxlZDogZmFsc2UgfSxcclxuXHRcdFx0W1xyXG5cdFx0XHRcdFZhbGlkYXRpb25TZXJ2aWNlLnBhdHRlcm4oVmFsaWRhdGlvblNlcnZpY2UuZm9ybWF0b05hbWUsIFwiZm9ybWF0b05hbWVcIilcclxuXHRcdFx0XSk7XHJcblx0XHR0aGlzLmZvcm0uYWRkQ29udHJvbChcIm5vbWVcIiwgbm9tZSk7XHJcblxyXG5cdFx0Y29uc3QgY29nbm9tZSA9IG5ldyBGb3JtQ29udHJvbChcclxuXHRcdFx0eyB2YWx1ZTogJycsIGRpc2FibGVkOiBmYWxzZSB9LFxyXG5cdFx0XHRbXHJcblx0XHRcdFx0VmFsaWRhdGlvblNlcnZpY2UucGF0dGVybihWYWxpZGF0aW9uU2VydmljZS5mb3JtYXRvTmFtZSwgXCJmb3JtYXRvTmFtZVwiKVxyXG5cdFx0XHRdKTtcclxuXHRcdHRoaXMuZm9ybS5hZGRDb250cm9sKFwiY29nbm9tZVwiLCBjb2dub21lKTtcclxuXHJcblx0XHRjb25zdCBjaGFuZ2VzJCA9IHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShcclxuXHRcdFx0bWFwKChfKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgcGYgPSBuZXcgSW5mb0FuYWdyYWZpY2hlUEZEVE8oKTtcclxuXHRcdFx0XHRwZi5jb2RGaXNjYWxlID0gdGhpcy5mb3JtLmNvbnRyb2xzW1wiY29kaWNlRmlzY2FsZVwiXS52YWx1ZTtcclxuXHRcdFx0XHRwZi5ub21lID0gdGhpcy5mb3JtLmNvbnRyb2xzW1wibm9tZVwiXS52YWx1ZTtcclxuXHRcdFx0XHRwZi5jb2dub21lID0gdGhpcy5mb3JtLmNvbnRyb2xzW1wiY29nbm9tZVwiXS52YWx1ZTtcclxuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50T3V0cHV0U3RhdHVzLm9mKHRoaXMuZm9ybS52YWxpZCwgcGYpO1xyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHJcblx0XHR0aGlzLmZvcm0uc2V0VmFsaWRhdG9ycyhmb3JtID0+IHtcclxuXHRcdFx0cmV0dXJuICghZm9ybS5nZXQoJ2NvZGljZUZpc2NhbGUnKS52YWx1ZSAmJiBcclxuXHRcdFx0XHQoIWZvcm0uZ2V0KCdjb2dub21lJykudmFsdWUgJiYgIWZvcm0uZ2V0KCdub21lJykudmFsdWUpKSA/XHJcblx0XHRcdFx0eyByZXF1aXJlZFBGOiB0cnVlIH0gOiBudWxsO1xyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb24gPSBjaGFuZ2VzJC5zdWJzY3JpYmUoKF8pID0+IHRoaXMuZG9uZS5lbWl0KF8pKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcblx0XHRcdHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwdWxpc2NpRm9ybSgpIHtcclxuXHRcdGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLmZvcm0udmFsdWUpO1xyXG5cdFx0a2V5cy5mb3JFYWNoKGtleSA9PiB7XHJcblx0XHRcdGNvbnN0IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuZm9ybS5nZXQoa2V5KTtcclxuXHRcdFx0Y29udHJvbC5zZXRWYWx1ZShcIlwiKTtcclxuXHRcdH0pO1xyXG5cdH1cclxufSJdfQ==