Article: AN0001971Updated: 07.10.2018
Webpart slouží ke dvěma základním účelům, které plní pomocí skriptů:
- Vytvořit (editovatelný) formulář bez vazby na třídu. Toho lze využít pro zadání hodnot, na jejichž základě něco provedete. Např. vytvoříte záznamy do jiných tříd, spustíte workflow atd.
- Vytvořit html, které vložíte do stránky. Jde o velmi jednoduchý způsob vytvoření reportu - zobrazení dat z jiných tříd pomocí html. Data můžete načíst přímo z databáze, procedury modulu nebo html můžete sestavit pomocí skriptů.
Pro práci se skripty máte k dispozici tyto objekty:
Název |
Popis |
OG |
Základní objekt pro práci se skripty. |
OGForm |
Objekt pro práci s obsahem stránky. |
OGContentPage |
Objekt stránky. |
OGModel |
Model, ke kterému stránka patří. Pokud není stránka přiřazena žádnému modelu je tato hodnota NULL. |
OGWebPart |
Objekt webpartu Skript. |
OGWebParts |
Seznam webpartů na stránce. |
V nastavení webpartu konfigurujete několik vlastností:
Nastavení |
Popis |
Skript |
V tomto skriptu vytvoříte definici vlastního formuláře nebo html. Definovat lze funkci OnLoad a OnPreRender. Obě odpovídají událostem z ASP.NET. |
Události skriptu |
Tento skript obsahuje funkce pro události, např. kliknutí na tlačítko na toolbaru. |
Styly |
Zde zadáváte url odkaz na vkládaný soubor se styly. Soubor si musíte na server sami nahrát.
Můžete sem i napsat vlastní styly, které budou vloženy do stránky s webpartem.
|
JavaScript |
Zde zadáváte url odkaz na vkládaný soubor s javascriptem. Soubor si musíte na server sami nahrát.
Můžete sem i napsat vlastní javascript, který bude vložen do stránky s webpartem.
|
Do stránky je možné vložit více webpartů typu Skript. Pořadí běhu skriptů v těchto webpartech je pak dáno pořadím zón (každá zóna má unikátní číslo) a v rámci zóny pořadím webpartu v zóně.
Ukázka událostí OnLoad a OnPrerender
function OnLoad()
{
...
}
function OnPreRender()
{
...
}
Ukázka zápisu události
Událost lze zapsat pouze pro kliknutí na tlačítko na toolbaru. Název události se skládá z ID tlačítka, za nímž je text _Click.
function bSave_Click()
{
/* zobrazení různých informačních hlášení */
OGForm.SetInfo( 'Neco se deje.');
OGForm.SetError( 'Je tu chyba.');
OGForm.SetSuccess( 'Ulozeni je OK.');
OG.Log.Write('button save.');
/* načteni hodnot z textového pole */
var tb = OGForm.GetControl( 't1');
OGForm.SetInfo( 'Kod: ' + tb.Text);
}
Ukázka zápisu sylu
.s1
{
font-size: 10px;
}
Ukázka zápisu javascriptu
function MyFunction()
{
...
}
Práce s webparty na stránce
Webpart i stránka mohou pracovat s ostatními webparty. Pro přístup použijte vlastnost OGWebParts. Na jednotlivé webparty se odkážete indexem v kolekci nebo pomocí kódu.
var wp = OGWebParts[1];
var wp = OGWebParts['webpart_code'];
Převzetí hodnot z URL
V rámci skriptu můžete reagovat na hodnoty zadané v URL. Hodnoty můžete zpracovat, i jimi naplnit ovládací prvky.
Hodnoty je dobré přebírat jen při prvním zobrazení stránky (kdy není postback). K tomu použijte metodu IsPostback. Hodnoty pak do ovládacích prvků naplňte pomocí metody SetData.
Následující příklad při prvním zobrazení stránky z URL převezme hodnotu z proměnné data a vloží ji do ovládacího prvku t2.
if ( !OGForm.Page.IsPostback)
{
t2.SetData( OG.QueryString.GetString('data'));
}