| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 16073 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.dojo.form.elements">
- <title>Dijit-Specifische Fomularelemente</title>
- <para>
- Jedes Formular-Dijit für welches ein Viewhelfer vorhanden ist hat ein korrespondierendes
- <classname>Zend_Form</classname> Element. Alle von Ihnen bieten die folgenden Methoden für
- die Manipulation von Dijit Parametern an:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setDijitParam($key, $value)</code>: Setzt einen einzelnen Dijit Parameter.
- Wenn der Dijit Parmeter bereits existiert wird er überschrieben.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setDijitParams(array $params)</code>: Setzt mehrere Dijit Parameter auf
- einmal. Jeder übergebene Parameter der bereits existierenden entspricht wird
- überschrieben.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>hasDijitParam($key)</code>: Wenn ein angegebener Dijit Parameter definiert und
- vorhanden ist, wird TRUE zurückgegeben, andernfalls FALSE.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getDijitParam($key)</code>: Gibt den angegebenen Dijit Parameter. Wenn er
- nicht vorhanden ist, wird ein null Wert zurückgegeben.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getDijitParams()</code>: Gibt alle Dijit Parameter zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>removeDijitParam($key)</code>: Entfernt den angegebenen Dijit Parameter.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>clearDijitParams()</code>: Löscht alle aktuell definierten Dijit Parameter.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Dijit Parameter werden in der öffentlichen <code>dijitParams</code> Eigenschaft gespeichert.
- Deshalb kann ein existierendes Formularelement einfach dijit-aktiviert werden indem diese
- Eigenschaft auf dem Element gesetzt wird; man hat in diesem Fall nur nicht die
- Zugriffsmethoden um die Parameter zu manipulieren.
- </para>
- <para>
- Zusätzlich implementieren Dijit-spezifische Element eine andere Liste von Dekoratoren, die
- dem folgenden entsprechen:
- </para>
- <programlisting language="php"><![CDATA[
- $element->addDecorator('DijitElement')
- ->addDecorator('Errors')
- ->addDecorator('HtmlTag', array('tag' => 'dd'))
- ->addDecorator('Label', array('tag' => 'dt'));
- ]]></programlisting>
- <para>
- Effektiv wird der DijitElement Dekorator statt dem standardmäßigen ViewHelper Dekorator
- verwendet.
- </para>
- <para>
- Letztendlich stellt das Basis-Dijitelement sicher das der Dojo Viewhelfer Pfad in der View
- gesetzt ist.
- </para>
- <para>
- Eine Variante von DijitElement, DijitMulti, bietet die Funktionalität des abstrakten
- <code>Multi</code> Formularelements, das es Entwicklern erlaubt 'multiOptions' zu
- spezifizieren -- typischerweise Select-Optionen oder Radio-Optionen.
- </para>
- <para>
- Die folgenden Dijitelemente werden in der standardmäßigen Zend Framework Distribution
- ausgeliefert.
- </para>
- <sect3 id="zend.dojo.form.elements.button">
- <title>Button</title>
- <para>
- Wärend es nicht vom <link linkend="zend.form.standardElements.button">standardmäßigen
- Button Element</link> abgeleitet ist, implementiert es die gleiche Funktionalität, und
- kann als Drop-In Ersatz hierfür verwendet werden. Die folgende Funktionalität wird zur
- Verfügung gestellt:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>getLabel()</code> verwendet den Elementnamen als Label für den Button wenn
- kein Name angegeben wurde. Zusätzlich übersetzt es den Namen wenn ein
- Übersetzungsadapter mit einer passenden übersetzten Meldung vorhanden ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>isChecked()</code> ermittelt ob der übermittelte Wert zum Label passt;
- wenn das der Fall ist wird true zurückgegeben. Das ist für die Erkennung,
- welcher Button verwendet wurde als das Formular übermittelt wurde, nützlich.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Zusätzlich werden nur die Dekoratore <code>DijitElement</code> und
- <code>DtDdWrapper</code> für Buttonelemente benutzt.
- </para>
- <example id="zend.dojo.form.elements.button.example">
- <title>Beispiel für die Verwendung des Button Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'Button',
- 'foo',
- array(
- 'label' => 'Button Label',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.checkBox">
- <title>CheckBox</title>
- <para>
- Wärend es nicht vom <link linkend="zend.form.standardElements.checkbox">standardmäßigen
- Checkbox Element</link> abgeleitet ist, implementiert es die gleiche Funktionalität. Das
- bedeutet das die folgenden Methoden zur Verfügung gestellt werden:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setCheckedValue($value)</code>: Setzt den Wert der verwendet werden soll
- wenn das Element angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getCheckedValue()</code>: Gibt den Wert des Elements zurück der verwendet
- wird wenn das Element angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setUncheckedValue($value)</code>: Setzt den Wert des Elements der
- verwendet wird wenn das Element nicht angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getUncheckedValue()</code>: Gibt den Wert des Elements zurück der
- verwendet wird wenn das Element nicht angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setChecked($flag)</code>: Markiert das Element als angehakt oder nicht
- angehakt.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>isChecked()</code>: Ermittelt ob das Element aktuell angehakt ist.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.checkBox.example">
- <title>Beispiel für die Verwendung des CheckBox Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'CheckBox',
- 'foo',
- array(
- 'label' => 'Eine Checkbox',
- 'checkedValue' => 'foo',
- 'uncheckedValue' => 'bar',
- 'checked' => true,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.comboBox">
- <title>ComboBox und FilteringSelect</title>
- <para>
- Wie in der ComboBox
- <link linkend="zend.dojo.view.dijit.form">Dijit Viewhelfer Dokumentation</link>
- beschrieben, sind Comboboxen ein Hybrid zwischen Select und Texteingaben, erlauben
- automatische Vervollständigung und die Fähigkeit eine Alternative zu den angebotenen
- Optionen zu spezifizieren. FilteringSelects sind genauso, nur erlauben Sie keine eigenen
- Eingaben.
- </para>
- <note>
- <title>ComboBoxen geben die Labelwerte zurück</title>
- <para>
- ComboBoxen geben die Labelwerte, und nicht die Werte der Option zurück, was zu einem
- Problem bei den Annahmen führen kann. Aus diesem Grund registieren Sie die
- <code>InArray</code> Prüfung nicht automatisch (obwohl FilteringSelects das macht).
- </para>
- </note>
- <para>
- Das ComboBox und FilteringSelect Formularelemente bietet Zugriffsmethoden und Mutatoren
- für das Ermitteln und Setzen von Selectoptionen sowie das Spezifizieren des dojo.data
- Datenspeichers (wenn er verwendet wird). Sie erweitern DijitMulti, welches es erlaubt
- Selectoptionen über die Methoden <code>setMultiOptions()</code> und
- <code>setMultiOption()</code> zu spezifizieren. Zusätzlich stehen die folgenden Methoden
- zur Verfügung:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>getStoreInfo()</code>: Gibt alle aktuell gesetzten Informationen des
- Datenspeichers zurück. Gibt ein leeres Array zurück wenn aktuell keine Daten
- gesetzt sind.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setStoreId($identifier)</code>: Setzt die Identifikatorvariable des
- Speichers (normalerweise wird darauf durch das Attribut 'jsId' in Dojo
- referiert). Das sollte ein gültiger Name für eine Javascriptvariable sein.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getStoreId()</code>: Gibt den Namen der Identifikatorvariable des
- Speichers zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setStoreType($dojoType)</code>: Setzt die Datenspeicherklasse die
- verwendet werden soll; z.B., "dojo.data.ItemFileReadStore".
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getStoreType()</code>: Gibt die Dojo Datenspeicherklasse zurück die
- verwendet werden soll.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setStoreParams(array $params)</code>: Setzt jeden verwendeten Parameter
- um das Datenspeicherobjekt zu konfigurieren. Als Beispiel würde der
- dojo.data.ItemFileReadStore Datenspeicher einen 'url' Parameter erwarten der
- auf einen Ort zeigt der das dojo.data Objekt zurückgibt.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getStoreParams()</code>: Gibt alle aktuell gesetzten Datenspeicher
- Parameter zurück; wenn keiner gesetzt ist, wird ein leeres Array zurückgegeben.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setAutocomplete($flag)</code>: Zeigt ob das selektierte Element verwendet
- wird oder nicht wenn der Benutzer das Element verlässt.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getAutocomplete()</code>: Gibt den Wert des autocomplete Flags zurück.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Standardmäßig, wenn kein dojo.data Speicher im Element registriert wurde, registriert
- dieses Element eine <code>InArray</code> Prüfung welche die Arrayschlüssel gegen
- registrierte Optionen prüft. Dieses Verhalten kann deaktiviert werden indem entweder
- <code>setRegisterInArrayValidator(false)</code> ausgerufen, oder ein false Wert an den
- Registrierungsschlüssel <code>registerInArrayValidator</code> übergeben wird.
- </para>
- <example id="zend.dojo.form.elements.comboBox.selectExample">
- <title>Das ComboBox Dijit Element als Select Eingabe verwenden</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'ComboBox',
- 'foo',
- array(
- 'label' => 'ComboBox (select)',
- 'value' => 'blue',
- 'autocomplete' => false,
- 'multiOptions' => array(
- 'red' => 'Rouge',
- 'blue' => 'Bleu',
- 'white' => 'Blanc',
- 'orange' => 'Orange',
- 'black' => 'Noir',
- 'green' => 'Vert',
- ),
- )
- );
- ]]></programlisting>
- </example>
- <example id="zend.dojo.form.elements.comboBox.datastoreExample">
- <title>Das ComboBox Dijit Element mit einem Datenspeicher verwenden</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'ComboBox',
- 'foo',
- array(
- 'label' => 'ComboBox (datastore)',
- 'storeId' => 'stateStore',
- 'storeType' => 'dojo.data.ItemFileReadStore',
- 'storeParams' => array(
- 'url' => '/js/states.txt',
- ),
- 'dijitParams' => array(
- 'searchAttr' => 'name',
- ),
- )
- );
- ]]></programlisting>
- </example>
- <para>
- Das obige Beispiel könnte auch <code>FilteringSelect</code> statt <code>ComboBox</code>
- verwenden.
- </para>
- </sect3>
- <sect3 id="zend.dojo.form.elements.currencyTextBox">
- <title>CurrencyTextBox</title>
- <para>
- Die CurrencyTextBox ist primär für die Unterstützung von Währungseingaben. Die Währung
- kann lokalisiert werden, und unterstützt sowohl Kommazahlen als auch ganze Zahlen.
- </para>
- <para>
- Intern ist die CurrencyTextBox abgeleitet von
- <link linkend="zend.dojo.form.elements.numberTextBox">NumberTextBox</link>,
- <link linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>,
- und <link linkend="zend.dojo.form.elements.textBox">TextBox</link>; alle vorhandenen
- Methoden dieser Klassen sind vorhanden. Zusätzlich können die folgenden bedingten
- Methoden verwendet werden:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setCurrency($currency)</code>: Setzt den Typ der Währung die verwendet
- werden sol; sollte der
- <ulink url="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</ulink>
- Spezifikation folgen.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getCurrency()</code>: Gibt den aktuellen Währungstyp zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setSymbol($symbol)</code>: Setzt das 3-buchstabige
- <ulink url="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</ulink> Symbol der
- Währung das verwendet werden soll.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getSymbol()</code>: Gibt das aktuelle Währungssymbol zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setFractional($flag)</code>: Setzt ob für die Währung Kommazahlen oder
- ganze Zahlen verwendet werden dürfen.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getFractional()</code>: Gibt den Status des Kommazahlen Flags zurück.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.currencyTextBox.example">
- <title>Beispiel für die Verwendung des CurrencyTextBox Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'CurrencyTextBox',
- 'foo',
- array(
- 'label' => 'Währung:',
- 'required' => true,
- 'currency' => 'USD',
- 'invalidMessage' => 'Ungültiger Wert. Es müssen das Dollarzeichen, ' .
- 'ein Komma und Cents enthalten sein.',
- 'fractional' => false,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.dateTextBox">
- <title>DateTextBox</title>
- <para>
- DateTextBox bietet einen Kalender Drop-Down für die Auswahl eines Datums, sowie einer
- Clientseitigen Überprüfung und Formatierung.
- </para>
- <para>
- Intern ist DateTextBox abgeleitet von
- <link linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link> und
- <link linkend="zend.dojo.form.elements.textBox">TextBox</link>; alle vorhandenen
- Methoden dieser Klassen sind vorhanden. Zusätzlich können die folgenden Methoden
- verwendet werden um individuelle Abhängigkeiten zu setzen:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setAmPm($flag)</code> and <code>getAmPm()</code>: Ob in der Zeit AM/PM
- Strings verwendet werden sollen oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setStrict($flag)</code> und <code>getStrict()</code>: Ob Reguläre
- Ausdrücke strikt passen müssen oder nicht. Wenn es false ist, was der
- Standardwert ist, wird es nicht über Leerzeichen und einige Abkürzungen
- lamentieren.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setLocale($locale)</code> und <code>getLocale()</code>: Setzt und gibt die
- Locale zurück die mit diesem speziellen Element verwendet werden soll.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setDatePattern($pattern)</code> und <code>getDatePattern()</code>: Bietet
- und gibt den
- <ulink url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns">Unicode
- Pattern des Datumsformats</ulink> für die Formatierung des Datums zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setFormatLength($formatLength)</code> und <code>getFormatLength()</code>:
- Bietet und gibt den Formatlänge Typ der verwendet werden soll zurück; sollte
- "long", "short", "medium" oder "full" sein.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setSelector($selector)</code> und <code>getSelector()</code>: Bietet und
- gibt den Stil des Selektors zurück; sollte entweder "date" oder "time" sein.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.dateTextBox.example">
- <title>Beispiel der Verwendung des DateTextBox Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'DateTextBox',
- 'foo',
- array(
- 'label' => 'Datum:',
- 'required' => true,
- 'invalidMessage' => 'Ungültiges Datum spezifiziert.',
- 'formatLength' => 'long',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.editor">
- <title>Editor</title>
- <para>
- Editor bietet einen WYSIWYG Editor der verwendet werden kann um Rich HTML Inhalte sowohl
- zu erstellen als auch zu bearbeiten. dijit.Editor ist pluggable und kann mit eigenen
- Plugins erweitert werden wenn das gewünscht ist; siehe
- <ulink url="http://dojotoolkit.org/book/dojo-book-0-9/part-2-dijit/advanced-editing-and-display/editor-rich-text">
- die dijit.Editor Dokumentation</ulink> für weitere Details.
- </para>
- <para>
- Das Editor Form Element bietet eine Anzahl an Zugriffsmethoden und Mutatoren für die
- Manipulation der verschiedenen dijit Paramter, wie folgt:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>captureEvents</emphasis> sind Events die auf die Bearbeitungsfläche
- selbst verbinden. Die folgenden Zugriffsmethoden und Mutatoren sind für die
- Manipulation von Capture Events vorhanden:
- </para>
- <itemizedlist>
- <listitem>
- <para><code>addCaptureEvent($event)</code></para>
- </listitem>
- <listitem>
- <para><code>addCaptureEvents(array $events)</code></para>
- </listitem>
- <listitem>
- <para><code>setCaptureEvents(array $events)</code></para>
- </listitem>
- <listitem><para><code>getCaptureEvents()</code></para></listitem>
- <listitem>
- <para><code>hasCaptureEvent($event)</code></para>
- </listitem>
- <listitem><para><code>removeCaptureEvent($event)</code></para></listitem>
- <listitem>
- <para><code>clearCaptureEvents()</code></para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <emphasis>events</emphasis> sind Standard DOM Events, wie onClick, onKeyUp, usw.
- Die folgenden Zugriffsmethoden und Mutatoren sind für die Manipulation von
- Events vorhanden:
- </para>
- <itemizedlist>
- <listitem>
- <para><code>addEvent($event)</code></para>
- </listitem>
- <listitem><para><code>addEvents(array $events)</code></para></listitem>
- <listitem>
- <para><code>setEvents(array $events)</code></para>
- </listitem>
- <listitem><para><code>getEvents()</code></para></listitem>
- <listitem>
- <para><code>hasEvent($event)</code></para>
- </listitem>
- <listitem><para><code>removeEvent($event)</code></para></listitem>
- <listitem>
- <para><code>clearEvents()</code></para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <emphasis>plugins</emphasis> fügen dem Editor Funktionalitäten hinzu --
- zusätzliche Tools für die Toolbar, zusätzliche erlaubte Stile, usw. Die
- folgenden Zugriffsmethoden und Mutatoren sind für die Manipulation von Plugins
- vorhanden:
- </para>
- <itemizedlist>
- <listitem>
- <para><code>addPlugin($plugin)</code></para>
- </listitem>
- <listitem><para><code>addPlugins(array $plugins)</code></para></listitem>
- <listitem>
- <para><code>setPlugins(array $plugins)</code></para>
- </listitem>
- <listitem><para><code>getPlugins()</code></para></listitem>
- <listitem>
- <para><code>hasPlugin($plugin)</code></para>
- </listitem>
- <listitem><para><code>removePlugin($plugin)</code></para></listitem>
- <listitem>
- <para><code>clearPlugins()</code></para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <emphasis>editActionInterval</emphasis> wird verwendet um Events für die Undo
- Operationen zu gruppieren. Standardmäßig ist dieser Wert 3 Sekunden. Die Methode
- <code>setEditActionInterval($interval)</code> kann verwendet werden um den Wert
- zu setzen, wärend <code>getEditActionInterval()</code> ihn zurückgibt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>focusOnLoad</emphasis> wird verwendet um zu erkennen ob dieser
- spezielle Editor den Fokus erhält wenn die Seite geladen wurde. Standardmäßig
- ist er false. Die Methode <code>setFocusOnLoad($flag)</code> kann verwendet
- werden um den Wert zu setzen, wärend <code>getFocusOnLoad()</code> ihn empfängt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>height</emphasis> spezifiziert die Höhe des Editors; standardmäßig ist
- sie 300px. Die Methode <code>setHeight($height)</code> kann verwendet werden um
- den Wert zu setzen, wärend <code>getHeight()</code> ihn zurückgibt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>inheritWidth</emphasis> wird verwendet um zu erkennen ob der Editor
- die Breite des Parent Containers verwendet, oder einfach auf 100% Höhe.
- Standardmäßig ist er false (im Normalfall wird der die Breite des Fensters
- ausfüllen). Die Methode <code>setInheritWidth($flag)</code> kann verwendet
- werden um den Wert zu setzen, wärend <code>getInheritWidth()</code> ihn
- zurückgibt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>minHeight</emphasis> zeigt die Mindesthöhe des Editors an;
- standardmäßig ist sie 1em. Die Methode <code>setMinHeight($height)</code> kann
- verwendet werden um den Wert zu setzen, wärend <code>getMinHeight()</code> ihn
- empfängt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>styleSheets</emphasis> zeigt an welche zusätzlichen CSS Stylesheets
- verwendet werden sollen um die Anzeige des Editors zu beeinflussen.
- Standardmäßig sind keine registriert, und es verwendet die Seitenstile. Die
- folgenden Zugriffsmethoden und Mutatoren sind für die Manipulation von Editor
- Stylesheets vorhanden:
- </para>
- <itemizedlist>
- <listitem>
- <para><code>addStyleSheet($styleSheet)</code></para>
- </listitem>
- <listitem>
- <para><code>addStyleSheets(array $styleSheets)</code></para>
- </listitem>
- <listitem>
- <para><code>setStyleSheets(array $styleSheets)</code></para>
- </listitem>
- <listitem><para><code>getStyleSheets()</code></para></listitem>
- <listitem>
- <para><code>hasStyleSheet($styleSheet)</code></para>
- </listitem>
- <listitem><para><code>removeStyleSheet($styleSheet)</code></para></listitem>
- <listitem>
- <para><code>clearStyleSheets()</code></para>
- </listitem>
- </itemizedlist>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.editor.example">
- <title>Beispiel der Verwendung des Editor dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement('editor', 'content', array(
- 'plugins' => array('undo', '|', 'bold', 'italic'),
- 'editActionInterval' => 2,
- 'focusOnLoad' => true,
- 'height' => '250px',
- 'inheritWidth' => true,
- 'styleSheets' => array('/js/custom/editor.css'),
- ));
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.horizontalSlider">
- <title>HorizontalSlider</title>
- <para>
- HorizontalSlider bietet ein Schieber UI Widget für die Auswahl eines nummerischen Wertes
- in einem Bereich. Intern, setzt es den Wert eines versteckten Elements welches vom
- Formular übermittelt wird.
- </para>
- <para>
- HorizontalSlider ist vom <link linkend="zend.dojo.form.elements.slider">abstrakten
- Slider Dijit Element</link> abgeleitet. Zusätzlich hat es eine Vielzahl von Methoden
- für das Setzen und Konfigurieren der Schieberregeln und Regel Labels.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setTopDecorationDijit($dijit)</code> und
- <code>setBottomDecorationDijit($dijit)</code>: Setzt den Namen des Dijits das
- entweder oberhalb oder unterhalb des Schiebers verwendet werden soll. Es darf
- nicht den "dijit.form." Präfix enthalten, sondern nur den endgültigen Namen --
- entweder "HorizontalRule" oder "HorizontalRuleLabels".
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationContainer($container)</code> und
- <code>setBottomDecorationContainer($container)</code>: Spezifiziert den Namen
- der für das Containerelement der Regeln verwendet werden soll; z.B. 'topRule',
- 'topContainer', usw.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationLabels(array $labels)</code> und
- <code>setBottomDecorationLabels(array $labels)</code>: Setzt die Labels die für
- eine der RuleLabel Dijit Typen verwendet werden sollen. Diese sollten ein
- indiziertes Array sein; spezifiziere eine einzelnes Leerzeichen um eine gegebene
- Labelposition zu überspringen (wie beim Beginn oder dem Ende).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationParams(array $params)</code> und
- <code>setBottomDecorationParams(array $params)</code>: Dijit Parameter die
- verwendet werden sollen wenn die gegebene Rule oder RuleLabels Dijits
- konfiguriert werden
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTopDecorationAttribs(array $attribs)</code> und
- <code>setBottomDecorationAttribs(array $attribs)</code>: HTML Attribute die für
- die gegebene Rule oder RuleLabels HTML Elementcontainer spezifiziert werden.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>getTopDecoration()</code> und <code>getBottomDecoration()</code>: Geben
- alle Metadaten für eine gegebene Rule oder RuleLabels Definition zurück, wie von
- den obigen Mutatoren geliefert.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.horizontalSlider.example">
- <title>Beispiel der Verwendung des HorizontalSlider Dijit Elements</title>
- <para>
- Das folgende erzeugt eine horizontale Schieberauswahl mit Integerwerten die von -10
- bis 10 reichen. Oben sind Labels bei den 20%, 40%, 60% und 80% Marken. Unten sind
- Regeln bei 0, 50% und 100%. Jedesmal wenn der Wert geändert wird, wird das
- versteckte Element das den Wert speichert aktualisiert.
- </para>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'HorizontalSlider',
- 'horizontal',
- array(
- 'label' => 'HorizontalSlider',
- 'value' => 5,
- 'minimum' => -10,
- 'maximum' => 10,
- 'discreteValues' => 11,
- 'intermediateChanges' => true,
- 'showButtons' => true,
- 'topDecorationDijit' => 'HorizontalRuleLabels',
- 'topDecorationContainer' => 'topContainer',
- 'topDecorationLabels' => array(
- ' ',
- '20%',
- '40%',
- '60%',
- '80%',
- ' ',
- ),
- 'topDecorationParams' => array(
- 'container' => array(
- 'style' => 'height:1.2em; font-size=75%;color:gray;',
- ),
- 'list' => array(
- 'style' => 'height:1em; font-size=75%;color:gray;',
- ),
- ),
- 'bottomDecorationDijit' => 'HorizontalRule',
- 'bottomDecorationContainer' => 'bottomContainer',
- 'bottomDecorationLabels' => array(
- '0%',
- '50%',
- '100%',
- ),
- 'bottomDecorationParams' => array(
- 'list' => array(
- 'style' => 'height:1em; font-size=75%;color:gray;',
- ),
- ),
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.numberSpinner">
- <title>NumberSpinner</title>
- <para>
- Ein Nummernkreisel (Number Spinner) ist ein Textelement für die Eingabe von nummerischen
- Werten; es enthält auch Elemente für das inkrementieren und dekrementieren des Wertes
- mit einer gesetzten Anzahl.
- </para>
- <para>
- Die folgenden Methoden sind vorhanden:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setDefaultTimeout($timeout)</code> und <code>getDefaultTimeout()</code>:
- Setzt und gibt den Standardtimeout, in Millisekunden, zurück der zwischen dem
- gedrückt halten des Buttons und der Änderung des Wertes ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTimeoutChangeRate($rate)</code> und
- <code>getTimeoutChangeRate()</code>: Setzt und gibe die Rate, in Millisekunden,
- zurück mit der Änderungen durchgeführt werden wenn ein Button gedrückt gehalten
- wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setLargeDelta($delta)</code> und <code>getLargeDelta()</code>: Setzt und
- gibt die Menge zurück mit welcher der nummerische Wert geändert werden soll wenn
- ein Button gedrückt gehalten wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setSmallDelta($delta)</code> und <code>getSmallDelta()</code>: Setzt und
- gibt das Delta zurück mit dem die Nummer geändert werden soll wenn ein Button
- einmal gedrückt wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setIntermediateChanges($flag)</code> und
- <code>getIntermediateChanges()</code>: Setzt un gibt das Flag zurück das anzeigt
- ob jede Änderung des Werte angezeigt werden soll wenn der Button gedrückt
- gehalten wird, oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setRangeMessage($message)</code> und <code>getRangeMessage()</code>: Setzt
- und gibt die Nachricht zurück die den Bereich der möglichen Werte anzeigt.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setMin($value)</code> und <code>getMin()</code>: Setzt und gibt den
- mindesten möglichen Wert zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setMax($value)</code> und <code>getMax()</code>: Setzt und gibt den
- maximalen möglichen Wert zurück.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.numberSpinner.example">
- <title>Beispiel der Verwendung des NumberSpinner Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'NumberSpinner',
- 'foo',
- array(
- 'value' => '7',
- 'label' => 'NumberSpinner',
- 'smallDelta' => 5,
- 'largeDelta' => 25,
- 'defaultTimeout' => 500,
- 'timeoutChangeRate' => 100,
- 'min' => 9,
- 'max' => 1550,
- 'places' => 0,
- 'maxlength' => 20,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.numberTextBox">
- <title>NumberTextBox</title>
- <para>
- Eine NumberTextBox ist ein Textelement für die Eingabe von nummerischen Werten; anders
- als beim NummerSpinner, werden Nummern manuell eingegeben. Prüfungen und Abhängigkeiten
- können angegeben werden um sicherzustellen das die Nummer immer in einem bestimmten
- Bereich oder Format ist.
- </para>
- <para>
- Intern wird NumberTextBox abgeleitet von
- <link linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link> und
- <link linkend="zend.dojo.form.elements.textBox">TextBox</link>; alle in diesen Klassen
- vorhandenen Methoden sind vorhanden. Zusätzlich können die folgenden Methoden verwendet
- werden um individuelle Abhängigkeiten zu setzen:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setLocale($locale)</code> und <code>getLocale()</code>: Spezifiziert und
- gibt ein spezifisches oder alternatives Gebietsschema zurück das mit diesem
- Dijit verwendet werden soll.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setPattern($pattern)</code> und <code>getPattern()</code>: Setzt und gibt
- ein <ulink
- url="http://www.unicode.org/reports/tr35/#Number_Format_Patterns">Nummern
- Patternformat</ulink> zurück das verwendet wird um eine Nummer zu
- formatieren.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setType($type)</code> und <code>getType()</code>: Setzt und gibt eine
- nummerischen Formattyp zurück der verwendet wird (sollte 'decimal', 'percent'
- oder 'currency' sein).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setPlaces($places)</code> und <code>getPlaces()</code>: Setzt und gibt die
- Anzahl der Dezimalstellen die unterstützt werden sollen zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setStrict($flag)</code> und <code>getStrict()</code>: Setzt und gibt den
- Wert des Strictflags zurück, welches anzeigt wieviel Ungenauigkeit in Bezug auf
- Leerzeichen und nicht-nummerische Zeichen erlaubt ist.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.numberTextBox.example">
- <title>Beispiel der Verwendung des NumberTextBox Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'NumberTextBox',
- 'elevation',
- array(
- 'label' => 'NumberTextBox',
- 'required' => true,
- 'invalidMessage' => 'Ungültige Eingabe.',
- 'places' => 0,
- 'constraints' => array(
- 'min' => -20000,
- 'max' => 20000,
- ),
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.passwordTextBox">
- <title>PasswordTextBox</title>
- <para>
- PasswordTextBox ist einfach eine ValidationTextBox die an eine Passworteingabe gebunden
- ist; Ihre primäre Aufgabe ist es eine Dijit-bezogene Texteingabe für Passwörter zu
- erlauben die Client-seitige Prüfungen erlaubt.
- </para>
- <para>
- Intern wird PasswordTextBox abgeleitet von
- <link linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link> und
- <link linkend="zend.dojo.form.elements.textBox">TextBox</link>; alle in diesen Klassen
- vorhandenen Methoden sind vorhanden.
- </para>
- <example id="zend.dojo.form.elements.passwordTextBox.example">
- <title>Beispiel für die Verwendung des PasswordTextBox Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'PasswordTextBox',
- 'password',
- array(
- 'label' => 'Passwort',
- 'required' => true,
- 'trim' => true,
- 'lowercase' => true,
- 'regExp' => '^[a-z0-9]{6,}$',
- 'invalidMessage' => 'Ungültiges Passwort; muß mindestens 6 '
- . 'alphanummerische Zeichen lang sein',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.radioButton">
- <title>RadioButton</title>
- <para>
- RadioButton umschließt ein standard Radio-Input Element um ein konsistentes Look and
- Feel mit den anderen Dojo Dijits zu bieten.
- </para>
- <para>
- RadioButton erweitert DijitMulti, welches es erlaubt Selectoptionen über die
- <code>setMultiOptions()</code> und <code>setMultiOption()</code> Methoden zu
- spezifizieren.
- </para>
- <para>
- Standardmäßig registriert dieses Element eine <code>InArray</code> Prüfung welche die
- Arrayschlüssel gegen registrierte Optionen prüft. Dieses Verhalten kann deaktiviert
- werden indem entweder <code>setRegisterInArrayValidator(false)</code> ausgerufen, oder
- ein false Wert an den Registrierungsschlüssel <code>registerInArrayValidator</code>
- übergeben wird.
- </para>
- <example id="zend.dojo.form.elements.radioButton.example">
- <title>Beispiel der Verwendung des RadioButton Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'RadioButton',
- 'foo',
- array(
- 'label' => 'RadioButton',
- 'multiOptions' => array(
- 'foo' => 'Foo',
- 'bar' => 'Bar',
- 'baz' => 'Baz',
- ),
- 'value' => 'bar',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.simpletextarea">
- <title>SimpleTextarea</title>
- <para>
- SimpleTextarea arbeitet primär wie ein Standard HTML Textarea. Trotzdem unterstützt es
- weder die rows noch die cols Einstellung. Stattdessen, sollte die Breite von Textarea
- durch die Verwendung von standard CSS Maßeinheiten definiert werden. Anders als Textarea
- wird er nicht automatisch wachsen
- </para>
- <example id="zend.dojo.form.elements.simpletextarea.example">
- <title>Beispiel der Verwendung des SimpleTextarea Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'SimpleTextarea',
- 'simpletextarea',
- array(
- 'label' => 'SimpleTextarea',
- 'required' => true,
- 'style' => 'width: 80em; height: 25em;',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.slider">
- <title>Abstraktes Slider Element</title>
- <para>
- Slider ist ein abstraktes Element welches abgeleitet ist von
- <link linkend="zend.dojo.form.elements.horizontalSlider">HorizontalSlider</link> und
- <link linkend="zend.dojo.form.elements.verticalSlider">VerticalSlider</link>. Es bietet
- eine Anzahl von üblichen Methoden für die Konfiguration von Slidern an, inklusive:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setClickSelect($flag)</code> und <code>getClickSelect()</code>: Setzt und
- gibt das Flag zurück das anzeigt ob das Klicken auf den Slider den Wert ändert
- oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setIntermediateChanges($flag)</code> und
- <code>getIntermediateChanges()</code>: Setzt und gibt das Flag zurück das
- anzeigt ob das Dijit eine Benachrichtigung bei jedem Slider-Event schickt oder
- nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setShowButtons($flag)</code> und <code>getShowButtons()</code>: Setzt und
- gibt das Flag zurück das anzeigt ob Buttons an den Enden angezeigt werden oder
- nicht; wenn ja, dann kann der Benutzer diese anklicken und damit den Wert des
- Sliders ändern.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setDiscreteValues($value)</code> und <code>getDiscreteValues()</code>:
- Setzt und gibt die Anzahl an diskreten Werte zurück die vom Slider repräsentiert
- werden.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setMaximum($value)</code> und <code>getMaximum()</code>: Setzt den
- maximalen Wert des Sliders.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setMinimum($value)</code> und <code>getMinimum()</code>: Setzt den
- minimalen Wert des Sliders.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setPageIncrement($value)</code> und <code>getPageIncrement()</code>: Setzt
- den Wert um den sich der Slider auf Tastaturereignisse ändert.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Ein Beispiel der Verwendung wird mit jeder konkreten Klasse angegeben die diese Klasse
- erweitert.
- </para>
- </sect3>
- <sect3 id="zend.dojo.form.elements.submitButton">
- <title>SubmitButton</title>
- <para>
- Wärend es kein Dijit gibt das SubmitButton heißt, wurde dieses inkludiert um ein Button
- Dijit anzubieten das fähig ist ein Formular zu übertragen ohne das irgendeine
- zusätzliche Javascript Verknüpfung benötigt wird. Es funktioniert exakt wie das
- <link linkend="zend.dojo.form.elements.button">Button Dijit</link>.
- </para>
- <example id="zend.dojo.form.elements.submitButton.example">
- <title>Beispiel der Verwendung des SubmitButton Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'SubmitButton',
- 'foo',
- array(
- 'required' => false,
- 'ignore' => true,
- 'label' => 'Submit Button!',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.textBox">
- <title>TextBox</title>
- <para>
- TextBox wurde primär inkludiert um eine Text Eingabe anzubieten die das gleiche
- Look-and-Feel wie die anderen Dijits hat. Trotzdem enthält es einige Filter- und
- Prüfmöglichkeiten, die in den folgenden Methoden repräsentiert sind:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setLowercase($flag)</code> und <code>getLowercase()</code>: Setzt und gibt
- das Tag zurück das anzeigt ob die Eingabe auf Kleinschreibung (lowercase)
- geändert wird oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setPropercase($flag)</code> und <code>getPropercase()</code>: Setzt und
- gibt das Tag zurück das anzeigt ob die Eingabe auf Proper Case geändert wird
- oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setUppercase($flag)</code> und <code>getUppercase()</code>: Setzt und
- retourniert das Flag das anzeigt ob die Eingabe auf Großschreibung (UPPERCASE)
- geändert wird oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setTrim($flag)</code> und <code>getTrim()</code>: Setzt und retourniert
- das Flag das anzeigt ob führende Leerzeichen entfernt werden oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setMaxLength($length)</code> und <code>getMaxLength()</code>: Setzt und
- retourniert die maximale Länge der Eingabe.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.textBox.example">
- <title>Beispiel der Verwendung des TextBox Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'TextBox',
- 'foo',
- array(
- 'value' => 'irgendein Text',
- 'label' => 'TextBox',
- 'trim' => true,
- 'propercase' => true,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.textarea">
- <title>Textarea</title>
- <para>
- Textarea funktioniert primär wie eine standard HTML Textarea. Trotzdem unterstützt es
- weder die Zeilen- noch die Spalteneinstellungen. Stattdessen sollte die Breite von
- Textarea durch Verwendung von CSS Maßeinheiten spezifiziert werden; Zeilen sollten
- komplett vermieden werden. Die Textarea wird dann vertikal wachsen wenn Text hinzugefügt
- wird.
- </para>
- <example id="zend.dojo.form.elements.textarea.example">
- <title>Beispiel der Verwendung des Textarea Dijit Elements</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'Textarea',
- 'textarea',
- array(
- 'label' => 'Textarea',
- 'required' => true,
- 'style' => 'width: 200px;',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.timeTextBox">
- <title>TimeTextBox</title>
- <para>
- TimeTextBox ist eine Texteingabe die einen Drop-Down für die Auswahl einer Zeit bietet.
- Der Drop-Down kann so konfiguriert werden das ein bestimmtes Zeitfenster, mit speziellen
- Inkrementierungen, angezeigt wird.
- </para>
- <para>
- Intern wird die TimeTextBox von
- <link linkend="zend.dojo.form.elements.dateTextBox">DateTextBox</link>,
- <link linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link> und
- <link linkend="zend.dojo.form.elements.textBox">TextBox</link> abgeleitet; alle
- vorhandenen Methoden dieser Klassen sind vorhanden. Zusätzlich können die folgenden
- Methoden verwendet werden um individuelle Abhängigkeiten einzustellen:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setTimePattern($pattern)</code> und <code>getTimePattern()</code>: Setzt
- und retourniert den
- <ulink url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns">Unicode
- Zeitformat Pattern</ulink> für die Formatierung der Zeit.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setClickableIncrement($format)</code> und
- <code>getClickableIncrement()</code>: Setzt den
- <ulink url="http://en.wikipedia.org/wiki/ISO_8601">ISO-8601</ulink> String der
- die Anzahl repräsentiert mit dem jedes anklickbare Element der Zeitauswahl
- inkrementiert wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setVisibleIncrement($format)</code> und
- <code>getVisibleIncrement()</code>: Definiert das der Inkrement in der
- Zeitauswahl sichtbar ist; muß dem ISO-8601 Format entsprechen.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setVisibleRange($format)</code> und <code>getVisibleRange()</code>: Setzt
- und retorniert den Zeitbereich der in der Zeitauswahl zu jedem Zeitpunkt
- sichtbar ist; muß dem ISO-8601 Format entsprechen.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.timeTextBox.example">
- <title>Beispiel der Verwendung des TimeTextBox Dijit Elements</title>
- <para>
- Das folgende erstellt eine TimeTextBox die 2 Stunden zugleich anzeigt und um 10
- Minuten inkrementiert.
- </para>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'TimeTextBox',
- 'foo',
- array(
- 'label' => 'TimeTextBox',
- 'required' => true,
- 'visibleRange' => 'T04:00:00',
- 'visibleIncrement' => 'T00:10:00',
- 'clickableIncrement' => 'T00:10:00',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.validationTextBox">
- <title>ValidationTextBox</title>
- <para>
- ValidationTextBox bietet die Möglichkeit Prüfungen und Abhängigkeiten zu einer
- Texteingabe hinzuzufügen. Intern ist Sie von
- <link linkend="zend.dojo.form.elements.textBox">TextBox</link> abgeleitet, und fügt die
- folgenden Zugriffsmethoden und Mutatoren für die Manipulation der Dijit Parameter hinzu:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <code>setInvalidMessage($message)</code> und <code>getInvalidMessage()</code>:
- Setzt und retourniert die Tooltipnachricht die angezeigt werden soll wenn der
- Wert nicht gültig ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setPromptMessage($message)</code> und <code>getPromptMessage()</code>:
- Setzt und retourniert die Tooltipnachricht die angezeigt werden soll wenn das
- Element verwendet wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setRegExp($regexp)</code> und <code>getRegExp()</code>: Setzt und
- retourniert den regulären Ausdruck der für die Prüfung des Elements verwendet
- wird. Der reguläre Ausdruck benötigt keine Begrenzungen (anders als PHP's
- Funktionsfamilie preg*).
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setConstraint($key, $value)</code> und <code>getConstraint($key)</code>:
- Setzt und retourniert zusätzliche Abhängigkeiten die für die Prüfung des
- Elements verwendet werden; wird primär mit Unterklassen verwendet.
- Abhängigkeiten werden im 'constraints' Schlüssel der Dijit Parameter
- abgespeichert.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>setConstraints(array $constraints)</code> und
- <code>getConstraints()</code>: Setzt und retourniert individuelle Abhängigkeiten
- die bei der Prüfung eines Elements verwendet werden; wird primär mit
- Unterklassen verwendet.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>hasConstraint($key)</code>: Testet ob eine angegebene Abhängigkeit
- existiert.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>removeConstraint($key)</code> und <code>clearConstraints()</code>:
- Entfernt eine einzelne oder alle Abhängigkeiten des Elements.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.validationTextBox.example">
- <title>Beispiel für die Verwendung des ValidationTextBox Dijit Elements</title>
- <para>
- Das folgende erstellt eine ValidationTextBox die einen einzelnen String benötigt der
- nur aus Buchstaben besteht (z.B, keine Leerzeichen, die meisten Trennungen sind
- ungültig).
- </para>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'ValidationTextBox',
- 'foo',
- array(
- 'label' => 'ValidationTextBox',
- 'required' => true,
- 'regExp' => '[\w]+',
- 'invalidMessage' => 'Ungültige Buchstaben.',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.verticalSlider">
- <title>VerticalSlider</title>
- <para>
- VerticalSlider ist der Schwager von
- <link linkend="zend.dojo.form.elements.horizontalSlider">HorizontalSlider</link>, und
- funktioniert auf dem gleichen Weg wie dieses Element. Der einzige wirkliche Unterschied
- besteht darin, das die 'top*' und 'bottom*' Methoden mit 'left*' und 'right*' ersetzt
- wurden, und statt HorizontalRule und HorizontalRuleLabels jetzt VerticalRule und
- VerticalRuleLabels verwendet werden sollten.
- </para>
- <example id="zend.dojo.form.elements.verticalSlider.example">
- <title>Beispiel der Verwendung des VerticalSlider Dijit Elements</title>
- <para>
- Das folgende erstellt eine Vertikale Schieberauswahl mit Ganzzahlen die von -10 bis
- 10 reichen. Die linke Seite hat Label bei den 20%, 40%, 60% und 80% Marken. Die
- rechte Seite hat Regeln bei 0, 50% und 100%. Jedesmal wenn der Wert verändert wird,
- wird auch das versteckte Element, das den Wert speichert, aktualisiert.
- </para>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'VerticalSlider',
- 'foo',
- array(
- 'label' => 'VerticalSlider',
- 'value' => 5,
- 'style' => 'height: 200px; width: 3em;',
- 'minimum' => -10,
- 'maximum' => 10,
- 'discreteValues' => 11,
- 'intermediateChanges' => true,
- 'showButtons' => true,
- 'leftDecorationDijit' => 'VerticalRuleLabels',
- 'leftDecorationContainer' => 'leftContainer',
- 'leftDecorationLabels' => array(
- ' ',
- '20%',
- '40%',
- '60%',
- '80%',
- ' ',
- ),
- 'rightDecorationDijit' => 'VerticalRule',
- 'rightDecorationContainer' => 'rightContainer',
- 'rightDecorationLabels' => array(
- '0%',
- '50%',
- '100%',
- ),
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- </sect2>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|