Vlastní tlačítko
Tlačítko ve formuláři, které po kliknutí provede nakonfigurované akce.
Popis widgetu customButton
Widget Procesní tlačítko vloží vlastní tlačítko přímo do rozložení formuláře, na místo, které zvolíte, místo do dolní lišty. Samotné tlačítko (popisek, vzhled, podmínka zobrazení, akce a uložení po kliknutí) se definuje na kartě Tlačítka v návrháři. Widget určuje jen kde se tlačítko zobrazí a jak je zarovnané. Akce tlačítek popisuje stránka Vlastní tlačítka, například Nastavit hodnotu nebo Zavolat funkci. Je to virtuální widget, neukládá se do položky.
Přidání do formuláře
Existují dva způsoby:
- Z editoru tlačítek: na kartě Tlačítka klikněte u tlačítka na Vložit jako widget do aktivní záložky v Rozvržení. Návrhář přidá widget do první sekce aktivní záložky, naváže ho na toto tlačítko a ukáže potvrzení. Poté ho na kartě Rozvržení přesuňte, kam potřebujete.
- Z palety: na kartě Widgety přetáhněte Procesní tlačítko do sekce a v inspektoru vyberte Navázané tlačítko.
Po umístění editor tlačítek u tlačítka místo „Zobrazuje se v dolní liště“ ukáže „Umístěno jako widget v rozvržení: záložka → sekce“. Tlačítko navázané na widget se v dolní liště nezobrazuje, aby nebylo dvakrát. To platí i ve chvíli, kdy je skryté podmínkou.
Widget z palety, který nemá vybrané tlačítko, se ve formuláři nevykreslí vůbec. Nejdřív proto vytvořte tlačítko na kartě Tlačítka, teprve potom vyberte Navázané tlačítko. Dropdown se nabízí, jen když v konfiguraci nějaké tlačítko existuje.
Nastavení v inspektoru
| Volba | Vlastnost | Význam | Výchozí |
|---|---|---|---|
| Navázané tlačítko | customButtonConfig.buttonId | Které tlačítko z karty Tlačítka se v tomto místě zobrazí. Výběr také přepíše popisek widgetu (customLabel) na popisek tlačítka. | vlastní internalName widgetu |
| Zarovnání tlačítka | customButtonConfig.alignment | left (Vlevo), center (Střed), right (Vpravo), stretch (100 %, přes celou šířku buňky). | left |
| Šířka v sekci | colSpan | Šířka buňky v 12sloupcové mřížce. Tlačítko je vždy ve své buňce zarovnané podle volby výše. | 4 |
| Viditelné, Jen pro čtení | defaultVisible, defaultReadOnly | Výchozí viditelnost a zamčení. Zamčené tlačítko je šedé a nereaguje. | ano, ne |
Vzhled (appearance: primary, secondary, outline, subtle), popisek, režimy, podmínka, akce, potvrzovací dotaz a „uložit po akcích“ patří tlačítku, ne widgetu, a upravují se na kartě Tlačítka.
Chování za běhu
- Viditelnost: widget se zobrazí, jen když je viditelné navázané tlačítko, tedy je-li aktuální režim v jeho Zobrazit v režimech (výchozí Nový a Úprava) a platí jeho podmínka (například pole
Stavje „Návrh“). Navíc musí být viditelný i widget sám (setVisible). Sekce, ve které nic jiného viditelné není, se skryje celá. - Popisek bere widget z tlačítka, případně z
customLabelnebo výchozího „Tlačítko“. - Kliknutí: provede se stejný postup jako u tlačítka v dolní liště: případný potvrzovací dotaz, pak akce postupně shora dolů (
setValue,setExpression,callFunction) a nakonec, je-li zapnuto „uložit po akcích“, validace a uložení formuláře. Podrobnosti jsou na stránce Vlastní tlačítka. - Zamčené tlačítko: je-li widget jen pro čtení (výchozí zámek nebo akce setReadOnly), tlačítko je neaktivní.
- Zobrazení: v režimu Zobrazení jsou všechna pole zamčená, takže se widget, i když je tlačítko pro tento režim povoleno, vykreslí neaktivní. Pro režim Zobrazení tedy tlačítko-widget nepoužívejte, použijte tlačítko v dolní liště.
Překlady textů
Popisek zobrazeného tlačítka se překládá přes překlady tlačítek (klíčem je id tlačítka), ne přes widget. Viz Překlady a vícejazyčnost a Vlastní tlačítka.
Pravidla a skripty
- setVisible: skryje widget, nezávisle na podmínce tlačítka.
- setReadOnly: tlačítko zneaktivní.
- Viditelnost podle hodnoty pole nebo skupiny uživatele řešte raději podmínkou tlačítka na kartě Tlačítka. Podmínka může ověřit i skupinu uživatele a režim formuláře.
- Funkci, kterou tlačítko volá, píšete v Skriptech.
Příklad konfigurace (JSON)
Tlačítko definované v customButtons a widget, který ho umístí do rozložení:
{
"id": "btn_ke_schvaleni",
"label": "Odeslat ke schválení",
"appearance": "primary",
"showInModes": ["new", "edit"],
"condition": { "fieldInternalName": "Stav", "operator": "equals", "value": "Návrh" },
"actions": [
{ "type": "setValue", "fieldInternalName": "Stav", "value": "Ke schválení" }
],
"submitForm": true,
"confirmMessage": "Opravdu odeslat ke schválení?"
}
{
"internalName": "widget_button_ke_schvaleni",
"customLabel": "Odeslat ke schválení",
"fieldType": "customButton",
"colSpan": 4,
"defaultVisible": true,
"customButtonConfig": {
"buttonId": "btn_ke_schvaleni",
"alignment": "left"
}
}
Omezení a tipy
- Jedno tlačítko lze umístit víckrát, vždy se zobrazí na všech místech a na žádném není v dolní liště.
- Nechcete-li tlačítko umístit do rozložení, widget nepoužívejte: tlačítko se samo zobrazí v dolní liště.
- Při smazání tlačítka z karty Tlačítka zůstane widget v rozložení nevykreslený. Odeberte ho i z rozložení.
- Šířka buňky (
colSpan) i zarovnání platí jen v dané sekci. Na úzké obrazovce se buňky řadí pod sebe jako ostatní pole.