1. Základní informace
1.1. Popis ovládacího prvku
Schedule je ovládací prvek určený ke stanovení časového období od-do, který se skládá buď ze dvou textových polí „Termín“ a „do“, nebo ze dvou datumových pickerů „Termín“ a „do“, a v obou případech ze zaškrtávacího tlačítka „Od-Do“. Při vytvoření se vloží navíc ovládací prvky Space a JavaScript. Názvy ovládacích prvků i popisky v kódu prvku JavaScript vznikají při vložení schedule jen ve výchozím jazyce NET Genia (konfigurační soubor „DefaultLanguage.txt“), ve vícejazyčném portálu je proto potřeba doplnit jejich překlady ručně.
1.2. Vytvoření nového ovládacího prvku
- Nový schedule je možné vytvořit pouze z editačního formuláře pomocí toolbaru s ovládacími prvky.
- Nejdříve se kliknutím myši v editačním formuláři určí pozice, na kterou má být nový schedule umístěn. Tím dojde ke zvýraznění vybrané pozice šedou horizontální linií. Následně stačí v toolbaru editačního formuláře kliknout na položku „Schedule“, potvrdit otázku na vytvoření nového schedule z více prvků, a v následujícím dialogu „2x TextBox / 2x DatePicker ?“ zvolit typ použitých ovládacích prvků:
- 2x TextBox – tlačítkem „Ano“
- 2x DatePicker – tlačítkem „Ne“
- Potvrzením typu použitých ovládacích prvků dojde k jejich vložení na předem vybrané místo editačního formuláře.
- Nedojde-li před vložením nového schedule k určení požadované pozice, bude nový schedule vložen na konec editačního formuláře.
1.3. 2x TextBox
- CheckBox s názvem „Od-Do“
- OnClick:
try { ng_oddo_OnClick(); } catch (e) {}
- TextBox s názvem „Termín“
- Datový typ: Datum
- Možnosti: Čas, Zobrazovat zkrácený název dne
- Popisek „Termín od“ nastavuje JavaScript jen po dobu, kdy je zaškrtnuto „Od-Do“.
- OnChange:
try { if (#ng_termin#.value != '' && #ng_oddo#.checked && #ng_do#.value != '') { var from = Str2Date(control_GetValue(#ng_termin#)); if (from > Str2Date(control_GetValue(#ng_do#))) control_SetValue(#ng_do#, from); } } catch (e) {}
- TextBox s názvem „do“
- Datový typ: Datum
- Možnosti: Čas, Zobrazovat zkrácený název dne
- Není-li zaškrtnuto „Od-Do“, hodnota ovládacího prvku se vymaže.
- JavaScript
function ng_oddo_OnLoad()
{
try
{
if (#ng_oddo#.checked)
{
#ng_do:Table#.style.display = '';
#ng_termin:Name#.innerText = 'Termín od';
}
else
{
#ng_do:Table#.style.display = 'none';
#ng_termin:Name#.innerText = 'Termín';
control_SetValue(#ng_do#, '', '');
}
}
catch (e) {}
}
function ng_oddo_OnClick()
{
ng_oddo_OnLoad();
try
{
if (#ng_oddo#.checked)
{
if (#ng_termin#.value != '') control_SetValue(#ng_do#, #ng_termin#.value, #ng_termin#.tb2.value);
}
}
catch (e) {}
}
ng_oddo_OnLoad();
1.4. 2x DatePicker
- CheckBox s názvem „Od-Do“
- OnClick:
try { ng_oddo_OnClick(); } catch (e) {}
- DatePicker s názvem „Termín“
- Možnosti: Čas, Zobrazovat zkrácený název dne
- Popisek „Termín od“ nastavuje JavaScript jen po dobu, kdy je zaškrtnuto „Od-Do“.
- OnChange:
try { var from = Str2Date(control_GetValue(#ng_termin#)); if (!#ng_oddo#.checked || from > Str2Date(control_GetValue(#ng_do#))) control_SetValue(#ng_do#, from); } catch (e) {}
- DatePicker s názvem „do“
- Možnosti: Čas, Zobrazovat zkrácený název dne
- Není-li zaškrtnuto „Od-Do“, převezme ovládací prvek hodnotu ovládacího prvku „Termín“ (jednodenní událost), a to při otevření editačního formuláře i při každé změně hodnoty „Termín“.
- Toto chování mají ovládací prvky vložené aktuální verzí NET Genia; dříve vložené ovládací prvky si ponechávají svůj původní JavaScript.
- JavaScript
function ng_oddo_OnLoad()
{
try
{
if (#ng_oddo#.checked)
{
#ng_do:Table#.style.display = '';
#ng_termin:Name#.innerText = 'Termín od';
}
else
{
#ng_do:Table#.style.display = 'none';
#ng_termin:Name#.innerText = 'Termín';
control_SetValue(#ng_do#, Str2Date(control_GetValue(#ng_termin#)));
}
}
catch (e) {}
}
function ng_oddo_OnClick()
{
ng_oddo_OnLoad();
try
{
if (#ng_oddo#.checked)
{
#ng_do:Id#_Init();
control_SetValue(#ng_do#, Str2Date(control_GetValue(#ng_termin#)));
}
}
catch (e) {}
}
ng_oddo_OnLoad();
1.5. Editace nebo smazání ovládacích prvků
- U každého existujícího ovládacího prvku se po jeho levé straně v editačním formuláři zobrazuje ikona tužky, která slouží pro změnu nastavení ovládacího prvku nebo jeho smazání.
- Jednotlivé ovládací prvky mohou být v editačním formuláři vertikálně přesouvány metodou Drag&Drop. Přesunutí spočívá v chycení ovládacího prvku nejlépe za jeho název umístěný v levém sloupci editačního formuláře, a následném tažení až na požadované místo v editačním formuláři.
- Ovládací prvky je možné přesouvat jen se zaškrtnutým polem „Drag&Drop“ umístěným nad toolbarem s ovládacími prvky. Z bezpečnostních důvodů je toto pole po každém přihlášení do aplikace nezaškrtnuté, aby nedošlo k nechtěnému přesunutí ovládacího prvku.
- Smazání ovládacího prvku má za následek nevratné smazání databázového sloupce spojeného s tímto ovládacím prvkem v databázi, a tudíž i ke smazání jeho hodnot ve všech záznamech databázové tabulky. Některé ovládací prvky v systémových editačních formulářích není možné smazat, protože jsou nutné k základní funkčnosti celé aplikace.