Jet\Form_Renderer

Obecná abstraktní třída rendererů všech formulářových prvků - tedy základní třída od které dědí všechny ostatní třídy rendererů.

Přehled metod

Metoda Význam
public getViewDir(
) : string
Vrátí cestu ke kořenovému adresáři view skriptů elementů formuláře. Je zde několik důležitých faktorů:
  • Výchozí cesta je určena systémovou konfigurací SysConf_Jet_Form a před použitím formulářů je nutné ji nastavit (například v inicializátoru báze).
  • Metoda funguje kaskádově. To znamená, že výchozí hodnotu má nastavenou renderer celého formuláře. Od toho hodnotu přebírá renderer pole a od tohoto rendereru hodnotu berou renderery dílčích prvků (popisu, chybových hlášek, kontejnerů a vstupních prvků samotných). Pokud žádný z následujících renderů nemá nastavenou vlastní hodnotu, tak vždy přebírá hodnotu renderu nadřazeného.
public setViewDir(
string $views_dir
) : void
Nastavuje cestu ke kořenovému adresáři view skriptů elementů formuláře.

Viz metoda getViewDir.

I tato metoda funguje kaskádově. Tedy můžete například celému formuláři nastavit jinou kořenovou cestu než je ta výchozí - nastavená systémovou konfigurací. To se hodí například v situaci, kdy vytváříte formulář se zcela unikátní podobou. Takto nastavená cesta je pak relevantní pro všechny elementy formuláře.

Ovšem můžete nastavit vlastní cestu i jednotlivým elementům.
public getView(
) : MVC_View
Vrátí připravenou a natavenou instanci view daného rendereru. Každý jednotlivý renderer si drží svou instanci view. V případě potřeby je tedy možné pomocí této instance předávat view skriptů další parametry a hodnoty.
public getWidth(
) : array|null
Vrací nastavené šířky daného elementu.
public setWidth(
array $width
) : void
Nastavuje šířky daného elementu.
public setWidthCssClassesCreator(
callable $width_css_classes_creator
) : void
Nastavuje vytvářeč, který transformuje nastavení šířek elementu na CSS třídy.

Toto přímo souvisí se zobrazením elementu, proto nastavení vytvářeče najdete až view skriptech elementů samotných.

Má například tuto podobu: $renderer->setWidthCssClassesCreator(
   function( 
string $sizestring $width ) : string {
        return 
'col-' $size '-' $width;
   }
);
public getWidthCssClassesCreator(
) : ?callable
Vrátí vytvářeč CSS tříd dle nastavení šířek. Viz metoda setWidthCssClassesCreator.
public addJsAction(
string $event,
string $handler_code
) : static
Umožňuje danému elementu přidat obsluhu událostí a volání JavaScript.
Ukažme si rovnou příklad z praxe. V administraci ve správě uživatelů je možnost uživatele filtrovat dle role. Filtr se po výběru automaticky odesílá: $filter_form
        
->field'role' )
        ->
input()
        ->
addJsAction'onchange''this.form.submit()' )
Tedy: Z formuláře získáme instanci příslušného pole, z pole získáme instanci renderu samotného vstupního prvku (v tomto případě Select) a té přidáme obsluhu události.

Všimněte si prosím, že metoda vrací instanci renderu. Je tedy možné rovnou volat další metody renderu - například tak zřetězit nastavení parametrů rendereru, nebo prvek rovnou zobrazit.

Ideálně by tato metoda měla být volána ve view kde se zobrazuje formulář, protože toto souvisí s logikou frontendu.
public getJsActions(
) : array
Vrátí nastavené obsluhy událostí. Viz metoda addJsAction.
public setBaseCssClass(
string $base_css_class
) : static
Nastavuje základní CSS třídu (nebo třídy - oddělené běžně znakem mezera) elementu.

Jelikož se jedná o záležitost vzhledu frontendu, tak má být toto volání prováděno ve view skriptu daného elemetu.
public getBaseCssClasses(
) : array
Vrací základní CSS třídy elementu. Viz metoda setBaseCssClass.
public addCustomCssClass(
string $class
) : static
Přidá jednu volitelnou CSS třídu elementu. Metodu je možné volat opakovaně - přidat tedy libovolný počet volitelných tříd.

Metodu je možné používat ve view ve kterém se daný formulář zobrazuje.
public getCustomCssClasses(
) : array
Vrátí seznam volitelných CSS tříd. Viz metoda addCustomCssClass.
public getWidthCssClasses(
) : array
Vygeneruje CSS třídy pro určení šířky elementu (viz metoda setWidthCssClassesCreator) a vrátí jejich seznam v podobě pole.
public getCssClasses(
) : array
Vrátí seznam všech CSS tříd, které elementu podle všech nastavení náleží. Seznam vrací v podobě pole.
public addCustomCssStyle(
string $style
) : static
Umožňuje v případě potřeby přidat elementu i volitelný CSS styl. Je možné volat metodu opakovaně.

Metodu je možné používat ve view ve kterém se daný formulář zobrazuje.
public getCssStyles(
) : array
Vrátí seznam volitelných CSS stylů. Viz metoda addCustomCssStyle.
public setDataAttribute(
string $attr,
string $value
) : static
Umožňuje elementu nastavit data-atributy. Tedy: data-something="SomeValue".

Metodu je možné používat ve view ve kterém se daný formulář zobrazuje.
public unsetDataAttribute(
string $attr
) : static
Ruší nastavení data-atributu. Viz metoda setDataAttribute.
public getDataAttributes(
) : array
Vrátí seznam všech nastavených data-atributu. Viz metoda setDataAttribute.
public setCustomTagAttribute(
string $attr,
string $value
) : static
Umožňuje nastavit libovolný atribut tagu daného elementu.

Metodu je možné používat ve view ve kterém se daný formulář zobrazuje.
public unsetCustomTagAttribute(
string $attr
) : static
Ruší volitelné nastavení atributu tagu elementu. Viz metoda setCustomTagAttribute.
public getCustomTagAttributes(
) : array
Vrátí aktuální volitelné nastavení atributů tagu elementu. Viz metoda setCustomTagAttribute.
public generateTagAttributes(
) : array
Podle aktuálního nastavení vygeneruje všechny atributy tagu elementu a vrátí je v podobě asociovaného pole.
public renderTagAttributes(
) : string
Podle aktuálního nastavení vygeneruje všechny atributy tagu elementu a rovnou vygeneruje řetězec, který je možné zobrazit.
Předchozí kapitola
Zobrazovaní formulářů
Další kapitola
Jet\Form_Renderer_Single