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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaXJpenpvLWVzdGVyby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovUHJvZ2V0dGkvREFHL3NvcmdlbnRpL2dpdGxhYi1zb2Z0d2FyZWZhY3RvcnkvY29tbW9uLWNvbXBvbmVudC1saWIvcHJvamVjdHMvcG9ydGFsLWNvbW1vbi1jb21wb25lbnQtbGliL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXBvc2l0aS9jb21tb24tY29tcG9uZW50L2luZGlyaXp6by9pbmRpcml6em8tZXN0ZXJvL2luZGlyaXp6by1lc3Rlcm8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQVF2RCxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JwQyxZQUNTLEdBQW1CLEVBQ25CLGlCQUFvQztRQURwQyxRQUFHLEdBQUgsR0FBRyxDQUFnQjtRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVjdDLFNBQUksR0FBc0QsSUFBSSxZQUFZLEVBRXZFLENBQUM7UUFVSCxJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEM7SUFDRixDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDeEMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQ2hDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQzVELENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQy9DLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFN0MsK0JBQStCO1FBQy9CLGlGQUFpRjtRQUNqRixLQUFLO1FBQ0wsb0NBQW9DO1FBRXBDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUM5QixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUMxRCxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDckIsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNuQyw0QkFBNEI7WUFDNUIsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDMUIsUUFBUSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBRWhDLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBRXBDLE1BQU0sZUFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDM0MsZUFBZSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDcEMsZUFBZSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFFaEMsT0FBTyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDOzs7WUFoRkQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLHd3Q0FBZ0Q7O2FBRWhEOzs7WUFWUSxjQUFjO1lBQ2QsaUJBQWlCOzs7d0JBWXhCLEtBQUs7bUJBS0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdE9uRGVzdHJveSxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBJbmRpcml6em9EVE8gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2luZGlyaXp6by1kdG9cIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50T3V0cHV0U3RhdHVzIH0gZnJvbSBcIi4uLy4uLy4uL25vcm1hbGl6emF6aW9uZS9jb21wb25lbnQtb3V0cHV0LXN0YXR1c1wiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGVycml0b3Jpb1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdGVycml0b3Jpby90ZXJyaXRvcmlvLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9jYWxpdGFEVE8gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2xvY2FsaXRhLWR0b1wiO1xyXG5pbXBvcnQgeyBTdHJhZGFEVE8gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3N0cmFkYS1kdG9cIjtcclxuaW1wb3J0IHsgTmF6aW9uZSB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvcG9ydGFsZS9uYXppb25lXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogXCJsaWItaW5kaXJpenpvLWVzdGVyb1wiLFxyXG5cdHRlbXBsYXRlVXJsOiBcIi4vaW5kaXJpenpvLWVzdGVyby5jb21wb25lbnQuaHRtbFwiLFxyXG5cdHN0eWxlVXJsczogW1wiLi9pbmRpcml6em8tZXN0ZXJvLmNvbXBvbmVudC5jc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmRpcml6em9Fc3Rlcm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0aW5kaXJpenpvOiBJbmRpcml6em9EVE87XHJcblxyXG5cdG5hemlvbmk6IE9ic2VydmFibGU8QXJyYXk8TmF6aW9uZT4+O1xyXG5cclxuXHRAT3V0cHV0KClcclxuXHRkb25lOiBFdmVudEVtaXR0ZXI8Q29tcG9uZW50T3V0cHV0U3RhdHVzPEluZGlyaXp6b0RUTz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuXHRcdENvbXBvbmVudE91dHB1dFN0YXR1czxJbmRpcml6em9EVE8+XHJcblx0PigpO1xyXG5cclxuXHRmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG5cdHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbXNnOiBNZXNzYWdlU2VydmljZSxcclxuXHRcdHByaXZhdGUgdGVycml0b3Jpb1NlcnZpY2U6IFRlcnJpdG9yaW9TZXJ2aWNlXHJcblx0KSB7XHJcblx0XHR0aGlzLm5hemlvbmkgPSB0ZXJyaXRvcmlvU2VydmljZS5nZXROYXppb25pJCgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuXHRcdFx0dGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblx0XHRsZXQgdmFsaWQgPSB0cnVlO1xyXG5cdFx0aWYgKCF0aGlzLmluZGlyaXp6bykge1xyXG5cdFx0XHR0aGlzLmluZGlyaXp6byA9IG5ldyBJbmRpcml6em9EVE8oKTtcclxuXHRcdFx0dGhpcy5pbmRpcml6em8ubG9jYWxpdGEgPSBuZXcgTG9jYWxpdGFEVE8oKTtcclxuXHRcdFx0dGhpcy5pbmRpcml6em8uc3RyYWRhID0gbmV3IFN0cmFkYURUTygpO1xyXG5cdFx0XHR2YWxpZCA9IGZhbHNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGluZGlyaXp6byA9IG5ldyBGb3JtQ29udHJvbChcclxuXHRcdFx0eyB2YWx1ZTogdGhpcy5pbmRpcml6em8uc3RyYWRhLmluaWRpcml6em8sIGRpc2FibGVkOiBmYWxzZSB9LFxyXG5cdFx0XHRbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApXVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuZm9ybS5hZGRDb250cm9sKFwiaW5kaXJpenpvXCIsIGluZGlyaXp6byk7XHJcblxyXG5cdFx0Ly8gY29uc3QgemlwID0gbmV3IEZvcm1Db250cm9sKFxyXG5cdFx0Ly8gICB7dmFsdWU6IHRoaXMuaW5kaXJpenpvLmxvY2FsaXRhLmNhcCwgZGlzYWJsZWQ6IGZhbHNlfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXHJcblx0XHQvLyApO1xyXG5cdFx0Ly8gdGhpcy5mb3JtLmFkZENvbnRyb2woJ3ppcCcsIHppcCk7XHJcblxyXG5cdFx0Y29uc3QgbmF6aW9uaSA9IG5ldyBGb3JtQ29udHJvbChcclxuXHRcdFx0eyB2YWx1ZTogdGhpcy5pbmRpcml6em8ubG9jYWxpdGEuY29tdW5lLCBkaXNhYmxlZDogZmFsc2UgfSxcclxuXHRcdFx0W1ZhbGlkYXRvcnMucmVxdWlyZWRdXHJcblx0XHQpO1xyXG5cdFx0dGhpcy5mb3JtLmFkZENvbnRyb2woXCJuYXppb25pXCIsIG5hemlvbmkpO1xyXG5cclxuXHRcdGNvbnN0IGNoYW5nZXMkID0gdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG5cdFx0XHRtYXAoKF8pID0+IHtcclxuXHRcdFx0XHRjb25zdCBsb2NhbGl0YSA9IG5ldyBMb2NhbGl0YURUTygpO1xyXG5cdFx0XHRcdC8vIGxvY2FsaXRhLmNhcCA9IHppcC52YWx1ZTtcclxuXHRcdFx0XHRsb2NhbGl0YS5wcm92aW5jaWEgPSBcIkVFXCI7XHJcblx0XHRcdFx0bG9jYWxpdGEuY29tdW5lID0gbmF6aW9uaS52YWx1ZTtcclxuXHJcblx0XHRcdFx0Y29uc3Qgc3RyYWRhID0gbmV3IFN0cmFkYURUTygpO1xyXG5cdFx0XHRcdHN0cmFkYS5pbmlkaXJpenpvID0gaW5kaXJpenpvLnZhbHVlO1xyXG5cclxuXHRcdFx0XHRjb25zdCBpbmRpcml6em9NYXBwZWQgPSBuZXcgSW5kaXJpenpvRFRPKCk7XHJcblx0XHRcdFx0aW5kaXJpenpvTWFwcGVkLmxvY2FsaXRhID0gbG9jYWxpdGE7XHJcblx0XHRcdFx0aW5kaXJpenpvTWFwcGVkLnN0cmFkYSA9IHN0cmFkYTtcclxuXHJcblx0XHRcdFx0cmV0dXJuIENvbXBvbmVudE91dHB1dFN0YXR1cy5vZih0aGlzLmZvcm0udmFsaWQsIGluZGlyaXp6b01hcHBlZCk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9uID0gY2hhbmdlcyQuc3Vic2NyaWJlKChfKSA9PiB0aGlzLmRvbmUuZW1pdChfKSk7XHJcblx0fVxyXG59XHJcbiJdfQ==