{"version":3,"file":"exin-proposal-item.mjs","sources":["../../../projects/xn-proposal/item/src/xn-proposal-item-documents/xn-proposal-item-documents.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item-documents/xn-proposal-item-documents.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item-identity-target/xn-proposal-item-identity-target.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item-identity-target/xn-proposal-item-identity-target.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item-incentives/xn-proposal-item-incentives.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item-incentives/xn-proposal-item-incentives.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item-approve-form-request/xn-proposal-item-approve-form-request.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item-approve-form-request/xn-proposal-item-approve-form-request.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item.service.ts","../../../projects/xn-proposal/item/src/xn-proposal-item/xn-proposal-item.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item/xn-proposal-item.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator-field/xn-proposal-item-earning-simulator-modal/xn-proposal-item-earning-simulator-modal.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator-field/xn-proposal-item-earning-simulator-modal/xn-proposal-item-earning-simulator-modal.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator-field/xn-proposal-item-earning-simulator-field.component.ts","../../../projects/xn-proposal/item/src/xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator-field/xn-proposal-item-earning-simulator-field.component.html","../../../projects/xn-proposal/item/src/xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator-field/xn-proposal-item-earning-simulator-field.module.ts","../../../projects/xn-proposal/item/src/xn-proposal-item.module.ts","../../../projects/xn-proposal/item/exin-proposal-item.ts"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { XnFormlyPage, XnFormlyFieldConfig, XnFormlyFormOptions } from '@exin/core/formly';\n\n@Component({\n  selector: 'xn-proposal-item-documents',\n  templateUrl: './xn-proposal-item-documents.component.html',\n  styleUrls: ['./xn-proposal-item-documents.component.less']\n})\nexport class XnProposalItemDocumentsComponent extends XnFormlyPage implements OnInit {\n\n  @Input('form')\n  set incentive_form (form: FormGroup) {\n    this.form = form;\n  }; \n  get incentive_form() {\n    return this.form;\n  }\n\n  @Input('model')\n  set incentive_model (model: any) {\n    this.model = model;\n  }; \n  get incentive_model() {\n    return this.form;\n  }\n\n  @Input('fields')\n  set incentive_fields (fields: XnFormlyFieldConfig[]) {\n    this.fields = fields;\n  }; \n  get incentive_fields() {\n    return this.fields;\n  }\n\n  @Input('options')\n  set incentive_options (options: XnFormlyFormOptions) {\n    this.options = options;\n  }; \n  get incentive_options() {\n    return this.options;\n  }\n\n  constructor() {\n    super();\n  }\n\n  ngOnInit() {\n  }\n\n}\n","<nz-alert\n  style=\"margin-bottom: 24px;\"\n  nzType=\"info\"\n  nzCloseable\n  nzMessage=\"Carica la documentazione obbligatoria\"\n  nzDescription=\"Assicurati di avere caricato i documenti necessari alla delibera riportati nell’elenco\"\n></nz-alert>\n<nz-card [nzBodyStyle]=\"{'padding': '24px 0 0 0'}\">\n  <form autocomplete=\"off\" nz-form [nzLayout]=\"'vertical'\" [formGroup]=\"form\">\n    <div class=\"container\">\n        <formly-form [form]=\"form\" [model]=\"model\" [fields]=\"fields\" [options]=\"options\"></formly-form>\n    </div>\n    <!-- <formly-bar [form]=\"form\" [model]=\"model\" (onSubmit)=\"onSubmit()\"></formly-bar> -->\n  </form>\n</nz-card>","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { XnFormlyFieldConfig, XnFormlyFormOptions, XnFormlyPage } from '@exin/core/formly';\n\n@Component({\n  selector: 'xn-proposal-item-earning-simulator',\n  templateUrl: './xn-proposal-item-earning-simulator.component.html',\n  styleUrls: ['./xn-proposal-item-earning-simulator.component.less']\n})\nexport class XnProposalItemEarningSimulatorComponent extends XnFormlyPage implements OnInit {\n\n  @Input('form')\n  set _form (form: FormGroup) {\n    this.form = form;\n  }; \n  get _form() {\n    return this.form;\n  }\n\n  @Input('model')\n  set _model (model: any) {\n    this.model = model;\n  }; \n  get _model() {\n    return this.form;\n  }\n\n  @Input('fields')\n  set _fields (fields: XnFormlyFieldConfig[]) {\n    this.fields = fields;\n  }; \n  get _fields() {\n    return this.fields;\n  }\n\n  @Input('options')\n  set _options (options: XnFormlyFormOptions) {\n    this.options = options;\n  }; \n  get _options() {\n    return this.options;\n  }\n\n  constructor() {\n    super();\n  }\n\n  ngOnInit() {\n  }\n\n}\n","<nz-alert\n  style=\"margin-bottom: 24px;\"\n  nzType=\"info\"\n  nzCloseable\n  nzMessage=\"Conferma il Portafoglio atteso\"\n  nzDescription=\"Per consentire la corretta valutazione e delibera della proposta, è necessario confermare i dati di Portafoglio\"\n></nz-alert>\n<form autocomplete=\"off\" nz-form [nzLayout]=\"'vertical'\" [formGroup]=\"form\">\n  <formly-form [form]=\"form\" [model]=\"model\" [fields]=\"fields\" [options]=\"options\"></formly-form>\n  <!-- <formly-bar [form]=\"form\" [model]=\"model\" (onSubmit)=\"onSubmit()\"></formly-bar> -->\n</form>","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { XnFormlyPage, XnFormlyFieldConfig, XnFormlyFormOptions } from '@exin/core/formly';\n\n@Component({\n  selector: 'xn-proposal-item-identity-target',\n  templateUrl: './xn-proposal-item-identity-target.component.html',\n  styleUrls: ['./xn-proposal-item-identity-target.component.less']\n})\nexport class XnProposalItemIdentityTargetComponent extends XnFormlyPage implements OnInit {\n\n  @Input('form')\n  set incentive_form (form: FormGroup) {\n    this.form = form;\n  }; \n  get incentive_form() {\n    return this.form;\n  }\n\n  @Input('model')\n  set incentive_model (model: any) {\n    this.model = model;\n  }; \n  get incentive_model() {\n    return this.form;\n  }\n\n  @Input('fields')\n  set incentive_fields (fields: XnFormlyFieldConfig[]) {\n    this.fields = fields;\n  }; \n  get incentive_fields() {\n    return this.fields;\n  }\n\n  @Input('options')\n  set incentive_options (options: XnFormlyFormOptions) {\n    this.options = options;\n  }; \n  get incentive_options() {\n    return this.options;\n  }\n\n  constructor() {\n    super();\n  }\n\n  ngOnInit() {\n  }\n\n}\n","<nz-alert\n  style=\"margin-bottom: 24px;\"\n  nzType=\"info\"\n  nzCloseable\n  nzMessage=\"Controlla e completa i dati anagrafici\"\n  nzDescription=\"Rivedi i dati sul candidato e completa quelli non inseriti prima di procedere. Tutti i dati riportati sono obbligatori.\"\n></nz-alert>\n\n<form autocomplete=\"off\" nz-form [nzLayout]=\"'vertical'\" [formGroup]=\"form\">\n  <div>\n      <formly-form [form]=\"form\" [model]=\"model\" [fields]=\"fields\" [options]=\"options\"></formly-form>\n  </div>\n  <!-- <formly-bar [form]=\"form\" [model]=\"model\" (onSubmit)=\"onSubmit()\"></formly-bar> -->\n</form>","import { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { XnFormlyFieldConfig, XnFormlyFormOptions, XnFormlyPage } from '@exin/core/formly';\n\n@Component({\n  selector: 'xn-proposal-item-incentives',\n  templateUrl: './xn-proposal-item-incentives.component.html',\n  styleUrls: ['./xn-proposal-item-incentives.component.less']\n})\nexport class XnProposalItemIncentivesComponent extends XnFormlyPage implements OnInit {\n\n  @Input('form')\n  set incentive_form (form: FormGroup) {\n    this.form = form;\n  }; \n  get incentive_form() {\n    return this.form;\n  }\n\n  @Input('model')\n  set incentive_model (model: any) {\n    this.model = model;\n  }; \n  get incentive_model() {\n    return this.form;\n  }\n\n  @Input('fields')\n  set incentive_fields (fields: XnFormlyFieldConfig[]) {\n    this.fields = fields;\n  }; \n  get incentive_fields() {\n    return this.fields;\n  }\n\n  @Input('options')\n  set incentive_options (options: XnFormlyFormOptions) {\n    this.options = options;\n  }; \n  get incentive_options() {\n    return this.options;\n  }\n\n  constructor() {\n    super();\n  }\n\n  ngOnInit() {\n  }\n\n}\n","<nz-alert\n  style=\"margin-bottom: 24px;\"\n  nzType=\"info\"\n  nzCloseable\n  nzMessage=\"Componi la Proposta Economica\"\n  nzDescription=\"Seleziona la tipologia di proposta economica per il tuo Candidato. Puoi aggiungere eventuali 'Richieste Fuori Standard' nell'ultima sezione denominata 'Note per la Direzione'.\"\n></nz-alert>\n\n<form autocomplete=\"off\" nz-form [nzLayout]=\"'vertical'\" [formGroup]=\"form\">\n  <formly-form [form]=\"form\" [model]=\"model\" [fields]=\"fields\" [options]=\"options\"></formly-form>\n  <!-- <formly-bar [form]=\"form\" [model]=\"model\" (onSubmit)=\"onSubmit()\"></formly-bar> -->\n</form>","import { Component, OnInit, Inject } from '@angular/core';\nimport { XnFormlyPage } from '@exin/core/formly';\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\n\n@Component({\n  selector: 'xn-proposal-item-approve-form-request',\n  templateUrl: './xn-proposal-item-approve-form-request.component.html',\n  styleUrls: ['./xn-proposal-item-approve-form-request.component.scss']\n})\nexport class XnProposalItemApproveFormRequestComponent extends XnFormlyPage implements OnInit {\n\n  description: string = null;\n\n  constructor(\n    @Inject(NZ_MODAL_DATA) private nzData: any\n  ) {\n    super();\n  }\n\n  ngOnInit() {\n    this.description = this.nzData?.description;\n\n    this.fields = [\n      {\n        key: 'note',\n        type: 'textarea',\n        templateOptions: {\n          label: 'Nota',\n          rows: 5,\n          required: true,\n        }\n      }\n    ]\n  }\n\n}\n","<form autocomplete=\"off\" nz-form [nzLayout]=\"'vertical'\" [formGroup]=\"form\">\n  <formly-form [form]=\"form\" [model]=\"model\" [fields]=\"fields\" [options]=\"options\"></formly-form>\n</form>\n\n<nz-alert *ngIf=\"description\" nzType=\"info\" [nzMessage]=\"description\" nzShowIcon></nz-alert>","import { Injectable } from '@angular/core';\nimport { XnHttpService } from '@exin/core/core';\nimport { XnFormlyFieldConfig } from '@exin/core/formly';\nimport { Dictionary } from '@exin/core/utils';\nimport { Observable, of } from 'rxjs';\nimport { catchError, filter, map, switchMap } from 'rxjs/operators';\nimport { XnProposal } from './xn-proposal-item.model';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class XnProposalItemService {\n\n  private _dictionary: Dictionary<XnProposal> = new Dictionary<XnProposal>();\n\n  private _describe_dictionary: Dictionary<XnFormlyFieldConfig[]> = new Dictionary<XnFormlyFieldConfig[]>();\n\n  constructor(\n    private http: XnHttpService,\n  ) { }\n\n  ngOnDestroy(): void {\n  }\n\n  loadProposal(proposal_id): Observable<XnProposal> {\n    return this.http.getApiSchema<XnProposal>(`v1/proposals/${proposal_id}`)\n      .pipe(\n        map((response: XnProposal) => {\n          this._dictionary.patchValue({ key: proposal_id, value: response })\n          return response;\n        })\n      );\n  }\n\n  updateProposal(proposal_id, proposal): Observable<XnProposal> {\n    return this.http.putApiSchema<XnProposal>(`v1/proposals/${proposal_id}`, proposal)\n      .pipe(\n        map((response: XnProposal) => {\n          this._dictionary.patchValue({ key: proposal_id, value: response })\n          return response;\n        })\n      );\n  }\n\n  startProposal(proposal_id, proposal): Observable<XnProposal> {\n    return this.updateProposal(proposal_id, proposal).pipe(\n      switchMap(proposal => this.http.postApiSchema(`v1/workflow/proposals/${proposal_id}/start`).pipe(\n        map(proposalPreview => Object.assign({}, proposal, proposalPreview))\n      )),\n      map((proposal: XnProposal) => {\n        this._dictionary.patchValue({ key: proposal_id, value: proposal })\n        return proposal;\n      })\n    );\n  }\n\n  rejectProposal(proposal_id): Observable<XnProposal> {\n    const additional_data = {\n      note: 'Proposta annullata dal manager reclutatore',\n    };\n    return this.http.postApiSchema(`v1/workflow/proposals/${proposal_id}/reject`, additional_data)\n      .pipe(\n        switchMap(status => this.loadProposal(proposal_id)),\n      );\n  }\n\n  deleteProposal(proposal_id): Observable<XnProposal> {\n    return this.http.delete(`v1/proposals/${proposal_id}`);\n  }\n\n  getProposal(proposal_id: string): Observable<XnProposal> {\n    return this._dictionary.objects$.pipe(\n      map(objects => objects[proposal_id])\n    )\n  }\n\n  loadProposalDescribe(proposal_id): Observable<XnFormlyFieldConfig[]> {\n    return this.http.get<XnFormlyFieldConfig[]>(`v1/proposals/${proposal_id}/describe`)\n      .pipe(\n        map((response: XnFormlyFieldConfig[]) => {\n          this._describe_dictionary.patchValue({ key: proposal_id, value: response })\n          return response;\n        })\n      );\n  }\n\n  getProposalDescribe(proposal_id: string): Observable<XnFormlyFieldConfig[]> {\n    return this._describe_dictionary.objects$.pipe(\n      map(objects => objects[proposal_id])\n    )\n  }\n\n  nextProposalManagement(proposal_id: string,additional_data: any): Observable<any> {\n    return  this.http.post<any>(`v1/workflow/proposals/${proposal_id}/next`, additional_data)\n      .pipe(\n        switchMap(status => this.loadProposal(proposal_id)),\n      );\n    \n  }\n  backProposalManagement(proposal_id: string,additional_data: any): Observable<any> {\n    var data = additional_data;\n    data.status = \"step4\"\n    return  this.http.post<any>(`v1/workflow/proposals/${proposal_id}/back`, data)\n      .pipe(\n        switchMap(status => this.loadProposal(proposal_id)),\n      );\n    \n  }\n\n}\n","import { Component, EventEmitter, Inject, InjectionToken, Input, OnDestroy, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { XnFormlyFieldConfig, XnFormlyPage } from '@exin/core/formly';\nimport { NzModalService, NzNotificationService } from '@exin/core/ant-design';\nimport { lastValueFrom, of, Subscription } from 'rxjs';\nimport { catchError, distinctUntilChanged, filter, map, startWith, switchMap, tap } from 'rxjs/operators';\nimport { XnProposalItemService } from '../xn-proposal-item.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { XnProposalItemApproveFormRequestComponent } from '../xn-proposal-item-approve-form-request/xn-proposal-item-approve-form-request.component'\nexport const USE_PROPOSAL_IDENTITY_TARGET_FIELDS = new InjectionToken('USE_PROPOSAL_IDENTITY_TARGET_FIELDS');\nexport const USE_PROPOSAL_DOCUMENTS_FIELDS = new InjectionToken('USE_PROPOSAL_DOCUMENTS_FIELDS');\nexport const USE_PROPOSAL_EARNING_SIMULATOR = new InjectionToken('USE_PROPOSAL_EARNING_SIMULATOR');\n\n@Component({\n  selector: 'xn-proposal-item',\n  templateUrl: './xn-proposal-item.component.html',\n  styleUrls: ['./xn-proposal-item.component.less']\n})\nexport class XnProposalItemComponent extends XnFormlyPage implements OnInit, OnDestroy {\n\n  stepper_index = 0;\n  loading: boolean = false;\n\n  proposal_fields: XnFormlyFieldConfig[];\n  proposal_form: FormGroup = new FormGroup({});\n\n  identity_target_fields: XnFormlyFieldConfig[];\n  identity_target_form: FormGroup = new FormGroup({});\n\n  earning_simulator_fields: XnFormlyFieldConfig[];\n  earning_simulator_form: FormGroup = new FormGroup({});\n\n  documents_fields: XnFormlyFieldConfig[];\n  documents_form: FormGroup = new FormGroup({});\n\n  private _get_proposal$: Subscription;\n  private _load_proposal$: Subscription;\n\n  private _get_proposal_describe$: Subscription;\n  private _load_proposal_describe$: Subscription;\n\n  private _proposal_id$: EventEmitter<string> = new EventEmitter<string>();\n  private _proposal_id: string;\n  @Input()\n  set proposal_id(key: string) {\n    this._proposal_id = key;\n    this._proposal_id$.emit(key);\n  }\n  get proposal_id() {\n    return this._proposal_id;\n  };\n\n  constructor(\n    private xnProposalItemService: XnProposalItemService,\n    private notification: NzNotificationService,\n    private router: Router,\n    private activatedRoute: ActivatedRoute,\n    private modal: NzModalService,\n    @Inject(USE_PROPOSAL_IDENTITY_TARGET_FIELDS) private _identity_target_fields: XnFormlyFieldConfig[],\n    @Inject(USE_PROPOSAL_DOCUMENTS_FIELDS) private _documents_fields: XnFormlyFieldConfig[],\n    @Inject(USE_PROPOSAL_EARNING_SIMULATOR) public _use_earning_simulator: boolean,\n\n    ) {\n    super();\n\n    this.identity_target_fields = _identity_target_fields;\n    this.documents_fields = _documents_fields;\n  }\n\n  ngOnInit() {\n    this.form.addControl('loi_type_id', new FormControl());\n    this.form.addControl('proposal', this.proposal_form);\n    this.form.addControl('identity_target', this.identity_target_form);\n    this._use_earning_simulator ? this.form.addControl('earning_simulator', this.earning_simulator_form) : null;\n    this.form.addControl('documents', this.documents_form);  \n    const _proposal_id$ = this._proposal_id$.pipe(\n      startWith(this.proposal_id),\n      filter(proposal_id => !!proposal_id),\n      distinctUntilChanged(),\n    );\n\n    this._get_proposal$ = _proposal_id$.pipe(\n      switchMap(proposal_id => this.xnProposalItemService.getProposal(proposal_id)),\n    ).subscribe(proposal => {\n      this.model = proposal || {};\n      this.options.formState = proposal?.formState || {};\n      this._resetFormState();\n    });\n\n    let identity_target_id$ = _proposal_id$.pipe(\n      switchMap(proposal_id => this.xnProposalItemService.getProposal(proposal_id)),\n    ).pipe(\n      map(proposal => proposal?.identity_target_id),\n      filter(identity_target_id => !!identity_target_id)\n    );\n\n    this.earning_simulator_fields = this._use_earning_simulator ? [\n      {\n        type: 'select-earning-simulator',\n        key: 'es_simulation_id',\n        templateOptions: {\n          label: 'Conferma il Portafoglio atteso',\n          required: true,\n          placeholder: 'Ai fini della convalida della proposta è necessario confermare il livello previsto di portafoglio trasferibile.<br /> Clicca su “inserisci dati” per procedere',\n          footer: 'Per facilitare questo step, vengono riportate (se esistenti) anche eventuali simulazioni sul candidato create con il tool Simulatore Guadagni.',\n          identity_target_id$: identity_target_id$,\n        },\n        expressionProperties: {\n          'templateOptions.disabled': '!!!(formState && formState.can_save)',\n        }\n      },\n    ] : [];\n\n    this._load_proposal$ =_proposal_id$.pipe(\n      switchMap(proposal_id => this.xnProposalItemService.loadProposal(proposal_id)),\n      catchError(e => {\n        this.notification.error(\n          'Si è verificato un errore', \n          'Non è stato possibile prelevare i dati della proposta...'\n        );\n        this.router.navigate(['../../'], {relativeTo: this.activatedRoute});\n        return e;\n      })\n    ).subscribe();\n\n    this._get_proposal_describe$ = _proposal_id$.pipe(\n      switchMap(proposal_id => this.xnProposalItemService.getProposalDescribe(proposal_id)),\n    ).subscribe(proposal_describe => {\n      this.proposal_fields = proposal_describe || [];\n      this._resetFormState();\n    });\n\n    this._load_proposal_describe$ =_proposal_id$.pipe(\n      switchMap(proposal_id => this.xnProposalItemService.loadProposalDescribe(proposal_id)),\n      catchError(e => {\n        this.notification.error(\n          'Si è verificato un errore', \n          'Non è stato possibile prelevare i dati della proposta...'\n        );\n        this.router.navigate(['../../'], {relativeTo: this.activatedRoute});\n        return e;\n      })\n    ).subscribe();\n\n  }\n\n  ngOnDestroy() {\n    this._proposal_id$?.unsubscribe();\n    this._get_proposal$?.unsubscribe();\n    this._load_proposal$?.unsubscribe();\n    this._get_proposal_describe$.unsubscribe();\n    this._load_proposal_describe$.unsubscribe();\n  }\n\n  startProposal(loi_type_id: never) {\n    this.loading = true;\n    this.form?.get('loi_type_id')?.patchValue(loi_type_id);\n    this.xnProposalItemService.startProposal(this.proposal_id, this.form?.getRawValue()).pipe(\n      catchError(e => {\n        this.notification.error(\n          'Si è verificato un errore', \n          'Non è stato possibile salvare i dati della proposta... Riprova'\n        );\n        this.loading = false;\n        return e;\n      })\n    ).subscribe();\n  }\n\n  rejectProposal() {\n    this.loading = true;\n    this.xnProposalItemService.rejectProposal(this.proposal_id).pipe(\n      catchError(e => {\n        this.notification.error(\n          'Si è verificato un errore', \n          'Non è stato possibile annullare la proposta... Riprova'\n        );\n        this.loading = false;\n        return e;\n      })\n    ).subscribe();\n  }\n  restartIter(){\n    const modal = this.modal.create({\n      nzTitle: 'Richiedi modifiche',\n      nzWidth: '650px',\n      nzContent: XnProposalItemApproveFormRequestComponent,\n      nzData: {\n        description: 'Continuando si richiede la riesamina della lettera di intenti con condizioni differenti, pertanto è opportuno specificare le richieste aggiuntive. Se si vuole cambiare tipologia di proposta, si prega di eliminare la seguente proposta e ricrearne una nuova'\n      },\n      nzFooter: [\n        {\n          label: 'Annulla',\n          onClick: () => modal.destroy()\n        },\n        {\n          label: 'Richiedi revisione',\n          type: 'primary',\n          disabled: contentComponentInstance => {\n            return !!contentComponentInstance?.form?.invalid;\n          },\n          autoLoading: true,\n          onClick: async contentComponentInstance => {\n            const service$ =  this.xnProposalItemService\n              .backProposalManagement(this.proposal_id,contentComponentInstance?.form?.value )\n              .pipe(\n                catchError(error => {\n                  this.notification.error('Errore...', 'Qualcosa è andato storto. Riprova...');\n                  return of(null);\n                }),\n                tap(model => {\n                  if (model) {\n                    this.notification.success('Successo...', 'La proposta è stata approvata correttamente.');\n                    modal.destroy();\n                  } \n                }),\n              )\n            const promise = await lastValueFrom(service$);\n            return promise\n          }\n        }\n      ],\n    })\n  }\n  \n  continueWf() {\n    const modal = this.modal.create({\n      nzTitle: 'Accetta la ldi',\n      nzWidth: '650px',\n      nzContent: XnProposalItemApproveFormRequestComponent,\n      nzData: {\n        description: 'Approvando, verrà resa disponibile la lettera di intenti.'\n      },\n      nzFooter: [\n        {\n          label: 'Annulla',\n          onClick: () => modal.destroy()\n        },\n        {\n          label: 'Approva',\n          type: 'primary',\n          disabled: contentComponentInstance => {\n            return !!contentComponentInstance?.form?.invalid;\n          },\n          autoLoading: true,\n          onClick: async contentComponentInstance => {\n            const service$ = this.xnProposalItemService\n            .nextProposalManagement(this.proposal_id,contentComponentInstance?.form?.value )\n            .pipe(\n              catchError(error => {\n                this.notification.error('Errore...', 'Qualcosa è andato storto. Riprova...');\n                return of(null);\n              }),\n              tap(model => {\n                if (model) {\n                  this.notification.success('Successo...', 'La proposta è stata approvata correttamente.');\n                  modal.destroy();\n                } \n              }),\n            )\n            const promise =  await lastValueFrom(service$); \n            return promise;\n          }\n        }\n      ],\n    });\n    \n  }\n\n\n  deleteProposal() {\n    this.loading = true;\n    this.xnProposalItemService.deleteProposal(this.proposal_id).pipe(\n      catchError(e => {\n        this.notification.error(\n          'Si è verificato un errore', \n          'Non è stato possibile eliminare la proposta... Riprova'\n        );\n        this.loading = false;\n        return e;\n      })\n    ).subscribe(() => this.router.navigate(['../../'], {relativeTo: this.activatedRoute}));\n  }\n\n  onIndexChange(index: number) {\n    this.stepper_index = index;\n  }\n\n  onSubmit() {\n    this.loading = true;\n    this.xnProposalItemService.updateProposal(\n      this.proposal_id, \n      this.form.value\n    ).pipe(\n      catchError(e => {\n        this.notification.error(\n          'Si è verificato un errore', \n          'Non è stato possibile salvare i dati della proposta... Riprova'\n        );\n        this.loading = false;\n        return e;\n      })\n    ).subscribe(\n      \n    );\n  }\n\n  private _resetFormState() {\n    this.form.markAsUntouched();\n    this.form.markAsPristine();\n    this.form.updateValueAndValidity();\n    this.loading = false;\n  }\n\n  get submitDisabled() {\n    return this.form?.pristine || this.form?.pending || this.loading;\n  }\n}\n","<form autocomplete=\"off\" nz-form [nzLayout]=\"'vertical'\" [formGroup]=\"form\">\n  <nz-steps\n    nzSize=\"small\" \n    nzLabelPlacement=\"vertical\" \n    [nzCurrent]=\"stepper_index\" \n    (nzIndexChange)=\"onIndexChange($event)\">\n    <nz-step [nzIcon]=\"(proposal_form?.invalid) ? formInvalidTemplate : null\" nzTitle=\"Incentivi\"></nz-step>\n    <nz-step [nzIcon]=\"(identity_target_form?.invalid) ? formInvalidTemplate : null\" nzTitle=\"Dati anagrafici\"></nz-step>\n    <nz-step *ngIf=\"_use_earning_simulator\" [nzIcon]=\"(earning_simulator_form?.invalid) ? formInvalidTemplate : null\" nzTitle=\"Portafoglio atteso\"></nz-step>\n    <nz-step [nzIcon]=\"(documents_form?.invalid) ? formInvalidTemplate : null\" nzTitle=\"Documenti\"></nz-step>\n    <nz-step [nzIcon]=\"(form?.invalid) ? formInvalidTemplate : null\" nzTitle=\"Sintesi\"></nz-step>\n  </nz-steps>\n\n  <ng-template #formInvalidTemplate>\n    <span nz-typography nzType=\"danger\">\n      <i nz-icon nzType=\"warning\" nzTheme=\"outline\"></i>\n    </span>\n  </ng-template>\n\n  <div style=\"margin-top: 24px;\">\n\n    <div [class.hide]=\"stepper_index != 0\">\n      <xn-proposal-item-incentives \n        [form]=\"proposal_form\" \n        [model]=\"model?.proposal\" \n        [fields]=\"proposal_fields\" \n        [options]=\"options\">\n      </xn-proposal-item-incentives>\n    </div>\n    \n    <div [class.hide]=\"stepper_index != 1\">\n      <xn-proposal-item-identity-target \n        [form]=\"identity_target_form\" \n        [model]=\"model?.identity_target\" \n        [fields]=\"identity_target_fields\" \n        [options]=\"options\">\n      </xn-proposal-item-identity-target>\n    </div>\n    <ng-container *ngIf=\"_use_earning_simulator; else noSimulator\">\n      <div [class.hide]=\"stepper_index != 2\">\n        <xn-proposal-item-earning-simulator\n          [form]=\"earning_simulator_form\" \n          [model]=\"model?.earning_simulator\" \n          [fields]=\"earning_simulator_fields\" \n          [options]=\"options\">\n        </xn-proposal-item-earning-simulator>\n      </div>\n      <div [class.hide]=\"stepper_index != 3\">\n        <template [ngTemplateOutlet]=\"documentsStep\"></template>\n      </div>\n      <div [class.hide]=\"stepper_index != 4\">\n        <template [ngTemplateOutlet]=\"lastStep\"></template>\n      </div>\n    </ng-container>\n    <ng-template #noSimulator>\n      <div [class.hide]=\"stepper_index != 2\">\n        <template [ngTemplateOutlet]=\"documentsStep\"></template>\n      </div>\n      <div [class.hide]=\"stepper_index != 3\">\n        <template [ngTemplateOutlet]=\"lastStep\"></template>\n      </div>\n    </ng-template>\n    \n    \n\n    <ng-template #documentsStep >\n      <xn-proposal-item-documents \n        [form]=\"documents_form\" \n        [model]=\"model?.documents\" \n        [fields]=\"documents_fields\" \n        [options]=\"options\">\n      </xn-proposal-item-documents>\n    </ng-template>\n\n    <ng-template #lastStep>\n      <nz-alert\n        *ngIf=\"form?.invalid\"\n        style=\"margin-bottom: 24px;\"\n        nzShowIcon\n        nzType=\"warning\"\n        nzCloseable\n        nzMessage=\"Inserisci tutti i dati obbligatori\"\n        nzDescription=\"Assicurati di avere inserito tutti i dati necessari nelle sezioni precedenti per procedere con la richiesta\"\n      ></nz-alert>\n      <nz-alert\n        *ngIf=\"!options?.formState?.is_privacy_accepted\"\n        style=\"margin-bottom: 24px;\"\n        nzShowIcon\n        nzType=\"error\"\n        nzMessage=\"Liberatoria Privacy non approvata\"\n        nzDescription=\"Assicurati di aver caricato la liberatoria privacy del candidato e che sia stata approvata da Sede.\"\n      >\n      </nz-alert>\n      <div nz-row [nzGutter]=\"[16, 16]\" *ngIf=\"(options?.formState?.can_save); else detailStatusTeplate\">\n        <div nz-col [nzSpan]=\"24\">\n          <nz-card nzTitle=\"Avvia iter di delibera\" [nzActions]=\"[ldiActionSetting]\">\n            <p>\n              A valle dell'iter di delibera, avrai a disposizione la LDI sia in versione bozza (preliminare e non vincolante) che in versione definitiva.\n            </p>\n            <p class=\"ant-typography ant-typography-secondary\" style=\"margin-bottom: 0;\">\n              <i>Nel caso di una LDI standard, le due versioni della LDI sono disponibili dopo l'approvazione della Direzione Commerciale.</i><br />\n              <i>Nel caso di una LDI fuori standard, le due versioni della LDI sono disponibili dopo l'approvazione della Direzione Generale.</i>\n            </p>\n          </nz-card>\n          <ng-template #ldiActionSetting>\n            <a \n              nz-popconfirm\n              nzPopconfirmTitle=\"Sei sicuro?\"\n              nzPopconfirmPlacement=\"bottom\"\n              (nzOnConfirm)=\"startProposal(2)\"\n              nz-button \n              nzType=\"link\" \n              [disabled]=\"form?.invalid || !options?.formState?.is_privacy_accepted\">\n              Avvia iter di delibera\n            </a>\n          </ng-template>\n        </div>\n      </div>\n\n      <ng-template #detailStatusTeplate>\n        <nz-card nzTitle=\"Dettaglio proposta economica\" style=\"margin-top: 16px;\">\n          <xn-proposal [proposal]=\"model\"></xn-proposal>\n        </nz-card>\n      </ng-template>\n\n      <nz-card nzTitle=\"Scarica le LDI\" *ngIf=\"model?.loi_documents?.length\" style=\"margin-top: 16px;\" [nzBodyStyle]=\"{'padding-top': '0', 'padding-bottom': '0'}\">\n        <nz-list nzItemLayout=\"vertical\">\n          <nz-list-item *ngFor=\"let loi_document of (model?.loi_documents || [])\">\n            <nz-list-item-meta-title>\n              <span>{{loi_document?.template?.title}}</span>\n            </nz-list-item-meta-title>\n            <nz-list-item-meta-description>\n              {{loi_document?.template?.body}}\n            </nz-list-item-meta-description>\n            <nz-list-item-extra>\n              <a nz-button nzType=\"link\" [href]=\"loi_document?.url\" target=\"_blank\">\n                <i nz-icon nzType=\"download\" nzTheme=\"outline\"></i> Scarica\n              </a>\n            </nz-list-item-extra>\n          </nz-list-item>\n        </nz-list>\n      </nz-card>\n      <nz-card nzTitle=\"Anteprima LDI\" *ngIf=\"model?.workflow_status == 'step7a'\" \n              style=\"margin-top: 16px;\" \n              [nzBodyStyle]=\"{'padding-top': '0', 'padding-bottom': '0'}\"\n              [nzActions]=\"[restartIterTemplate,continueWfTemplate]\">\n        <nz-list nzItemLayout=\"vertical\">\n          <nz-list-item *ngIf=\"model?.loi_draft_documents; let loi_document\">\n            <nz-list-item-meta-title>\n              <span>{{loi_document?.template?.title}}</span>\n            </nz-list-item-meta-title>\n            <nz-list-item-meta-description>\n              {{loi_document?.template?.body}}\n            </nz-list-item-meta-description>\n            <nz-list-item-extra>\n              <a nz-button nzType=\"link\" [href]=\"loi_document?.url\" target=\"_blank\">\n                <i nz-icon nzType=\"download\" nzTheme=\"outline\"></i> Scarica\n              </a>\n            </nz-list-item-extra>\n          </nz-list-item>\n        </nz-list>\n      </nz-card>\n      <ng-template #continueWfTemplate>\n        <button\n          nzType=\"link\"\n          nz-button \n          (click)=\"continueWf()\"\n          >\n          <i nz-icon nzType=\"check-circle\" nzTheme=\"outline\"></i>Rendi definitiva la proposta\n      </button>\n      </ng-template>\n      <ng-template #restartIterTemplate>\n        <a \n          nz-popconfirm\n          nzPopconfirmTitle=\"Sei sicuro di voler richiedere una revisione della lettera?\"\n          nzPopconfirmPlacement=\"bottom\"\n          (nzOnConfirm)=\"restartIter()\"\n          nz-button \n          nzType=\"link\"\n          nzDanger>\n          <i nz-icon nzType=\"rollback\" nzTheme=\"outline\"></i>Rimanda la proposta ad UGR per modifiche\n        </a>\n      </ng-template>\n  \n      <nz-card nzTitle=\"Annulla la richiesta di delibera\" *ngIf=\"(options?.formState?.can_reject)\" [nzActions]=\"[cancelActionSetting]\" style=\"margin-top: 16px;\">\n        <p>Hai avviato l’iter di delibera e non è più possibile modificare la proposta economica. Per modificare la proposta inserita è necessario annullare l’iter di delibera.</p>\n      </nz-card>\n      <ng-template #cancelActionSetting>\n        <a \n          nz-popconfirm\n          nzPopconfirmTitle=\"Sei sicuro di voler annullare l'iter di delibera?\"\n          nzPopconfirmPlacement=\"bottom\"\n          (nzOnConfirm)=\"rejectProposal()\"\n          nz-button \n          nzType=\"link\"\n          nzDanger>\n          Annulla l'iter di delibera\n        </a>\n      </ng-template>\n\n      <nz-card *ngIf=\"(options?.formState?.can_delete)\" [nzActions]=\"[deleteActionSetting]\" style=\"margin-top: 16px;\">\n        <p>Eliminando la proposta tutti i dati inseriti saranno cancellati e dovrai comporre una nuova proposta.</p>\n      </nz-card>\n      <ng-template #deleteActionSetting>\n        <a \n          nz-popconfirm\n          nzPopconfirmTitle=\"Sei sicuro di voler eliminare la proposta?\"\n          nzPopconfirmPlacement=\"bottom\"\n          (nzOnConfirm)=\"deleteProposal()\"\n          nz-button \n          nzType=\"link\"\n          nzDanger>\n          Elimina la proposta\n        </a>\n      </ng-template>\n      \n    </ng-template>\n  </div>\n\n  <div style=\"height: 58px;\"></div>\n\n  <div class=\"actions\" *ngIf=\"options?.formState?.can_save\">\n    <div class=\"container\">\n        <button \n          [disabled]=\"submitDisabled\" \n          type=\"button\" \n          nz-button \n          (click)=\"onSubmit()\" \n          nzType=\"primary\" \n          [nzLoading]=\"loading\">\n          Salva\n        </button>\n    </div>\n  </div>\n</form>\n","import { Component, OnInit } from '@angular/core';\nimport { XnFormlyPage } from '@exin/core/formly';\nimport { XnEsCommissionLevelsService } from '@exin/earnings-simulator/commission-levels';\nimport { XnEsListProfile, XnEsListService } from '@exin/earnings-simulator/list';\nimport { Subscription } from 'rxjs';\n\n@Component({\n  selector: 'xn-proposal-item-earning-simulator-modal',\n  templateUrl: './xn-proposal-item-earning-simulator-modal.component.html',\n  styleUrls: ['./xn-proposal-item-earning-simulator-modal.component.less']\n})\nexport class XnProposalItemEarningSimulatorModalComponent extends XnFormlyPage implements OnInit {\n\n  private _profile_options: XnEsListProfile[] = [];\n  private _profiles$: Subscription;\n\n  constructor(\n    private xnEsListService: XnEsListService,\n    private xnEsCommissionLevelsService: XnEsCommissionLevelsService,\n  ) {\n    super();\n  }\n\n  ngOnInit() {\n\n    this._profiles$ = this.xnEsListService.loadProfiles()\n      .subscribe(profiles => this._profile_options = profiles);\n\n    this.fields = [\n      {\n        key: 'name',\n        type: 'input',\n        className: 'ant-col ant-col-xs-24',\n        defaultValue: 'Simulazione proposta',\n        templateOptions: {\n          label: 'Nome simulazione',\n          placeholder: 'Inserisci il nome',\n          required: false,\n        },\n      },\n      {\n        key: 'aum',\n        type: 'currency',\n        className: 'ant-col ant-col-xs-24',\n        templateOptions: {\n          label: 'Portafoglio',\n          placeholder: 'Inserisci importo',\n          required: true,\n        },\n      },\n      {\n        key: 'commission_level',\n        type: 'select',\n        className: 'ant-col ant-col-xs-24',\n        templateOptions: {\n          label: 'Livello provvigionale',\n          placeholder: 'Seleziona il livello',\n          required: true,\n          options: this.xnEsCommissionLevelsService.commission_levels$\n        },\n      },\n      {\n        key: 'config_id',\n        type: 'select',\n        className: 'ant-col ant-col-xs-24',\n        templateOptions: {\n          label: 'Profilo candidato',\n          placeholder: 'Seleziona il profilo',\n          required: true,\n          valueProp: 'id',\n          labelProp: 'name',\n        },\n        expressionProperties: {\n          'templateOptions.options': () => this._profile_options,\n        }\n      },\n    ];\n  }\n\n  ngOnDestroy() {\n    this._profiles$?.unsubscribe();\n  }\n\n  onSubmit() {\n  }\n\n}\n","<form nz-form [nzLayout]=\"'vertical'\" [formGroup]=\"form\">\n  <formly-form [form]=\"form\" [model]=\"model\" [fields]=\"fields\" [options]=\"options\"></formly-form>\n</form>","import { AfterContentInit, AfterViewChecked, AfterViewInit, ChangeDetectorRef, Component, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';\nimport { NzModalService, NzNotificationService } from '@exin/core/ant-design';\nimport { XnFieldType } from '@exin/core/formly';\nimport { XnEsList, XnEsListService } from '@exin/earnings-simulator/list';\nimport { lastValueFrom, of, Subscription } from 'rxjs';\nimport { catchError, distinctUntilChanged, map, switchMap, take, tap } from 'rxjs/operators';\nimport { XnProposalItemEarningSimulatorModalComponent } from './xn-proposal-item-earning-simulator-modal/xn-proposal-item-earning-simulator-modal.component';\n\n@Component({\n  selector: 'xn-proposal-item-earning-simulator-field',\n  templateUrl: './xn-proposal-item-earning-simulator-field.component.html',\n  styleUrls: ['./xn-proposal-item-earning-simulator-field.component.less'],\n})\nexport class XnProposalItemEarningSimulatorFieldComponent extends XnFieldType implements OnInit, OnDestroy {\n\n  preloading: boolean = null;\n\n  simulations: XnEsList[];\n  private _simulations$: Subscription;\n\n  defaultOptions = {\n    templateOptions: { \n      identity_target_id$: null,\n      loading: false,\n    },\n  };\n \n  constructor(\n    private xnEsListService: XnEsListService,\n    private modal: NzModalService,\n    private notification: NzNotificationService,\n    private cdr: ChangeDetectorRef,\n  ) {\n    super();\n  }\n\n  ngOnInit() {\n    this._simulations$ = this.props?.identity_target_id$?.pipe(\n      distinctUntilChanged(),      \n      switchMap(identity_target_id => this._loadSimulations(identity_target_id)),\n    ).subscribe();\n  }\n\n  ngOnDestroy(): void {\n    this._simulations$?.unsubscribe();\n  }\n\n  private _loadSimulations(identity_target_id) {\n    this.preloading = true;\n    return this.xnEsListService.loadSimulations(identity_target_id)\n    .pipe(\n      map(simulations => {\n        this.simulations = simulations || [];\n        this.preloading = false;\n        this.cdr.detectChanges()\n        return simulations;\n      })\n    )\n  }\n\n  get errorState() {\n    return this.showError ? 'error' : '';\n  }\n\n  onItemChecked(id): void {\n    if (this.form?.disabled) {\n      return;\n    }\n    this.formControl?.patchValue(id);\n    this.formControl?.markAsDirty();\n  }\n\n  newSimulation() {\n    const modal = this.modal.create({\n      nzTitle: 'Inserisci i dati per la simulazione',\n      nzContent: XnProposalItemEarningSimulatorModalComponent, \n      nzWidth: '650px',\n      nzFooter: [\n        {\n          label: 'Annulla',\n          onClick: () => modal.destroy()\n        },\n        {\n          label: 'Aggiungi',\n          type: 'primary',\n          disabled: contentComponentInstance => {\n            return !!contentComponentInstance?.form?.invalid;\n          },\n          autoLoading: true,\n          onClick: async contentComponentInstance => {\n            const idt_id$ = this.props?.identity_target_id$\n            .pipe(\n              take(1),\n              switchMap(identity_target_id => \n                this.xnEsListService.addSimulation(\n                  contentComponentInstance?.form?.value,\n                  identity_target_id, \n                ).pipe(\n                  catchError(error => {\n                    this.notification.error('Errore...', 'Non è stato possibile inserire la simulazione.');\n                    return of(null);\n                  }),\n                  switchMap(model => {\n                    if (model) {\n                      this.notification.success('Successo...', 'Simulazione inserita con successo');\n                      modal?.destroy();\n                      if (model?.id) {\n                        this.onItemChecked((model?.id));\n                        return this._loadSimulations(identity_target_id);\n                      }\n                    }\n                    return of(null);\n                  }),\n                )\n              ),\n              \n            )\n            const promise = await lastValueFrom(idt_id$)\n            return promise\n          }\n        }\n      ],\n    });\n  }\n\n}\n","<nz-form-item>\n    <nz-form-control [nzValidateStatus]=\"errorState\" [nzErrorTip]=\"errorTpl\" style=\"width: 100%;\">\n        <nz-card [nzLoading]=\"preloading\" [nzTitle]=\"to?.label\" [nzExtra]=\"simulationsTable?.data?.length ? addButtonTemplate : null\" [nzBodyStyle]=\"{padding: 0}\">\n            <nz-radio-group [formControl]=\"formControl\" style=\"width: 100%;\">\n                <nz-table\n                    #simulationsTable\n                    [nzTableLayout]=\"'fixed'\"\n                    [nzFrontPagination]=\"false\"\n                    [nzShowPagination]=\"false\"\n                    [nzFooter]=\"to?.footer\"\n                    [nzNoResult]=\"emptyTemplate\"\n                    [nzData]=\"(simulations || [])\"\n                >\n                    <thead *ngIf=\"simulationsTable?.data?.length\">\n                        <tr>\n                            <th style=\"width: 48px;\"></th>\n                            <th>Nome</th>\n                            <th style=\"text-align: right;\">Aum</th>\n                            <th style=\"text-align: right;\">Commission Level</th>\n                            <th style=\"text-align: right;\">Data creazione</th>\n                        </tr>\n                    </thead>\n                    <tbody>\n                        <tr *ngFor=\"let data of simulationsTable.data\" (click)=\"onItemChecked(data.id)\">\n                            <td>\n                                <label nz-radio [nzValue]=\"data.id\"></label>\n                            </td>\n                            <td>\n                                {{ data.name || '-' }}<br />\n                                <span nz-typography nzType=\"secondary\" *ngIf=\"data.configuration_name\">{{ data.configuration_name }}</span>\n                            </td>\n                            <td style=\"text-align: right;\">{{ data.aum | xnCurrency }}</td>\n                            <td style=\"text-align: right;\">{{ data.commission_level  | xnEsCommissionLevel | async }}</td>\n                            <td style=\"text-align: right;\">{{ data.created_at | xnDate }}</td>\n                        </tr>\n                    </tbody>\n                </nz-table>\n            </nz-radio-group>\n        </nz-card>\n        <ng-template #errorTpl let-control>\n            <formly-validation-message [field]=\"field\"></formly-validation-message>\n        </ng-template>\n    </nz-form-control>\n</nz-form-item>\n\n<ng-template #emptyTemplate>\n    <nz-empty\n        style=\"margin-bottom: 24px;\"\n        nzNotFoundImage=\"simple\"\n        [nzNotFoundContent]=\"notFoundContentTemplate\"\n        [nzNotFoundFooter]=\"addButtonTemplate\"\n    >\n    </nz-empty>\n    <ng-template #notFoundContentTemplate>\n        <div nz-typography nzType=\"secondary\" [innerHtml]=\"to?.placeholder\"></div>\n    </ng-template>\n</ng-template>\n\n<ng-template #addButtonTemplate>\n    <button\n        nz-button \n        nzType=\"primary\"\n        *ngIf=\"!this.form?.disabled\"\n        (click)=\"newSimulation()\">\n        <i nz-icon nzType=\"audit\" nzTheme=\"outline\"></i>\n        Inserisci dati\n    </button>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { XnProposalItemEarningSimulatorFieldComponent } from './xn-proposal-item-earning-simulator-field.component';\nimport { FormlySelectModule, XnFormlyModule } from '@exin/core/formly';\nimport { XnEarningsSimulatorListModule } from '@exin/earnings-simulator/list';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { NzModalModule, NzButtonModule, NzCardModule, NzEmptyModule, NzFormModule, NzRadioModule, NzTableModule, NzTypographyModule } from '@exin/core/ant-design';\nimport { XnPipesModule } from '@exin/core/pipes';\nimport { XnProposalItemEarningSimulatorModalComponent } from './xn-proposal-item-earning-simulator-modal/xn-proposal-item-earning-simulator-modal.component';\nimport { XnEsCommissionLevelsModule } from '@exin/earnings-simulator/commission-levels';\n\nexport const formlyModule = XnFormlyModule.forRoot({\n  types: [{\n    name: 'select-earning-simulator',\n    component: XnProposalItemEarningSimulatorFieldComponent,\n  }],\n  \n   extras: {\n       checkExpressionOn: 'changeDetectionCheck',\n       lazyRender:false,\n       immutable:false,\n       resetFieldOnHide: false,\n   },\n});\n\n@NgModule({\n  declarations: [\n    XnProposalItemEarningSimulatorFieldComponent,\n    XnProposalItemEarningSimulatorModalComponent,\n  ],\n  // entryComponents: [\n  //   XnProposalItemEarningSimulatorFieldComponent,\n  //   XnProposalItemEarningSimulatorModalComponent,\n  // ],\n  imports: [\n    CommonModule,\n    ReactiveFormsModule,\n    FormlySelectModule,\n    NzRadioModule,\n    NzTypographyModule,\n    NzTableModule,\n    NzFormModule,\n    NzCardModule,\n    NzEmptyModule,\n    NzButtonModule,\n    NzModalModule,\n    formlyModule,\n    XnEarningsSimulatorListModule,\n    XnPipesModule,\n    XnEsCommissionLevelsModule,\n  ],\n})\nexport class XnProposalItemEarningSimulatorFieldModule { }\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { USE_PROPOSAL_DOCUMENTS_FIELDS, USE_PROPOSAL_IDENTITY_TARGET_FIELDS, USE_PROPOSAL_EARNING_SIMULATOR, XnProposalItemComponent } from './xn-proposal-item/xn-proposal-item.component';\nimport { XnFormlyFieldConfig, XnFormlyModule } from '@exin/core/formly';\nimport { NzListModule, NzStepsModule, NzCardModule, NzAlertModule, NzIconModule, NzTypographyModule, NzButtonModule, NzPopconfirmModule } from '@exin/core/ant-design';\nimport { XnProposalItemIncentivesComponent } from './xn-proposal-item-incentives/xn-proposal-item-incentives.component';\nimport { XnProposalItemIdentityTargetComponent } from './xn-proposal-item-identity-target/xn-proposal-item-identity-target.component';\nimport { XnProposalItemDocumentsComponent } from './xn-proposal-item-documents/xn-proposal-item-documents.component';\nimport { XnProposalModule } from '@exin/proposal/shared';\nimport { XnProposalItemEarningSimulatorComponent } from './xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator.component';\nimport { XnProposalItemEarningSimulatorFieldModule } from './xn-proposal-item-earning-simulator/xn-proposal-item-earning-simulator-field/xn-proposal-item-earning-simulator-field.module';\nimport { XnProposalItemApproveFormRequestComponent } from './xn-proposal-item-approve-form-request/xn-proposal-item-approve-form-request.component';\n\nexport interface XnProposalItemModuleConfig {\n  proposal_identity_target_fields?: XnFormlyFieldConfig[],\n  proposal_documents_fields?: XnFormlyFieldConfig[],\n  proposal_use_earning_simulator?: boolean,\n}\n\nconst COMPONENTS = [\n  XnProposalItemComponent,\n  XnProposalItemIncentivesComponent,\n  XnProposalItemIdentityTargetComponent,\n  XnProposalItemDocumentsComponent,\n  XnProposalItemEarningSimulatorComponent,\n  XnProposalItemApproveFormRequestComponent,\n] \n\n@NgModule({\n  imports: [\n    CommonModule,\n    XnProposalModule,\n    XnFormlyModule,\n    NzStepsModule,\n    NzCardModule,\n    NzAlertModule,\n    NzIconModule,\n    NzTypographyModule,\n    NzButtonModule,\n    NzPopconfirmModule,\n    NzListModule,\n    XnProposalItemEarningSimulatorFieldModule,\n  ],\n  declarations: [\t\n    ...COMPONENTS,\n   ],\n  exports: [\n    ...COMPONENTS,\n  ],\n  providers: [\n    { provide: USE_PROPOSAL_IDENTITY_TARGET_FIELDS, useValue: null },\n    { provide: USE_PROPOSAL_DOCUMENTS_FIELDS, useValue: null },\n    { provide: USE_PROPOSAL_EARNING_SIMULATOR, useValue: null},\n\n  ]\n})\nexport class XnProposalItemModule {\n  static withConfig(config: XnProposalItemModuleConfig = {}): ModuleWithProviders<XnProposalItemModule> {\n    return {\n      ngModule: XnProposalItemModule,\n      providers: [\n        { provide: USE_PROPOSAL_IDENTITY_TARGET_FIELDS, useValue: config.proposal_identity_target_fields },\n        { provide: USE_PROPOSAL_DOCUMENTS_FIELDS, useValue: config.proposal_documents_fields },\n        { provide: USE_PROPOSAL_EARNING_SIMULATOR, useValue: config.proposal_use_earning_simulator},\n      ]\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1","i2","i4","i1.XnProposalItemService","i6","i10.XnProposalItemIncentivesComponent","i11.XnProposalItemIdentityTargetComponent","i12.XnProposalItemDocumentsComponent","i13.XnProposalItemEarningSimulatorComponent","i5","i7","i8","i9","i10"],"mappings":"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"}