Modul
Obsah
Index 🔎︎

# Filtry a formuláře HTML

V HTML dokumentech je možné použít všechny ovládací prvky a události formuláře. Existuje velké množství událostí (např. události pro zaměření), které se nezměnily. Ty se budou dále importovat a exportovat jako ONFOCUS, ONBLUR atd. pro Javascript a SDONFOCUS, SDONBLUR atd. pro LibreOffice Basic.

U všech ostatních událostí jsou používány obecné názvy sestávající z rozhraní služby Listener a z názvu metody dané události: událost registrovaná jako XListener::method bude exportována jako událost

SDEvent-XListener-method = "/* kód_události */"

Poznámka: V názvech XListener- a metod závisí na velikosti písmen.

Zpracování událostí se provádí s pomocí LibreOffice API. Pokud přidělíte ovládacímu prvku událost, objekt se interně zaregistruje jako "Listener" pro určitou událost. Tento objekt musí mít určení rozhraní, např. rozhraní XFocusListener, aby mohl reagovat na události zaměření. Když nastane událost, ovládací prvek zavolá speciální metodu rozhraní Listeneru. Interně registrované objekty poté spustí kód v JavaScriptu nebo LibreOffice Basic, který byl události přiřazen.

Filtr HTML nyní používá přesně tato rozhraní listeneru a názvy metod, takže může libovolně importovat a exportovat události. Událost při zaměření je možné zaregistrovat pomocí

<INPUT TYPE=text ONFOCUS="/* kód */"

než pomocí

<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* kód */"

Události lze tedy registrovat podle potřeby, včetně těch, které nejsou nabízeny v seznamech. Chcete-li definovat skriptovací jazyk událostí, je možné do hlavičky dokumentu připsat tento řádek:

<META HTTP-EQUIV="content-script-type" CONTENT="...">

Jako CONTENT je možné použít např. "text/x-StarBasic" pro LibreOffice Basic nebo "text/JavaScript" pro JavaScript. Není-li druh jazyka určen, předpokládá se jazyk JavaScript.

Během exportu se nastaví výchozí skriptovací jazyk podle prvního modulu nalezeného v modulu. Pro události lze použít v jednom dokumentu jen jeden jazyk.