Περιεχόμενα

# Φίλτρα HTML και Φόρμες

Μπορείτε να χρησιμοποιήσετε όλα τα στοιχεία ελέγχου και τα γεγονότα μιας φόρμας σε έγγραφα HTML. Μέχρι τώρα, έχουν λάβει χώρα πολλά συμβάντα (π.χ. συμβάντα εστίασης),τα οποία δεν έχουν μεταβληθεί καθόλου. Θα συνεχίσουν να εισάγονται και να εξάγονται ως ONFOCUS, ONBLUR, κλπ. για JavaScript και ως SDONFOCUS, SDONBLUR, κλπ. για την LibreOffice Basic.

Τα γενικά ονόματα που αποτελούνται από τη διασύνδεση Listener και το όνομα μεθόδου του γεγονότος χρησιμοποιούνται για όλα τα υπόλοιπα γεγονότα: ένα γεγονός που έχει καταχωρηθεί ως XListener::method, εξάγεται ως

SDEvent-XListener-method = "/* event-code */"

Σημειώστε ότι το XListener- και τα στοιχεία μεθόδου αυτής της επιλογής κάνουν διάκριση πεζών/κεφαλαίων.

Ο χειρισμός των γεγονότων των πεδίων ελέγχου πραγματοποιείται χρησιμοποιώντας το API του LibreOffice. Αν αντιστοιχίσετε ένα συμβάν σε πεδίο ελέγχου, ένα αντικείμενο θα δηλώνεται εσωτερικά ως "ακροατής" για ένα συγκεκριμένο συμβάν πεδίου ελέγχου. Για να το κάνετε αυτό, το αντικείμενο πρέπει να χρησιμοποιεί συγκεκριμένη διασύνδεση, για παράδειγμα τη διασύνδεση XFocusListener, έτσι ώστε να μπορεί να αντιδρά σε συμβάντα εστίασης. Όταν λάβει χώρα το συμβάν, το πεδίο ελέγχου καλεί μια ειδική μέθοδο της διασύνδεσης ακροατή, για παράδειγμα focusGained, κατά τη λήψη της εστίασης από το πεδίο ελέγχου. Το αντικείμενο που δηλώνεται εσωτερικά καλεί στη συνέχεια τη JavaScript ή τον κώδικα της LibreOffice Basic code, που είχε αντιστοιχιστεί στο συμβάν.

Το φίλτρο HTML χρησιμοποιεί τώρα ακριβώς αυτές τις διασυνδέσεις Listener και τα ονόματα μεθόδων, έτσι ώστε να μπορεί να εισαγάγει και να εξαγάγει συμβάντα κατά τον επιθυμητό τρόπο. Έτσι, μπορείτε να δηλώσετε ένα συμβάν εστίασης, μέσω της δήλωσης

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

αντί για διαμέσου του

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

δήλωση. Τα συμβάντα μπορούν επομένως να δηλωθούν με τον τρόπο που θέλετε, συμπεριλαμβανομένων εκείνων που δεν παρέχονται στα πεδία καταλόγου. Για να καθορίσετε τη γλώσσα δέσμης ενεργειών συμβολοσειράς των συμβάντων μπορείτε, στην κεφαλίδα του εγγράφου, να γράψετε την ακόλουθη γραμμή:

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

Ως CONTENT μπορείτε, για παράδειγμα, να χρησιμοποιήσετε τη δήλωση "text/x-StarBasic" για τη LibreOffice Basic ή τη δήλωση "text/JavaScript" για JavaScript. Σε περίπτωση που δεν έχει γίνει καμία καταχώρηση, επιλέγεται JavaScript.

Κατά την εξαγωγή, η προεπιλεγμένη γλώσσα δέσμης ενεργειών συμβολοσειράς θα καθοριστεί με βάση την πρώτη λειτουργική μονάδα στη διαχείριση μακροεντολών. Για συμβάντα είναι δυνατή η χρήση μόνο μίας γλώσσας ανά έγγραφο.