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 = <<
ID Contratto:
Titolo:
ID Domanda:
ID Ricevuta:
HTML; $labelHtml = ''; return (new \ElixForms\Common\ElixFormsElement($labelHtml, $autocompleteInputHtml))->render(); } /** * Inietta i CSS specifici per l'autocomplete e la card. */ protected function renderExtraContentPre(): string { ob_start(); ?> codiceFiscale, ENT_QUOTES, 'UTF-8'); $minChars = $this->minCharsForSearch; ob_start(); ?> $config['elixForms']['inputs']['codiceFiscale'], 'idDomanda' => $config['elixForms']['outputs']['idDomanda'], 'idRicevuta' => $config['elixForms']['outputs']['idRicevuta'], 'codiceContratto'=> $config['elixForms']['outputs']['codiceContratto'], 'titoloContratto'=> $config['elixForms']['outputs']['titoloContratto'], ], $config['component']['minCharsForSearch'] ?? 3 ); echo $page->render();