Rychlý přehled

1. Základní informace

  • JavaScript je programový kód, který se spouští na straně klienta ve webovém prohlížeči.
  • JavaScriptový kód může být vykonán:
    • z ovládacího prvku „JavaScript“ v editačním formuláři,
    • z ovládacího prvku „JavaScript“ na nahlížecí stránce,
    • po stisknutí tlačítka umístěného v editačním formuláři,
    • po stisknutí tlačítka umístěného na nahlížecí stránce,
    • při vyvolání JavaScriptových událostí databázových ovládacích prvků v editačním formuláři („OnBlur“, „OnChange“, „OnClick“, „OnFocus“).
  • V JavaScriptu lze používat následující typy proměnných a volání:
    • textové proměnné NET Genia – například „#today#“,
    • textové proměnné, které se pomocí identifikátorů odkazují na objekty databázových ovládacích prvků editačního formuláře v objektovém modelu HTML dokumentu – „#ng_#“,
    • textové proměnné, které se pomocí identifikátorů odkazují na hodnoty ovládacích prvků zadané uživatelem v editačním formuláři – „#ng_:value#“,
    • textové proměnné, které se pomocí identifikátorů odkazují na aktuální hodnoty uložené v databázi – „#ng_:history#“,
    • rozšířené textové proměnné, které se pomocí identifikátorů odkazují na tabulku obsahující databázový ovládací prvek – „#ng_:Table#“.
      • Databázové ovládací prvky jsou v editačním formuláři řazeny pod sebou a jsou technicky umístěny v HTML tabulkách (<table>…</table>).
      • Každý databázový ovládací prvek je umístěn ve vlastní tabulce, jejíž viditelnost je možné měnit (například #ng_:Table#.style.display = 'none';).
    • rozšířené textové proměnné, které se pomocí identifikátorů odkazují na popisek (label) databázového ovládacího prvku – „#ng_:Name#“.
      • Popisky databázových ovládacích prvků jsou v editačním formuláři zobrazovány nalevo od samotného ovládacího prvku a jsou umístěny v HTML elementech <label>…</label>.
      • Každému databázovému ovládacímu prvku odpovídá jeden popisek, jehož zobrazovaný text lze v JavaScriptu měnit (například #ng_:Name#.innerHTML = 'abc';).
    • volání JavaScriptových funkcí NET Genia – například „control_Enable(#ng_#);“,
    • volání serverových funkcí NET Genia – například „SQL(SELECT …)“ nebo „SQLARRAY(SELECT …)“,
    • volání externích funkcí napsaných v jazyce C# – například „ngef(MyFirstFunction, #today#)“.
  • JavaScript se v prostředí NET Genium nejčastěji používá pro:
    • čtení a nastavování hodnot databázových ovládacích prvků,
    • validaci hodnot zadaných uživatelem,
    • změnu vlastností a chování databázových ovládacích prvků,
    • skrývání nebo zobrazování částí editačního formuláře,
    • načítání nebo ukládání dat pomocí AJAXových požadavků.

2. Proměnné

  • nID – ID aktuálně otevřeného záznamu v editačním formuláři (není doporučeno používat #id#)
  • sID – textová podoba nID (string)
  • Page_IsPostBack – Stránka je načtena po provedení postbacku
  • dateSeparator – Oddělovač datumu (obvykle „.“)
  • numberSeparator – Oddělovač desetinných míst (obvykle „,“)
  • domLib_isIE – Aktuální prohlížeč je Internet Explorer
  • domLib_isIE56 – Aktuální prohlížeč je Internet Explorer verze 5 nebo 6
  • domLib_isIE7 – Aktuální prohlížeč je Internet Explorer verze 7
  • domLib_isIE8 – Aktuální prohlížeč je Internet Explorer verze 8
  • domLib_isIE9 – Aktuální prohlížeč je Internet Explorer verze 9
  • domLib_isIE56789 – Aktuální prohlížeč je Internet Explorer ve verzích 5, 6, 7, 8 nebo 9
  • domLib_isIE10 – Aktuální prohlížeč je Internet Explorer verze 10
  • domLib_isIE11 – Aktuální prohlížeč je Internet Explorer verze 11
  • domLib_isChrome – Aktuální prohlížeč je Google Chrome, Microsoft Edge, nebo Opera verze 15 a vyšší
  • domLib_isFirefox – Aktuální prohlížeč je Mozilla Firefox
  • domLib_isSafari – Aktuální prohlížeč je Safari
  • domLib_isOpera – Aktuální prohlížeč je Opera verze 12.15 nebo nižší
  • domLib_isMobileDevice – Aktuální prohlížeč je mobilní zařízení
  • domLib_isCE – Aktuální prohlížeč zařízení Windows CE

3. Funkce

void _loadUrl(object o, string url)

Funkce načte stránku definovanou parametrem „url“ pomocí asynchronního ajaxového volání. Funkce nečeká bezprostředně na odpověď serveru, po jejím zavolání pokračuje provádění javascriptového kódu. Parametr „o“ je pomocný objekt (guard), pomocí něhož se zabrání paralelním voláním na stejném objektu – pokud dosud nepřišla odpověď, nové volání se přeskočí. Pro paralelní volání použijte „new Object()“ jako parametr „o“.

Příklad:

var p0 = 'ěščřžýáíé', p1 = 'ĚŠČŘŽÝÁÍÉ';
_loadUrl(new Object(), 'ngef.aspx?MyFirstFunction,' + urlEncode(p0) + ',' + urlEncode(p1));
 

void _loadUrl(object o, string url, string/function f)

Stejně jako předchozí varianta, ale po přijetí odpovědi zavolá callback „f“. Výsledný HTML kód stránky je funkci „f“ předán jako první parametr. Parametr „f“ může být název funkce (string) nebo přímá reference na funkci.

Příklad:

function ajaxTest()
{
var p0 = 'ěščřžýáíé', p1 = 'ĚŠČŘŽÝÁÍÉ';
_loadUrl(new Object(), 'ngef.aspx?MyFirstFunction,' + urlEncode(p0) + ',' + urlEncode(p1), ajaxResponse);
}

function ajaxResponse(html)
{
alert(html);
}

for (var i = 0; i < 5; i++)
{
ajaxTest();
}
 

void _loadUrl(object o, string url, string/function f, string id)

Stejně jako předchozí varianta. Volitelný parametr „id“ je funkci „f“ předán jako druhý parametr.

Příklad:

function ajaxTest(id)
{
var p0 = 'ěščřžýáíé', p1 = 'ĚŠČŘŽÝÁÍÉ';
_loadUrl(new Object(), 'ngef.aspx?MyFirstFunction,' + urlEncode(p0) + ',' + urlEncode(p1), ajaxResponse, id);
}

function ajaxResponse(html, id)
{
alert(id + ': ' + html);
}

for (var i = 0; i < 5; i++)
{
ajaxTest(i);
}
 

void _loadUrl(object o, string url, string/function f, string id, string params)

Stejně jako předchozí varianta. Parametr „params“ je odeslán metodou POST (formát: klíč=hodnota&klíč2=hodnota2). Pokud je „params“ neprázdný, použije se POST; jinak GET.

Příklad:

function ajaxTest(id)
{
var p0 = 'ěščřžýáíé', p1 = 'ĚŠČŘŽÝÁÍÉ';
_loadUrl(new Object(), 'ngef.aspx?MyFirstFunction', ajaxResponse, id, 'p0=' + urlEncode(p0) + '&p1=' + urlEncode(p1));
}

function ajaxResponse(html, id)
{
alert(id + ': ' + html);
}

for (var i = 0; i < 5; i++)
{
ajaxTest(i);
}
 

void _loadUrl(object o, string url, string/function f, string id, string params, string errorMessage)

Rozšíření předchozí varianty o parametr „errorMessage“. Pokud server vrátí HTTP status jiný než 200, zobrazí se uživateli alert s textem „errorMessage“.

Příklad:

_loadUrl(new Object(), 'ngef.aspx?MyFunction', ajaxResponse, null, null, 'Chyba při načítání dat.');
 

void alert2(string value)

Funkce zobrazí nativní prohlížečový alert s textem zadaným parametrem „value“. Před zobrazením odstraní HTML tagy a nahradí entity „ “ mezerou. Zároveň resetuje interní guard příznaky „_form_Update“ a „_bt_Click“, aby se po zavření alertu mohly provést odložené operace (např. picker).

Příklad:

alert2('Záznam byl úspěšně uložen.');
alert2('<b>Pozor:</b> Hodnota nesmí být prázdná.');
 

void alert3(string value)

Funkce zobrazí nativní prohlížečový alert s textem zadaným parametrem „value“ bez jakékoliv úpravy obsahu (HTML tagy nejsou odstraněny). Zároveň resetuje interní guard příznaky stejně jako „alert2“.

Příklad:

alert3('Hodnota: <b>' + value + '</b>');
 

void attachEvent2(object o, string type, function listener)

Funkce připojí funkci „listener“ k události objektu „o“. „Type“ definuje typ události, např. load, scroll apod. Interně používá addEventListener (moderní prohlížeče) nebo attachEvent (IE starší).

Příklad:

attachEvent2(window, 'load', function () { alert('onload1'); });
attachEvent2(window, 'load', test);

function test()
{
alert('onload2');
}
 

void bt_Click()

Funkce vyvolá znovunačtení formuláře (postback) kliknutím na tlačítko btUpdate. Při této události dojde ke znovunačtení dat všech tabulek, kalendářů, grafů, apod. Tato funkce byla nahrazena funkcí „form_Update“.

Příklad:

bt_Click();
 

void bt_Click(string id)

Funkce vyvolá programové kliknutí na tlačítko zadané parametrem „id“. Funkce se nejdříve snaží vyhledat prvek s daným ID, a pokud nenajde, tak s daným textem. Interně používá guard „_bt_Click“ pro zabránění dvojkliku.

Příklad:

bt_Click(BT123);
bt_Click('Uložit');
 

void bt_Click(string id, string name, string value)

Rozšíření předchozí varianty. Před kliknutím na tlačítko vloží do formuláře skryté pole s názvem „name“ a hodnotou „value“. Umožňuje předat dodatečný parametr při postbacku.

Příklad:

bt_Click(BT123, 'action', 'delete');
 

bool bt_Eval(object bt, string url, string/function f)

Funkce při stisknutí tlačítka načte stránku definovanou parametrem „url“ pomocí AJAXu a pomocí validující funkce „f“ ověří načtený HTML kód. Při prvním zavolání (AJAX probíhá) vrátí „false“ a zabrání výchozí akci tlačítka. Jakmile přijde odpověď, zavolá „f“ s výsledkem – pokud „f“ vrátí „true“, tlačítko se znovu klikne a akce proběhne. Parametr „f“ může být název funkce nebo přímá reference. Funkce „f“ dostane jako parametry (html, url).

Příklad:

1. varianta:
return bt_Eval(this, 'ngef.aspx?test', 'evalFunction');

2. varianta
return bt_Eval(this, 'ngef.aspx?test', ajaxResponse);

function ajaxResponse(html)
{
return confirm('Response: ' + html);
}

3. varianta
return test(this);

function test(bt)
{
if (!bt_Eval(bt, 'ngef.aspx?test', ajaxResponse)) return false;
return confirm('Continue?');
}

function ajaxResponse(html)
{
return confirm('Response: ' + html);
}
 

object bt_FindByText(string text, int index)

Funkce vrací tlačítko s titulkem zadaným parametrem „text“. Parametr „index“ je volitelný a říká, kolikátý výskyt tlačítka s titulkem „text“ má funkce vrátit. Číslování probíhá od nuly.

Příklad:

var bt = bt_FindByText('Dnes', 2); // Vrací objekt třetího tlačítka s názvem „Dnes"
 

bool bt_Icon(object bt, string url)

Funkce nastaví na pozadí tlačítka obrázek definovaný parametrem „url“.

Příklad:

bt_Icon(el(BT123), 'Images/MD/Content/ic_add_white_18dp.png');
 

void bt_PleaseWait(object bt)

Funkce zobrazí na tlačítku stav „načítání“ – uloží původní hodnotu a šířku tlačítka a zobrazí text „Prosím čekejte…“. Tlačítko je zároveň zakázáno.

Příklad:

bt_PleaseWait(el(BT123));
 

void bt_PleaseWait2(object bt)

Funkce obnoví tlačítko do původního stavu po dokončení načítání (protějšek funkce „bt_PleaseWait“).

Příklad:

bt_PleaseWait2(el(BT123));
 

void button_Disable(o)

Funkce disabluje tlačítko zadané parametrem „o“ v editačním formuláři.

Příklad:

button_Disable(BT123);
 

void button_Enable(o)

Funkce enabluje tlačítko zadané parametrem „o“ v editačním formuláři.

Příklad:

button_Enable(BT123);
 

void buttons_Disable()

Funkce disabluje všechna tlačítka v editačním formuláři.

Příklad:

buttons_Disable();
 

void buttons_Enable()

Funkce enabluje všechna tlačítka v editačním formuláři.

Příklad:

buttons_Enable();
 

void cb_Disable(object cb)

Funkce zakáže editaci ovládacího prvku „ComboBox“ zadaného parametrem „cb“. Alternativou je obecná funkce „control_Disable“.

Příklad:

cb_Disable(#ng_combobox#);
 

void cb_Enable(object cb)

Funkce povolí editaci ovládacího prvku „ComboBox“ zadaného parametrem „cb“. Alternativou je obecná funkce „control_Enable“.

Příklad:

cb_Enable(#ng_combobox#);
 

void chb_Disable(object chb)

Funkce zakáže editaci ovládacího prvku „CheckBox“ zadaného parametrem „chb“. Alternativou je obecná funkce „control_Disable“.

Příklad:

chb_Disable(#ng_checkbox#);
 

void chb_Display(object chb, object o, bool reverse)

Funkce skryje nebo zobrazí element zadaný parametrem „o“ podle toho, zda je checkbox definovaný parametrem „chb“ zaškrtnutý. Parametr „reverse“ (volitelný, výchozí „false“) invertuje chování: při „true“ se element skryje, pokud je checkbox zaškrtnutý. Funkce se nejčastěji používá v události „OnClick“ u checkboxu.

Příklad:

chb_Display(this, 'D1');
chb_Display(this, 'D1', true);
chb_Display(this, #ng_textbox#);
chb_Display(this, #ng_textbox#, true);
chb_Display(#ng_checkbox#, 'D1');
chb_Display(#ng_checkbox#, #ng_textbox#);
 

void chb_Enable(object chb)

Funkce povolí editaci ovládacího prvku „CheckBox“ zadaného parametrem „chb“. Alternativou je obecná funkce „control_Enable“.

Příklad:

chb_Enable(#ng_checkbox#);
 

string Color2Hex(string value)

string Color2Hex(string value, string def)

Funkce formátuje barvu zadanou parametrem „value“ do hexadecimálního formátu „#rrggbb“. Funkce dokáže zpracovat:

  • Formát „R,G,B“ (např. „255,0,0“ vrací „#ff0000“)
  • 6místný hex bez # (např. „ff0000“ vrací „#ff0000“)
  • 7místný hex s # (např. „#ff0000“ vrací „#ff0000“)
  • Předpony „B“, „I“, „BI“, „IB“, „N“ jsou automaticky odstraněny před zpracováním
  • Podmíněný formát barev podle data: „barva@datum1@barva1@datum2@barva2“ – vrací barvu podle aktuálního data

Pokud hodnotu nelze zpracovat, vrací parametr „def“, nebo „#ffffff“ pokud „def“ není zadán.

Příklad:

var s = Color2Hex('255,128,0');   // Vrací „#ff8000“
var s = Color2Hex('B#336699'); // Vrací „#336699“ (prefix B odstraněn)
var s = Color2Hex('invalid', '#000000'); // Vrací „#000000“
 

bool confirm2(string value)

Funkce zobrazí nativní prohlížečový confirm dialog s textem zadaným parametrem „value“. Před zobrazením odstraní HTML tagy a nahradí entity „ “ mezerou. Resetuje interní guard příznaky „_form_Update“ a „_bt_Click“. Vrací „true“ pokud uživatel potvrdí, „false“ pokud odmítne.

Příklad:

if (!confirm2('Opravdu chcete smazat záznam?')) return false;
 

bool confirm3(string value)

Funkce zobrazí nativní prohlížečový confirm dialog s textem zadaným parametrem „value“ bez jakékoliv úpravy obsahu. Resetuje interní guard příznaky stejně jako „confirm2“. Vrací „true“ nebo „false“.

Příklad:

if (!confirm3('Opravdu smazat?')) return false;
 

void control_Disable(object o)

Funkce zakáže editaci ovládacího prvku definovaného parametrem „o“. Interně rozpozná typ prvku (TextBox, ComboBox, ForeignKey, CheckBox, atd.) a zavolá příslušnou typově specifickou funkci.

Příklad:

control_Disable(#ng_ovladaciprvek#);
 

void control_Disable(object o, bool disableLink)

Funkce zakáže editaci ovládacího prvku definovaného parametrem „o“. Volitelný parametr „disableLink“ (true/false) určuje, zda se má u ovládacího prvku „ForeignKey“ deaktivovat odkaz na vybraný záznam.

Příklad:

control_Disable(#ng_ovladaciprvek#);
control_Disable(#ng_ovladaciprvek#, false);
 

void control_Enable(object o)

Funkce povolí editaci ovládacího prvku definovaného parametrem „o“.

Příklad:

control_Enable(#ng_ovladaciprvek#);
 

void control_Enable(object o, bool ignorereadonly)

Funkce povolí editaci ovládacího prvku. Pokud je nastaven atribut „ngreadonly“, funkce ho standardně respektuje a prvek nepovolí. Parametr „ignorereadonly=true“ toto chování přepíše a prvek povolí i přes „ngreadonly“.

Příklad:

control_Enable(#ng_ovladaciprvek#, true);
 

string control_GetValue(object o)

Funkce vrací hodnotu databázového ovládacího prvku zadaného parametrem „o“. Chování podle typu prvku:

  • „TextBox“ s časem – vrátí datum i čas (formát „dd.MM.yyyy HH:mm“)
  • „MultiListBox“ – vrátí vybrané hodnoty oddělené tabulátorem (\t); interně nahrazuje oddělovač [*VS*]
  • „Radio“ – vrátí hodnotu vybraného radio tlačítka
  • „CheckBox“ – vrátí hodnotu atributu „chv“ (hodnota při zaškrtnutí) nebo „“ při nezaškrtnutí
  • „RichTextBox“ – vrátí innerHTML body elementu v iframe
  • „ComboBox“/„ForeignKey“/„ListBox“ – vrátí hodnotu z INPUT nebo SELECT dle implementace

Příklad:

var s = control_GetValue(#ng_ovladaciprvek#);
 

void control_ResizeTable(object o, int width)

Funkce nastaví šířku tabulky, ve které je zobrazen ovládací prvek zadaný parametrem „o“, na novou šířku zadanou parametrem „width“.

Příklad:

control_ResizeTable(#ng_ovladaciprvek:Table#, 60);
 

void control_Save(object o)

Funkce uloží hodnotu databázového ovládacího prvku do databáze pomocí ajaxu. Při uložení se nevykonávají události „OnBeforeSave“ ani „OnAfterSave“.

Příklad:

control_Save(#ng_ovladaciprvek#);
 

void control_Save(object o, string f, string errorMessage)

Funkce uloží hodnotu databázového ovládacího prvku do databáze pomocí ajaxu. Parametr „f“ je callback volaný po odpovědi serveru (vrací „OK“ nebo „ERROR“). Parametr „errorMessage“ definuje text chybového hlášení.

Příklad:

control_Save(#ng_ovladaciprvek#, ajaxResponse, 'Vyskytla se chyba');

function ajaxResponse(status)
{
alert(status);
}
 

void control_SetDirection(object o, string direction)

Funkce nastaví směr textu (RTL/LTR) na ovládacím prvku „TextBox“, „TextArea“ nebo „RichTextBox“.

Příklad:

control_SetDirection(#ng_textbox#, 'rtl');
control_SetDirection(#ng_textbox#, 'ltr');
 

void control_SetValue(object o, var value [, var value2])

Funkce vloží do databázového ovládacího prvku zadaného parametrem „o“ hodnotu definovanou parametrem „value“. Podrobnosti:

  • „TextBox“ s validací Date nebo DatePicker: „value“ může být string „dd.MM.yyyy HH:mm“ nebo objekt Date. Volitelný „value2“ je čas „HH:mm“ (jen pro TextBox s časem).
  • „CheckBox“: pokud je „value“ boolean, přímo nastaví zaškrtnutí. Pokud je string, porovnává se s atributem „chv“.
  • „ForeignKey“: nastaví hodnotu a aktualizuje vizuální zobrazení prvku.
  • „DatePicker“: po nastavení spustí onchange.
  • „MultiListBox“: podporuje vyhledávání hodnot přes parametr „value2“ (pole hodnot).

Příklad:

control_SetValue(#ng_ovladaciprvek#, 'Text');
control_SetValue(#ng_textbox#, 20);
control_SetValue(#ng_textbox#, '1.1.2000');
control_SetValue(#ng_textbox#, '1.1.2000', '12:34');
control_SetValue(#ng_textbox#, new Date());
control_SetValue(#ng_datepicker#, '1.1.2000');
control_SetValue(#ng_datepicker#, '1.1.2000 12:34');
control_SetValue(#ng_datepicker#, new Date());
control_SetValue(#ng_checkbox#, true);
control_SetValue(#ng_checkbox#, 'x');
control_SetValue(#ng_foreignkey#, 20);
 

void controls_Disable()

Funkce zakáže editaci všech ovládacích prvků (kromě buttonů) v editačním formuláři.

Příklad:

controls_Disable();
 

void controls_Disable(bool disableLinks)

Funkce zakáže editaci všech ovládacích prvků (kromě buttonů) v editačním formuláři. Volitelný parametr „disableLinks“ (true/false) určuje, zda se má u ovládacích prvků „ForeignKey“ deaktivovat odkaz na vybraný záznam.

Příklad:

controls_Disable();
controls_Disable(false);
 

void controls_Enable()

Funkce povolí editaci všech ovládacích prvků (kromě buttonů) v editačním formuláři.

Příklad:

controls_Enable();
 

void controls_Join(object[] array [, function onchange])

Funkce spojí ovládací prvky definované parametrem „array“ do skupiny, která zobrazuje jen prvky s vyplněnou hodnotou, plus jeden další prázdný. Při změně hodnoty se skupina automaticky překreslí. Parametr „onchange“ je volitelný callback volaný při každé změně; „null“ znamená inicializaci skupiny (bez callbacku).

Příklad:

controls_Join([#ng_ovladaciprvek1#, #ng_ovladaciprvek2#, #ng_ovladaciprvek3#]);
controls_Join(new Array(#ng_ovladaciprvek1#, #ng_ovladaciprvek2#, #ng_ovladaciprvek3#));
 

void controls_Save(object[] array)

Funkce uloží hodnoty databázových ovládacích prvků do databáze pomocí ajaxu. Při uložení se nevykonávají události „OnBeforeSave“ ani „OnAfterSave“.

Příklad:

controls_Save([#ng_ovladaciprvek1#, #ng_ovladaciprvek2#]);
controls_Save(new Array(#ng_ovladaciprvek1#, #ng_ovladaciprvek2#));
 

void controls_Save(object[] array, string f, string errorMessage)

Funkce uloží hodnoty databázových ovládacích prvků do databáze pomocí ajaxu. Parametr „f“ je callback (vrací „OK“ nebo „ERROR“). Parametr „errorMessage“ definuje text chybové hlášky.

Příklad:

controls_Save([#ng_ovladaciprvek1#, #ng_ovladaciprvek2#], ajaxResponse, 'Vyskytla se chyba');

function ajaxResponse(status)
{
alert(status);
}
 

string cookie_Get(string name)

Funkce vrací obsah cookie zadané parametrem „name“ ze stránky. Čte z document.cookie.

Příklad:

var s = cookie_Get('loginname');
 

void cookie_Set(string name, string value)

Funkce uloží cookie na server pomocí AJAXového volání na stránku „SaveCookie.aspx“. Nejde o standardní klientskou cookie – hodnota je uložena na serveru a přežívá napříč relacemi. Funkce přijímá volitelné parametry „f“ (callback), „id“ a „errorMessage“.

Pozor: Tato funkce nenastavuje document.cookie přímo. Je to serverová operace.

Příklad:

cookie_Set('TestCookie', 'Testovací cookie');
 

bool copyToClipboard(string value, string info)

Funkce zkopíruje hodnotu zadanou parametrem „value“ do schránky. Parametr „info“ definuje text informativního hlášení po úspěchu. Pokud vložení nebude úspěšné, funkce vrací „false“.

Příklad:

copyToClipboard('Hodnota, která bude vložena do schránky', 'Hodnota byla úspěšně vložena do schránky.');
 

object[] createDictionary(array value)

Funkce vytvoří asociativní pole (slovník) z plochého pole ve formátu [klíč1, hodnota1, klíč2, hodnota2, …]. Párné indexy jsou klíče, liché indexy jsou hodnoty.

Příklad:

var dict = createDictionary(['cs', 'Česky', 'en', 'English', 'de', 'Deutsch']);
alert(dict['cs']); // Vrací „Česky“
alert(dict['en']); // Vrací „English“
 

object Date (rozšíření prototypu)

Datový typ Date je rozšířen o následující metody:

  • „.addDays(n)“ – přidá n dní, vrátí nový objekt Date
  • „.addWorkDays(n)“ – přidá n pracovních dní (přeskočí víkendy a svátky), vrátí nový Date
  • „.addMonths(n)“ – přidá n měsíců, vrátí nový Date
  • „.addYears(n)“ – přidá n roků, vrátí nový Date
  • „.addHours(n)“ – přidá n hodin, vrátí nový Date
  • „.addMinutes(n)“ – přidá n minut, vrátí nový Date
  • „.monday()“ – vrátí pondělí aktuálního týdne
  • „.isWeekend()“ – vrátí true pokud je datum sobota nebo neděle
  • „.isLeapYear()“ – vrátí true pokud je přestupný rok
  • „.getDaysInMonth()“ – vrátí počet dní v měsíci
  • „.clone()“ – vrátí kopii objektu Date (zachová datum i čas)
  • „.clone2()“ – vrátí kopii Date s nulovým časem (00:00:00)

Příklad:

var d = new Date();
var tomorrow = d.addDays(1);
var nextMonth = d.addMonths(1);
var monday = d.monday();
var isWeekend = d.isWeekend();
var daysInMonth = d.getDaysInMonth();
 

object Date.addWorkDays(int n)

Přidá „n“ pracovních dní k datu, přeskočí víkendy a svátky uložené v „holidays1Cache_Array“ a „holidays2Cache_Array“. Záporná hodnota „n“ odečte pracovní dny.

Příklad:

var d = new Date(2024, 0, 1); // 1. ledna (pondělí)
var nextWorkDay = d.addWorkDays(1); // 2. ledna (úterý, pokud není svátek)
 

string Date2Str(object date)

Funkce vrací textový řetězec z data zadaného parametrem „date“. Pokud je čas 00:00, vrátí pouze „dd.MM.yyyy“; jinak „dd.MM.yyyy HH:mm“.

Příklad:

var s = Date2Str(new Date());
var s = Date2Str(new Date(2000, 0, 1)); // Vrací „1.1.2000“
 

void ddl_ReplaceItems(object ddl, object array [, bool options])

Funkce nahradí položky rozbalovacího seznamu „ddl“ hodnotami z pole „array“. Každý prvek pole je [value, text]. Zachová aktuální výběr. Pokud je třetí parametr „true“, prvky pole se považují za DOM option objekty a vkládají se přímo.

Příklad:

var array = [];
array.push(['1', 'První položka']);
array.push(['2', 'Druhá položka']);
array.push(['3', 'Třetí položka']);
ddl_ReplaceItems(#ng_combobox#, array);
 

void ddl_ReplaceTexts(object ddl, object array, string separator)

Funkce nahradí texty položek rozbalovacího seznamu „ddl“ hodnotami z pole „array“. Každý prvek pole je [value, newText]. S parametrem „separator“: nový text bude „value + separator + newText“. Bez separátoru: nový text bude pouze „newText“. Nemá vliv na ukládanou hodnotu.

Příklad:

var array = [];
array.push(['1', 'První položka']);
array.push(['2', 'Druhá položka']);
array.push(['3', 'Třetí položka']);
ddl_ReplaceTexts(#ng_combobox#, array);
// ddl_ReplaceTexts(#ng_combobox#, array, ' – ');
 

string ddl_SelectedItem_Text(object ddl)

Funkce vrací text vybrané položky v rozbalovacím seznamu zadaným parametrem „ddl“.

Příklad:

var s = ddl_SelectedItem_Text(#ng_combobox#);
 

string ddl_SelectedItem_Value(object ddl)

Funkce vrací hodnotu vybrané položky v rozbalovacím seznamu zadaným parametrem „ddl“.

Příklad:

var s = ddl_SelectedItem_Value(#ng_combobox#);
 

bool ddl_SelectText(object ddl, string text)

Funkce vyhledá položku v rozbalovacím seznamu „ddl“ podle textu a vybere ji. Zavolá událost „onchange“. Pokud položka nebyla nalezena, vrátí „false“.

Příklad:

var ok = ddl_SelectText(#ng_combobox#, 'Praha');
 

bool ddl_SelectText_NoChange(object ddl, string text)

Stejně jako „ddl_SelectText“, ale událost „onchange“ se nevolá.

Příklad:

var ok = ddl_SelectText_NoChange(#ng_combobox#, 'Praha');
 

bool ddl_SelectValue(object ddl, string value)

Funkce vyhledá položku v rozbalovacím seznamu „ddl“ podle hodnoty a vybere ji. Zavolá událost „onchange“. Pokud položka nebyla nalezena, vrátí „false“.

Příklad:

var ok = ddl_SelectValue(#ng_combobox#, '1');
 

bool ddl_SelectValue_NoChange(object ddl, string value)

Stejně jako „ddl_SelectValue“, ale událost „onchange“ se nevolá.

Příklad:

var ok = ddl_SelectValue_NoChange(#ng_combobox#, '1');
 

void ddl_SortByText(object ddl)

Funkce seřadí abecedně položky rozbalovacího seznamu „ddl“ podle textů jednotlivých položek.

Příklad:

ddl_SortByText(#ng_combobox#);
 

void ddl_SortByText2(object ddl)

Funkce seřadí numericky položky rozbalovacího seznamu „ddl“ podle textů jednotlivých položek.

Příklad:

ddl_SortByText2(#ng_combobox#);
 

void ddl_SortByValue(object ddl)

Funkce seřadí abecedně položky rozbalovacího seznamu „ddl“ podle hodnot jednotlivých položek.

Příklad:

ddl_SortByValue(#ng_combobox#);
 

void ddl_SortByValue2(object ddl)

Funkce seřadí numericky položky rozbalovacího seznamu „ddl“ podle hodnot jednotlivých položek.

Příklad:

ddl_SortByValue2(#ng_combobox#);
 

void detachEvent2(object o, string type, function listener)

Funkce odpojí funkci „listener“ od události objektu „o“.

Příklad:

attachEvent2(window, 'load', test);
detachEvent2(window, 'load', test);

function test()
{
alert('onload');
}
 

void dg_ColumnWidth(object dg, int cid, int width)

Funkce nastaví šířku sloupce „cid“ v datagridu „dg“ na hodnotu „width“ (v pixelech).

Příklad:

dg_ColumnWidth(DG123, 456, 200);
 

object[] dg_Controls(object dg)

Funkce vrací pole všech editovatelných ovládacích prvků uvnitř datagridu „dg“.

Příklad:

var array = dg_Controls(DG123);
 

void dg_DenyOpen(object dg)

Funkce zakáže otevírání záznamů z datagridu kliknutím.

Příklad:

dg_DenyOpen(DG123);
 

void dg_Disable()

Funkce zakáže editaci všech ovládacích prvků určených pro hromadnou editaci ve všech datagridech.

Příklad:

dg_Disable();
 

void dg_Disable(object dg)

Funkce zakáže editaci všech ovládacích prvků určených pro hromadnou editaci v konkrétním datagridu.

Příklad:

dg_Disable(DG123);
 

void dg_Enable()

Funkce povolí editaci všech ovládacích prvků určených pro hromadnou editaci ve všech datagridech.

Příklad:

dg_Enable();
 

void dg_Enable(object dg)

Funkce povolí editaci všech ovládacích prvků určených pro hromadnou editaci v konkrétním datagridu.

Příklad:

dg_Enable(DG123);
 

bool dg_HideColumn(object dg, int cid)

Funkce skryje sloupec zadaný parametrem „cid“ v datagridu „dg“. ID sloupce odpovídá ID ovládacího prvku.

Příklad:

dg_HideColumn(DG123, 123);
 

void dg_HideHeader(object dg)

Funkce skryje nadpis datagridu. Parametr může být objekt datagridu nebo string s nadpisem.

Příklad:

dg_HideHeader(DG123);
dg_HideHeader('Nadpis tabulky');
 

void dg_SearchColumns(object dg, array cids)

Funkce zaškrtne vyhledávání pro sloupce definované polem „cids“ v datagridu „dg“.

Příklad:

dg_SearchColumns(DG123, [1, 2, 3]);
 

bool dg_ShowColumn(object dg, int cid)

Funkce zobrazí skrytý sloupec „cid“ v datagridu „dg“.

Příklad:

dg_ShowColumn(DG123, 123);
 

void dg_Update(object dg [, function f])

Funkce znovu načte datagrid „dg“ pomocí AJAXu. Volitelný parametr „f“ je callback volaný po dokončení načtení.

Příklad:

dg_Update(DG123);
dg_Update(DG123, function() { alert('Datagrid byl obnoven.'); });
 

void dg_VisibleColumns(object dg, array cids)

Funkce nastaví viditelné sloupce v datagridu „dg“. Skryje všechny sloupce, které nejsou v poli „cids“.

Příklad:

dg_VisibleColumns(DG123, [1, 2, 3]);
 

void dp_Disable(object dp)

Funkce zakáže editaci ovládacího prvku „DatePicker“ zadaného parametrem „dp“.

Příklad:

dp_Disable(#ng_datepicker#);
 

void dp_Enable(object dp)

Funkce povolí editaci ovládacího prvku „DatePicker“ zadaného parametrem „dp“.

Příklad:

dp_Enable(#ng_datepicker#);
 

object el(string id)

Funkce vrací DOM objekt na webové stránce podle jeho ID. Obálka pro document.getElementById.

Příklad:

var bt = el(BT1665);
// Vrací objekt tlačítka s databázovým ID 1665
 

void evalGoogleCaptcha()

Funkce spouští validaci služby Google reCAPTCHA.

Příklad:

evalGoogleCaptcha();
 

void file_Disable(object file)

Funkce zakáže editaci ovládacího prvku „File“.

Příklad:

file_Disable(#ng_file#);
 

void file_Enable(object file)

Funkce povolí editaci ovládacího prvku „File“.

Příklad:

file_Enable(#ng_file#);
 

void fireEvent2(object o, string type)

Funkce vyvolá událost na objektu „o“. Parametr „type“ je typ události. Podporované typy: blur, click, dblclick, change, keyup, mousedown, mouseout, mouseover. Ostatní typy se zpracují přes eval fallback.

Příklad:

fireEvent2(#ng_ovladaciprvek#, 'change');
 

void fk_Disable(object fk, bool disableLink)

Funkce zakáže editaci ovládacího prvku „ForeignKey“. Parametr „disableLink“ určuje, zda deaktivovat odkaz na vybraný záznam.

Příklad:

fk_Disable(#ng_foreignkey#);
fk_Disable(#ng_foreignkey#, false);
 

void fk_Enable(object fk)

Funkce povolí editaci ovládacího prvku „ForeignKey“.

Příklad:

fk_Enable(#ng_foreignkey#);
 

void fk_Update(object fk)

Funkce aktualizuje AJAXem zobrazení ovládacího prvku „ForeignKey“. Má význam při nulovém nastavení šířky prvku po použití „control_SetValue“.

Příklad:

fk_Update(#ng_foreignkey#);
 

void form_Change()

Funkce je zavolána pokaždé, kdy dojde ke změně hodnoty ovládacího prvku v editačním formuláři. Nastaví příznak „_form_Change=true“ a zajistí zobrazení varování při opuštění formuláře bez uložení. Pokud je zapnutý AutoSave, spustí 5sekundový timer pro automatické uložení.

Příklad č. 1:

form_Change();
 

void form_DisableUpdate()

Funkce zamezí automatické aktualizaci editačního formuláře po zkopírování souborových příloh nebo obrázků pomocí pickeru, případně po zkopírování hodnot do rozbalovacích seznamů nebo radio buttonů.

Příklad:

form_DisableUpdate();
 

bool form_Picker()

Funkce vrací logickou hodnotu „true“, pokud je formulář ve stavu volání JavaScriptových událostí „onchange“ u ovládacích prvků, jejichž hodnoty byly právě převzaty pomocí pickeru. Interně testuje přítomnost a stav skrytého pole „ng-picker“.

Příklad:

var ok = form_Picker();
 

void form_Save([function f])

Funkce uloží všechny hodnoty ovládacích prvků formuláře do databáze pomocí AJAXu na stránku „Save.aspx“. Volitelný parametr „f“ je callback volaný po úspěšném uložení. Po uložení zavolá „form_Saved()“ pro reset příznaku změn.

Příklad:

form_Save();
form_Save(function() { alert('Uloženo.'); });
 

void form_SetMargins(int top, int right, int bottom, int left)

Funkce nastaví okraje stránky (v pixelech). Použití při tisku nebo úpravě layoutu.

Příklad:

form_SetMargins(10, 20, 10, 20);
 

void form_Update()

Funkce aktualizuje právě otevřený editační formulář – především z důvodu obnovy dat v datagridech nebo zdrojích dat jednotlivých ovládacích prvků. Interně spustí „bt_Click()“ (postback). Pokud je formulář právě ve stavu pickeru („form_Picker()“ vrací „true“), aktualizace se odloží o 500 ms. Funkce respektuje guard příznak „_form_Update“ – pokud byl nastaven na „false“, zavolání nemá efekt.

Příklad:

form_Update();
 

string Hex(int n)

Funkce převede decimální číslo zadané parametrem „n“ na dvouznakový hexadecimální řetězec (malá písmena). Pokud je výsledek jednoznakový, doplní se nulou na začátek.

Příklad:

var s = Hex(123); // Vrací „7b“
var s = Hex(15); // Vrací „0f“
var s = Hex(255); // Vrací „ff“
 

string html_showWindow(string html, string bt1title, string/function bt1f, string bt2title, string/function bt2f)

Funkce zobrazí modální dialog s vlastním HTML obsahem. Volitelné parametry definují 1 nebo 2 tlačítka. Parametr „bt*f“ může být string (onclick kód) nebo přímá reference na funkci. Vrací ID dialogu.

Příklad:

html_showWindow('<p>Opravdu chcete smazat záznam?</p>', 'Ano', 'bt_Click(BT123)', 'Ne', null);
 

string htmlEncode(string value)

Funkce zakóduje speciální HTML znaky ve stringu. Kóduje znaky: & vrací &amp;, < vrací &lt;, > vrací &gt;, "" vrací &quot;, ' vrací &#39;.

Příklad:

var s = htmlEncode('<script>alert("xss")</script>');
// Vrací „&lt;script&gt;alert(&quot;xss&quot;)&lt;/script&gt;“
 

void image_Disable(object image)

Funkce zakáže editaci ovládacího prvku „Image“ zadaného parametrem „image“. Alternativou je obecná funkce „control_Disable“.

Příklad:

image_Disable(#ng_image#);
 

void image_Enable(object image)

Funkce povolí editaci ovládacího prvku „Image“ zadaného parametrem „image“. Alternativou je obecná funkce „control_Enable“.

Příklad:

image_Enable(#ng_image#);
 

int innerHeight2([object o])

Funkce vrátí vnitřní výšku okna zadaného parametrem „o“ v pixelech. Pokud parametr „o“ není zadán, použije se objekt „window“. Správně pracuje s různými prohlížeči (IE/Edge, Firefox, Safari, Chrome).

Příklad:

var n = innerHeight2();
 

int innerWidth2([object o])

Funkce vrátí vnitřní šířku okna zadaného parametrem „o“ v pixelech. Pokud parametr „o“ není zadán, použije se objekt „window“. Správně pracuje s různými prohlížeči (IE/Edge, Firefox, Safari, Chrome).

Příklad:

var n = innerWidth2();
 

void InsertTime(object tb)

Funkce vloží aktuální čas ve formátu „HH:mm“ do textového pole definovaného parametrem „tb“.

Příklad:

InsertTime(#ng_textbox#);
 

string Int2Roman(int n)

Funkce převede celé číslo na římské číslice. Podporuje hodnoty 1–3999. Pro hodnoty mimo rozsah vrátí prázdný řetězec.

Příklad:

var s = Int2Roman(14);   // Vrací „XIV“
var s = Int2Roman(2024); // Vrací „MMXXIV“
var s = Int2Roman(0); // Vrací „“
 

string Int2Time(int n)

Funkce převede celkový počet minut na čas ve formátu „HH:MM“. Správně zpracuje záporné hodnoty.

Příklad:

var s = Int2Time(90);  // Vrací „1:30“
var s = Int2Time(-15); // Vrací „-0:15“
var s = Int2Time(0); // Vrací „0:00“
 

bool isImage(string filename)

Funkce vrátí „true“, pokud název souboru má příponu obrázku (jpg, jpeg, gif, png, bmp, svg, webp, tif, tiff).

Příklad:

var b = isImage('foto.jpg'); // Vrací true
var b = isImage('dokument.pdf'); // Vrací false
 

void jsClose([string message])

Funkce zavře aktuální iframe dialog nebo okno. Volitelný parametr „message“ je předán jako návratová hodnota nadřazenému oknu.

Příklad:

jsClose();
jsClose('OK');
 

void jsClose2(string id)

Funkce zavře konkrétní iframe dialog identifikovaný parametrem „id“. Odstraní dialog z pole „doc.htmlDialogs“ a ze struktury DOM. Pokud byl to poslední otevřený dialog, obnoví scrollování stránky na původní pozici.

Příklad:

var id = html_showWindow('<p>Obsah dialogu</p>', 'Zavřít', null, null, null);
jsClose2(id);
 

string jsCompanyWithoutSro(string value)

Funkce odstraní z názvu firmy česká/slovenská právní označení (s.r.o., a.s., spol. s r.o., v.o.s., k.s., o.p.s., z.ú., s.e., SE, atd.) ze začátku i konce řetězce.

Příklad:

var s = jsCompanyWithoutSro('ABC s.r.o.'); // Vrací „ABC“
var s = jsCompanyWithoutSro('a.s. XYZ'); // Vrací „XYZ“
 

string jsConfirm(string html, object[] buttons)

Funkce zobrazí modální potvrzovací dialog (ne nativní browser confirm). Parametr „html“ je obsah dialogu. Parametr „buttons“ je pole objektů s vlastnostmi „title“ a „f“. Vrací ID dialogu.

Příklad:

jsConfirm('Opravdu smazat?', [
{ title: 'Ano', f: function() { bt_Click(BT123); } },
{ title: 'Ne', f: null }
]);
 

void jsDisplay(bool value)

Funkce vrátí string „''“ (viditelné) pokud je „value“ pravdivé, nebo „'none'“ (skryté) pokud je nepravdivé. Vhodné pro nastavení style.display.

Příklad:

#ng_:Table#.style.display = jsDisplay(podminka);
 

string jsFN(double n)

string jsFormatNumber(double n)

Funkce formátuje číslo zadané parametrem „n“ do textové podoby vyžadované pro správné uložení číselné hodnoty do databáze – zajistí použití správného oddělovače desetinných míst na základě nastavení proměnné „numberSeparator“. Funkce „jsFormatNumber“ je aliasem pro „jsFN“.

Příklad:

control_SetValue(#ng_textbox#, jsFN(1.23));
#ng_textbox#.value = jsFN(1.23);
 

string jsFormatCurrency(number n, string symbol)

Funkce formátuje číslo jako částku s mezerami jako oddělovači tisíců, čárkou jako desetinným oddělovačem a 2 desetinnými místy. Volitelný parametr „symbol“ je přidán za číslo.

Příklad:

var s = jsFormatCurrency(1234567.89, 'Kč'); // Vrací „1 234 567,89 Kč“
 

string jsFormatDate(object date)

Funkce formátuje datum zadané parametrem „date“ do textové podoby na základě formátu data z nastavení NET Genia („dd.MM.yyyy“ nebo „MM/dd/yyyy“) a jazykového nastavení aktuálně přihlášeného uživatele (pro angličtinu lomítko jako oddělovač, jinak tečka).

Příklad:

var s = jsFormatDate(new Date());
// Vrací aktuální datum, např. „20.04.2026“ (jazyk jiný než angličtina)
var s = jsFormatDate(Str2Date('01.01.2016 13:00'));
// Vrací „01.01.2016“
 

string jsFormatDouble(number n [, string symbol])

Funkce formátuje číslo s mezerami jako oddělovači tisíců a čárkou jako desetinným oddělovačem. Počet desetinných míst odpovídá vstupnímu číslu (proměnný). Volitelný parametr „symbol“ je přidán za číslo.

Příklad:

var s = jsFormatDouble(1234.5);      // Vrací „1 234,5“
var s = jsFormatDouble(1234.56, 'kg'); // Vrací „1 234,56 kg“
 

string jsFormatSize(number n)

Funkce formátuje velikost souboru v bytech do čitelného formátu (b / kB / MB).

Příklad:

var s = jsFormatSize(1024);      // Vrací „1 kB“
var s = jsFormatSize(1048576); // Vrací „1 MB“
var s = jsFormatSize(512); // Vrací „512 b“
 

string jsFormatTable(string value, string title, int width, bool showGrid, string noEntries, int pageSize, int tb_pageIndex)

Funkce vykreslí úplné HTML datagridu z tabulkových dat. Parametr „value“ je CSV-like data (řádky odděleny \n, sloupce \t). První řádek dat je záhlaví. Buňka s hodnotou „null“ způsobí colspan sousedního sloupce. Zarovnání sloupce: prefix | = vlevo, suffix | = vpravo, prefix i suffix | = na střed. Šířka sloupce: suffix ! = šířka v pixelech. Podporuje stránkování přes „pageSize“ a „tb_pageIndex“.

Příklad:

var data = 'Jméno\tVěk\nJan\t30\nPetra\t25';
var html = jsFormatTable(data, 'Přehled', 500, true, 'Žádné záznamy', 10, 0);
el('ng-output').innerHTML = html;
 

string jsFormatTable2(string value, int width, string noEntries)

Zjednodušená verze „jsFormatTable“ bez mřížky a s minimálním formátováním.

Příklad:

var html = jsFormatTable2(data, 400, 'Žádné záznamy');
 

string jsFormatTime(object date)

Funkce formátuje čas zadaný parametrem „date“ do textové podoby ve formátu „HH:mm“.

Příklad:

var s = jsFormatTime(new Date());
// Vrací aktuální čas, např. „14:35“
var s = jsFormatTime(Str2Date('1.1.2016 13:00'));
// Vrací „13:00“
 

string jsFormatTime2(object date)

Funkce formátuje čas zadaný parametrem „date“ do textové podoby ve formátu „HH:mm:ss“.

Příklad:

var s = jsFormatTime2(new Date());
// Vrací aktuální čas, např. „14:35:22“
var s = jsFormatTime2(Str2Date('1.1.2016 13:00'));
// Vrací „13:00:00“
 

string jsFormatTime3(object date)

Funkce formátuje čas zadaný parametrem „date“ do textové podoby ve formátu „HH:mm:ss.SSS“ (včetně milisekund).

Příklad:

var s = jsFormatTime3(new Date());
// Vrací aktuální čas, např. „14:35:22.456“
var s = jsFormatTime3(Str2Date('1.1.2016 13:00'));
// Vrací „13:00:00.0“
 

bool jsIsNumber(object o)

Funkce vrátí logickou hodnotu „true“, pokud je hodnota zadaná parametrem „o“ číslo (po případném nahrazení čárky tečkou), nebo „false“ v opačném případě. Testuje, zda hodnota spadá do rozsahu -1 000 000 000 000 až 1 000 000 000 000.

Příklad:

var ok = jsIsNumber(#ng_textbox#.value);
var ok = jsIsNumber('1 234,56'); // Vrací false (mezera není povolena)
var ok = jsIsNumber('1234,56'); // Vrací true
 

double jsMeasureHours(Date startDate, Date endDate)

Funkce vrátí počet hodin mezi dvěma daty. Pokud je čas konečného data 00:00, je to považováno za konec dne (půlnoc), nikoliv za začátek dne.

Příklad:

var h = jsMeasureHours(new Date(2024, 0, 1, 8, 0), new Date(2024, 0, 1, 16, 0)); // Vrací 8
 

double jsMeasureMinutes(Date startDate, Date endDate)

Funkce vrátí nezaokrouhlený počet minut z časového úseku zadaného parametry „startDate“ a „endDate“. Oba parametry musí být JavaScriptové objekty typu „Date“. Interně volá „jsMeasureHours“ a násobí výsledek 60.

Příklad:

var n = jsMeasureMinutes(Str2Date('1.1.2000'), Str2Date('1.2.2000'));
var n = jsMeasureMinutes(new Date(2024, 0, 1, 8, 0), new Date(2024, 0, 1, 8, 30)); // Vrací 30
 

double jsMeasureWorkDays(Date startDate, Date endDate [, int workingHours])

Funkce vrátí počet pracovních dní mezi dvěma daty. Vynechává víkendy, státní svátky z „holidays1Cache_Array“ (celý den) a svátky z „holidays2Cache_Array“ (půl dne). Parametr „workingHours“ umožňuje výpočet ve zlomcích dne (např. 8 hodin = 1 pracovní den).

Příklad:

var d = jsMeasureWorkDays(new Date(2024, 0, 1), new Date(2024, 0, 31));
var d = jsMeasureWorkDays(new Date(2024, 0, 1), new Date(2024, 0, 31), 8);
 

number jsN(var o [, var o2])

Funkce bezpečně převede hodnotu na číslo. Zpracuje čárku jako desetinný oddělovač. Vrátí 0 pro null, prázdný řetězec nebo hodnoty mimo rozsah. Volitelný parametr „o2“ je přidán jako desetinná část.

Příklad:

var n = jsN('1 234,56'); // Vrací 1234.56
var n = jsN(null); // Vrací 0
var n = jsN('3', '14'); // Vrací 3.14
 

string jsNetGeniumStart(string date)

Funkce vrátí čas prvního spuštění NET Genia aktuálně přihlášeným uživatelem ve dni zadaném textovým parametrem „date“ ve formátu „dd.MM.yyyy“. Informaci o čase spuštění čte z cookies (klíč „NG“ + datum bez oddělovačů).

Příklad:

var s = jsNetGeniumStart('#today#');
 

string jsngdph()

Funkce vrátí aktuální sazby DPH pro ČR oddělené středníkem (např. „21;15;12;0“).

Příklad:

var s = jsngdph();
// Vrací aktuální sazby DPH pro ČR, např. „21;15;12;0“
 

double jsngdph(int rate)

Funkce vrátí aktuální sazbu DPH pro ČR podle indexu zadaného parametrem „rate“: 1 = snížená sazba, 2 = zvýšená sazba, 3 = druhá snížená sazba, 0 = nulová sazba.

Příklad:

var n = jsngdph(2);
// Vrací zvýšenou sazbu DPH, např. 21
var n = jsngdph(1);
// Vrací sníženou sazbu DPH, např. 15
 

string jsngdph(object date)

Funkce vrátí sazby DPH pro ČR platné k datu zadanému parametrem „date“ (JavaScriptový objekt Date), oddělené středníkem.

Příklad:

var s = jsngdph(Str2Date('1.1.2013'));
// Vrací sazby DPH platné k 1.1.2013, např. „21;15;0“
 

double jsngdph(int rate, object date)

Funkce vrátí sazbu DPH pro ČR definovanou parametrem „rate“ platnou k datu zadanému parametrem „date“.

Příklad:

var n = jsngdph(2, Str2Date('1.1.2000'));
// Vrací zvýšenou sazbu DPH platnou k 1.1.2000, např. 22
 

string jsngdph(double base, string type1, double rate, string type2 [, bool vyuctovanidph])

Funkce pro výpočty DPH. Parametr „base“ je vstupní částka, „type1“ specifikuje její typ („bezdph“ nebo „sdph“), „rate“ je sazba DPH v procentech (nebo objekt ComboBoxu s sazbami DPH), „type2“ určuje výstup. Volitelný parametr „vyuctovanidph“ („true“) mění způsob výpočtu pro vyúčtování.

Možné hodnoty parametru „type2“:

  • „bezdph“ – vypočítá základ daně
  • „dph“ – vypočítá hodnotu DPH
  • „zdph“ – DPH zaokrouhlená nahoru na celé číslo
  • „dph1“ – DPH snížené sazby
  • „zdph1“ – DPH snížené sazby zaokrouhlená nahoru
  • „dph2“ – DPH zvýšené sazby
  • „zdph2“ – DPH zvýšené sazby zaokrouhlená nahoru
  • „sdph“ – částka s DPH
  • „zsdph“ – částka s DPH zaokrouhlená nahoru na celé číslo
  • „zsdph-1“ – částka s DPH zaokrouhlená matematicky na celé číslo
  • „zsdph-2“ – částka s DPH zaokrouhlená na 50 haléřů

Příklad:

// Cena bez DPH Vrací cena s DPH (sazba 21 %)
var s = jsngdph(1000, 'bezdph', 21, 'sdph'); // Vrací „1210“

// Cena s DPH Vrací základ DPH
var s = jsngdph(1210, 'sdph', 21, 'bezdph'); // Vrací „1000“

// Výpočet hodnoty DPH
var s = jsngdph(1000, 'bezdph', 21, 'dph'); // Vrací „210“
 

int jsngvatindex(double rate [, object dph])

Funkce vrátí index sazby DPH zadané parametrem „rate“. Vrací „0“ pro nulovou sazbu, „1“ pro sníženou, „2“ pro zvýšenou, „3“ pro druhou sníženou sazbu. Volitelný parametr „dph“ je objekt ComboBoxu se sazbami DPH – pokud je zadán, index se odvozuje z hodnot v ComboBoxu.

Příklad:

var n = jsngvatindex(0);  // Vrací 0
var n = jsngvatindex(15); // Vrací 1
var n = jsngvatindex(21); // Vrací 2
var n = jsngvatindex(10); // Vrací 3
 

string jsngvatrates(string country, object date)

Funkce vrátí pole sazeb DPH pro zadanou zemi (kód ISO, např. „CZ“, „DE“, „SK“, „HU“, …) platných k datu zadanému parametrem „date“. Hodnoty jsou seřazeny od nejvyšší sazby po nejnižší.

Příklad:

var rates = jsngvatrates('CZ', new Date()); // Vrací např. [21, 15, 12]
var rates = jsngvatrates('DE', Str2Date('1.1.2013')); // Vrací [19, 7]
 

number jsNumber(var o [, var o2])

Alias pro funkci „jsN“. Bezpečně převede hodnotu na číslo. Zpracuje čárku jako desetinný oddělovač.

Příklad:

var n = jsNumber('1 234,56'); // Vrací 1234.56
var n = jsNumber(null); // Vrací 0
 

string jsNumberInWords(number n, string language)

Funkce převede číslo na textový zápis slovy. Podporované jazyky: „cz“/„cs“ (čeština), „sk“ (slovenština), „de“ (němčina), „en“ (angličtina), „fr“ (francouzština). Podporuje hodnoty do miliard.

Příklad:

var s = jsNumberInWords(1234, 'cz'); // Vrací „tisíc dvěstě třicet čtyři“
var s = jsNumberInWords(42, 'en'); // Vrací „forty-two“
 

object jsO(object o)

Funkce převede objekt „o“ na bezpečný objekt – pokud je „o“ null nebo je to číslo (tzn. hodnota ovládacího prvku, na který uživatel nemá právo), vrátí „null“; jinak vrátí původní objekt. Funkce má využití při testování práv uživatele k ovládacímu prvku.

Příklad:

var o = jsO(#ng_tb#);
// Pokud uživatel nemá na ovládací prvek '#ng_tb#' právo,
// dojde k nahrazení '#ng_tb#' za hodnotu z databáze – jsO() pak vrátí null
if (o != null)
{
// ovládací prvek je přístupný
}
 

void jsOpen(string url)

Funkce otevře URL v iframe dialogu (overlay) uvnitř aktuální stránky. Výjimka: stránka DownloadFile.aspx se otevře jako skutečné popup okno prohlížeče. Na mobilních zařízeních se vždy otevře popup.

Příklad:

jsOpen('ViewPage.aspx?appgroup=1&app=2&viewpage=3&id=100');
 

void jsPost([string action, function f, bool loader])

Funkce odešle všechny hodnoty formuláře metodou POST na aktuální URL (nebo na „action“). Volitelný parametr „f“ je callback po odpovědi. Parametr „loader“ zobrazí indikátor načítání. Zpracovává navigační response headers pro přesměrování.

Příklad:

jsPost();
jsPost('Save.aspx', function(html) { alert(html); });
 

string jsProgressBar(int width, int done, string color)

Funkce vrátí HTML řetězec pro vizuální progress bar. Parametr „width“ je celková šířka (px), „done“ je procento (0–100), „color“ je barva výplně.

Příklad:

var html = jsProgressBar(200, 75, '#4caf50');
el('ng-progress').innerHTML = html;
 

double jsR(number n [, int decimals])

double jsRound(number n [, int decimals])

Funkce zaokrouhlí číslo na zadaný počet desetinných míst. Správně zpracuje záporná čísla (ne jako Math.round). Parametr „decimals“ je volitelný a výchozí hodnota je 0. Funkce „jsRound“ je aliasem pro „jsR“.

Příklad:

var n = jsR(2.567, 2); // Vrací 2.57
var n = jsR(-2.5); // Vrací -3 (správné matematické zaokrouhlení)
var n = jsR(2.5); // Vrací 3
var n = jsRound(21.232); // Vrací 21
 

double jsR_50(number n)

double jsRound_50(number n)

Funkce zaokrouhlí číslo zadané parametrem „n“ na padesátihaléře (tj. na násobky 0,5). Funkce „jsRound_50“ je aliasem pro „jsR_50“.

Příklad:

var n = jsR_50(123.456); // Vrací 123.5
var n = jsR_50(123.749); // Vrací 123.5
var n = jsR_50(123.750); // Vrací 124
var n = jsR_50(123.249); // Vrací 123
 

void jsRefresh([object o, bool refresh, string id, string cmd])

Funkce obnoví stránku se zachováním pozice scrollu a stavu záložek. Volitelné parametry umožňují specifikovat prvek, typ obnovy a příkaz.

Příklad:

jsRefresh();
 

void jsResizeIframe(string id)

Funkce automaticky nastaví výšku iframe elementu se zadaným „id“ na výšku jeho obsahu.

Příklad:

jsResizeIframe('ng-iframe-123');
 

bool jsUserInGroup(string name)

Funkce ověří, zda aktuálně přihlášený uživatel patří do skupiny zadané parametrem „name“. Využívá globální pole „usergroups“.

Příklad:

if (jsUserInGroup('Administrátoři')) {
// ...
}
 

bool jsValidateEmail(string value)

Funkce ověří, zda zadaný řetězec je platná e-mailová adresa pomocí regulárního výrazu.

Příklad:

var ok = jsValidateEmail('user@example.com'); // Vrací true
var ok = jsValidateEmail('invalid-email'); // Vrací false
 

bool jsValidateEmails(string value)

Funkce ověří, zda jsou všechny e-mailové adresy v řetězci platné. Adresy jsou odděleny středníkem nebo čárkou.

Příklad:

var ok = jsValidateEmails('a@b.com; c@d.com'); // Vrací true
 

string jsVisibility(bool value)

Funkce vrátí string „'visible'“ pokud je „value“ pravdivé, nebo „'hidden'“ pokud je nepravdivé. Vhodné pro nastavení style.visibility (prvek zůstane v layoutu, ale není vidět).

Příklad:

el('ng-element').style.visibility = jsVisibility(podminka);
 

void jsWait(string url [, bool _pleaseWait, object _window, string errorMessage])

Funkce zobrazí indikátor načítání a přejde na zadanou URL. Parametr „_pleaseWait“ zobrazí text „Prosím čekejte…“. Parametr „_window“ určuje cílové okno. Parametr „errorMessage“ se zobrazí při chybě.

Příklad:

jsWait('ViewPage.aspx?appgroup=1&app=2');
 

void lb_Disable(object lb)

Funkce zakáže editaci ovládacího prvku „ListBox“ zadaného parametrem „lb“. Alternativou je obecná funkce „control_Disable“.

Příklad:

lb_Disable(#ng_listbox#);
 

void lb_Enable(object lb)

Funkce povolí editaci ovládacího prvku „ListBox“ zadaného parametrem „lb“. Alternativou je obecná funkce „control_Enable“.

Příklad:

lb_Enable(#ng_listbox#);
 

bool letterOrDigit(string value)

Funkce vrátí „true“, pokud text zadaný parametrem „value“ začíná písmenem (a–z, A–Z) nebo číslicí (0–9). Vrátí „false“, pokud text začíná jiným znakem.

Příklad:

letterOrDigit('NET Genium'); // Vrací true
letterOrDigit('-a**'); // Vrací false
 

void loadUrl(string url)

Funkce načte stránku definovanou parametrem „url“ pomocí asynchronního ajaxového volání. Funkce nečeká bezprostředně na odpověď serveru. V jednu chvíli je možné volat pouze jedno volání pomocí „loadUrl“ – pokud předchozí volání dosud neskončilo, nové volání se přeskočí. Pro paralelní volání použijte „_loadUrl“.

Příklad:

var p0 = 'ěščřžýáíé', p1 = 'ĚŠČŘŽÝÁÍÉ';
loadUrl('ngef.aspx?MyFirstFunction,' + urlEncode(p0) + ',' + urlEncode(p1));
 

void loadUrl(string url, string/function f)

Stejně jako předchozí varianta, ale po přijetí odpovědi zavolá callback „f“. HTML kód stránky je funkci „f“ předán jako první parametr.

Příklad:

var p0 = 'ěščřžýáíé', p1 = 'ĚŠČŘŽÝÁÍÉ';
loadUrl('ngef.aspx?MyFirstFunction,' + urlEncode(p0) + ',' + urlEncode(p1), ajaxResponse);

function ajaxResponse(html)
{
alert(html);
}
 

void loadUrl(string url, string/function f, string id)

Stejně jako předchozí varianta. Volitelný parametr „id“ je funkci „f“ předán jako druhý parametr.

Příklad:

loadUrl('ngef.aspx?MyFirstFunction,' + urlEncode(p0), ajaxResponse, 'test');

function ajaxResponse(html, id)
{
alert(id + ': ' + html);
}
 

void loadUrl(string url, string/function f, string id, string params)

Stejně jako předchozí varianta. Parametr „params“ je odeslán metodou POST (formát: klíč=hodnota&klíč2=hodnota2). Pokud je „params“ neprázdný, použije se POST; jinak GET.

Příklad:

loadUrl('ngef.aspx?MyFirstFunction', ajaxResponse, 'test', 'p0=' + urlEncode(p0) + '&p1=' + urlEncode(p1));

function ajaxResponse(html, id)
{
alert(id + ': ' + html);
}
 

bool loginByFacebook()

Funkce vyvolá přihlášení do účtu Facebooku v novém okně prohlížeče. Úspěšné přihlášení nastaví hodnotu proměnné „#facebook_access_token#“. Funkce vrátí „false“, pokud je uživatel do Facebooku již přihlášen (platná expirace tokenu existuje).

Příklad:

var ok = loginByFacebook();
 

bool loginByGoogle(string scope, bool offline)

Funkce vyvolá přihlášení do účtu Google v novém okně prohlížeče a předá parametr „scope“ definující rozsah přístupových oprávnění. Úspěšné přihlášení nastaví proměnnou „#google_access_token#“. Parametr „offline=true“ zajistí nastavení také „#google_refresh_token#“. Vrátí „false“, pokud je uživatel již přihlášen.

Příklad:

var ok = loginByGoogle('https://www.googleapis.com/auth/youtube', false);
 

bool loginByMicrosoft(string scope, bool offline)

Funkce vyvolá přihlášení do účtu Microsoft v novém okně prohlížeče a předá parametr „scope“ definující rozsah přístupových oprávnění. Úspěšné přihlášení nastaví proměnnou „#microsoft_access_token#“. Parametr „offline=true“ zajistí nastavení také „#microsoft_refresh_token#“. Vrátí „false“, pokud je uživatel již přihlášen.

Příklad:

var ok = loginByMicrosoft('openid email', false);
 

class Mailbox

Třída pro parsování e-mailové adresy ve formátu „Jméno Příjmení email@domena.cz“ nebo „“Jméno„ <email@domena.cz>“. Vlastnosti:

  • „.email()“ – getter/setter e-mailové adresy
  • „.name()“ – getter/setter jména

Příklad:

var mb = new Mailbox('"Jan Novák" <jan.novak@example.com>');
alert(mb.name()); // Vrací „Jan Novák“
alert(mb.email()); // Vrací „jan.novak@example.com“

mb.email('novy@email.cz');
 

void mlb_Disable(object mlb)

Funkce zakáže editaci ovládacího prvku „MultiListBox“ zadaného parametrem „mlb“. Alternativou je obecná funkce „control_Disable“.

Příklad:

mlb_Disable(#ng_multilistbox#);
 

void mlb_Enable(object mlb)

Funkce povolí editaci ovládacího prvku „MultiListBox“ zadaného parametrem „mlb“. Alternativou je obecná funkce „control_Enable“.

Příklad:

mlb_Enable(#ng_multilistbox#);
 

void mlb_Items_Delete(object lb)

Funkce odstraní vybrané položky z ovládacího prvku „MultiListBox“ (interní select element „lb“). Po odstranění vybere nejbližší zbývající položku.

Příklad:

mlb_Items_Delete(#ng_multilistbox#);
 

string mlb_Items_JoinTexts(object lb)

Funkce vrátí texty všech položek ovládacího prvku „MultiListBox“ spojené oddělovačem „[*VS*]“.

Příklad:

var s = mlb_Items_JoinTexts(#ng_multilistbox#);
 

string mlb_Items_JoinValues(object lb)

Funkce vrátí hodnoty všech položek ovládacího prvku „MultiListBox“ spojené oddělovačem „[*VS*]“.

Příklad:

var s = mlb_Items_JoinValues(#ng_multilistbox#);
 

bool mlb_Items_Move(object lb1, object lb2, bool column2, bool back, object lb)

Funkce přesune vybrané položky ze seznamu „lb1“ do seznamu „lb2“. Parametr „column2“ určuje speciální chování pro systémový sloupec č. 2. Parametr „back“ označuje zpětný přesun. Volitelný parametr „lb“ je zdrojový seznam pro zachování pořadí. Vrací „true“ pokud byl přesun úspěšný.

Příklad:

mlb_Items_Move(lb1, lb2, false, false, null);
 

void mlb_Items_MoveDown(object lb)

Funkce posune vybranou položku v ovládacím prvku „MultiListBox“ o jednu pozici dolů.

Příklad:

mlb_Items_MoveDown(#ng_multilistbox#);
 

void mlb_Items_MoveUp(object lb)

Funkce posune vybranou položku v ovládacím prvku „MultiListBox“ o jednu pozici nahoru.

Příklad:

mlb_Items_MoveUp(#ng_multilistbox#);
 

string Now()

Funkce vrátí aktuální datum a čas ve formátu „dd.MM.yyyy HH:mm“.

Příklad:

var s = Now(); // Vrací např. „20.4.2026 14:35“
 

string Now2()

Funkce vrátí aktuální datum a čas ve formátu „dd.MM.yyyy HH:mm:ss“ (včetně sekund).

Příklad:

var s = Now2(); // Vrací např. „20.4.2026 14:35:22“
 

int offsetLeft2(object o)

Funkce vrátí x-ovou souřadnici elementu „o“ od levého (nebo pravého v RTL režimu) horního rohu webové stránky. Prochází celý rodičovský strom („offsetParent“) a sčítá offsety.

Příklad:

var n = offsetLeft2(#ng_textbox#);
 

int offsetTop2(object o)

Funkce vrátí y-ovou souřadnici elementu „o“ od horního okraje webové stránky. Prochází celý rodičovský strom („offsetParent“) a sčítá offsety.

Příklad:

var n = offsetTop2(#ng_textbox#);
 

void picker_Open(object o)

Funkce programově otevře picker ovládacího prvku zadaného parametrem „o“. Interně vyhledá tlačítko pickeru (element s příponou „_p“) a vyvolá jeho kliknutí.

Příklad:

picker_Open(#ng_textbox#);
 

string queryString(string name [, string url])

Funkce extrahuje hodnotu parametru „name“ z URL query stringu. Pokud není zadán parametr „url“, použije se „location.toString()“.

Příklad:

var id = queryString('id');        // z aktuální URL
var id = queryString('id', 'ViewPage.aspx?id=42'); // Vrací „42“
 

int rbl_Count(object rbl)

Funkce vrátí počet možností v skupině radio tlačítek „rbl“.

Příklad:

var n = rbl_Count(#ng_radio#);
 

void rbl_Disable(object rbl)

Funkce zakáže editaci ovládacího prvku „Radio“ zadaného parametrem „rbl“. Alternativou je obecná funkce „control_Disable“.

Příklad:

rbl_Disable(#ng_radio#);
 

void rbl_Enable(object rbl)

Funkce povolí editaci ovládacího prvku „Radio“ zadaného parametrem „rbl“. Alternativou je obecná funkce „control_Enable“.

Příklad:

rbl_Enable(#ng_radio#);
 

void rbl_EnabledItems(object rbl, int[] items)

Funkce povolí pouze radio tlačítka na indexech definovaných polem „items“. Ostatní budou zakázána.

Příklad:

rbl_EnabledItems(#ng_radio#, [0, 2]); // povolí první a třetí možnost
 

string rbl_SelectedItem_Text(object rbl)

Funkce vrátí text vybraného radio tlačítka v skupině „rbl“.

Příklad:

var s = rbl_SelectedItem_Text(#ng_radio#);
 

string rbl_SelectedItem_Value(object rbl)

Funkce vrátí hodnotu vybraného radio tlačítka v skupině „rbl“.

Příklad:

var s = rbl_SelectedItem_Value(#ng_radio#);
 

int rbl_SelectedIndex(object rbl)

Funkce vrátí index vybrané položky ovládacího prvku „Radio“. V případě, že není vybrána žádná položka, vrátí „-1“.

Příklad:

var n = rbl_SelectedIndex(#ng_radio#);
 

void rbl_SelectIndex(object rbl, int index)

Funkce vybere radio tlačítko na pozici „index“ (od 0). Hodnota -1 nebo prázdná hodnota zruší výběr.

Příklad:

rbl_SelectIndex(#ng_radio#, 0); // vybere první možnost
 

void rbl_SelectText(object rbl, string text)

Funkce vybere radio tlačítko, jehož text odpovídá parametru „text“. Prázdný řetězec zruší výběr.

Příklad:

rbl_SelectText(#ng_radio#, 'Ano');
 

void rbl_SelectValue(object rbl, string value)

Funkce vybere radio tlačítko, jehož hodnota odpovídá parametru „value“. Prázdný řetězec zruší výběr.

Příklad:

rbl_SelectValue(#ng_radio#, '1');
 

class RegexFinder

Třída pro vyhledávání a nahrazování v řetězcích pomocí regulárních výrazů.

  • „.find(regex)“ – hledá výskyt, vrátí true/false
  • „.value()“ – vrátí nalezený text
  • „.index()“ – vrátí pozici nálezu
  • „.replace(string)“ – nahradí nalezený text
  • „.toString()“ – vrátí aktuální obsah

Příklad:

var rf = new RegexFinder('Datum: 1.1.2024');
if (rf.find(/\d+\.\d+\.\d{4}/)) {
alert(rf.value()); // Vrací „1.1.2024“
rf.replace('20.4.2026');
}
var result = rf.toString(); // Vrací „Datum: 20.4.2026“
 

string removeDiacritics(string value)

Funkce nahradí diakritické znaky jejich ASCII ekvivalenty pomocí mapovací tabulky. Zpracuje Unicode znaky i náhradní páry (surrogate pairs).

Příklad:

var s = removeDiacritics('Česká republika'); // Vrací „Ceska republika“
var s = removeDiacritics('Příliš žluťoučký kůň'); // Vrací „Prilis zlutoucky kun“
 

string removeDoubleCharacters(string value, string ch)

Funkce odstraní z řetězce zadaného parametrem „value“ všechna zdvojení znaku definovaného parametrem „ch“ (nahradí n-násobný výskyt za jednoduchý).

Příklad:

var s = removeDoubleCharacters('a  b   c', ' '); // Vrací „a b c“
 

string removeDoubleLines(string value)

Funkce odstraní z víceřádkového řetězce zadaného parametrem „value“ nadbytečné prázdné řádky – zachová maximálně jeden prázdný řádek za sebou.

Příklad:

var s = removeDoubleLines('a\r\n\r\n\r\nbc'); // Vrací „a\r\n\r\nbc“
 

string removeDoubleSpaces(string value)

Funkce odstraní z řetězce zadaného parametrem „value“ zdvojené mezery. Je aliasem pro „removeDoubleCharacters(value, ' ')“.

Příklad:

var s = removeDoubleSpaces('a  b  c'); // Vrací „a b c“
 

string removeDuplicates(string value, string separator)

Funkce odstraní všechny duplicitní položky z řetězce zadaného parametrem „value“. Oddělovač položek je definován parametrem „separator“.

Příklad:

var s = removeDuplicates('aa;bb;aa;cc', ';'); // Vrací „aa;bb;cc“
 

string removeNonAlphanumericCharacters(string value)

Funkce odstraní z řetězce zadaného parametrem „value“ všechny znaky kromě alfanumerických znaků (a–z, A–Z, 0–9).

Příklad:

var s = removeNonAlphanumericCharacters('1:a:2'); // Vrací „1a2“
 

string removeNonDigits(string value)

Funkce odstraní z řetězce zadaného parametrem „value“ všechny znaky kromě číslic (0–9).

Příklad:

var s = removeNonDigits('1.2.3'); // Vrací „123“
 

string removeTags(string value)

Funkce odstraní HTML tagy z řetězce. Speciální zpracování:

  • </div>, <br>, <hr>, </p> Vrací \n (nový řádek)
  • <li> Vrací \n- (položka seznamu)
  • &nbsp; Vrací mezera

Příklad:

var s = removeTags('<b>Tučný</b> text<br>nový řádek');
// Vrací „Tučný text\nnový řádek“
 

string removeTags2(string value)

Funkce odstraní všechny HTML tagy z řetězce zadaného parametrem „value“ bez jakéhokoliv speciálního zpracování (na rozdíl od „removeTags“ nedoplňuje nové řádky).

Příklad:

var s = removeTags2('<p>abc</p><p>def</p>'); // Vrací „abcdef“
 

string removeUnnecessarySpaces(string value)

Funkce odstraní z řetězce všechna nadbytečná prázdná místa – mezery a tabulátory na začátku a konci řetězce a zdvojené mezery uvnitř nahradí jednoduchými mezerami.

Příklad:

var s = removeUnnecessarySpaces('  a  b  c  '); // Vrací „a b c“
 

string removeWhiteSpaces(string value [, string value2])

Funkce odstraní z řetězce zadaného parametrem „value“ všechna prázdná místa (mezery, tabulátory, nové řádky). Volitelný parametr „value2“ určuje náhradní řetězec (výchozí je prázdný řetězec).

Příklad:

var s = removeWhiteSpaces('a b\tc'); // Vrací „abc“
var s = removeWhiteSpaces('a b\tc', '-'); // Vrací „a-b-c“
 

string replaceAll(string value, string oldValue, string newValue)

Funkce nahradí všechny výskyty „oldValue“ za „newValue“ v řetězci „value“. Nepodporuje regulární výrazy – jde o přímou záměnu textu.

Příklad:

var s = replaceAll('aa bb aa', 'aa', 'cc'); // Vrací „cc bb cc“
 

void rtb_Disable(object rtb)

Funkce zakáže editaci ovládacího prvku „RichTextBox“ zadaného parametrem „rtb“. Alternativou je obecná funkce „control_Disable“.

Příklad:

rtb_Disable(#ng_richtextbox#);
 

void rtb_Enable(object rtb)

Funkce povolí editaci ovládacího prvku „RichTextBox“ zadaného parametrem „rtb“. Alternativou je obecná funkce „control_Enable“.

Příklad:

rtb_Enable(#ng_richtextbox#);
 

void rtb_Focus(object rtb)

Funkce nastaví focus do ovládacího prvku „RichTextBox“ definovaného parametrem „rtb“.

Příklad:

rtb_Focus(#ng_richtextbox#);
 

void rtb_Insert(object rtb, string value)

Funkce vloží do ovládacího prvku „RichTextBox“ hodnotu zadanou parametrem „value“ na aktuální místo kurzoru.

Příklad:

rtb_Insert(#ng_richtextbox#, 'Vložený text');
 

void scroll_Save(object hfx, object hfy, int viewpage, string s)

Funkce uloží aktuální pozici scrollu do skrytých polí „hfx“ a „hfy“. Pokud je „viewpage“ nenulové, po 1 sekundě asynchronně uloží pozici i na server (stránka „SaveScroll.aspx“). Parametr „s“ je identifikátor kontextu.

Příklad:

scroll_Save(el('ng-scrollx'), el('ng-scrolly'), 0, '');
 

void scroll_To(int x, int y [, bool save])

Funkce posune stránku nebo scroll kontejner na pozici (x, y). Pokud je parametr „save=true“, pozice je uložena do skrytých polí pro zachování po postbacku.

Příklad:

scroll_To(0, 500);
scroll_To(0, 0, true);
 

int scrollLeft2([object o])

Funkce vrátí aktuální horizontální pozici scrollu okna nebo elementu „o“. Správně pracuje v RTL režimu a s různými prohlížeči. Pokud je k dispozici vlastní scroll kontejner („ScrollContainer“), použije ho.

Příklad:

var n = scrollLeft2();
 

int scrollTop2([object o])

Funkce vrátí aktuální vertikální pozici scrollu okna nebo elementu „o“. Správně pracuje s různými prohlížeči. Pokud je k dispozici vlastní scroll kontejner („ScrollContainer“), použije ho.

Příklad:

var n = scrollTop2();
 

void setStyleLeft(object o, string value [, bool ltr])

Funkce nastaví vlastnost „style.left“ nebo „style.right“ elementu „o“ podle aktuálního směru textu (LTR/RTL). Volitelný parametr „ltr“ přepíše automatické zjišťování směru.

Příklad:

setStyleLeft(el('ng-element'), '100px');
 

void setStyleMarginLeft(object o, string value)

Funkce nastaví „style.marginLeft“ (LTR) nebo „style.marginRight“ (RTL) elementu „o“ podle aktuálního směru textu.

Příklad:

setStyleMarginLeft(el('ng-element'), '10px');
 

void setStyleMarginRight(object o, string value)

Funkce nastaví „style.marginRight“ (LTR) nebo „style.marginLeft“ (RTL) elementu „o“ podle aktuálního směru textu.

Příklad:

setStyleMarginRight(el('ng-element'), '10px');
 

void setStylePaddingLeft(object o, string value)

Funkce nastaví „style.paddingLeft“ (LTR) nebo „style.paddingRight“ (RTL) elementu „o“ podle aktuálního směru textu.

Příklad:

setStylePaddingLeft(el('ng-element'), '5px');
 

void setStylePaddingRight(object o, string value)

Funkce nastaví „style.paddingRight“ (LTR) nebo „style.paddingLeft“ (RTL) elementu „o“ podle aktuálního směru textu.

Příklad:

setStylePaddingRight(el('ng-element'), '5px');
 

void setTimeout2(object o, function f [, int timeout])

Funkce debounce helper – zruší předchozí timeout uložený v objektu „o“ a nastaví nový s funkcí „f“ a čekáním „timeout“ ms (výchozí 0). Vhodné pro odložené zpracování událostí (např. keyup v textboxu).

Příklad:

// Volá se při každém stisku klávesy, ale zpracování proběhne až po 300ms ticha
attachEvent2(#ng_textbox#, 'keyup', function() {
setTimeout2(#ng_textbox#, function() {
// zpracování textu
}, 300);
});
 

string Str2Date(string text [, Date defvalue])

Funkce zparsuje textový řetězec na objekt Date. Podporuje formáty „dd.MM.yyyy HH:mm“ i „mm/dd/yyyy HH:mm“. Dvouciferné roky jsou převedeny přidáním 2000 (např. „25“ vrací 2025). Při chybě parsování vrátí „defvalue“ nebo „new Date()“.

Příklad:

var d = Str2Date('1.1.2024');
var d = Str2Date('1.1.2024 12:30');
var d = Str2Date('neplatné datum', new Date(2000, 0, 1));
 

class StringBuilder

Třída pro efektivní sestavování řetězců. Metody:

  • „.append(value)“ – přidá hodnotu na konec
  • „.appendLine(value)“ – přidá hodnotu + \n
  • „.clear()“ – vymaže obsah
  • „.isEmpty()“ – vrátí true pokud je obsah prázdný
  • „.toString()“ – vrátí sestavený řetězec

Příklad:

var sb = new StringBuilder();
sb.append('Hello');
sb.append(', ');
sb.append('World');
var s = sb.toString(); // Vrací „Hello, World“
 

class StringFinder

Třída pro vyhledávání a nahrazování podřetězců.

  • „.find(string)“ – najde výskyt, vrátí true/false
  • „.replace(string, length)“ – nahradí nalezený text, volitelný parametr „length“ je délka náhrady
  • „.toString()“ – vrátí aktuální obsah

Příklad:

var sf = new StringFinder('Hello World');
if (sf.find('World')) {
sf.replace('NET Genium');
}
var s = sf.toString(); // Vrací „Hello NET Genium“
 

void ta_Disable(object ta)

Funkce zakáže editaci ovládacího prvku „TextArea“ zadaného parametrem „ta“. Alternativou je obecná funkce „control_Disable“.

Příklad:

ta_Disable(#ng_textarea#);
 

void ta_Enable(object ta)

Funkce povolí editaci ovládacího prvku „TextArea“ zadaného parametrem „ta“. Alternativou je obecná funkce „control_Enable“.

Příklad:

ta_Enable(#ng_textarea#);
 

void ta_Insert(object ta, string value)

Funkce vloží do ovládacího prvku „TextArea“ zadaného parametrem „ta“ hodnotu „value“ na aktuální místo kurzoru.

Příklad:

ta_Insert(#ng_textarea#, 'Vložený text');
 

void tab_Disable(int n)

Funkce zakáže (zašediví) záložku s indexem „n“ v systému záložek formuláře.

Příklad:

tab_Disable(2); // zakáže třetí záložku (indexováno od 0)
 

void tab_Enable(int n)

Funkce povolí záložku s indexem „n“ v systému záložek formuláře.

Příklad:

tab_Enable(2);
 

int tab_GetValue()

Funkce vrátí index aktuálně aktivní záložky.

Příklad:

var n = tab_GetValue(); // Vrací 0, 1, 2, ...
 

void tab_Open(int n)

Funkce programově přepne na záložku s indexem „n“.

Příklad:

tab_Open(1); // přepne na druhou záložku
 

void tab_SetValue(int n)

Funkce nastaví hodnotu skrytého pole záložek na „n“ bez vizuálního přepnutí.

Příklad:

tab_SetValue(2);
 

void tb_Disable(object tb)

Funkce zakáže editaci ovládacího prvku „TextBox“ zadaného parametrem „tb“. Alternativou je obecná funkce „control_Disable“.

Příklad:

tb_Disable(#ng_textbox#);
 

void tb_Enable(object tb)

Funkce povolí editaci ovládacího prvku „TextBox“ zadaného parametrem „tb“. Alternativou je obecná funkce „control_Enable“.

Příklad:

tb_Enable(#ng_textbox#);
 

void tb_InitAjax(object tb, function f, int width, int left, bool focus)

Funkce inicializuje vlastní ajaxový picker pro textové pole „tb“. Parametr „f“ je funkce volaná při keyup (a při focus pokud je „focus=true“). Parametr „width“ určuje šířku okna pickeru v pixelech. Parametr „left“ je horizontální posun okna pickeru od ovládacího prvku. Parametr „focus“ určuje, zda se picker zobrazí již při kliknutí na pole („true“) nebo až při psaní („false“).

Příklad:

tb_InitAjax(#ng_tb#, function(e) { startSearch(e, 'test'); }, 150, 0, false);

function startSearch(e, p0)
{
tb_LoadUrl(e, 'TestPicker.aspx?' + urlEncode(#ng_tb#.value));
}
 

int Time2Int(string text)

Funkce převede textový řetězec – čas ve formátu „HH:mm“ – na počet minut. Správně zpracuje záporné hodnoty.

Příklad:

var n = Time2Int('01:23'); // Vrací 83
var n = Time2Int('-01:24'); // Vrací -84
var n = Time2Int('00:00'); // Vrací 0
 

string translate(string language, string value [, string language2])

Funkce vrátí přeložený text z vícejazyčného řetězce. Formát „value“: „#cs:Česky#en:English#de:Deutsch“. Volitelný parametr „language2“ přepíše „language“. Pokud překlad není nalezen, vrátí první hodnotu nebo celý řetězec.

Příklad:

var s = translate('cs', '#cs:Ahoj#en:Hello#de:Hallo'); // Vrací „Ahoj“
var s = translate('fr', '#cs:Ahoj#en:Hello'); // Vrací „Ahoj“ (fallback)
 

string urlDecode(string value)

Funkce dekóduje URL-zakódovaný řetězec. Podporuje speciální znaky a českou/slovenskou diakritiku (kódováno jako %xx sekvence).

Příklad:

var s = urlDecode('%c4%8desk%c3%a1'); // Vrací „česká“
 

string urlEncode(string value)

Funkce zakóduje řetězec pro použití v URL. Podporuje speciální znaky a českou/slovenskou diakritiku. Není totožné s nativním encodeURIComponent – používá vlastní mapovací tabulku.

Příklad:

var s = urlEncode('česká republika'); // Vrací „%c4%8desk%c3%a1%20republika“
_loadUrl(new Object(), 'ngef.aspx?MyFunction,' + urlEncode(param));
 

string ZInt(int n)

Funkce doplní číslo na minimálně 2 cifry s nulou na začátku. Používá se pro formátování času a data.

Příklad:

var s = ZInt(5);  // Vrací „05“
var s = ZInt(12); // Vrací „12“
 

string ZInt4(int n)

Funkce doplní číslo na minimálně 4 cifry s nulami na začátku. Používá se pro formátování roku.

Příklad:

var s = ZInt4(42);   // Vrací „0042“
var s = ZInt4(2024); // Vrací „2024“