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