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