From 6b5aa556fe1af4db3d67366d469630794e205e9d Mon Sep 17 00:00:00 2001 From: Pier-Paolo Mammi Date: Tue, 14 Jul 2026 16:20:08 +0200 Subject: [PATCH] move field names in a single place --- ...ecuperoPropostaCctDaContrattiComponent.tsx | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/react/recupero-proposta-cct-da-contratti/src/RecuperoPropostaCctDaContrattiComponent.tsx b/react/recupero-proposta-cct-da-contratti/src/RecuperoPropostaCctDaContrattiComponent.tsx index 6c082d3..887ffb1 100644 --- a/react/recupero-proposta-cct-da-contratti/src/RecuperoPropostaCctDaContrattiComponent.tsx +++ b/react/recupero-proposta-cct-da-contratti/src/RecuperoPropostaCctDaContrattiComponent.tsx @@ -43,6 +43,13 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo /** Ref al container per gestire il click-outside */ private autocompleteRef: React.RefObject = React.createRef(); + private static readonly formFieldKeys = { + idContratto: 'COL0010', + titoloContratto: 'COL0020', + idDomanda: 'COL0030', + idRicevuta: 'COL0040', + } as const; + /** Codice fiscale letto dalla query string (COL0009), usato solo per la chiamata API */ private codiceFiscale: string; @@ -210,10 +217,10 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo this.setState({ formData: { ...this.state.formData, - COL0010: contract.idContratto, - COL0020: contract.titoloContratto, - COL0030: contract.idDomanda, - COL0040: contract.idRicevuta, + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idContratto]: contract.idContratto, + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.titoloContratto]: contract.titoloContratto, + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idDomanda]: contract.idDomanda, + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idRicevuta]: contract.idRicevuta, }, }, () => { console.log('Contratto selezionato:', contract); @@ -230,10 +237,10 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo this.setState({ formData: { ...this.state.formData, - COL0010: '', - COL0020: '', - COL0030: '', - COL0040: '', + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idContratto]: '', + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.titoloContratto]: '', + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idDomanda]: '', + [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idRicevuta]: '', }, }); } @@ -332,20 +339,21 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo * - 4 campi hidden (COL0010, COL0020, COL0030, COL0040) per i dati da rimandare a elixForms */ protected override createCustomFormFields(formFieldFactory: IElixFormsComponentCustomFormFieldFactory): JSX.Element { - const col0010Value = this.state.formData['COL0010'] ?? ''; - const col0020Value = this.state.formData['COL0020'] ?? ''; - const col0030Value = this.state.formData['COL0030'] ?? ''; - const col0040Value = this.state.formData['COL0040'] ?? ''; + const fieldKeys = RecuperoPropostaCctDaContrattiComponent.formFieldKeys; + const idContratto = this.state.formData[fieldKeys.idContratto] ?? ''; + const titoloContratto = this.state.formData[fieldKeys.titoloContratto] ?? ''; + const idDomanda = this.state.formData[fieldKeys.idDomanda] ?? ''; + const idRicevuta = this.state.formData[fieldKeys.idRicevuta] ?? ''; return ( <> {this.renderAutocomplete()} {/* Campi hidden per i dati del contratto selezionato — verranno inviati nel POST a elixForms */} - - - - + + + + ); }