1. Základní informace

1.1. Popis ovládacího prvku

Button je tlačítko, které slouží k volání javascriptových funkcí ve webovém prohlížeči, skriptů na straně serveru, tisku databázových záznamů do tiskových šablon, přesměrování uživatele do konkrétního editačního formuláře nebo na konkrétní nahlížecí stránku.

1.2. Vytvoření nového ovládacího prvku

1.3. Editace nebo smazání ovládacího prvku

  • U každého existujícího ovládacího prvku se po jeho levé straně v editačním formuláři zobrazuje ikona tužky, která slouží pro změnu nastavení ovládacího prvku nebo jeho smazání.
  • Jednotlivé ovládací prvky mohou být v editačním formuláři vertikálně přesouvány metodou Drag&Drop. Přesunutí spočívá v chycení ovládacího prvku nejlépe za jeho název umístěný v levém sloupci editačního formuláře, a následném tažení až na požadované místo v editačním formuláři.
  • Ovládací prvky je možné přesouvat jen se zaškrtnutým polem „Drag&Drop“ umístěným nad toolbarem s ovládacími prvky. Z bezpečnostních důvodů je toto pole po každém přihlášení do aplikace nezaškrtnuté, aby nedošlo k nechtěnému přesunutí ovládacího prvku.

2. Seznam záložek v dialogu nastavení ovládacího prvku

  • Obecné – Nastavení obecných vlastností
  • Událost – Nastavení událostí
  • Nápověda – Nastavení textu nápovědy
  • Práva – Nastavení práv
  • Administrace – Nastavení ostatních vlastností

2.1. Záložka „Obecné“

2.1.1. Název

  • Název ovládacího prvku zobrazovaný v editačním formuláři uvnitř tlačítka.
  • Umístění názvu ovládacího prvku mezi dvě pajpy nastaví vzhled tlačítka jako typ B – například „|Smazat|“.
  • Za pravou pajpou může následovat CSS styl textu tlačítka – například „|Smazat|font-weight:bold“.

2.1.2. Slovník

  • Slovník zobrazuje seznam názvů ostatních ovládacích prvků, formulářů, nahlížecích stránek, kategorií, aplikací a aplikačních skupin, použitých napříč celou aplikací.
  • Vyhledávání ve slovníku slouží k navržení správného názvu ovládacího prvku a k udržení konzistence názvosloví v celé aplikaci tak, aby se ovládací prvky se stejným významem umístěné na různých místech v aplikaci nazývaly stejným způsobem.

2.1.3. Šířka

  • Šířka ovládacího prvku uvedená v pixelech, v rozsahu 10 až 10 000 px.
  • Bez vyplněné výšky jde o minimální šířku – delší název tlačítko rozšíří. S vyplněnou výškou je šířka pevná a název se v tlačítku zalamuje do více řádků.
  • Při nevyplnění tohoto zadávacího pole bude šířka tlačítka určena automaticky webovým prohlížečem.

2.1.4. Výška

  • Výška ovládacího prvku uvedená v pixelech, v rozsahu 10 až 10 000 px.
  • Vyplněná výška zároveň změní šířku tlačítka na pevnou a povolí zalamování názvu tlačítka do více řádků.
  • Při nevyplnění tohoto zadávacího pole bude výška tlačítka určena automaticky webovým prohlížečem.

2.1.5. Typ

  • Typ určuje vzhled a význam tlačítka.
    • Typ A – tlačítko výraznějšího vzhledu používané pro události s větším významem
    • Typ B – tlačítko méně výrazného vzhledu používané pro události s menším významem

2.1.6. Možnosti

  • Skryté tlačítko
    • Nastavení skrytého tlačítka určuje, zda má být tlačítko součástí editačního formuláře, avšak v uživatelském režimu nemá být viditelné.
    • Skryté tlačítko je možné dohledat ve zdrojovém kódu webové stránky, a je na něj také možné programově kliknout pomocí javascriptu (například pomocí javascriptové funkce „bt_Click“).
    • Skryté tlačítko nelze používat jako součást bezpečnostních opatření, k tomu se používají práva na ovládací prvek.
  • Přichytit k předchozímu ovládacímu prvku
    • Zaškrtnutí tohoto pole určuje, zda má být tlačítko v editačním formuláři zobrazeno napravo vedle předchozího, nebo bude zobrazeno běžným způsobem pod předchozím ovládacím prvkem.
    • Je-li předchozí ovládací prvek také tlačítko, dochází k automatickému přichytávání tlačítek za sebe. Neplatí to, je-li některé z obou tlačítek skryté nebo má-li předchozí tlačítko vyplněnou nápovědu.

2.2. Záložka „Událost“

2.2.1. Klient

  • Zadávací pole „Klient“ určuje seznam javascriptových příkazů, které se vykonají po stisknutí tlačítka. Rozbalovací seznam nabízí následující často používané javascriptové funkce:
    • Opravdu chcete ... ? – return jsConfirm(this, 'Opravdu chcete ... ?');
    • AJAX... – return bt_Eval(this, 'ngef.aspx?test', 'evalFunction');
  • Tlačítka nastavená jako „Skript“, „Tisk do šablony“, „Otevřít nahlížecí stránku“ nebo „Otevřít editační formulář“ nejprve spustí javascriptový kód definovaný v poli „Klient“ (pokud je definován). Za ním se u typů „Otevřít editační formulář“ a „Tisk do šablony“ a u typů „Otevřít nahlížecí stránku“ a „Skript“ se zaškrtnutým krokem „1. Uložit záznam“ nebo „3. Uložit záznam“ vyhodnotí také JavaScript tlačítka „Uložit“ nastavený v ovládacím prvku „ActionButtons“, a to jen tehdy, nevrátí-li kód z pole „Klient“ hodnotu příkazem „return“ dřív. Vrátí-li JavaScript tlačítka „Uložit“ nepravdivou hodnotu, tlačítko se neprovede. Následně vyvolají postback, resp. submit formuláře metodou POST – dojde k odeslání všech hodnot vyplněných ve formuláři včetně informace o tlačítku, které postback vyvolalo.
  • Na straně serveru se poté provedou kroky nastavené v části „Možnosti“. Tlačítko typu „Skript“ po jejich dokončení vrátí uživatele zpět do editačního formuláře, nenaplánuje-li skript jinou navigaci. Tlačítka ostatních typů přesměrují uživatele na svůj cíl, případně nabídnou vytištěný dokument; navigace naplánovaná v jejich skriptu (SCHEDULEFORM, SCHEDULEVIEWPAGE, SCHEDULEURL a další) se neprovede, s výjimkami popsanými u typů „Otevřít editační formulář“ a „Tisk do šablony“. Po dobu zpracování je obsah formuláře skryt a v horní části je zobrazen text „Prosím čekejte...“.
  • Kliknutí na tlačítko je možné vyvolat programově pomocí javascriptové funkce „bt_Click“. Detailní popis javascriptových funkcí je uveden v samostatné příručce JavaScriptové funkce.

2.2.2. Server

  • Server určuje typ příkazu, který se vykoná po stisknutí tlačítka na straně serveru.

2.2.3. Možnosti

  • 1. Uložit záznam
    • Zaškrtnutí tohoto pole určuje, zda má být po stisknutí tlačítka v prvním kroku na straně serveru uložen aktuálně otevřený záznam v editačním formuláři.
    • Nedojde-li k úspěšnému uložení záznamu, znamená to ukončení provádění události tohoto tlačítka, návrat zpět do editačního formuláře a zobrazení chybového hlášení uživateli.
    • U typu „Tisk do šablony“ (vynucený krok „1. Uložit záznam“) a u typu „Otevřít editační formulář“ bez spuštění skriptu (vynucený krok „3. Uložit záznam“) se vynucené uložení záznamu tiše přeskočí, nezobrazuje-li editační formulář žádné z tlačítek „Uložit“, „Uložit a nový“ a „Uložit a pokračovat v editaci“ nebo je-li formulář pouze pro čtení; tlačítko pak pokračuje bez uložení záznamu.
  • 2. Spustit skript
    • Zaškrtnutí tohoto pole určuje, zda má být po stisknutí tlačítka ve druhém kroku na straně serveru spuštěn serverový skript definovaný v grafickém návrháři skriptů. Detailní popis návrháře skriptů je uveden v samostatné příručce Návrhář skriptů.
  • 3. Uložit záznam
    • Zaškrtnutí tohoto pole určuje, zda má být po stisknutí tlačítka ve třetím kroku na straně serveru uložen aktuálně otevřený záznam v editačním formuláři.
  • Některé kroky jsou pro daný typ příkazu vynucené – v dialogu jsou zaškrtnuté a nelze je změnit:
    • Otevřít editační formulář – „3. Uložit záznam“
    • Tisk do šablony – „1. Uložit záznam“
    • Skript – „2. Spustit skript“

(Nic)

  • Tlačítko je určeno pouze k volání javascriptových funkcí ve webovém prohlížeči.
  • Detailní popis javascriptových funkcí je uveden v samostatné příručce JavaScriptové funkce.

Otevřít editační formulář

  • Tlačítko přesměruje uživatele do konkrétního editačního formuláře za účelem vytvoření nového záznamu v databázi.
  • V cílovém editačním formuláři bude nastavena hodnota cizího klíče „pid“ a „pform“ na aktuálně otevřený záznam ve formuláři s tlačítkem. Skript tlačítka může rodičovský záznam změnit funkcí „SCHEDULEDEFAULTVALUE“ s identifikátorem „pid“, resp. „pform“.

Otevřít nahlížecí stránku

  • Tlačítko přesměruje uživatele na konkrétní nahlížecí stránku.

Tisk do šablony

  • Tlačítko vyvolá tisk do zvolené tiskové šablony uložené v adresáři „NETGenium\Templates“.
  • Veškeré formátování a nastavení výsledného souboru, včetně úprav formátu buněk, vzorců (např. autosum) a dalších výpočtů, je nutné provádět výhradně v exportní šabloně.
  • Detailní popis používání tiskových šablon je uveden v samostatné příručce Tiskové šablony.
  • Detailní popis programování tiskových šablon ve formátu „pdf“ je uveden v samostatné příručce Programování tiskových šablon ve formátu PDF.

2.2.4. Šablona

  • Výběr tiskové šablony, která bude použita pro tisk z editačního formuláře.
  • Rozbalovací seznam nabízí seznam tiskových šablon uložených v adresáři „NETGenium\Templates“.

2.2.5. List

  • Pouze pro tisk do šablony XLSX, XLSM, XLS nebo ODS
  • Výběr listu, do kterého bude realizován tisk z editačního formuláře.

2.2.6. Vnořené záznamy

  • Pouze pro tisk do šablony XLSX, XLSM, XLS nebo ODS
  • Vkládat nové řádky – NET Genium rozpozná výskyt identifikátorů vnořených záznamů, a zajistí automatické vkládání hodnot jednotlivých vnořených záznamů pod sebe do nových řádků
  • Přepisovat řádky – NET Genium rozpozná výskyt identifikátorů vnořených záznamů, a zajistí automatické vkládání hodnot jednotlivých vnořených záznamů pod sebe do existujících řádků

2.2.7. Možnosti

  • Střídat podbarvení řádků
  • Pouze pro tisk do šablony XLSX, XLSM, XLS nebo ODS
    • Zaškrtnutí tohoto pole určuje, zda mají být barevně podbarveny jednotlivé řádky tištěných záznamů mezi sebou střídavě šedou a bílou barvou.
  • Dle hodnot prvního sloupce
  • Pouze pro tisk do šablony XLSX, XLSM, XLS nebo ODS a „Střídat podbarvení řádků“
    • Zaškrtnutí tohoto pole určuje, zda má být barevné podbarvení identické u řádků, které mají v prvním sloupci stejnou hodnotu.
  • 1 vnořený záznam = 1 list (XLS) / 1 dokument (DOC)
  • Pouze pro tisk do šablony XLS, XLSX, XLSM, ODS, DOC, DOCX, DOCM nebo ODT
    • Zaškrtnutí tohoto pole určuje způsob tisku vnořených záznamů tak, aby každý vnořený záznam byl na samostatném listu (MS Excel), resp. v samostatném dokumentu (MS Word); dokumenty MS Word se stáhnou jako archiv ZIP.
    • Vnořenými záznamy jsou záznamy nejbližší nahlížecí tabulky nebo kalendáře umístěného v editačním formuláři nad tlačítkem.
  • Zamknout dokument
  • Pouze pro tisk do šablony XLS, XLSX, XLSM, ODS, DOC, DOCX, DOCM nebo ODT bez zaškrtnutého pole „Uložit jako PDF“ – po jeho zaškrtnutí se volba skryje, protože u dokumentu PDF zámek nemá smysl
    • Zaškrtnutí tohoto pole určuje, zda má být vytištěný dokument chráněn proti zápisu. Listy excelového souboru se uzamknou heslem, které je možné změnit pomocí externí funkce „NETGenium.ExcelPassword“; dokumenty Word se uzamknou bez hesla a lze v nich provádět jen úpravy se sledováním změn. Detailní popis externích funkcí je uveden v samostatné příručce Externí funkce.
  • Uložit jako PDF
  • Pouze pro tisk do šablony HTM, HTML, XLS, XLSX, XLSM, ODS, DOC, DOCX, DOCM nebo ODT
    • Zaškrtnutí tohoto pole určuje, zda má být vytištěný dokument uložen do formátu PDF.
    • U tisku do šablony HTM nebo HTML se po zaškrtnutí zobrazí volba „Okraje“ – horní, pravý, dolní a levý okraj PDF dokumentu v milimetrech.
  • Tisk / Otevřít formulář pro zadání nové e-mailové zprávy / Otevřít editační formulář
    • Trojice voleb určuje, co se stane s vytištěným dokumentem; zvolit lze vždy jen jednu z nich.
    • Tisk – vytištěný dokument se nabídne ke stažení z aktuálně otevřeného editačního formuláře. Výsledek tisku do šablony HTM nebo HTML, který se neukládá do formátu PDF, se otevře v novém okně webového prohlížeče.
    • Otevřít formulář pro zadání nové e-mailové zprávy – uživatel bude přesměrován do formuláře pro zadání nové e-mailové zprávy, ve kterém bude vytištěný dokument automaticky připojen jako příloha e-mailu.
    • Otevřít editační formulář – uživatel bude přesměrován do nového záznamu zvoleného editačního formuláře, ve kterém bude vytištěný dokument automaticky připojen jako příloha do prvního ovládacího prvku „File“.
    • Naplánuje-li skript tlačítka funkcí „SCHEDULEFORM“ otevření editačního formuláře a je-li zvolena volba „Tisk“ nebo „Otevřít editační formulář“ bez vybraného formuláře, otevře se místo toho formulář naplánovaný skriptem a dokument se připojí do něj.

Skript

  • Tlačítko je určeno k volání javascriptových funkcí ve webovém prohlížeči, a následně ke spuštění serverového skriptu na straně serveru.
  • Detailní popis javascriptových funkcí je uveden v samostatné příručce JavaScriptové funkce.
  • Detailní popis návrháře skriptů je uveden v samostatné příručce Návrhář skriptů.

2.3. Záložka „Nápověda“

2.3.1. Nápověda

  • Nápověda je text zobrazovaný napravo od ovládacího prvku v editačním formuláři.
  • Nápovědy všech ovládacích prvků začínají na stejné svislé linii v rámci celého editačního formuláře.
  • Text – text nápovědy je definován ručně zadaným textovým řetězcem ve víceřádkovém textovém poli pod radio buttonem
  • Z dotazu – text nápovědy je definován výsledkem databázového dotazu, který je vyhodnocen při otevření editačního formuláře
  • Detailní popis nápovědy je uveden v samostatné příručce Nastavení vzhledu.

2.4. Záložka „Práva“

2.4.1. Práva

  • Práva definují seznam uživatelských skupin a uživatelů, kteří mají oprávnění na zobrazení ovládacího prvku v editačním formuláři.

2.4.2. Nahradit práva ostatním ovládacím prvkům

  • Funkce „Nahradit práva ostatním ovládacím prvkům“ slouží pro sjednocení práv v rámci celého editačního formuláře u ovládacích prvků, které spolu z pohledu práv souvisí.
  • Díky odkazu „Zobrazit...“ je možné zobrazit seznam všech ovládacích prvků v editačním formuláři včetně nastavení práv těchto ovládacích prvků. U každého ovládacího prvku je zobrazeno zaškrtávací tlačítko, kterým je možné ovládací prvek vybrat. Při uložení ovládacího prvku se následně nastaví stejná práva i těmto vybraným ovládacím prvkům.
  • Alternativou pro sjednocení práv v rámci celého editačního formuláře je zobrazení reportu dostupného ze záložky „Práva podřízených objektů“ v nastavení editačního formuláře.

2.5. Záložka „Administrace“

  • Záložka „Administrace“ se zobrazuje pouze u existujících ovládacích prvků.

2.5.1. Identifikátor

  • Identifikátor určuje ID tlačítka v editačním formuláři, pomocí kterého je možné k tlačítku přistupovat pomocí javascriptu.

2.5.2. Statistika

  • Statistika zobrazuje agregovanou informaci o využívání ovládacího prvku napříč celou aplikací.
  • Pomocí tlačítka „Statistika“ se zobrazí detailní report všech míst, kde je ovládací prvek použitý nebo referencovaný, včetně možnosti otevření nastavení takového místa či ovládacího prvku.
  • Před každým smazáním ovládacího prvku z editačního formuláře se doporučuje důkladně projít statistku ovládacího prvku, a eliminovat případná nedorozumění.
  • Před každým smazáním ovládacího prvku z editačního formuláře se automaticky spustí vyhodnocení statistiky. Pokud je ovládací prvek někde v aplikaci používán nebo referencován, je nutné smazání ovládacího prvku znovu potvrdit.

2.5.3. Logování

  • Pomocí tlačítka „Logování“ se zobrazí detailní report se záznamy o spuštění skriptu definovaného na tlačítku. Report obsahuje informace o:
    • datu a času spuštění skriptu,
    • uživateli, který skript spustil,
    • době zpracování skriptu,
    • datu a času zahájení zpracování a
    • datu a času dokončení zpracování.
  • Pro správné fungování logování je nutné mít v nastavení NET Genia na záložce „Ostatní“ aktivováno logování buď „Do databáze“, nebo „Do databáze a na disk“. Detailní popis je uveden v samostatné příručce Nastavení NET Genia.
  • Minimální zobrazovaný čas zpracování skriptu je ve výchozím nastavení stanoven na 0 milisekund, zobrazují se tedy všechny záznamy spuštění skriptů včetně těch, jejichž zpracování trvalo 0 milisekund. Tento minimální čas je možné zvýšit nebo snížit změnou parametru „mintime“ v URL reportu.
  • Počet záznamů je ve výchozím nastavení omezen na 100 záznamů. Tento počet je možné ručně zvýšit nebo snížit změnou parametru „maxrows“ v URL reportu.

2.6. Tlačítka „Uložit“, „Uložit a pokračovat v editaci“, „Kopírovat“, „Smazat“ a „Zavřít“

  • Tlačítko „Uložit“ – Uložení změn v nastavení ovládacího prvku.
  • Tlačítko „Uložit a pokračovat v editaci“ – Uložení změn v nastavení ovládacího prvku a ponechání nastavení otevřeného pro další úpravy. Je dostupné pouze při vytváření nového, dosud neuloženého ovládacího prvku.
  • Tlačítko „Kopírovat“ – Vytvoření nové kopie aktuálního ovládacího prvku se shodným nastavením, avšak s novým jedinečným identifikátorem.
  • Tlačítko „Smazat“ – Trvalé odstranění ovládacího prvku.
  • Tlačítko „Zavřít“ – Zavření dialogu s nastavením ovládacího prvku bez uložení změn.

3. Příklady

3.1. Javascriptové funkce

  • bt_Click();
  • bt_Click(BT123);
  • bt_Click('Uložit');
  • return bt_Eval(this, 'ngef.aspx?test', 'evalFunction');
  • var bt = bt_FindByText('Dnes', 2);
  • var bt = el(BT123);