| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- 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>
- <methodname>setDijitParam($key, $value)</methodname>: Setzt einen einzelnen Dijit
- Parameter. Wenn der Dijit Parmeter bereits existiert wird er überschrieben.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setDijitParams(array $params)</methodname>: Setzt mehrere Dijit
- Parameter auf einmal. Jeder übergebene Parameter der bereits existierenden
- entspricht wird überschrieben.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>hasDijitParam($key)</methodname>: Wenn ein angegebener Dijit Parameter
- definiert und vorhanden ist, wird <constant>TRUE</constant> zurückgegeben,
- andernfalls <constant>FALSE</constant>.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getDijitParam($key)</methodname>: Gibt den angegebenen Dijit Parameter.
- Wenn er nicht vorhanden ist, wird ein <constant>NULL</constant> Wert zurückgegeben.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getDijitParams()</methodname>: Gibt alle Dijit Parameter zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeDijitParam($key)</methodname>: Entfernt den angegebenen Dijit
- Parameter.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>clearDijitParams()</methodname>: Löscht alle aktuell definierten Dijit
- Parameter.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Dijit Parameter werden in der öffentlichen <property>dijitParams</property> 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
- <classname>Multi</classname> 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>
- <methodname>getLabel()</methodname> 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>
- <methodname>isChecked()</methodname> ermittelt ob der übermittelte Wert zum
- Label passt; wenn das der Fall ist wird <constant>TRUE</constant>
- 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 <classname>DijitElement</classname> und
- <classname>DtDdWrapper</classname> 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>
- <methodname>setCheckedValue($value)</methodname>: Setzt den Wert der verwendet
- werden soll wenn das Element angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getCheckedValue()</methodname>: Gibt den Wert des Elements zurück
- der verwendet wird wenn das Element angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setUncheckedValue($value)</methodname>: Setzt den Wert des Elements
- der verwendet wird wenn das Element nicht angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getUncheckedValue()</methodname>: Gibt den Wert des Elements zurück
- der verwendet wird wenn das Element nicht angehakt ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setChecked($flag)</methodname>: Markiert das Element als angehakt
- oder nicht angehakt.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>isChecked()</methodname>: 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
- <classname>InArray</classname> 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
- <command>dojo.data</command> Datenspeichers (wenn er verwendet wird). Sie erweitern
- DijitMulti, welches es erlaubt Selectoptionen über die Methoden
- <methodname>setMultiOptions()</methodname> und <methodname>setMultiOption()</methodname>
- zu spezifizieren. Zusätzlich stehen die folgenden Methoden zur Verfügung:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>getStoreInfo()</methodname>: 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>
- <methodname>setStoreId($identifier)</methodname>: 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>
- <methodname>getStoreId()</methodname>: Gibt den Namen der Identifikatorvariable
- des Speichers zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStoreType($dojoType)</methodname>: Setzt die Datenspeicherklasse
- die verwendet werden soll; z.B.,
- "<command>dojo.data.ItemFileReadStore</command>".
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getStoreType()</methodname>: Gibt die Dojo Datenspeicherklasse
- zurück die verwendet werden soll.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStoreParams(array $params)</methodname>: Setzt jeden verwendeten
- Parameter um das Datenspeicherobjekt zu konfigurieren. Als Beispiel würde der
- <command>dojo.data.ItemFileReadStore</command> Datenspeicher einen 'url'
- Parameter erwarten der auf einen Ort zeigt der das <command>dojo.data</command>
- Objekt zurückgibt.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getStoreParams()</methodname>: Gibt alle aktuell gesetzten
- Datenspeicher Parameter zurück; wenn keiner gesetzt ist, wird ein leeres Array
- zurückgegeben.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setAutocomplete($flag)</methodname>: Zeigt ob das selektierte
- Element verwendet wird oder nicht wenn der Benutzer das Element verlässt.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getAutocomplete()</methodname>: Gibt den Wert des autocomplete
- Flags zurück.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Standardmäßig, wenn kein <command>dojo.data</command> Speicher im Element registriert
- wurde, registriert dieses Element eine <classname>InArray</classname> Prüfung welche die
- Arrayschlüssel gegen registrierte Optionen prüft. Dieses Verhalten kann deaktiviert
- werden indem entweder <methodname>setRegisterInArrayValidator(false)</methodname>
- ausgerufen, oder ein <constant>FALSE</constant> Wert an den Registrierungsschlüssel
- <property>registerInArrayValidator</property> ü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 <classname>FilteringSelect</classname> statt
- <classname>ComboBox</classname> 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>
- <methodname>setCurrency($currency)</methodname>: Setzt den Typ der Währung die
- verwendet werden soll; sollte der
- <ulink url="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</ulink>
- Spezifikation folgen.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getCurrency()</methodname>: Gibt den aktuellen Währungstyp zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setSymbol($symbol)</methodname>: 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>
- <methodname>getSymbol()</methodname>: Gibt das aktuelle Währungssymbol zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setFractional($flag)</methodname>: Setzt ob für die Währung
- Kommazahlen oder ganze Zahlen verwendet werden dürfen.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getFractional()</methodname>: 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>
- <methodname>setAmPm($flag)</methodname> and <methodname>getAmPm()</methodname>:
- Ob in der Zeit AM oder PM Strings verwendet werden sollen oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStrict($flag)</methodname> und
- <methodname>getStrict()</methodname>: Ob Reguläre Ausdrücke strikt passen
- müssen oder nicht. Wenn es <constant>FALSE</constant> ist, was der Standardwert
- ist, wird es nicht über Leerzeichen und einige Abkürzungen lamentieren.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setLocale($locale)</methodname> und
- <methodname>getLocale()</methodname>: Setzt und gibt die
- Locale zurück die mit diesem speziellen Element verwendet werden soll.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setDatePattern($pattern)</methodname> und
- <methodname>getDatePattern()</methodname>: 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>
- <methodname>setFormatLength($formatLength)</methodname> und
- <methodname>getFormatLength()</methodname>: Bietet und gibt den Formatlänge Typ
- der verwendet werden soll zurück; sollte "long", "short", "medium" oder "full"
- sein.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setSelector($selector)</methodname> und
- <methodname>getSelector()</methodname>: 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 <acronym>WYSIWYG</acronym> Editor der verwendet werden kann um Rich
- <acronym>HTML</acronym> Inhalte sowohl zu erstellen als auch zu bearbeiten.
- <command>dijit.Editor</command> ist pluggable und kann mit eigenen Plugins erweitert
- werden wenn das gewünscht ist; siehe <ulink
- url="http://dojotoolkit.org/reference-guide/dijit/Editor.html">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><methodname>addCaptureEvent($event)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addCaptureEvents(array $events)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>setCaptureEvents(array $events)</methodname></para>
- </listitem>
- <listitem><para><methodname>getCaptureEvents()</methodname></para></listitem>
- <listitem>
- <para><methodname>hasCaptureEvent($event)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>removeCaptureEvent($event)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>clearCaptureEvents()</methodname></para>
- </listitem>
- </itemizedlist>
- </listitem>
- <listitem>
- <para>
- <emphasis>events</emphasis> sind Standard <acronym>DOM</acronym> Events, wie
- onClick, onKeyUp, usw. Die folgenden Zugriffsmethoden und Mutatoren sind für die
- Manipulation von Events vorhanden:
- </para>
- <itemizedlist>
- <listitem>
- <para><methodname>addEvent($event)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addEvents(array $events)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>setEvents(array $events)</methodname></para>
- </listitem>
- <listitem><para><methodname>getEvents()</methodname></para></listitem>
- <listitem>
- <para><methodname>hasEvent($event)</methodname></para>
- </listitem>
- <listitem><para><methodname>removeEvent($event)</methodname></para></listitem>
- <listitem>
- <para><methodname>clearEvents()</methodname></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><methodname>addPlugin($plugin)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addPlugins(array $plugins)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>setPlugins(array $plugins)</methodname></para>
- </listitem>
- <listitem><para><methodname>getPlugins()</methodname></para></listitem>
- <listitem>
- <para><methodname>hasPlugin($plugin)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>removePlugin($plugin)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>clearPlugins()</methodname></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 <methodname>setEditActionInterval($interval)</methodname> kann
- verwendet werden um den Wert zu setzen, während
- <methodname>getEditActionInterval()</methodname> 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 <constant>FALSE</constant>. Die Methode
- <methodname>setFocusOnLoad($flag)</methodname> kann verwendet werden um den
- Wert zu setzen, während <methodname>getFocusOnLoad()</methodname> ihn empfängt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>height</emphasis> spezifiziert die Höhe des Editors; standardmäßig
- ist sie 300px. Die Methode <methodname>setHeight($height)</methodname> kann
- verwendet werden um den Wert zu setzen, während
- <methodname>getHeight()</methodname> 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 <constant>FALSE</constant> (im Normalfall wird der die
- Breite des Fensters ausfüllen). Die Methode
- <methodname>setInheritWidth($flag)</methodname> kann verwendet werden um den
- Wert zu setzen, während <methodname>getInheritWidth()</methodname> ihn
- zurückgibt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>minHeight</emphasis> zeigt die Mindesthöhe des Editors an;
- standardmäßig ist sie 1em. Die Methode
- <methodname>setMinHeight($height)</methodname> kann verwendet werden um den
- Wert zu setzen, während <methodname>getMinHeight()</methodname> ihn empfängt.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>styleSheets</emphasis> zeigt an welche zusätzlichen
- <acronym>CSS</acronym> 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><methodname>addStyleSheet($styleSheet)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addStyleSheets(array $styleSheets)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>setStyleSheets(array $styleSheets)</methodname></para>
- </listitem>
- <listitem><para><methodname>getStyleSheets()</methodname></para></listitem>
- <listitem>
- <para><methodname>hasStyleSheet($styleSheet)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>removeStyleSheet($styleSheet)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>clearStyleSheets()</methodname></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>
- <note>
- <title>Das Editor Dijit verwendet standardmäßig div</title>
- <para>
- Das Editor dijit verwendet standardmäßig ein <acronym>HTML</acronym>
- <acronym>DIV</acronym>. Die Dokumentation für
- <command>dijit._editor.RichText</command> zeigt dass es potentielle Sicherheits
- Probleme bereiten kann wenn man es auf ein <acronym>HTML</acronym>
- <acronym>TEXTAREA</acronym> erstellt.
- </para>
- <para>
- Deshalb kann es Zeiten geben in denen man ein Editor Widget benötigt das korrekt zu
- einer <acronym>TEXTAREA</acronym> degradiert. In solchen Situationen kann man dass
- durchführen indem die Eigenschaft <property>degrade</property> auf
- <constant>TRUE</constant> gesetzt wird:
- </para>
- <programlisting language="php"><![CDATA[
- // Bei der Instanzierung:
- $editor = new Zend_Dojo_Form_Element_Editor('foo', array(
- 'degrade' => true,
- ));
- // Erstellung über die Form:
- $form->addElement('editor', 'content', array(
- 'degrade' => true,
- ));
- // Oder nach der Instanzierung:
- $editor->degrade = true;
- ]]></programlisting>
- </note>
- </sect3>
- <sect3 id="zend.dojo.form.elements.horizontalSlider">
- <title>HorizontalSlider</title>
- <para>
- HorizontalSlider bietet ein Schieber UI Widget für die Auswahl eines numerischen 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>
- <methodname>setTopDecorationDijit($dijit)</methodname> und
- <methodname>setBottomDecorationDijit($dijit)</methodname>: 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>
- <methodname>setTopDecorationContainer($container)</methodname> und
- <methodname>setBottomDecorationContainer($container)</methodname>: Spezifiziert
- den Namen der für das Containerelement der Regeln verwendet werden soll; z.B.
- 'topRule', 'topContainer', usw.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTopDecorationLabels(array $labels)</methodname> und
- <methodname>setBottomDecorationLabels(array $labels)</methodname>: 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>
- <methodname>setTopDecorationParams(array $params)</methodname> und
- <methodname>setBottomDecorationParams(array $params)</methodname>: Dijit
- Parameter die verwendet werden sollen wenn die gegebene Rule oder RuleLabels
- Dijits konfiguriert werden
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTopDecorationAttribs(array $attribs)</methodname> und
- <methodname>setBottomDecorationAttribs(array $attribs)</methodname>:
- <acronym>HTML</acronym> Attribute die für die gegebene Rule oder RuleLabels
- <acronym>HTML</acronym> Elementcontainer spezifiziert werden.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getTopDecoration()</methodname> und
- <methodname>getBottomDecoration()</methodname>: 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 numerischen
- 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>
- <methodname>setDefaultTimeout($timeout)</methodname> und
- <methodname>getDefaultTimeout()</methodname>: 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>
- <methodname>setTimeoutChangeRate($rate)</methodname> und
- <methodname>getTimeoutChangeRate()</methodname>: 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>
- <methodname>setLargeDelta($delta)</methodname> und
- <methodname>getLargeDelta()</methodname>: Setzt und gibt die Menge zurück mit
- welcher der numerische Wert geändert werden soll wenn ein Button gedrückt
- gehalten wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setSmallDelta($delta)</methodname> und
- <methodname>getSmallDelta()</methodname>: 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>
- <methodname>setIntermediateChanges($flag)</methodname> und
- <methodname>getIntermediateChanges()</methodname>: 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>
- <methodname>setRangeMessage($message)</methodname> und
- <methodname>getRangeMessage()</methodname>: Setzt und gibt die Nachricht zurück
- die den Bereich der möglichen Werte anzeigt.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMin($value)</methodname> und <methodname>getMin()</methodname>:
- Setzt und gibt den mindesten möglichen Wert zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMax($value)</methodname> und <methodname>getMax()</methodname>:
- 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 numerischen 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>
- <methodname>setLocale($locale)</methodname> und
- <methodname>getLocale()</methodname>: Spezifiziert und gibt ein spezifisches
- oder alternatives Gebietsschema zurück das mit diesem Dijit verwendet werden
- soll.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPattern($pattern)</methodname> und
- <methodname>getPattern()</methodname>: 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>
- <methodname>setType($type)</methodname> und <methodname>getType()</methodname>:
- Setzt und gibt eine numerischen Formattyp zurück der verwendet wird (sollte
- 'decimal', 'percent' oder 'currency' sein).
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPlaces($places)</methodname> und
- <methodname>getPlaces()</methodname>: Setzt und gibt die Anzahl der
- Dezimalstellen die unterstützt werden sollen zurück.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStrict($flag)</methodname> und
- <methodname>getStrict()</methodname>: Setzt und gibt den Wert des Strictflags
- zurück, welches anzeigt wieviel Ungenauigkeit in Bezug auf Leerzeichen und
- nicht-numerische 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 '
- . 'alphanumerische 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
- <methodname>setMultiOptions()</methodname> und
- <methodname>setMultiOption()</methodname> Methoden zu spezifizieren.
- </para>
- <para>
- Standardmäßig registriert dieses Element eine <classname>InArray</classname> Prüfung
- welche die Arrayschlüssel gegen registrierte Optionen prüft. Dieses Verhalten kann
- deaktiviert werden indem entweder
- <methodname>setRegisterInArrayValidator(false)</methodname> ausgerufen, oder ein
- <constant>FALSE</constant> Wert an den Registrierungsschlüssel
- <property>registerInArrayValidator</property> ü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 <acronym>HTML</acronym> Textarea.
- Trotzdem unterstützt es weder die rows noch die cols Einstellung. Stattdessen, sollte
- die Breite von Textarea durch die Verwendung von standard <acronym>CSS</acronym>
- 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>
- <methodname>setClickSelect($flag)</methodname> und
- <methodname>getClickSelect()</methodname>: Setzt und gibt das Flag zurück das
- anzeigt ob das Klicken auf den Slider den Wert ändert oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setIntermediateChanges($flag)</methodname> und
- <methodname>getIntermediateChanges()</methodname>: 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>
- <methodname>setShowButtons($flag)</methodname> und
- <methodname>getShowButtons()</methodname>: 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>
- <methodname>setDiscreteValues($value)</methodname> und
- <methodname>getDiscreteValues()</methodname>: Setzt und gibt die Anzahl an
- diskreten Werte zurück die vom Slider repräsentiert werden.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMaximum($value)</methodname> und
- <methodname>getMaximum()</methodname>: Setzt den maximalen Wert des Sliders.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMinimum($value)</methodname> und
- <methodname>getMinimum()</methodname>: Setzt den minimalen Wert des Sliders.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPageIncrement($value)</methodname> und
- <methodname>getPageIncrement()</methodname>: 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>
- <methodname>setLowercase($flag)</methodname> und
- <methodname>getLowercase()</methodname>: Setzt und gibt das Tag zurück das
- anzeigt ob die Eingabe auf Kleinschreibung (lowercase) geändert wird oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPropercase($flag)</methodname> und
- <methodname>getPropercase()</methodname>: Setzt und gibt das Tag zurück das
- anzeigt ob die Eingabe auf Proper Case geändert wird oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setUppercase($flag)</methodname> und
- <methodname>getUppercase()</methodname>: Setzt und retourniert das Flag das
- anzeigt ob die Eingabe auf Großschreibung (<acronym>UPPERCASE</acronym>)
- geändert wird oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTrim($flag)</methodname> und <methodname>getTrim()</methodname>:
- Setzt und retourniert das Flag das anzeigt ob führende Leerzeichen entfernt
- werden oder nicht.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMaxLength($length)</methodname> und
- <methodname>getMaxLength()</methodname>: 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 <acronym>HTML</acronym> Textarea.
- Trotzdem unterstützt es weder die Zeilen- noch die Spalteneinstellungen. Stattdessen
- sollte die Breite von Textarea durch Verwendung von <acronym>CSS</acronym> 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>
- <methodname>setTimePattern($pattern)</methodname> und
- <methodname>getTimePattern()</methodname>: 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>
- <methodname>setClickableIncrement($format)</methodname> und
- <methodname>getClickableIncrement()</methodname>: 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>
- <methodname>setVisibleIncrement($format)</methodname> und
- <methodname>getVisibleIncrement()</methodname>: Definiert das der Inkrement in
- der Zeitauswahl sichtbar ist; muß dem <constant>ISO_8601</constant> Format
- entsprechen.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setVisibleRange($format)</methodname> und
- <methodname>getVisibleRange()</methodname>: Setzt und retorniert den
- Zeitbereich der in der Zeitauswahl zu jedem Zeitpunkt sichtbar ist; muß dem
- <constant>ISO_8601</constant> 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>
- <methodname>setInvalidMessage($message)</methodname> und
- <methodname>getInvalidMessage()</methodname>: Setzt und retourniert die
- Tooltipnachricht die angezeigt werden soll wenn der Wert nicht gültig ist.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPromptMessage($message)</methodname> und
- <methodname>getPromptMessage()</methodname>: Setzt und retourniert die
- Tooltipnachricht die angezeigt werden soll wenn das Element verwendet wird.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setRegExp($regexp)</methodname> und
- <methodname>getRegExp()</methodname>: 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 <acronym>PHP</acronym>'s
- Funktionsfamilie preg*).
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setConstraint($key, $value)</methodname> und
- <methodname>getConstraint($key)</methodname>: 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>
- <methodname>setConstraints(array $constraints)</methodname> und
- <methodname>getConstraints()</methodname>: 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>
- <methodname>hasConstraint($key)</methodname>: Testet ob eine angegebene
- Abhängigkeit existiert.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeConstraint($key)</methodname> und
- <methodname>clearConstraints()</methodname>: 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>
|