Sisällys

# Suodattimet ja lomakkeet HTML:ssä

HTML-asiakirjoissa voidaan käyttää kaikkia ohjauselementtejä ja lomaketapahtumia. On ollut lukuisia tapahtumia, joita ei ole toistaiseksi siirretty (esimerkiksi kohdistustapahtumia). Jatkossa ne siirretään tapahtumankäsittelijöinä ONFOCUS, ONBLUR ja niin edelleen JavaScriptillä ja SDONFOCUS, SDONBLUR ja niin edelleen LibreOffice Basicilla.

Yleisiä nimiä, jotka koostuvat kuuntelijarajapinnasta ja tapahtuman metodin nimestä käytetään kaikille muille tapahtumille: Tapahtuma, joka rekisteröidään XListener::metodina viedään seuraavasti:

SDEvent-XListener-metodi = "/* tapahtumakoodi */"

Tässä vaihtoehdossa sekä XListener- että metodikomponentti ovat aakkoslajin tunnistavia.

Ohjausobjektien tapahtumankäsittelijä on toteutettu käyttämällä LibreOffice API-rajapintaa. Kun tapahtuma kytketään ohjausobjektiin, objekti rekisteröi itsensä sisäisesti tietyn ohjaustapahtuman "kuuntelijaksi" . Jotta voidaan tehdä näin, objektille pitää määrittää rajapinta, esimerkiksi XFocusListener-rajapinta, niin että se voi reagoida kohdistustapahtumaan. Kun tapahtuma esiintyy, ohjausobjekti herättää erityisen metodin kuuntelijarajapinnassa, kun ohjausobjekti kohdistetaan. Sisäisesti rekisteröity objekti kutsuu sitten JavaScript- tai LibreOffice Basic-koodia, joka oli kytketty tapahtumaan.

HTML-suodatin käyttää nyt täsmällisesti näitä kuuntelijarajapintoja ja metodien nimiä, niin että se voi tuoda ja viedä tapahtumia halutulla tavalla. Kohdistustapahtuma rekisteröidään mieluummin tällä tavalla

<INPUT TYPE=text ONFOCUS="/* koodia */"

kuin käyttäen

<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* koodia */"

rekisteröintitapaa. Tapahtumat voidaan siksi rekisteröidä halutulla tavalla, mukaan luettuna ne, joita ei ole tarjolla luetteloruuduissa. Tapahtuman skriptin kielen määrittämiseksi voidaan seuraava rivi kirjoittaa asiakirjan otsikkoon:

<META HTTP-EQUIV="kohteen-skripti-laji" CONTENT="...">

CONTENT-määreen arvona voi käyttää esimerkiksi "text/x-StarBasic" LibreOffice Basicille tai "text/JavaScript" JavaScriptille. Jos mitään merkintää ei tehdä, JavaScript on oletuksena.

Viennin aikana skriptien oletuskielen määritys perustuu ensimmäiseen moduulin, joka löytyy makrojen hallinnassa. Tapahtumille voidaan käyttää vain yhtä kieltä asiakirjaa kohti.