move field names in a single place
This commit is contained in:
+24
-16
@@ -43,6 +43,13 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
|
||||
/** Ref al container per gestire il click-outside */
|
||||
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 */
|
||||
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 */}
|
||||
<input type="hidden" id="COL0010_hidden" name="COL0010" value={col0010Value} />
|
||||
<input type="hidden" id="COL0020_hidden" name="COL0020" value={col0020Value} />
|
||||
<input type="hidden" id="COL0030_hidden" name="COL0030" value={col0030Value} />
|
||||
<input type="hidden" id="COL0040_hidden" name="COL0040" value={col0040Value} />
|
||||
<input type="hidden" id="idContratto_hidden" name={fieldKeys.idContratto} value={idContratto} />
|
||||
<input type="hidden" id="titoloContratto_hidden" name={fieldKeys.titoloContratto} value={titoloContratto} />
|
||||
<input type="hidden" id="idDomanda_hidden" name={fieldKeys.idDomanda} value={idDomanda} />
|
||||
<input type="hidden" id="idRicevuta_hidden" name={fieldKeys.idRicevuta} value={idRicevuta} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user