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.

89 lines 14 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { FormControl, FormGroup } from '@angular/forms'; import { BehaviorSubject } from 'rxjs'; import { tap } from 'rxjs/operators'; import { StradaDTO } from '../../models/strada-dto'; import { ComponentOutputStatus } from '../../normalizzazione/component-output-status'; import { MessageService } from '../../services/message.service'; import { TerritorioService } from '../../services/territorio/territorio-service'; export class StradaComponent { constructor(msg, territorio) { this.msg = msg; this.territorio = territorio; this.done = new EventEmitter(); } ngOnInit() { this.form = new FormGroup({}); if (!this.strada) { this.initStrada(); } const stradaIndirizzo = new FormControl({ value: this.strada.inidirizzo, disabled: this.viewOnly }, c => { if (this.viewOnly) return {}; return String(c.value).trim().length > 0 ? {} : { required: true }; }); this.form.addControl('stradaIndirizzo', stradaIndirizzo); const stradaCivico = new FormControl({ value: this.strada.civico, disabled: this.viewOnly }, c => { if (this.viewOnly) return {}; return String(c.value).trim().length > 0 ? {} : { required: true }; }); this.form.addControl('stradaCivico', stradaCivico); const stradaOut = new StradaDTO; stradaOut.inidirizzo = stradaIndirizzo.value; stradaOut.civico = stradaCivico.value; this.changes$ = new BehaviorSubject(ComponentOutputStatus.of(false, stradaOut)); this.subScriptionChange = this.form.valueChanges.pipe(tap(valueChange => { const stradaOut = new StradaDTO(); stradaOut.inidirizzo = valueChange.stradaIndirizzo; stradaOut.civico = valueChange.stradaCivico; return this.changes$.next(ComponentOutputStatus.of( /* this.form.valid && */ stradaOut.inidirizzo != null // && stradaOut.tipoToponimo != null && stradaOut.civico != null, stradaOut)); })).subscribe(); this.subscription = this.changes$.subscribe(x => { this.done.emit(x); console.log("changes$", x); }); this.changes$.next(ComponentOutputStatus.of( /* this.form.valid && */ stradaOut.inidirizzo != null // && stradaOut.tipoToponimo != null && stradaOut.civico != null, stradaOut)); } initStrada() { this.strada = new StradaDTO(); } ngOnDestroy() { this.subscription.unsubscribe(); this.subScriptionChange.unsubscribe(); } ngAfterContentInit() { if (this.strada.inidirizzo != null && this.strada.tipoToponimo != null && this.strada.civico != null) { this.form.updateValueAndValidity({ emitEvent: true }); } } } StradaComponent.decorators = [ { type: Component, args: [{ selector: 'lib-strada', template: "<form [formGroup]=\"form\">\r\n\t<div class=\"row my-2\">\r\n\t\t<div class=\"col-md-8\">\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=\"stradaIndirizzo\">\r\n\t\t\t\t<mat-error *ngIf=\"form.touched && form.controls['stradaIndirizzo'].invalid\">\r\n\t\t\t\t\t{{msg.produceMessage('obbligatorio', form.controls[ 'stradaIndirizzo']) | 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\t\t\t<mat-form-field>\r\n\t\t\t\t<input matInput placeholder=\"{{'required' | traduzione}}{{'civico' | traduzione}}\"\r\n\t\t\t\t\tformControlName=\"stradaCivico\">\r\n\t\t\t\t<mat-error *ngIf=\"form.touched && form.controls['stradaCivico'].invalid\">\r\n\t\t\t\t\t{{msg.produceMessage('obbligatorio', form.controls['stradaCivico']) | 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: [""] },] } ]; StradaComponent.ctorParameters = () => [ { type: MessageService }, { type: TerritorioService } ]; StradaComponent.propDecorators = { viewOnly: [{ type: Input }], strada: [{ type: Input }], done: [{ type: Output }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYWRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9nZXR0aS9EQUcvc29yZ2VudGkvZ2l0bGFiLXNvZnR3YXJlZmFjdG9yeS9jb21tb24tY29tcG9uZW50LWxpYi9wcm9qZWN0cy9wb3J0YWwtY29tbW9uLWNvbXBvbmVudC1saWIvc3JjLyIsInNvdXJjZXMiOlsibGliL2RlcG9zaXRpL2NvbW1vbi1jb21wb25lbnQvc3RyYWRhL3N0cmFkYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFPLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPakYsTUFBTSxPQUFPLGVBQWU7SUFrQjNCLFlBQ1MsR0FBbUIsRUFDbkIsVUFBNkI7UUFEN0IsUUFBRyxHQUFILEdBQUcsQ0FBZ0I7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFUdEMsU0FBSSxHQUFtRCxJQUFJLFlBQVksRUFBb0MsQ0FBQztJQVNsRSxDQUFDO0lBRTNDLFFBQVE7UUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxF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WUFDNUIsd0NBQXdDO2VBQ3JDLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUNELFVBQVU7UUFDVCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDckcsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3REO0lBQ0YsQ0FBQzs7O1lBM0ZELFNBQVMsU0FBQztnQkFDVixRQUFRLEVBQUUsWUFBWTtnQkFDdEIsMitCQUFzQzs7YUFFdEM7OztZQVBRLGNBQWM7WUFDZCxpQkFBaUI7Ozt1QkFXeEIsS0FBSztxQkFFTCxLQUFLO21CQUlMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN0cmFkYURUTyB9IGZyb20gJy4uLy4uL21vZGVscy9zdHJhZGEtZHRvJztcclxuaW1wb3J0IHsgQ29tcG9uZW50T3V0cHV0U3RhdHVzIH0gZnJvbSAnLi4vLi4vbm9ybWFsaXp6YXppb25lL2NvbXBvbmVudC1vdXRwdXQtc3RhdHVzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZXJyaXRvcmlvU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlcnJpdG9yaW8vdGVycml0b3Jpby1zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLXN0cmFkYScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3N0cmFkYS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vc3RyYWRhLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RyYWRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuXHRmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG5cdEBJbnB1dCgpXHJcblx0dmlld09ubHk6IGJvb2xlYW47XHJcblx0QElucHV0KClcclxuXHRzdHJhZGE6IFN0cmFkYURUTztcclxuXHRkdWdzJDogT2JzZXJ2YWJsZTxBcnJheTxzdHJpbmc+PjtcclxuXHJcblx0QE91dHB1dCgpXHJcblx0ZG9uZTogRXZlbnRFbWl0dGVyPENvbXBvbmVudE91dHB1dFN0YXR1czxTdHJhZGFEVE8+PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcG9uZW50T3V0cHV0U3RhdHVzPFN0cmFkYURUTz4+KCk7XHJcblxyXG5cdGNoYW5nZXMkOiBCZWhhdmlvclN1YmplY3Q8Q29tcG9uZW50T3V0cHV0U3RhdHVzPFN0cmFkYURUTz4+XHJcblxyXG5cdHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cdHN1YlNjcmlwdGlvbkNoYW5nZTogU3Vic2NyaXB0aW9uO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgbXNnOiBNZXNzYWdlU2VydmljZSxcclxuXHRcdHByaXZhdGUgdGVycml0b3JpbzogVGVycml0b3Jpb1NlcnZpY2UpIHsgfVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pXHJcblx0XHRpZiAoIXRoaXMuc3RyYWRhKSB7XHJcblx0XHRcdHRoaXMuaW5pdFN0cmFkYSgpO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3Qgc3RyYWRhSW5kaXJpenpvID0gbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRoaXMuc3RyYWRhLmluaWRpcml6em8sIGRpc2FibGVkOiB0aGlzLnZpZXdPbmx5IH0sIGMgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy52aWV3T25seSkgcmV0dXJuIHt9O1xyXG5cdFx0XHRyZXR1cm4gU3RyaW5nKGMudmFsdWUpLnRyaW0oKS5sZW5ndGggPiAwXHJcblx0XHRcdFx0PyB7fVxyXG5cdFx0XHRcdDogeyByZXF1aXJlZDogdHJ1ZSB9O1xyXG5cdFx0fSk7XHJcblx0XHR0aGlzLmZvcm0uYWRkQ29udHJvbCgnc3RyYWRhSW5kaXJpenpvJywgc3RyYWRhSW5kaXJpenpvKTtcclxuXHRcdGNvbnN0IHN0cmFkYUNpdmljbyA9IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiB0aGlzLnN0cmFkYS5jaXZpY28sIGRpc2FibGVkOiB0aGlzLnZpZXdPbmx5IH0sIGMgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy52aWV3T25seSkgcmV0dXJuIHt9O1xyXG5cdFx0XHRyZXR1cm4gU3RyaW5nKGMudmFsdWUpLnRyaW0oKS5sZW5ndGggPiAwXHJcblx0XHRcdFx0PyB7fVxyXG5cdFx0XHRcdDogeyByZXF1aXJlZDogdHJ1ZSB9O1xyXG5cdFx0fSk7XHJcblx0XHR0aGlzLmZvcm0uYWRkQ29udHJvbCgnc3RyYWRhQ2l2aWNvJywgc3RyYWRhQ2l2aWNvKTtcclxuXHJcblx0XHRjb25zdCBzdHJhZGFPdXQgPSBuZXcgU3RyYWRhRFRPO1xyXG5cdFx0c3RyYWRhT3V0LmluaWRpcml6em8gPSBzdHJhZGFJbmRpcml6em8udmFsdWU7XHJcblx0XHRzdHJhZGFPdXQuY2l2aWNvID0gc3RyYWRhQ2l2aWNvLnZhbHVlO1xyXG5cdFx0dGhpcy5jaGFuZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29tcG9uZW50T3V0cHV0U3RhdHVzPFN0cmFkYURUTz4+KENvbXBvbmVudE91dHB1dFN0YXR1cy5vZihmYWxzZSwgc3RyYWRhT3V0KSk7XHJcblxyXG5cdFx0dGhpcy5zdWJTY3JpcHRpb25DaGFuZ2UgPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXHJcblx0XHRcdHRhcCh2YWx1ZUNoYW5nZSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qgc3RyYWRhT3V0ID0gbmV3IFN0cmFkYURUTygpO1xyXG5cdFx0XHRcdHN0cmFkYU91dC5pbmlkaXJpenpvID0gdmFsdWVDaGFuZ2Uuc3RyYWRhSW5kaXJpenpvO1xyXG5cdFx0XHRcdHN0cmFkYU91dC5jaXZpY28gPSB2YWx1ZUNoYW5nZS5zdHJhZGFDaXZpY287XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuY2hhbmdlcyQubmV4dChDb21wb25lbnRPdXRwdXRTdGF0dXMub2YoXHJcblx0XHRcdFx0XHQvKiBcdHRoaXMuZm9ybS52YWxpZCAgJiYgKi9cclxuXHRcdFx0XHRcdHN0cmFkYU91dC5pbmlkaXJpenpvICE9IG51bGxcclxuXHRcdFx0XHRcdC8vICAgICYmICBzdHJhZGFPdXQudGlwb1RvcG9uaW1vICE9IG51bGxcclxuXHRcdFx0XHRcdCYmIHN0cmFkYU91dC5jaXZpY28gIT0gbnVsbCwgc3RyYWRhT3V0KVxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH0pXHJcblx0XHQpLnN1YnNjcmliZSgpO1xyXG5cclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VzJC5zdWJzY3JpYmUoeCA9PiB7XHJcblx0XHRcdHRoaXMuZG9uZS5lbWl0KHgpXHJcblx0XHRcdGNvbnNvbGUubG9nKFwiY2hhbmdlcyRcIiwgeCk7XHJcblx0XHR9KTtcclxuXHRcdFxyXG5cdFx0dGhpcy5jaGFuZ2VzJC5uZXh0KENvbXBvbmVudE91dHB1dFN0YXR1cy5vZihcclxuXHRcdFx0LyogXHR0aGlzLmZvcm0udmFsaWQgICYmICovXHJcblx0XHRcdHN0cmFkYU91dC5pbmlkaXJpenpvICE9IG51bGxcclxuXHRcdFx0Ly8gICAgJiYgIHN0cmFkYU91dC50aXBvVG9wb25pbW8gIT0gbnVsbFxyXG5cdFx0XHQmJiBzdHJhZGFPdXQuY2l2aWNvICE9IG51bGwsIHN0cmFkYU91dClcclxuXHRcdCk7XHJcblx0fVxyXG5cdGluaXRTdHJhZGEoKSB7XHJcblx0XHR0aGlzLnN0cmFkYSA9IG5ldyBTdHJhZGFEVE8oKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHRcdHRoaXMuc3ViU2NyaXB0aW9uQ2hhbmdlLnVuc3Vic2NyaWJlKCk7XHJcblx0fVxyXG5cclxuXHRuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5zdHJhZGEuaW5pZGlyaXp6byAhPSBudWxsICYmIHRoaXMuc3RyYWRhLnRpcG9Ub3BvbmltbyAhPSBudWxsICYmIHRoaXMuc3RyYWRhLmNpdmljbyAhPSBudWxsKSB7XHJcblx0XHRcdHRoaXMuZm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxufSJdfQ==