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.

569 lines 102 kB
import { SelectionModel } from '@angular/cdk/collections'; import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import * as moment from 'moment'; import { Subject } from 'rxjs'; import { map, pluck, shareReplay, tap } from 'rxjs/operators'; import { CodiceTipiRichiedente } from '../../constants/tipi-richiedente'; import { InfoAnagrafichePFDTO } from '../../models/info-anagrafiche-pf'; import { InfoNascitaPFDTO } from '../../models/info-nascita-pf.dto'; import { NaturaRichiedenteDTO } from '../../models/natura-richiedente.dto'; import { nuovaPFBase, PersonaFisicaBaseDTO } from '../../models/persona-fisica-base-dto'; import { PersonaFisicaDTO } from '../../models/persona-fisica-dto'; import { nuovaPGBase, PersonaGiuridicaBaseDTO } from '../../models/persona-giuridica-base-dto'; import { PersonaGiuridicaDTO } from '../../models/persona-giuridica-dto'; import { RappresentanteDTO } from '../../models/rappresentante-dto'; import { ComponentOutputStatus } from '../../normalizzazione/component-output-status'; import { DelegheService } from '../../services/deleghe-services/deleghe.service'; import { MessageService } from '../../services/message.service'; import { UtenteService } from '../../services/utente/utente.service'; import { ComponentReducer } from '../../utils/component-reducer'; import { coalesce } from '../../utils/fnutils'; import { Modals } from '../../utils/modals'; function log(text, value) { console.log(text, value); } export class DelegheComponent { constructor(delegheService, modals, msg, utenteService, ref) { this.delegheService = delegheService; this.modals = modals; this.msg = msg; this.utenteService = utenteService; this.ref = ref; this.nextStep = new EventEmitter(); this.previousStep = new EventEmitter(); this.salvaBozza = new EventEmitter(); this.isGeneralContractor = new EventEmitter(); this.displayedColumns = ['tipo', 'indirizzo', 'seleziona']; this.CODICE_LEGALE = "LEGALE"; this.direction = "both-ways"; this.isFinal = false; this.defaultDeleghe = false; this.showComponentPF = false; this.showComponentPG = false; this.isSearching = false; this.formControlGeneralContractor = false; this.flagDelegaSeStesso = false; this.changesPersonaFisica$ = new Subject(); this.changesPersonaGiuridica$ = new Subject(); this.validazioneeSede = false; this.couldBeDittaIndividuale = true; } ngOnInit() { var _a; this.utente = this.utenteService.getUtente(); console.log('[DelegheComponent] - Utente', this.utente); this.tipologiaDeposito$ .subscribe(deposito => { console.log('[tipologiaDeposito$]', deposito); //TODO if (deposito.codice == "CDE") { this.formControlGeneralContractor = true; } this.codiceTipoDeposito = deposito.codice; }); //TODO const richiedenteSubscription = this.tipologieRichiedenti$ // .pipe( // pluck("residenza")) .subscribe(richiedente => { console.log('[NaturaRichiedenteDTO]', richiedente); if (this.rappresentanza) { let selectedItem = richiedente.find(r => r.codice == this.rappresentanza.codiceDelega); if (selectedItem) { this.couldBeDittaIndividuale = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.dittaIndividuale; } } }, _ => { // this.modals.failure([ // "recupero.natura.failure" // ], []); }); this.form = new FormGroup({}); let valid = true; if (!this.rappresentanza) { this.initRappresentante(); valid = false; } else { this.idSedeSelezionata = this.rappresentanza.idSedeSelezionata; if (this.rappresentanza.nuovaPersona) { this.isNew = true; this.delega = 'nuovo'; if (this.rappresentanza.tipoRappresentante == "PF") { this.listaDelegheDefault = [nuovaPFBase()]; this.showComponentPF = true; log("showComponentPF", this.showComponentPF); } else { this.listaDelegheDefault = [nuovaPGBase()]; this.showComponentPG = true; } this.defaultDeleghe = true; this.listaDeleghe = []; const richiedenteSubscription = this.tipologieRichiedenti$.pipe(map(r => r.filter(t => t.codice == this.rappresentanza.codiceDelega))).subscribe(richiedente => { const filterByTipoRichiedente = (tipiRichiedente) => tipiRichiedente.filter(tr => tr.codTipoDelega == richiedente[0].codice); if (this.isPersonaFisica(richiedente[0].tipoPersona)) { this.deleghe$.pipe(pluck("personeFisiche"), map(filterByTipoRichiedente)). subscribe((res) => { if (res.length > 0) { this.listaDeleghe = [...res, ...this.listaDeleghe]; } // console.log('[ListaDeleghe - personeFisiche ]', this.listaDeleghe); }); } if (this.isPersonaGiuridica(richiedente[0].tipoPersona)) { this.deleghe$.pipe(pluck("personeGiuridiche"), map(filterByTipoRichiedente)). subscribe((res) => { if (res.length > 0) { if (this.listaDeleghe.length > 0) { this.listaDeleghe = [...res, ...this.listaDeleghe]; } else { this.listaDeleghe = [...res]; } } }); } if (richiedente[0].tipoPersona.length > 1) { if (this.rappresentanza.tipoRappresentante == "PF") { this.listaDeleghe = [...this.listaDeleghe, nuovaPFBase(), nuovaPGBase()]; } else { this.listaDeleghe = [...this.listaDeleghe, nuovaPGBase(), nuovaPFBase()]; } } else { if (richiedente[0].tipoPersona.find(element => element == "PF")) { this.listaDeleghe = [...this.listaDeleghe, nuovaPFBase()]; } else { this.listaDeleghe = [...this.listaDeleghe, nuovaPGBase()]; } } this.listaDelegheDefault = [this.listaDeleghe.find(el => el.idPersona == "nuovo")]; this.deleghe.setValue(this.listaDelegheDefault[0]); richiedenteSubscription.unsubscribe(); }, _ => { }); } } this.nsDanteCausa = "nsRapprDc"; this.nsTutore = "nsRapprTut"; this.nsLegale = "nsRapprLeg"; this.namespaceInfoPf = this.nsTutore + "PFinfoPF"; this.nspg = this.nsLegale + "pg"; if ((_a = this === null || this === void 0 ? void 0 : this.rappresentanza) === null || _a === void 0 ? void 0 : _a.codiceDelega) { const initalTipoRichiedente = this.fromIdAndTipo(this.rappresentanza.codiceDelega, this.rappresentanza.tipoRappresentante); this.tipoRichiedente = new FormControl({ value: initalTipoRichiedente, disabled: false }, [Validators.required]); } else { this.tipoRichiedente = new FormControl({ value: null, disabled: false }, [Validators.required]); } this.form.addControl("tipoRichiedente", this.tipoRichiedente); this.deleghe = new FormControl({ value: '', disabled: false }, // { value: this.defaultDeleghe ? this.listaDelegheDefault[0] : '', disabled: false }, [Validators.required]); this.form.addControl("deleghe", this.deleghe); this.generalContractor = new FormControl({ value: this.generalContractorValue, disabled: false }); this.form.addControl('generalContractor', this.generalContractor); this.selection = new SelectionModel(false, []); const selected = new FormControl({ value: '', disabled: false }); this.form.addControl('selected', selected); if (this.tipoRichiedente.value != undefined && !this.rappresentanza.nuovaPersona && this.tipoRichiedente.value != CodiceTipiRichiedente.CODICE_ME_MEDESIMO) { const richiedenteSubscription = this.tipologieRichiedenti$.pipe(map(r => r.filter(t => t.codice == this.rappresentanza.codiceDelega)), tap((tipo) => { console.log('initDeleghe:', tipo[0]); this.initDeleghe(tipo[0]); })).subscribe(richiedente => { if (this.isPersonaFisica(richiedente[0].tipoPersona)) { this.personaFisicaBase = this.initPersonaFisica(this.rappresentanza.idPersona); } if (this.isPersonaGiuridica(richiedente[0].tipoPersona)) { this.personaGiuridicaBase = this.initPersonaGiuridica(this.rappresentanza.idPersona); } richiedenteSubscription.unsubscribe(); }, _ => { }); } this.tipoRichiedente$ = this.tipoRichiedente.valueChanges.pipe(tap(_ => { this.deleghe.setValue(null); this.resetValidation(); this.flagDelegaSeStesso = false; this.ref.detectChanges(); }), tap((tipo) => { var _a; if (tipo.codice != CodiceTipiRichiedente.CODICE_ME_MEDESIMO) { this.initDeleghe(tipo); this.rappresentanza.idSedeSelezionata = null; } else { this.resetDeleghe(); this.rappresentanza.idPersona = (_a = this.utente) === null || _a === void 0 ? void 0 : _a.idPersonaFisica; this.rappresentanza.tipoRappresentante = "PF"; } }), shareReplay()); const changesDelega$ = this.deleghe.valueChanges.pipe(map(delega => { return ComponentOutputStatus.of(true, rappresentanza => { if (delega != undefined && delega != null) { this.delega = delega.idPersona; if (!this.defaultDeleghe) { this.setDelega(delega); } else { this.defaultDeleghe = false; } this.flagDelegaSeStesso = false; this.ref.detectChanges(); rappresentanza.idPersona = delega.idPersona != 'nuovo' ? delega.idPersona : null; } }); })); const tipoRichiedenteChanges$ = this.tipoRichiedente$.pipe(map((tipoRichiedente) => { return ComponentOutputStatus.of(this.tipoRichiedente.valid, (rap) => { // rap.tipoRappresentante = tipoRichiedente.descrizione; rap.codiceDelega = tipoRichiedente.codice; }); })); const rappresentante$ = ComponentReducer.reducer4(tipoRichiedenteChanges$, changesDelega$, this.changesPersonaFisica$, this.changesPersonaGiuridica$, (richiedente) => { let isValid; if (coalesce(richiedente, '')('codiceDelega').valueOf() != CodiceTipiRichiedente.CODICE_ME_MEDESIMO) { if (this.delega == 'nuovo') { isValid = (this.rappresentanza.personaFisica != null || this.rappresentanza.personaGiuridica != null) && this.deleghe.value && !this.flagDelegaSeStesso; } else { // isValid = this.rappresentanza.idPersona != null && this.deleghe.value; isValid = richiedente.idPersona != null && this.deleghe.value && !this.flagDelegaSeStesso; } } else { isValid = true; } this.ref.detectChanges(); return isValid; }, ComponentOutputStatus.of(valid, this.rappresentanza)); rappresentante$.subscribe((delegante) => { console.log("[DelegheComponent] rappresentanza", delegante); this.isFormValid = delegante.status; }); } resetValidation() { this.changesPersonaFisica$.next(ComponentOutputStatus.of(true, (personaFisica) => (rap) => { })); this.changesPersonaGiuridica$.next(ComponentOutputStatus.of(true, (personaGiuridica) => (rap) => { })); } forward(_) { this.nextStep.emit(this.rappresentanza); } onSalvaBozza($event) { this.salvaBozza.emit(this.rappresentanza); } backward($event) { this.previousStep.emit(this.rappresentanza); } complete($event) { } initRappresentante() { this.rappresentanza = new RappresentanteDTO(); } ngOnDestroy() { if (this.tipoRichiedenteSub) { this.tipoRichiedenteSub.unsubscribe(); } if (this.$selected) { this.$selected.unsubscribe(); } } setDelega(persona) { this.delega = persona.idPersona; this.resetDeleghe(); this.showComponentPF = false; this.showComponentPG = false; if (persona.cognome) { if (persona.idPersona != "nuovo") { this.getPersonaFisica(persona.idPersona); } else { this.mapperPersonaFisica(null); setTimeout(() => this.showComponentPF = true, 0); } } if (persona.ragioneSociale) { if (persona.idPersona != "nuovo") { this.getPersonaGiuridica(persona.idPersona); } else { this.mapperPersonaGiuridica(null); setTimeout(() => this.showComponentPG = true, 0); } } } hasSelecteDelegante() { return this.deleghe.value; } viewDeleghe() { return (coalesce(this.tipoRichiedente.value, '')('codice').valueOf() === "" || coalesce(this.tipoRichiedente.value, '')('codice').valueOf() === CodiceTipiRichiedente.CODICE_ME_MEDESIMO); } getPersonaFisica(id) { this.resetValidation(); this.rappresentanza.idSedeSelezionata = null; this.showComponentPF = false; this.personaFisica$ = this.delegheService.getPersona(id) .pipe(shareReplay()); this.pfSubscription = this.personaFisica$.pipe().subscribe((pf) => { var _a, _b; this.mapperPersonaFisica(pf.datiPersonaFisica); this.personaFisica = pf.datiPersonaFisica; this.rappresentanza.idPersona = id; this.rappresentanza.tipoRappresentante = "PF"; this.rappresentanza.codiceRegione = (_b = (_a = pf === null || pf === void 0 ? void 0 : pf.residenza) === null || _a === void 0 ? void 0 : _a.regione) === null || _b === void 0 ? void 0 : _b.sigla; this.showComponentPF = true; this.showComponentPG = false; }, _ => { }); } getPersonaGiuridica(id) { this.resetValidation(); this.rappresentanza.idSedeSelezionata = null; this.showComponentPG = false; this.personaGiuridica$ = this.delegheService.getDatiSocieta(id) .pipe(shareReplay()); this.pgSubscription = this.personaGiuridica$.pipe().subscribe((pg) => { var _a, _b, _c; this.form.get('selected').setValue(''); this.mapperPersonaGiuridica(pg); this.personaGiuridica = pg; this.rappresentanza.idPersona = id; this.rappresentanza.tipoRappresentante = "PG"; this.showComponentPG = true; this.showComponentPF = false; if ((pg === null || pg === void 0 ? void 0 : pg.sedi) != undefined) { const sede = pg.sedi.filter(sedeLegale => sedeLegale.tipoSede.codice === "LEGALE"); this.rappresentanza.codiceRegione = (_c = (_b = (_a = sede[0]) === null || _a === void 0 ? void 0 : _a.indirizzo) === null || _b === void 0 ? void 0 : _b.regione) === null || _c === void 0 ? void 0 : _c.sigla; } this.ref.detectChanges(); }, _ => { }); } isPersonaFisica(tipoPersona) { let isValid; if (tipoPersona.find(element => element == "PF")) { isValid = true; } else { isValid = false; } return isValid; } isPersonaGiuridica(tipoPersona) { let isValid; if (tipoPersona.find(element => element == "PG")) { isValid = true; } else { isValid = false; } return isValid; } initDeleghe(tipoRichiedente) { this.listaDeleghe = []; console.log('tipoRichiedente:', tipoRichiedente); this.couldBeDittaIndividuale = tipoRichiedente === null || tipoRichiedente === void 0 ? void 0 : tipoRichiedente.dittaIndividuale; const filterByTipoRichiedente = (tipiRichiedente) => tipiRichiedente.filter(tr => tr.codTipoDelega == tipoRichiedente.codice); if (this.isPersonaFisica(tipoRichiedente.tipoPersona)) { this.deleghe$.pipe(pluck("personeFisiche"), map(filterByTipoRichiedente)). subscribe((res) => { this.listaDeleghe = [...res, nuovaPFBase()]; this.deleghe.setValue(this.listaDeleghe.find(el => el.idPersona == this.rappresentanza.idPersona)); }); } if (this.isPersonaGiuridica(tipoRichiedente.tipoPersona)) { this.deleghe$.pipe(pluck("personeGiuridiche"), map(filterByTipoRichiedente)). subscribe((res) => { if (this.listaDeleghe.length > 0) { this.listaDeleghe = this.listaDeleghe.reduce((acc, currentValue, index) => { if (this.listaDeleghe.length - 1 == index) { acc.push(...res, nuovaPGBase()); } return acc; }, this.listaDeleghe); } else { this.listaDeleghe = [...res, nuovaPGBase()]; } this.deleghe.setValue(this.listaDeleghe.find(el => el.idPersona == this.rappresentanza.idPersona)); }); } } resetDeleghe() { this.rappresentanza.idPersona = null; this.rappresentanza.nuovaPersona = false; this.rappresentanza.personaFisica = null; this.rappresentanza.personaGiuridica = null; this.rappresentanza.tipoRappresentante = null; this.personaGiuridica = null; this.personaGiuridica$ = null; this.personaFisica = null; } mapperPersonaFisica(datiPersona) { var _a, _b; const personaFisica = new PersonaFisicaDTO(); const infoAnagrafiche = new InfoAnagrafichePFDTO(); personaFisica.infoAnagrafiche = infoAnagrafiche; const infoNascita = new InfoNascitaPFDTO(); personaFisica.infoNascita = infoNascita; if (datiPersona) { infoAnagrafiche.codFiscale = datiPersona.codiceFiscale; infoAnagrafiche.cognome = datiPersona.cognome; infoAnagrafiche.nome = datiPersona.nome; personaFisica.infoAnagrafiche = infoAnagrafiche; infoNascita.comuneNascita = (_a = datiPersona.comuneNascita) === null || _a === void 0 ? void 0 : _a.codiceCatastale; infoNascita.provinciaNascita = (_b = datiPersona.provinciaNascita) === null || _b === void 0 ? void 0 : _b.sigla; infoNascita.dataNascita = moment(datiPersona.dataNascita, "DD/MM/YYYY").toDate(); personaFisica.infoNascita = infoNascita; } this.rappresentanza.personaFisica = personaFisica; } initPersonaFisica(id) { let personaFisica = new PersonaFisicaBaseDTO(); this.showComponentPF = false; this.personaFisica$ = this.delegheService.getPersona(id) .pipe(shareReplay()); this.pfSubscription = this.personaFisica$.pipe(pluck("datiPersonaFisica")).subscribe((pf) => { this.mapperPersonaFisica(pf); this.rappresentanza.idPersona = id; personaFisica.codTipoDelega = this.rappresentanza.codiceDelega; personaFisica.codiceFiscale = pf.codiceFiscale; personaFisica.cognome = pf.cognome; personaFisica.nome = pf.nome; personaFisica.idPersona = pf.id; this.showComponentPF = true; this.showComponentPG = false; }, _ => { }); return personaFisica; } initPersonaGiuridica(id) { let personaGiuridica = new PersonaGiuridicaBaseDTO(); this.showComponentPG = false; this.personaGiuridica$ = this.delegheService.getDatiSocieta(id) .pipe(shareReplay()); this.pgSubscription = this.personaGiuridica$.pipe().subscribe((pg) => { this.mapperPersonaGiuridica(pg); personaGiuridica.codTipoDelega = this.rappresentanza.codiceDelega; personaGiuridica.codiceFiscale = pg.datiPersonaGiuridica.codiceFiscale; personaGiuridica.ragioneSociale = pg.datiPersonaGiuridica.ragioneSociale; personaGiuridica.pIva = pg.datiPersonaGiuridica.partitaIVA; personaGiuridica.idPersona = pg.datiPersonaGiuridica.id; this.rappresentanza.idPersona = id; this.showComponentPG = true; this.showComponentPF = false; this.deleghe.setValue(this.listaDeleghe.find(el => el.idPersona == personaGiuridica.idPersona)); }, _ => { }); return personaGiuridica; } mapperPersonaGiuridica(datiPersona) { // console.log('[mapperPersonaGiuridica]', datiPersona); const personaGiuridica = new PersonaGiuridicaDTO(); if (datiPersona) { personaGiuridica.codiceFiscale = datiPersona.datiPersonaGiuridica.codiceFiscale; personaGiuridica.ragioneSociale = datiPersona.datiPersonaGiuridica.ragioneSociale; personaGiuridica.partitaIVA = datiPersona.datiPersonaGiuridica.partitaIVA; personaGiuridica.idPersonaGiuridica = datiPersona.datiPersonaGiuridica.id; personaGiuridica.sedi = datiPersona.sedi; } this.rappresentanza.personaGiuridica = personaGiuridica; } personaFisicaReady(personaFisicaStatus) { console.log('[personaFisicaReady]', personaFisicaStatus); this.resetValidation(); this.rappresentanza.idSedeSelezionata = null; this.changesPersonaFisica$.next(personaFisicaStatus.mapValue((personaFisica) => (rap) => { var _a, _b, _c; this.rappresentanza.idPersona = personaFisica.id; rap.personaFisica = personaFisica; if (this.delega == "nuovo") { rap.codiceRegione = personaFisica.infoAnagrafiche.codiceRegione; rap.nuovaPersona = true; } (rap.tipoRappresentante = "PF"); if (((_a = this.utente) === null || _a === void 0 ? void 0 : _a.codiceFiscale) === ((_c = (_b = personaFisica === null || personaFisica === void 0 ? void 0 : personaFisica.infoAnagrafiche) === null || _b === void 0 ? void 0 : _b.codFiscale) === null || _c === void 0 ? void 0 : _c.toUpperCase())) { this.flagDelegaSeStesso = true; } else { this.flagDelegaSeStesso = false; } this.ref.detectChanges(); })); } personaGiuridicaReady(personaGiuridicaStatus) { console.log("[personaGiuridicaReady]", personaGiuridicaStatus); this.resetValidation(); this.flagDelegaSeStesso = false; this.changesPersonaGiuridica$.next(personaGiuridicaStatus.mapValue(personaGiuridica => (rap) => { var _a; rap.personaGiuridica = personaGiuridica; rap.tipoRappresentante = "PG"; this.rappresentanza.idSedeSelezionata = null; this.rappresentanza.idPersona = personaGiuridica.idPersonaGiuridica; if (((_a = personaGiuridica === null || personaGiuridica === void 0 ? void 0 : personaGiuridica.sedi) === null || _a === void 0 ? void 0 : _a.length) > 0) { this.rappresentanza.idSedeSelezionata = personaGiuridica.sedi[0].id; } if (this.delega == "nuovo") { this.isValidSedi = personaGiuridicaStatus.status; rap.nuovaPersona = true; rap.codiceRegione = personaGiuridica.codiceRegione; } this.ref.detectChanges(); })); } richiedenteComparator(m1, m2) { return (m1 || {}).codice == (m2 || {}).codice; } delegheComparator(m1, m2) { return (m1 || {}).codTipoDelega == (m2 || {}).codTipoDelega; } fromIdAndTipo(codice, tipoNaturaRichiedente) { const naturaRichiedente = new NaturaRichiedenteDTO(); naturaRichiedente.codice = codice; naturaRichiedente.descrizione = tipoNaturaRichiedente; return naturaRichiedente; } onChangeGeneralContractor(event) { this.isGeneralContractor.emit(event.checked); } } DelegheComponent.decorators = [ { type: Component, args: [{ selector: 'lib-deleghe', template: "<div class=\"mt-3 mb-5\" [formGroup]=\"form\">\r\n\t<mat-card>\r\n\t\t<h3 class=\"h5 mb-0\">\r\n\t\t\t<info-tip-label label=\"tipo-richiedente\"></info-tip-label>\r\n\t\t</h3>\r\n\t\t<div class=\"row\">\r\n\r\n\t\t\t<div class=\"col-md-8\">\r\n\t\t\t\t<mat-form-field>\r\n\t\t\t\t\t<mat-label>{{'required' | traduzione}}{{'tipo-soggetto' | traduzione}}</mat-label>\r\n\t\t\t\t\t<mat-select placeholder=\"{{'seleziona' | traduzione}}\" formControlName=\"tipoRichiedente\"\r\n\t\t\t\t\t\t\t\t\t\t\t[compareWith]=\"richiedenteComparator\">\r\n\t\t\t\t\t\t<mat-option *ngFor=\"let tipoRichiedenteTipo of tipologieRichiedenti$ | async\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[value]=\"tipoRichiedenteTipo\">\r\n\t\t\t\t\t\t\t{{ tipoRichiedenteTipo.descrizione }}\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t\t<mat-error *ngIf=\"form.touched && form.controls[ 'tipoRichiedente'].invalid\">\r\n\t\t\t\t\t\t{{msg.produceMessage('obbligatorio', form.controls['tipoRichiedente']) | traduzione}}\r\n\t\t\t\t\t</mat-error>\r\n\t\t\t\t\t<mat-hint *infoTip=\"'tipo-soggetto'\"></mat-hint>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"row\" *ngIf=\"!viewDeleghe()\">\r\n\t\t\t<div class=\"col-md-8\">\r\n\t\t\t\t<mat-form-field>\r\n\t\t\t\t\t<mat-label>{{'required' | traduzione}}{{'deleghe-rappresentante' | traduzione }}</mat-label>\r\n\t\t\t\t\t<mat-select placeholder=\"{{'seleziona' | traduzione}}\" formControlName=\"deleghe\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<mat-option *ngFor=\"let item of listaDeleghe\" [value]=\"item\">\r\n\t\t\t\t\t\t\t<ng-container *ngIf=\"item.ragioneSociale else templatePersonaFisica\">\r\n\t\t\t\t\t\t\t\t{{item.idPersona === 'nuovo' ? (item.ragioneSociale | traduzione) : item.ragioneSociale}}\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-template #templatePersonaFisica>\r\n\t\t\t\t\t\t\t\t{{(item.idPersona === 'nuovo' ? (item.nome + ' ' + (item.cognome | traduzione)) : (item.nome + ' ' + item.cognome))}}\r\n\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t\t<mat-error *ngIf=\"form.controls['deleghe'].invalid\">\r\n\t\t\t\t\t\t{{msg.produceMessage('obbligatorio', form.controls['deleghe']) | traduzione}}\r\n\t\t\t\t\t</mat-error>\r\n\t\t\t\t\t<mat-hint *infoTip=\"'deleghe-rappresentante'\"></mat-hint>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<br>\r\n\t</mat-card>\r\n\t<div class=\"mt-4\"></div>\r\n\t<mat-expansion-panel class=\"panel\" *ngIf=\"hasSelecteDelegante() && !viewDeleghe()\" [expanded]=\"true\">\r\n\t\t<mat-expansion-panel-header [collapsedHeight]=\"'48px'\" [expandedHeight]=\"'48px'\" class=\"custom-header\">\r\n\t\t\t<mat-panel-title>\r\n\t\t\t\t<h3 class=\"h5 mb-0\">\r\n\t\t\t\t\t<info-tip-label label=\"tipologia-rappresentante-{{codiceTipoDeposito}}\"></info-tip-label>\r\n\t\t\t\t</h3>\r\n\t\t\t</mat-panel-title>\r\n\t\t</mat-expansion-panel-header>\r\n\t\t<div class=\"mt-4\"></div>\r\n\t\t<div *ngIf=\"formControlGeneralContractor\" class=\"col-md-4\">\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<mat-checkbox formControlName=\"generalContractor\" (change)=\"onChangeGeneralContractor($event)\">\r\n\t\t\t\t\t<info-tip-label label=\"general-contractor\"></info-tip-label>\r\n\t\t\t\t</mat-checkbox>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<lib-persona-fisica\r\n\t\t\t*ngIf=\"showComponentPF\"\r\n\t\t\t(done)=\"personaFisicaReady($event)\"\r\n\t\t\t[nazioni]=\"nazioni\"\r\n\t\t\t[province]=\"province\"\r\n\t\t\t[namespace]=\"namespaceInfoPf\"\r\n\t\t\t[infoPersonaFisica]=\"rappresentanza?.personaFisica\"\r\n\t\t\t[idDelega]=\"rappresentanza?.idPersona\"\r\n\t\t\t[validatorFormControl]=\"true\"\r\n\t\t\t[nuovaPersona]=\"isNew\"\r\n\t\t>\r\n\t\t</lib-persona-fisica>\r\n\r\n\t\t<lib-persona-giuridica\r\n\t\t\t*ngIf=\"showComponentPG\"\r\n\t\t\t(done)=\"personaGiuridicaReady($event)\"\r\n\t\t\t[namespace]=\"nspg\"\r\n\t\t\t[datisocieta]=\"rappresentanza?.personaGiuridica\"\r\n\t\t\t[validatorFormControl]=\"true\"\r\n\t\t\t[gestioneSedi]=\"true\"\r\n\t\t\t[idSedeSelezionata]=\"idSedeSelezionata\"\r\n\t\t\t[personaGiuridicaFromDeleghe$]=\"personaGiuridica$\"\r\n\t\t\t[couldBeDittaIndividuale]=\"couldBeDittaIndividuale\"\r\n\t\t>\r\n\t\t</lib-persona-giuridica>\r\n\t</mat-expansion-panel>\r\n\t<div class=\"collapse-body mt-2\">\r\n\t\t<div class=\"col-md-12\">\r\n\t\t\t<mat-error *ngIf=\"flagDelegaSeStesso\">\r\n\t\t\t\t{{'validation-tipo-ricorrente' | traduzione }}\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"mt-4\"></div>\r\n\t<lib-stepper-navigator\r\n\t\t[form]=\"form\"\r\n\t\t[direction]=\"direction\"\r\n\t\t[isFinal]=\"isFinal\"\r\n\t\t[isContainerValid]=\"isFormValid\"\r\n\t\t(goForward)=\"forward($event)\"\r\n\t\t(goBackward)=\"backward($event)\"\r\n\t\t(salvaBozza)=\"onSalvaBozza($event)\"\r\n\t\t(complete)=\"complete($event)\"\r\n\t>\r\n\t</lib-stepper-navigator>\r\n</div>\r\n", styles: [".mat-card{border-radius:0!important;border-top:5px solid #0a2644}.divider{background-color:#737373;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-flex{background-color:#fff!important}.mat-select-value{max-width:100%;width:100%!important}"] },] } ]; DelegheComponent.ctorParameters = () => [ { type: DelegheService }, { type: Modals }, { type: MessageService }, { type: UtenteService }, { type: ChangeDetectorRef } ]; DelegheComponent.propDecorators = { rappresentanza: [{ type: Input }], province: [{ type: Input }], nazioni: [{ type: Input }], tipologieRichiedenti$: [{ type: Input }], deleghe$: [{ type: Input }], tipologiaDeposito$: [{ type: Input }], generalContractorValue: [{ type: Input }], nextStep: [{ type: Output }], previousStep: [{ type: Output }], salvaBozza: [{ type: Output }], isGeneralContractor: [{ type: Output }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdoZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovUHJvZ2V0dGkvREFHL3NvcmdlbnRpL2dpdGxhYi1zb2Z0d2FyZWZhY3RvcnkvY29tbW9uLWNvbXBvbmVudC1saWIvcHJvamVjdHMvcG9ydGFsLWNvbW1vbi1jb21wb25lbnQtbGliL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXBvc2l0aS9jb21wb25lbnRzL2RlbGVnaGUvZGVsZWdoZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3BFLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBNEIsT0FBTyxFQUFNLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBYSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcs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