UNPKG

@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
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