move magic values to configuration file

This commit is contained in:
2026-07-17 13:46:12 +02:00
parent c3d4c2a660
commit fefb45505c
5 changed files with 57 additions and 32 deletions
@@ -38,17 +38,17 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
private autocompleteRef: React.RefObject<HTMLDivElement | null> = React.createRef();
private static readonly formFieldKeys = {
idContratto: 'COL0010',
titoloContratto: 'COL0020',
idDomanda: 'COL0030',
idRicevuta: 'COL0040',
codiceContratto: config.elixForms.outputs.codiceContratto,
titoloContratto: config.elixForms.outputs.titoloContratto,
idDomanda: config.elixForms.outputs.idDomanda,
idRicevuta: config.elixForms.outputs.idRicevuta,
} as const;
private codiceFiscale: string;
constructor(props: any) {
super(props);
this.codiceFiscale = QueryParamHelper.getDecodedTextFromQuery('COL0009') ?? '';
this.codiceFiscale = QueryParamHelper.getDecodedTextFromQuery(config.elixForms.inputs.codiceFiscale) ?? '';
}
override componentDidMount(): void {
@@ -75,17 +75,17 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
this.forceUpdate();
try {
const url = new URL(config.apiUrl);
const url = new URL(config.contrattiWS.apiUrl);
url.searchParams.set('cod_fis', this.codiceFiscale);
url.searchParams.set('term', searchTerm);
const credentials = btoa(`${config.apiUsername}:${config.apiPassword}`);
const credentials = btoa(`${config.contrattiWS.apiUsername}:${config.contrattiWS.apiPassword}`);
const response = await fetch(url.toString(), {
method: 'GET',
headers: {
Authorization: `Basic ${credentials}`,
'X-Api-Key': config.apiKey,
'X-Api-Key': config.contrattiWS.apiKey,
Accept: 'application/json',
},
});
@@ -129,7 +129,7 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
clearTimeout(this.debounceTimer);
}
if (text.length >= config.minCharsForSearch) {
if (text.length >= config.component.minCharsForSearch) {
this.debounceTimer = setTimeout(() => {
this.fetchContratti(text);
}, 300);
@@ -184,7 +184,7 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
this.setState({
formData: {
...this.state.formData,
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idContratto]: contract.idContratto,
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.codiceContratto]: contract.idContratto,
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.titoloContratto]: contract.titoloContratto,
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idDomanda]: contract.idDomanda,
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idRicevuta]: contract.idRicevuta,
@@ -198,7 +198,7 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
this.setState({
formData: {
...this.state.formData,
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idContratto]: '',
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.codiceContratto]: '',
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.titoloContratto]: '',
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idDomanda]: '',
[RecuperoPropostaCctDaContrattiComponent.formFieldKeys.idRicevuta]: '',
@@ -287,7 +287,7 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
protected override createCustomFormFields(formFieldFactory: IElixFormsComponentCustomFormFieldFactory): JSX.Element {
const fieldKeys = RecuperoPropostaCctDaContrattiComponent.formFieldKeys;
const idContratto = this.state.formData[fieldKeys.idContratto] ?? '';
const idContratto = this.state.formData[fieldKeys.codiceContratto] ?? '';
const titoloContratto = this.state.formData[fieldKeys.titoloContratto] ?? '';
const idDomanda = this.state.formData[fieldKeys.idDomanda] ?? '';
const idRicevuta = this.state.formData[fieldKeys.idRicevuta] ?? '';
@@ -295,7 +295,7 @@ export default class RecuperoPropostaCctDaContrattiComponent extends ElixFormsCo
return (
<>
{this.renderAutocomplete()}
<input type="hidden" id="idContratto_hidden" name={fieldKeys.idContratto} value={idContratto} />
<input type="hidden" id="idContratto_hidden" name={fieldKeys.codiceContratto} 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} />