Možnost vykreslení vlastního TextInput

Polki
Člen | 553
+
0
-

Udělal jsem si trait:

trait ControlAddress {
    public function addAddress(string $name, string $label = null): InputAddress
    {
        return $this[$name] = new InputAddress($label);
    }
}

Důvod dotazu:
můj TextInput pro adresu (InputAddress) pracuje s Google api. Tento text input využívám na spoustě míst ve spoustě formulářů.

Dotaz:
Jde udělat, že si k TextInputu připnu nějakým způsobem .latte soubor, abych to nemusel ručně vykreslovat všude?

Mám tím na mysli abych mohl napsat pouze:

{input datum}

a to aby si natáhlo samo všechny knihovny pro práci i s nastavením.

Nebo si musím všude, kde to chci použít includnout .latte soubor, do kterého to vykreslím?
příklad:

{include './date.latte', ['input' => $form['datum']]}

Díky předem za odpovědi.

Marek Bartoš
Nette Blogger | 1173
+
0
-

Na to bys potřeboval mít ve formuláři renderer založený na latte a přidávat šablony podobně, jako to dělá nextras/datagrid a nahradit tak manuální render sadou šablon.

Polki
Člen | 553
+
0
-

No zatím jsem to vyřešil tak, že pro JS obsluhu jsem vytvořil JS soubory, které si nalinkuješ, když tyto moje traity použiješ a pak jsem vytvořil komponentu formuláře, která má nějaký svůj defaultní renderer, který vykreslí ty komponenty jak má.

Jen nevím, jak předat tomu rendereru, aby když se uživatel snaží vykreslit můj vlastní input v traitě, pomocí makra input, tak aby ho to vykreslilo specificky tak, jak to dělá nette samo. Třeba u selectů, že doplní optiony a tak.

Zkusím projít ten nextras zatím díky za radu :)