move field names in a single place

This commit is contained in:
2026-07-14 16:20:08 +02:00
parent 2c8a24032f
commit 6b5aa556fe
@@ -43,6 +43,13 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
/** Ref al container per gestire il click-outside */ /** Ref al container per gestire il click-outside */
private autocompleteRef: React.RefObject<HTMLDivElement | null> = React.createRef(); private autocompleteRef: React.RefObject<HTMLDivElement | null> = 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 */ /** Codice fiscale letto dalla query string (COL0009), usato solo per la chiamata API */
private codiceFiscale: string; private codiceFiscale: string;
@@ -210,10 +217,10 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
this.setState({ this.setState({
formData: { formData: {
...this.state.formData, ...this.state.formData,
COL0010: contract.idContratto, [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idContratto]: contract.idContratto,
COL0020: contract.titoloContratto, [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.titoloContratto]: contract.titoloContratto,
COL0030: contract.idDomanda, [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idDomanda]: contract.idDomanda,
COL0040: contract.idRicevuta, [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idRicevuta]: contract.idRicevuta,
}, },
}, () => { }, () => {
console.log('Contratto selezionato:', contract); console.log('Contratto selezionato:', contract);
@@ -230,10 +237,10 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
this.setState({ this.setState({
formData: { formData: {
...this.state.formData, ...this.state.formData,
COL0010: '', [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idContratto]: '',
COL0020: '', [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.titoloContratto]: '',
COL0030: '', [RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idDomanda]: '',
COL0040: '', [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 * - 4 campi hidden (COL0010, COL0020, COL0030, COL0040) per i dati da rimandare a elixForms
*/ */
protected override createCustomFormFields(formFieldFactory: IElixFormsComponentCustomFormFieldFactory): JSX.Element { protected override createCustomFormFields(formFieldFactory: IElixFormsComponentCustomFormFieldFactory): JSX.Element {
const col0010Value = this.state.formData['COL0010'] ?? ''; const fieldKeys = RecuperoPropostaCctDaContrattiComponent.formFieldKeys;
const col0020Value = this.state.formData['COL0020'] ?? ''; const idContratto = this.state.formData[fieldKeys.idContratto] ?? '';
const col0030Value = this.state.formData['COL0030'] ?? ''; const titoloContratto = this.state.formData[fieldKeys.titoloContratto] ?? '';
const col0040Value = this.state.formData['COL0040'] ?? ''; const idDomanda = this.state.formData[fieldKeys.idDomanda] ?? '';
const idRicevuta = this.state.formData[fieldKeys.idRicevuta] ?? '';
return ( return (
<> <>
{this.renderAutocomplete()} {this.renderAutocomplete()}
{/* Campi hidden per i dati del contratto selezionato — verranno inviati nel POST a elixForms */} {/* Campi hidden per i dati del contratto selezionato — verranno inviati nel POST a elixForms */}
<input type="hidden" id="COL0010_hidden" name="COL0010" value={col0010Value} /> <input type="hidden" id="idContratto_hidden" name={fieldKeys.idContratto} value={idContratto} />
<input type="hidden" id="COL0020_hidden" name="COL0020" value={col0020Value} /> <input type="hidden" id="titoloContratto_hidden" name={fieldKeys.titoloContratto} value={titoloContratto} />
<input type="hidden" id="COL0030_hidden" name="COL0030" value={col0030Value} /> <input type="hidden" id="idDomanda_hidden" name={fieldKeys.idDomanda} value={idDomanda} />
<input type="hidden" id="COL0040_hidden" name="COL0040" value={col0040Value} /> <input type="hidden" id="idRicevuta_hidden" name={fieldKeys.idRicevuta} value={idRicevuta} />
</> </>
); );
} }