1. Základní informace

1.1. Popis ovládacího prvku

TextArea je textové pole libovolné šířky a výšky určené k zadávání prostého textu s neomezenou délkou s možností vložení vynuceného přechodu na novou řádku – enteru. Při nastavení šířky na 0 pixelů se u textového pole nezobrazuje typické orámování, a také chybí možnost editace textu – hodnota textového pole se zobrazuje jako běžný odstavec s prostým textem.

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.
  • Z bezpečnostních důvodů je důležité mít povolenou funkci přesouvání ovládacích prvků pomocí zaškrtávacího pole „Drag&Drop“ umístěného nad toolbarem s ovládacími prvky. Při každém přihlášení do aplikace je toto pole nezaškrtnuté.
  • Smazání textarea má za následek nevratné smazání databázového sloupce spojeného s touto textarea v databázi, a tudíž i ke smazání jejích hodnot ve všech záznamech databázové tabulky. Některé textarea v systémových editačních formulářích není možné smazat, protože jsou nutné k základní funkčnosti celé aplikace.

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

  • Obecné – Nastavení obecných vlastností
  • Výchozí hodnota – Nastavení výchozí hodnoty u nově vytvářených záznamů
  • Události – Nastavení javascriptových událostí
  • Tlačítko – Nastavení tlačítka, které může být zobrazováno napravo vedle ovládacího prvku
  • Nápověda – Nastavení textu nápovědy, který může být zobrazován v pravé části editačního formuláře
  • Filtr – Nastavení filtru, který může být zobrazován v nahlížecí tabulce v záhlaví sloupce
  • Práva – Nastavení práv
  • Administrace – Nastavení ostatních vlastností

2.1. Záložka „Obecné“

ta_cs.png

2.1.1. Název

  • Pro všechny datové typy
  • Název ovládacího prvku zobrazovaný v editačním formuláři v samostatném sloupci s barevným pozadím nalevo vedle samotného textového pole.

2.1.2. Zkrácený název

  • Pro všechny datové typy
  • Volitelný název ovládacího prvku zobrazovaný v záhlaví nahlížecí tabulky, pokud je ovládací prvek zvolen jako jeden ze sloupců nahlížecí tabulky.
  • Je-li zkrácený název uveden, zobrazuje se celý název ovládacího prvku v tooltipu nad zkráceným názvem.
  • Není-li zkrácený název uveden, zobrazuje se v záhlaví nahlížecí tabulky celý název ovládacího prvku.
  • Pomocí zkráceného názvu „ “ (pevná mezera) lze úplně skrýt název ovládacího prvku zobrazovaný v nahlížecí tabulce.

2.1.3. Slovník…

  • Pro všechny datové typy
  • 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.4. Datový typ

  • Datový typ definuje druh nebo význam hodnot, kterých může ovládací prvek nabývat.
  • Textarea používá jednotný databázový typ sloupce, který je přidružen k aktuálnímu ovládacímu prvku v databázi – „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.
  • Rozbalovací seznam obsahuje následující datové typy

Textový řetězec

textový řetezec.png

  • Klasické víceřádkové textové pole s orámováním.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

Zdrojový kód

zdroj_kod.png

  • CodeMirror textové pole s číslovanými řádky pro psaní obecného zdrojového kódu s barevným zvýrazněním syntaxe.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

HTML

html01.png

  • CodeMirror textové pole s číslovanými řádky pro psaní obecného HTML kódu s barevným zvýrazněním syntaxe.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

XML

xml.png

  • CodeMirror textové pole s číslovanými řádky pro psaní XML kódu s barevným zvýrazněním syntaxe.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

JavaScript

js.png

  • CodeMirror textové pole s číslovanými řádky pro psaní javascriptového kódu s barevným zvýrazněním syntaxe.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

C#

c#.png

  • CodeMirror textové pole s číslovanými řádky pro psaní C# zdrojového kódu s barevným zvýrazněním syntaxe.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

C++

c++.png

  • CodeMirror textové pole s číslovanými řádky pro psaní C++ zdrojového kódu s barevným zvýrazněním syntaxe.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

Wiki

wiki.png

  • CodeMirror textové pole s číslovanými řádky pro psaní obecného Wiki kódu.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

Markdown

ta-markdown.png

  • CodeMirror textové pole s číslovanými řádky pro psaní textu se značkovací syntaxí Markdown.
  • „String“ s neomezenou délkou, reprezentovaný jako databázový typ „text“ u databáze Firebird a „nvarchar(max)“ u databáze MSSQL.

2.1.5. Šířka

  • Pro všechny datové typy
  • Šířka ovládacího prvku uvedená v pixelech.
  • Šířka se skládá ze dvou částí, z šířky samotného ovládacího prvku v editačním formuláři, a volitelně z šířky sloupce v nahlížecí tabulce, pokud je ovládací prvek zvolen jako ze sloupců nahlížecí tabulky.
  • Při nastavení šířky na 0 pixelů se u textového pole nezobrazuje typické orámování, a také chybí možnost editace textu – hodnota textového pole se zobrazuje jako běžný odstavec s prostým textem.

2.1.6. Počet řádků

  • Pro všechny datové typy
  • Počet řádků určuje volitelnou výšku textového pole v editačním formuláři.
  • Výchozí počet řádků je 5. Minimální počet řádků je 1, maximální 250.

2.1.7. Možnosti

  • Vyžadované pole
  • Pro všechny datové typy
    • Zaškrtnutí vyžadovaného pole určuje, zda má být v editačním formuláři vyžadováno vyplnění platné hodnoty před jejím uložením do databáze.
    • Nastavení vyžadovaného pole nemá vliv na databázový typ sloupce, který je přidružen k aktuálnímu ovládacímu prvku v databázi. Všechny databázové sloupce jsou nastaveny tak, že akceptují i databázovou hodnotu „null“.
    • Hodnota může být v databázi uložena jako textový řetězec nenulové délky, textový řetězec nulové délky (prázdný string), nebo jako databázová hodnota „null“. Při sestavování podmínek databázového dotazu je tedy důležité počítat i s alternativou, že je ve sloupci v databázové tabulce uložena kromě textového řetězce nulové délky také databázová hodnota „null“. Taková podmínka může vypadat v řeči NG následovně: ta rovná se „“ nebo ta není definováno. A nyní v jazyce SQL: ng_ta = '' OR ng_ta IS NULL.
  • Jen ke čtení
  • Pro všechny datové typy
    • Nastavení ovládacího prvku jen ke čtení určuje, zda má být v editačním formuláři textové pole disablované.
    • Do disablovaného pole není možné ručně zapisovat hodnoty, samotné textové pole má zašedlé pozadí, a text hodnoty v tomto poli se zobrazuje odlišným fontem než u zbytku ovládacích prvků.
    • Do disablovaného pole je možné vyplňovat hodnoty pomocí javascriptu:
      • control_SetValue(#ng_#, 'abc');
      • ta_Insert(#ng_#, 'abc');
    • Ovládací prvky obecně je možné disablovat pomocí javascriptu:
      • control_Disable(#ng_#); // Obecná javascriptová funkce pro všechny databázové ovládací prvky
      • ta_Disable(#ng_#);
    • Stejně tak je možné ovládací prvky pomocí javascriptu enablovat:
      • control_Enable(#ng_#); // Obecná javascriptová funkce pro všechny databázové ovládací prvky
      • ta_Enable(#ng_#);
    • Ve výchozím nastavení není možné enablovat ovládací prvek, který je nastaven pouze ke čtení, javascriptové funkci control_Enable musí být předán druhý volitelný parametr „ignorereadonly“: control_Enable(#ng_#, true);
  • Zakázat změnu hodnoty pomocí JavaScriptu
  • Pro všechny datové typy ve spojení s možností „Jen ke čtení“
    • Zaškrtnutí zákazu změny hodnoty pomocí javascriptu zajistí, aby u ovládacích prvků nastavených jen ke čtení nedošlo k podvržení hodnoty v internetovém prohlížeči ze strany potencionálních útočníků na editační formulář.
    • Před uložením záznamu do databáze je vždy zkontrolováno, zda byla hodnota změněna pouze na straně serveru, a případně nastaví hodnotu na původní platnou.
  • Skryté pole
  • Pro všechny datové typy
    • Nastavení skrytého pole určuje, zda má být ovládací prvek součástí editačního formuláře, avšak v uživatelském režimu nemá být viditelný.
    • Skrytý ovládací prvek včetně vyplněné hodnoty je možné dohledat ve zdrojovém kódu webové stránky. Nelze ho tedy používat jako součást bezpečnostních opatření, k tomu se používají práva na ovládací prvek.
  • Zobrazovat jako odkaz v nahlížecí tabulce k otevření záznamu na nové záložce
    • Zaškrtnutí tohoto pole určuje, zda mají být hodnoty ovládacího prvku všude v aplikaci zobrazovány jako odkaz, který slouží k otevření záznamu na nové záložce.
  • Povolit hromadné změny
  • Pro datový typ: Textový řetězec
    • Povolení hromadných změn určuje, zda má být v nahlížecí tabulce nebo plánovacím vícezdrojovém kalendáři pod samotnou hodnotou ovládacího prvku zobrazen odkaz s možností změny hodnoty bez nutnosti otevření a editace záznamu v editačním formuláři. Odkaz s možností změny se zobrazuje pouze v nahlížecích tabulkách nebo kalendářích, které mají povolené hromadné změny dat.
    • Hromadné změny je možné provádět pouze přihlášeným uživatelem, anonymnímu uživateli se odkaz nezobrazuje.
  • Spustit OnBeforeSave/OnAfterSave před uložením záznamu do databáze
  • Pro datový typ textový řetězec ve spojení s možností „Povolit hromadné změny“
    • Zaškrtnutí tohoto pole určuje, zda se při uložení hodnoty ovládacího prvku do databáze přímo z nahlížecí tabulky má spustit skript „OnBeforeSave“ a následně „OnAfterSave“, který
      • může zamezit uložení hodnoty pomocí vyvolání přerušení,
      • nebo může spustit dodatečné databázové operace, odeslání emailů apod.
    • Dojde-li ve skriptu „OnBeforeSave“ k přerušení, zobrazí se uživateli text chybového hlášení, a k uložení hodnoty do databáze nedojde.
    • Dojde-li ve skriptu „OnAfterSave“ k přerušení, zobrazí se sice uživateli příslušné chybové hlášení, na úspěšné uložení hodnoty do databáze to však již nemá vliv.
  • Přichytit k předchozímu ovládacímu prvku
  • Pro všechny datové typy
    • Zaškrtnutí tohoto pole určuje, zda má být samotný ovládací prvek v editačním formuláři zobrazen napravo vedle předchozího, nebo bude zobrazen běžným způsobem pod předchozím ovládacím prvkem.
    • Je-li ovládací prvek přichytáván k předchozímu, lze definovat šířku odsazení od předchozího ovládacího prvku
      • Odsazení se definuje v pixelech v samostatném textovém poli, které je umístěno nalevo vedle textového pole „Šířka“.
    • Detailní popis přichytávání k ovládacím prvkům je uveden v samostatné příručce Nastavení vzhledu.
  • Komentář
  • Pro datový typ: Textový řetězec
    • Komentář určuje, zda má být textové pole zobrazeno jen ke čtení s možností vkládání komentářů pomocí tlačítka „Nový komentář“ umístěného pod textovým polem v editačním formuláři.
    • Kliknutí na tlačítko „Nový komentář“ způsobí zobrazení nového dialogu s možností zadání komentáře ve formě prostého textu.
    • Následné potvrzení zapsaného komentáře pomocí tlačítka „Vložit komentář“ nebo pomocí kombinace kláves „CTRL+ENTER“ vloží do ovládacího pole v editačním formuláři
      • prázdnou řádku,
      • jméno autora komentáře viz níže,
      • čárku a mezeru,
      • aktuální datum a čas,
      • přechod na novou řádku a
      • samotný text zapsaného komentáře.
    • Autor
      • Přihlašovací jméno – jméno autora bude přihlašovací jméno aktuálně přihlášeného uživatele
      • Jméno – jméno autora bude celé jméno aktuálně přihlášeného uživatele
    • Řazení
      • Vzestupně – zapsaný komentář bude vložen na konec za prázdnou řádku
      • Sestupně – zapsaný komentář bude vložen na začátek před prázdnou řádku
    • Název tlačítka
      • Nový komentář – text tlačítka bude nastaven na výchozí text „Nový komentář“
      • Vlastní – text tlačítka bude nastaven na vlastní hodnotu

2.2. Záložka „Výchozí hodnota“

ta_vh.png

2.2.1. Výchozí hodnota

  • Výchozí hodnota se používá u nově vytvářených záznamů v editačním formuláři. Jde o hodnotu, která se automaticky předvyplní do ovládacího prvku v situaci, kdy je otevřen editační formulář za účelem vytvoření nového záznamu, který dosud v databázi neexistuje.
  • Výchozí hodnotu lze naplánovat pomocí skriptové funkce „SCHEDULEDEFAULTVALUE(ng_, abc)“ ze skriptu, který je součástí tlačítka pro otevření nového editačního formuláře.
  • Rozbalovací seznam obsahuje následující typy výchozích hodnot:
    • Vlastní – výchozí hodnotu definuje textová konstanta, proměnná, nebo kombinace obojího, zapsaná v textovém poli pod rozbalovacím seznamem. Mezi obvyklé proměnné patří „#lastvalue#“, „#lastvalue2#“ apod.
    • Aktuální uživatel – přihlašovací jméno aktuálně přihlášeného uživatele
    • Aktuální datum
    • Aktuální čas
    • Aktuální datum a čas
    • Aktuální hodnota v databázi – aktuální hodnota v databázi má význam pouze ve spojení se zaškrtávacím polem „Vyplnit výchozí hodnotu před každým uložením záznamu do databáze“
      • Sloupce některých databázových záznamů jsou měněny i na pozadí operačního systému například externími aplikacemi. Typicky jde o statusy, datumy zpracování databázového záznamu apod. Během doby, kdy má databázový záznam otevřený některý uživatel v editačním formuláři, může být hodnota takového sloupce změněna na pozadí externí aplikací. V takovém případě nesmí být pro uložení záznamu použita hodnota aktuálně přítomná v editačním formuláři (tato hodnota byla platná v době otevření záznamu), ale musí být použita hodnota aktuálně zapsaná v databázi.
    • Z dotazu – výchozí hodnotu definuje výsledek databázového dotazu, který je vyhodnocen při otevření editačního formuláře
    • JavaScript – výchozí hodnotu definuje javascriptová funkce spuštěná při otevření editačního formuláře, zapsaná v textovém poli pod rozbalovacím seznamem bez středníku na konci. Javascriptová funkce musí vracet textovou hodnotu.

2.2.2. Možnosti

  • Vyplnit výchozí hodnotu při každém otevření editačního formuláře
    • Zaškrtnutí tohoto pole určuje, zda dojde po otevření již existujícího záznamu k přepsání aktuální hodnoty v editačním formuláři na výchozí hodnotu.
    • Ovládací prvky, které mají jako výchozí hodnotu nastavené volání externí funkce, například „ngef2(test)“, a zároveň mají zaškrtnuté vyplnění výchozí hodnoty při každém otevření editačního formuláře, mohou mít v databázi prázdnou nebo nevyplněnou hodnotu, a přesto se při pokusu o zobrazení této hodnoty všude v aplikaci kromě editačního formuláře vyhodnotí externí funkce nastavená jako výchozí hodnota.
  • Vyplnit výchozí hodnotu před každým uložením záznamu do databáze
    • Zaškrtnutí tohoto pole určuje, zda dojde před každým uložením záznamu k přepsání aktuální hodnoty v editačním formuláři na výchozí hodnotu.
    • Ovládací prvky, které mají jako výchozí hodnotu nastavené volání externí funkce, například „ngef2(test)“, a zároveň mají zaškrtnuté vyplnění výchozí hodnoty před každým uložením záznamu do databáze, mohou mít v databázi prázdnou nebo nevyplněnou hodnotu, a přesto se při pokusu o zobrazení této hodnoty všude v aplikaci kromě editačního formuláře vyhodnotí externí funkce nastavená jako výchozí hodnota.
  • Pouze při ruční změně hodnoty v jiném ovládacím prvku
    • Ve spojení s možností „Vyplnit výchozí hodnotu před každým uložením záznamu do databáze“
    • Zaškrtnutí tohoto pole určuje, zda dojde před každým uložením záznamu k vyhodnocení změny hodnoty v jednom z ostatních ovládacích prvků editačního formuláře. Pouze v takovém případě pak dojde k přepsání aktuální hodnoty v editačním formuláři na výchozí hodnotu.
    • Tato možnost je výchozí u ovládacích prvků Watcheru, tj. „Změněno kým“ a „Změněno kdy“

2.3. Záložka „Události“

Obrázek.png

2.3.1. OnChange

  • Událost „onchange“ určuje seznam javascriptových příkazů oddělených středníkem, které se vykonají po změně hodnoty a následném opuštění ovládacího prvku.

2.3.2. OnClick

  • Událost „onclick“ určuje seznam javascriptových příkazů oddělených středníkem, které se vykonají po kliknutí myši na ovládací prvek.

2.3.3. OnFocus

  • Událost „onfocus“ určuje seznam javascriptových příkazů oddělených středníkem, které se vykonají po vstupu do ovládacího prvku (ve chvíli, kdy ovládací prvek obdrží focus).

2.3.4. OnBlur

  • Událost „onblur“ určuje seznam javascriptových příkazů oddělených středníkem, které se vykonají po opuštění ovládacího prvku tabelátorem či kliknutím myši mimo ovládací prvek.

2.4. Záložka „Tlačítko“

Obrázek.png

2.4.1. Nadpis

  • Nadpis určuje název tlačítka, které se volitelně zobrazuje napravo vedle samotného ovládacího prvku v editačním formuláři.
  • Nevyplněný název značí, že tlačítko nebude zobrazeno.

2.4.2. Šířka

  • Šířka tlačítka uvedená v pixelech.

2.4.3. Klient

  • 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 confirm('Opravdu chcete... ?');
    • AJAX… – return bt_Eval(this, 'ngef.aspx?test', 'evalFunction');

2.4.4. Server

  • Dojde-li k úspěšnému vyhodnocení javascriptových příkazů, nebo pokud nejsou žádné javascriptové příkazy definované, bude následně spuštěn skript na straně serveru. Odkaz „Upravit skript“ slouží k otevření integrovaného grafického návrháře skriptů, ve kterém se definuje skript, resp. serverová část tlačítka.
  • Vykonávání javascriptových příkazů lze přerušit příkazem „return false;“, který zamezí i následnému spuštění skriptu na straně serveru.

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

Obrázek.png

2.5.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.5.2. Poznámky

  • Poznámky slouží pro zadání libovolného textu určeného pro správce aplikace.

2.6. Záložka „Filtr“

Obrázek.png

2.6.1. Možnosti

  • Zobrazit filtr v nahlížecí tabulce
    • Zaškrtnutí tohoto pole určuje, zda má být v nahlížecí tabulce umožněno filtrování záznamů podle hodnot přítomných v databázi ve sloupci spojeném s tímto ovládacím prvkem. Rozbalovací seznam filtru je umístěný v záhlaví nahlížecí tabulky pod názvem ovládacího prvku.
    • V rozbalovacím seznamu filtru se nezobrazují konkrétní hodnoty přítomné v databázi ve sloupci spojeném s tímto ovládacím prvkem, pouze možnosti:
      • Vyhledání zadané hodnoty
      • Vyhledání prázdných hodnot v databázi
      • Vyhledání neprázdných hodnot v databázi
      • Vyhledání podle složené podmínky

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

Obrázek.png

2.7.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, a na zobrazování hodnot tohoto ovládacího prvku všude jinde v aplikaci.
  • Uživatelé, kteří nemají práva na ovládací prvek,
    • nevidí ovládací prvek ani jeho hodnotu v editačním formuláři, a ani ho nemohou dohledat ve zdrojovém kódu stránky v internetovém prohlížeči,
    • nemohou zobrazit sloupec spojený s tímto ovládacím prvkem v nahlížecí tabulce nebo jiném vizuálním ovládacím prvku určeném pro prohlížení dat,
    • mohou vytvořit záznam v editačním formuláři, ve kterém existuje ovládací prvek, na který nemají práva, hodnota těchto ovládacích prvků je pak nastavena na databázovou hodnotu „null“,
    • nemohou smazat žádný záznam v editačním formuláři, ve kterém existuje ovládací prvek, na který nemají práva.
  • Správce aplikace může způsobit logickou chybu, kdy se pomocí javascriptové funkce odkazuje na ovládací prvek, který pro některé uživatele nemusí být přístupný z pohledu práv. Proměnná „ng_“ se pak nahradí za hodnotu uloženou v databázi v tomto ovládacím prvku namísto odkazu na objekt samotného ovládacího prvku. Tato chyba ve většině případů zastaví načítání editačního formuláře, ten se celý disabluje, a uživateli je zobrazeno hlášení, že má kontaktovat administrátora aplikace. Tento druh chyby je možný z části eliminovat pomocí reportu „Ovládací prvky (JavaScript + nedostatečná práva)“.

2.7.2. Zobrazit hodnotu

  • Zobrazení hodnoty ovládacího prvku může být omezeno pouze na uživatele, kteří daný databázový záznam vytvořili, anebo jsou nastaveni jako spoluvlastníci všech záznamů v nastavení editačního formuláře.
  • Radio button obsahuje následující typy zobrazení hodnoty:
    • Všem uživatelům – ovládací prvek včetně jeho hodnoty bude zobrazen všem uživatelům, kteří mají právo na daný ovládací prvek
    • Pouze vlastníkovi nebo spoluvlastníkovi záznamu – ovládací prvek včetně jeho hodnoty bude zobrazen pouze uživatelům, kteří mají právo na daný ovládací prvek, a zároveň jsou vlastníci aktuálně otevřeného databázového záznamu v editačním formuláři (záznam vytvořili), nebo jsou nastaveni jako spoluvlastníci všech záznamů v nastavení editačního formuláře.

2.7.3. 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.8. Záložka „Administrace“

Obrázek.png

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

2.8.1. Identifikátor

  • Identifikátor určuje název databázového sloupce, do kterého se v databázi ukládají hodnoty zadané prostřednictvím ovládacího prvku v editačním formuláři.
  • Identifikátor je odvozen od názvu ovládacího prvku. Začíná prefixem „ng_“, a dále obsahuje alfanumerické znaky použité v názvu ovládacího prvku (systémové ovládací prvky prefix „ng_“ neobsahují). Při změně názvu ovládacího prvku je k dispozici tlačítko „Opravit“, které slouží k opravě identifikátoru, a tedy i přejmenování databázového sloupce v databázi. Pro přehlednost a eliminaci případných nedorozumění se doporučuje udržovat identifikátor v souladu s názvem ovládacího prvku. Pokud do databáze přistupují i externí aplikace a například čtou nebo zapisují data do tohoto sloupce, je nutné změnu identifikátoru naplánovat až na vhodnou dobu.

2.8.2. Plný identifikátor

  • Plný identifikátor ovládacího prvku obsahuje i identifikátor editačního formuláře, a používá se v tiskových šablonách.

2.8.3. Šifrování

  • Šifrování určuje, zda budou hodnoty uložené v tomto sloupci v databázi šifrovány buď pomocí výchozího šifrovacího klíče, nebo pomocí šifrovacího klíče uvedeného ve volitelném konfiguračním souboru „Config\EncryptionKey.txt“.
  • Dešifrované hodnoty je možné zobrazit pouze v editačním formuláři, všude jinde v aplikaci se zobrazuje místo konkrétních hodnot uložených v databázi zástupný řetězec „*****“.
  • Při dodatečném zapnutí šifrování se všechny hodnoty uložené v tomto sloupci v databázi zašifrují.
  • Při dodatečném vypnutí šifrování se všechny hodnoty uložené v tomto sloupci v databázi dešifrují.

2.8.4. Hledání v nahlížecí tabulce

  • Hledání určuje způsob, jakým budou záznamy v nahlížecí tabulce po zadání hledaného výrazu či slovního spojení vyhledávané v databázi.
  • Textarea podporuje následující typy hledání:
    • LIKE (obsahuje) – běžné „case-insensitive“ hledání pomocí klausule „LIKE“
    • CONTAINS (MSSQL Full-Text) – fulltextové „case-insensitive“ hledání pomocí klauzule „CONTAINS“, které podporuje databáze MSSQL. Zaškrtnutí této volby automaticky zajistí vytvoření fulltextového indexu v databázi.
    • Zakázat – hledání v tomto sloupci je zakázáno, a v nahlížecí tabulce se neobjevuje zaškrtávací tlačítko, kterým by bylo možné sloupec tabulky zahrnout do seznamu prohledávaných sloupců.
    • Hledat bez diakritiky – zaškrtnutí tohoto pole zajistí, aby se z hledaného výrazu či slovního spojení zadaného v nahlížecí tabulce nejdříve odstranila diakritika. Aby takové hledání mohlo fungovat, je důležité zajistit, aby se i hodnoty do databáze v tomto sloupci ukládaly bez diakritiky, typicky ve skriptu „OnBeforeSave“ s použitím funkce „REMOVEDIACRITICS()“.

2.8.5. Ostatní

  • Změnit typ na
    • Rozbalovací seznam nabízí typy ovládacích prvků, na které je podporována konverze ovládacího prvku včetně automatické konverze dat přítomných v databázové tabulce.

2.8.6. 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ždou změnou typu ovládacího prvku nebo datového typu, případně 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.9. Picker

  • Pro konfiguraci pickeru na tomto ovládacím prvku slouží ikona lupy, umístěná v levém dolním rohu dialogu.
  • Detailní popis pickeru je uveden v samostatné příručce Picker.

2.10. 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.
  • 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

3.1.1. Obecné funkce

  • var s = control_GetValue(#ng_#);
  • var s = #ng_#.value;
  • control_SetValue(#ng_#, s);
  • control_SetValue(#ng_#, 'abc');
  • ta_Insert(#ng_#, 'abc');
  • picker_Open(#ng_#);

3.1.2. Textové řetězce

  • #ng_#.value = 'abc';

3.1.3. Zdrojové kódy, HTML, XML, JavaScript, C#, C++

  • ta_InitColorWords(['a', 'b']);
  • ta_FormatAll(#ng_#);

3.2. Serverové funkce

  • SCHEDULEDEFAULTVALUE(ng_, #ng_#)
  • FORMATSTRING({0} – {1}, A, B)
  • REQUESTQUERYSTRING(abc)
  • SUBSTRING(abc, 0, 1)