166
edits
Line 545: | Line 545: | ||
</pre> | </pre> | ||
Die Vorschlags-Methode eines Substantiv-Typs erfordert stets die beiden Parameter "text" und "html". Die Eingabe stammen von dem Teil einer WebSeite, den der Anwender ausgewählt hat. Die Werte der beiden Paramter können sehr unterschiedlich sein: beides sind Strings, jedoch enthält der "html"- Parameter, im Gegensatz zum "text"-Parameter, auch HTML-Code. Unser Registerkarten-Substantiv-Typ kümmert sich aber nur um den Registerkarten-Namen im Klartext, so dass wir den "html"-Parameter ignorieren können. | |||
Wir verwenden die bequeme <code>CmdUtils.makeSugg()</code> - Funktion zum erzeugen des vom Ubiquity-Parser erwarteten Eingabeobjektes. Die vollständige Signatur dieser Funktion ist: | |||
<pre> | <pre> | ||
CmdUtils.makeSugg( text, html, data ); | CmdUtils.makeSugg( text, html, data ); | ||
Line 555: | Line 554: | ||
but html and data are optional and need be provided only if they differ from text. | but html and data are optional and need be provided only if they differ from text. | ||
Falls die "text"- oder "html"-Eingabe sehr lang ist, erzeugt <code>makeSugg()</code> eine Zusammenfassung für uns und hinterlegt sie im <code>.summary</code> Attribut des Eingabeobjekts. | |||
Wir könnten das Gleiche auch ohne den Einsatz von <code>makeSugg()</code> erreichen, wenn wir eine Liste von anonymen Objekten zurückgeben. Das könnte dann so aussehen: | |||
<pre> | <pre> | ||
{ text: tabName, | { text: tabName, | ||
Line 565: | Line 565: | ||
</pre> | </pre> | ||
Die Eingabeobjekte, die von unserer <code>.suggest()</code> - Methode erzeugt werden sind genau die Objekte, die möglicherweise an die <code>execute()</code> - Methode und an die <code>preview()</code> - Methode der Kommandos übergeben werden, die unseren Substantiv-Typ verwenden. | |||
== Switching Tabs: The Command == | == Switching Tabs: The Command == |
edits