Banner
Informační banner (info, varování, chyba, úspěch) s titulkem a textem, který lze měnit pravidly.
Popis widgetu banner
Banner je barevný pruh s titulkem a textem. Hodí se pro upozornění, instrukce nebo stav, například „Rozpočet nad 100 000 Kč vyžaduje schválení“. Je to virtuální widget: nepatří k žádnému sloupci seznamu a neukládá se do položky (viz Co je widget).
Hlavní síla banneru je v pravidlech: typ, titulek i text banneru můžete měnit podle hodnot polí.
Přidání do formuláře
- V levé paletě přepněte z karty Pole na kartu Widgety.
- Přetáhněte Informační banner do sekce, nebo klikněte na „+“, které ho přidá na konec vybrané sekce.
- Klikněte na banner na plátně. Vpravo se otevře inspektor s jeho nastavením.
Nový banner je přes celou šířku sekce (colSpan 12), typ info, titulek „Důležitá informace“ a ukázkový text.
Nastavení v inspektoru
| Volba | Vlastnost | Význam | Výchozí |
|---|---|---|---|
| Typ banneru | bannerConfig.intent | info (Informace), warning (Varování), error (Chyba), success (Úspěch). Určuje barvu a ikonu. | info |
| Nadpis banneru | bannerConfig.title | Tučný titulek nad textem. Prázdný nadpis se nahradí vlastním popiskem widgetu (customLabel), pokud ho máte vyplněný. | prázdný |
| Obsah banneru | bannerConfig.content | Text banneru. Je povinný: prázdný obsah neprojde validací konfigurace. | ukázkový text |
| Vlastní popisek | customLabel | Název widgetu. Zobrazí se jako titulek, když není vyplněný nadpis. | „Informační banner“ |
| Šířka v sekci | colSpan | Šířka v sekci (25 % až 100 %, uloženo v dílech z 12). | 12 |
| Viditelné | defaultVisible | Výchozí viditelnost. Pravidla ji mohou za běhu změnit. | ano |
Volby Povinné a Jen pro čtení se u banneru nenabízejí.
Chování za běhu
- Nový, Úprava, Zobrazení: banner se vykreslí ve všech třech režimech stejně. Režim ho nijak neovlivňuje (omezit ho na konkrétní režim můžete pravidlem s podmínkou na systémové pole „Režim formuláře“ (
$formMode) a akcí setVisible). - Statický text: text z
bannerConfig.contentse zobrazí tak, jak je. Placeholdery se v něm nevyhodnocují. - Text z pravidla: hodnota z akce
setBannerTitlenebosetBannerContentpřepíše statickou hodnotu a v ní se placeholdery vyhodnocují. - Banner nemá žádné vstupy a nikdy nezpůsobí, že je formulář „změněný“.
Placeholdery v textu z pravidel
V hodnotě akcí setBannerTitle a setBannerContent můžete použít:
| Zápis | Dosadí se |
|---|---|
[Pole] nebo {Pole} | aktuální hodnota pole s daným interním názvem (u výběru, osoby nebo vyhledávání jeho popisek) |
@Me | jméno přihlášeného uživatele |
@Today | dnešní datum ve tvaru RRRR-MM-DD |
Prázdné nebo neznámé pole se nahradí prázdným textem. Dosazená hodnota se znovu nevyhodnocuje, takže uživatel nemůže do banneru propašovat další placeholder.
Překlady textů
Přeložit lze popisek widgetu (customLabel), nadpis (bannerTitle) a obsah (bannerText nebo bannerContent). Prázdný překlad se ignoruje a použije se základní text. Postup najdete v části Překlady a vícejazyčnost. Texty z pravidel se nepřekládají, píší se v jazyce, který chcete zobrazit.
Pravidla a skripty
- setBannerIntent: změní typ (barvu) banneru.
- setBannerTitle: změní nadpis, podporuje placeholdery.
- setBannerContent: změní text, podporuje placeholdery.
- setVisible: zobrazí nebo skryje banner. Skrytá sekce bez jiného viditelného prvku se nevykreslí vůbec.
Typický vzor: dvě pravidla na jednom banneru, jedno pro „zdravý“ stav (success) a druhé pro problém (warning). Nastavení je ve vizuálním editoru pravidel v části Řízeno pravidly u widgetu vidíte, která pravidla na banner odkazují.
Příklad konfigurace (JSON)
Widget banneru a pravidlo, které mu podle pole Stav změní typ a text.
{
"internalName": "widget_banner_stav",
"customLabel": "Stavový banner",
"fieldType": "banner",
"colSpan": 12,
"defaultVisible": true,
"bannerConfig": {
"intent": "info",
"title": "Informace",
"content": "Formulář je připraven k vyplnění."
}
}
{
"id": "rule-banner-zamitnuto",
"name": "Banner při zamítnutí",
"trigger": "always",
"matchType": "all",
"conditions": [
{ "fieldInternalName": "Stav", "operator": "equals", "value": "Zamítnuto" }
],
"actions": [
{ "targetFieldInternalName": "widget_banner_stav", "action": "setBannerIntent", "value": "error" },
{ "targetFieldInternalName": "widget_banner_stav", "action": "setBannerTitle", "value": "Žádost zamítnuta" },
{ "targetFieldInternalName": "widget_banner_stav", "action": "setBannerContent", "value": "Zamítl [Schvalovatel] dne @Today." }
]
}
Omezení a tipy
- Text banneru je čistý text bez formátování a odkazů. Víc řádků nebo nadpisů ve stylu stránky zajistí Textový blok.
- Placeholdery ve statickém obsahu nefungují. Potřebujete-li dynamický text, nastavte ho v pravidle akcí
setBannerContent; pravidlo se spouští také při otevření formuláře. - Banner nenahrazuje chybovou hlášku pole. Pro zablokování uložení použijte akci blockSave.