fieldKeys = $fieldKeys; $this->minCharsForSearch = $minCharsForSearch; // Recupera il codice fiscale dalla query string $this->codiceFiscale = QueryParamHelper::getDecodedTextFromQuery($fieldKeys['codiceFiscale']) ?? ''; } /** * Genera l'HTML e CSS del componente Autocomplete e i relativi campi nascosti. */ protected function createCustomFormFields(): string { $escapedCodFis = htmlspecialchars($this->codiceFiscale, ENT_QUOTES, 'UTF-8'); $minChars = $this->minCharsForSearch; // Campi di output definiti nella configurazione $outCodiceContratto = htmlspecialchars($this->fieldKeys['codiceContratto']); $outTitoloContratto = htmlspecialchars($this->fieldKeys['titoloContratto']); $outIdDomanda = htmlspecialchars($this->fieldKeys['idDomanda']); $outIdRicevuta = htmlspecialchars($this->fieldKeys['idRicevuta']); // Recupero di eventuali valori correnti dal GET per precompilazione iniziale $currCodice = htmlspecialchars(QueryParamHelper::getDecodedTextFromQuery($this->fieldKeys['codiceContratto']) ?? '', ENT_QUOTES, 'UTF-8'); $currTitolo = htmlspecialchars(QueryParamHelper::getDecodedTextFromQuery($this->fieldKeys['titoloContratto']) ?? '', ENT_QUOTES, 'UTF-8'); $currDomanda = htmlspecialchars(QueryParamHelper::getDecodedTextFromQuery($this->fieldKeys['idDomanda']) ?? '', ENT_QUOTES, 'UTF-8'); $currRicevuta = htmlspecialchars(QueryParamHelper::getDecodedTextFromQuery($this->fieldKeys['idRicevuta']) ?? '', ENT_QUOTES, 'UTF-8'); $initialSearchText = ''; if ($currCodice !== '' && $currTitolo !== '') { $initialSearchText = "[{$currCodice}] {$currTitolo}"; } // Layout del campo di ricerca $autocompleteInputHtml = <<