@infordata-web/portal-common-component-lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.
69 lines • 12.3 kB
JavaScript
import { Component, EventEmitter, Input, Output, } from "@angular/core";
import { FormControl, FormGroup, Validators } from "@angular/forms";
import { map } from "rxjs/operators";
import { IndirizzoDTO } from "../../../models/indirizzo-dto";
import { ComponentOutputStatus } from "../../../normalizzazione/component-output-status";
import { MessageService } from "../../../services/message.service";
import { TerritorioService } from "../../../services/territorio/territorio-service";
import { LocalitaDTO } from "../../../models/localita-dto";
import { StradaDTO } from "../../../models/strada-dto";
export class IndirizzoEsteroComponent {
constructor(msg, territorioService) {
this.msg = msg;
this.territorioService = territorioService;
this.done = new EventEmitter();
this.nazioni = territorioService.getNazioni$();
}
ngOnDestroy() {
if (this.subscription) {
this.subscription.unsubscribe();
}
}
ngOnInit() {
this.form = new FormGroup({});
let valid = true;
if (!this.indirizzo) {
this.indirizzo = new IndirizzoDTO();
this.indirizzo.localita = new LocalitaDTO();
this.indirizzo.strada = new StradaDTO();
valid = false;
}
const indirizzo = new FormControl({ value: this.indirizzo.strada.inidirizzo, disabled: false }, [Validators.required, Validators.maxLength(50)]);
this.form.addControl("indirizzo", indirizzo);
// const zip = new FormControl(
// {value: this.indirizzo.localita.cap, disabled: false}, [Validators.required]
// );
// this.form.addControl('zip', zip);
const nazioni = new FormControl({ value: this.indirizzo.localita.comune, disabled: false }, [Validators.required]);
this.form.addControl("nazioni", nazioni);
const changes$ = this.form.valueChanges.pipe(map((_) => {
const localita = new LocalitaDTO();
// localita.cap = zip.value;
localita.provincia = "EE";
localita.comune = nazioni.value;
const strada = new StradaDTO();
strada.inidirizzo = indirizzo.value;
const indirizzoMapped = new IndirizzoDTO();
indirizzoMapped.localita = localita;
indirizzoMapped.strada = strada;
return ComponentOutputStatus.of(this.form.valid, indirizzoMapped);
}));
this.subscription = changes$.subscribe((_) => this.done.emit(_));
}
}
IndirizzoEsteroComponent.decorators = [
{ type: Component, args: [{
selector: "lib-indirizzo-estero",
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<mat-label>{{'required' | traduzione}}{{'nazione' | traduzione}}</mat-label>\r\n\t\t\t\t<mat-select placeholder=\"{{'seleziona' | traduzione}}\" formControlName=\"{{ 'nazioni' }}\">\r\n\t\t\t\t\t<mat-option *ngFor=\"let nazione of nazioni | async\" [value]=\"nazione.codiceCatastale\">\r\n\t\t\t\t\t\t{{ nazione.denominazione }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t\t<mat-error *ngIf=\"form.touched && form.controls['nazioni'].invalid\">\r\n\t\t\t\t\t{{ msg.produceMessage(\"obbligatorio\", form.controls[\"nazioni\"]) | 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</div>\r\n\t<div class=\"row my-2\">\r\n\t\t<div class=\"col-md-12\">\r\n\t\t\t<mat-form-field>\r\n\t\t\t\t<input matInput placeholder=\"{{'required' | traduzione}}{{'indirizzo' | traduzione}}\"\r\n\t\t\t\t\tformControlName=\"{{ 'indirizzo' }}\" />\r\n\t\t\t\t<mat-error *ngIf=\"form.touched && form.controls['indirizzo'].invalid\">\r\n\t\t\t\t\t{{ msg.produceMessage(\"obbligatorio\", form.controls[\"indirizzo\"]) | 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</div>\r\n</form>",
styles: [""]
},] }
];
IndirizzoEsteroComponent.ctorParameters = () => [
{ type: MessageService },
{ type: TerritorioService }
];
IndirizzoEsteroComponent.propDecorators = {
indirizzo: [{ type: Input }],
done: [{ type: Output }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaXJpenpvLWVzdGVyby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovUHJvZ2V0dGkvREFHL3NvcmdlbnRpL2dpdGxhYi10ZXJuaS9jb21tb24tY29tcG9uZW50LWxpYi9wcm9qZWN0cy9wb3J0YWwtY29tbW9uLWNvbXBvbmVudC1saWIvc3JjLyIsInNvdXJjZXMiOlsibGliL2RlcG9zaXRpL2NvbW1vbi1jb21wb25lbnQvaW5kaXJpenpvL2luZGlyaXp6by1lc3Rlcm8vaW5kaXJpenpvLWVzdGVyby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBUXZELE1BQU0sT0FBTyx3QkFBd0I7SUFnQnBDLFlBQ1MsR0FBbUIsRUFDbkIsaUJBQW9DO1FBRHBDLFFBQUcsR0FBSCxHQUFHLENBQWdCO1FBQ25CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFWN0MsU0FBSSxHQUFzRCxJQUFJLFlBQVksRUFFdkUsQ0FBQztRQVVILElBQUksQ0FBQyxPQUFP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bnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0T25EZXN0cm95LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEluZGlyaXp6b0RUTyB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvaW5kaXJpenpvLWR0b1wiO1xyXG5pbXBvcnQgeyBDb21wb25lbnRPdXRwdXRTdGF0dXMgfSBmcm9tIFwiLi4vLi4vLi4vbm9ybWFsaXp6YXppb25lL2NvbXBvbmVudC1vdXRwdXQtc3RhdHVzXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUZXJyaXRvcmlvU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90ZXJyaXRvcmlvL3RlcnJpdG9yaW8tc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl0YURUTyB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvbG9jYWxpdGEtZHRvXCI7XHJcbmltcG9ydCB7IFN0cmFkYURUTyB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvc3RyYWRhLWR0b1wiO1xyXG5pbXBvcnQgeyBOYXppb25lIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9wb3J0YWxlL25hemlvbmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiBcImxpYi1pbmRpcml6em8tZXN0ZXJvXCIsXHJcblx0dGVtcGxhdGVVcmw6IFwiLi9pbmRpcml6em8tZXN0ZXJvLmNvbXBvbmVudC5odG1sXCIsXHJcblx0c3R5bGVVcmxzOiBbXCIuL2luZGlyaXp6by1lc3Rlcm8uY29tcG9uZW50LmNzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEluZGlyaXp6b0VzdGVyb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcblx0QElucHV0KClcclxuXHRpbmRpcml6em86IEluZGlyaXp6b0RUTztcclxuXHJcblx0bmF6aW9uaTogT2JzZXJ2YWJsZTxBcnJheTxOYXppb25lPj47XHJcblxyXG5cdEBPdXRwdXQoKVxyXG5cdGRvbmU6IEV2ZW50RW1pdHRlcjxDb21wb25lbnRPdXRwdXRTdGF0dXM8SW5kaXJpenpvRFRPPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG5cdFx0Q29tcG9uZW50T3V0cHV0U3RhdHVzPEluZGlyaXp6b0RUTz5cclxuXHQ+KCk7XHJcblxyXG5cdGZvcm06IEZvcm1Hcm91cDtcclxuXHJcblx0c3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBtc2c6IE1lc3NhZ2VTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB0ZXJyaXRvcmlvU2VydmljZTogVGVycml0b3Jpb1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMubmF6aW9uaSA9IHRlcnJpdG9yaW9TZXJ2aWNlLmdldE5hemlvbmkkKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG5cdFx0XHR0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHRcdGxldCB2YWxpZCA9IHRydWU7XHJcblx0XHRpZiAoIXRoaXMuaW5kaXJpenpvKSB7XHJcblx0XHRcdHRoaXMuaW5kaXJpenpvID0gbmV3IEluZGlyaXp6b0RUTygpO1xyXG5cdFx0XHR0aGlzLmluZGlyaXp6by5sb2NhbGl0YSA9IG5ldyBMb2NhbGl0YURUTygpO1xyXG5cdFx0XHR0aGlzLmluZGlyaXp6by5zdHJhZGEgPSBuZXcgU3RyYWRhRFRPKCk7XHJcblx0XHRcdHZhbGlkID0gZmFsc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgaW5kaXJpenpvID0gbmV3IEZvcm1Db250cm9sKFxyXG5cdFx0XHR7IHZhbHVlOiB0aGlzLmluZGlyaXp6by5zdHJhZGEuaW5pZGlyaXp6bywgZGlzYWJsZWQ6IGZhbHNlIH0sXHJcblx0XHRcdFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCg1MCldXHJcblx0XHQpO1xyXG5cdFx0dGhpcy5mb3JtLmFkZENvbnRyb2woXCJpbmRpcml6em9cIiwgaW5kaXJpenpvKTtcclxuXHJcblx0XHQvLyBjb25zdCB6aXAgPSBuZXcgRm9ybUNvbnRyb2woXHJcblx0XHQvLyAgIHt2YWx1ZTogdGhpcy5pbmRpcml6em8ubG9jYWxpdGEuY2FwLCBkaXNhYmxlZDogZmFsc2V9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cclxuXHRcdC8vICk7XHJcblx0XHQvLyB0aGlzLmZvcm0uYWRkQ29udHJvbCgnemlwJywgemlwKTtcclxuXHJcblx0XHRjb25zdCBuYXppb25pID0gbmV3IEZvcm1Db250cm9sKFxyXG5cdFx0XHR7IHZhbHVlOiB0aGlzLmluZGlyaXp6by5sb2NhbGl0YS5jb211bmUsIGRpc2FibGVkOiBmYWxzZSB9LFxyXG5cdFx0XHRbVmFsaWRhdG9ycy5yZXF1aXJlZF1cclxuXHRcdCk7XHJcblx0XHR0aGlzLmZvcm0uYWRkQ29udHJvbChcIm5hemlvbmlcIiwgbmF6aW9uaSk7XHJcblxyXG5cdFx0Y29uc3QgY2hhbmdlcyQgPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXHJcblx0XHRcdG1hcCgoXykgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGxvY2FsaXRhID0gbmV3IExvY2FsaXRhRFRPKCk7XHJcblx0XHRcdFx0Ly8gbG9jYWxpdGEuY2FwID0gemlwLnZhbHVlO1xyXG5cdFx0XHRcdGxvY2FsaXRhLnByb3ZpbmNpYSA9IFwiRUVcIjtcclxuXHRcdFx0XHRsb2NhbGl0YS5jb211bmUgPSBuYXppb25pLnZhbHVlO1xyXG5cclxuXHRcdFx0XHRjb25zdCBzdHJhZGEgPSBuZXcgU3RyYWRhRFRPKCk7XHJcblx0XHRcdFx0c3RyYWRhLmluaWRpcml6em8gPSBpbmRpcml6em8udmFsdWU7XHJcblxyXG5cdFx0XHRcdGNvbnN0IGluZGlyaXp6b01hcHBlZCA9IG5ldyBJbmRpcml6em9EVE8oKTtcclxuXHRcdFx0XHRpbmRpcml6em9NYXBwZWQubG9jYWxpdGEgPSBsb2NhbGl0YTtcclxuXHRcdFx0XHRpbmRpcml6em9NYXBwZWQuc3RyYWRhID0gc3RyYWRhO1xyXG5cclxuXHRcdFx0XHRyZXR1cm4gQ29tcG9uZW50T3V0cHV0U3RhdHVzLm9mKHRoaXMuZm9ybS52YWxpZCwgaW5kaXJpenpvTWFwcGVkKTtcclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblxyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb24gPSBjaGFuZ2VzJC5zdWJzY3JpYmUoKF8pID0+IHRoaXMuZG9uZS5lbWl0KF8pKTtcclxuXHR9XHJcbn1cclxuIl19