| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 20176 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.dojo.form.elements">
- <title>Elementos de Formularios Dijit-Specific</title>
- <para> Cada formulario dijit para el que se provee un ayudante tiene un
- elemento correspondiente <classname>Zend_Form</classname> . Todos ellos
- tienen los siguientes métodos disponibles para manipular los parámetros
- dijit: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setDijitParam($key, $value)</methodname> :
- establecer un único parámetro dijit. Si el parámetro dijit ya
- existe, se borrará y se reemplazará por el nuevo. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setDijitParams(array $params)</methodname> :
- establecer varios parámetros dijit a la vez. Cualquiera de los
- parámetros pasados que concuerden con los ya presentes se
- sobreescribirán. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>hasDijitParam($key)</methodname> : si un determinado
- parámetro dijit está definido y presente, devolverá <constant>TRUE</constant>, de lo
- contrario devolverá <constant>FALSE</constant>. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getDijitParam($key)</methodname> : recupera el
- parámetro dijit. Si no está disponible, se devuelve un valor
- <constant>NULL</constant>. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getDijitParams()</methodname> : recupera todos los
- parámetros dijit. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeDijitParam($key)</methodname> : elimina el
- parámetro dijit dado. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>clearDijitParams()</methodname> : borra todos los
- parámetros dijit actualmente definidos. </para>
- </listitem>
- </itemizedlist>
- <para> Los parámetros Dijit se almacenan en la propiedad pública
- <property>dijitParams</property> . Así, puede habilitar dijit
- para un elemento de un formulario existente simplemente estableciendo
- esta propiedad en el elemento; sencillamante no tendrá los accessors
- anteriores a fin de facilitar la manipulación de parámetros. </para>
- <para>Además, los elementos específicos de dijit implementan una lista
- diferente de decoradores, correspondientes a lo siguiente:</para>
- <programlisting language="php"><![CDATA[
- $element->addDecorator('DijitElement')
- ->addDecorator('Errors')
- ->addDecorator('HtmlTag', array('tag' => 'dd'))
- ->addDecorator('Label', array('tag' => 'dt'));
- ]]></programlisting>
- <para>En efecto, el decorador DijitElement es utilizado en lugar del
- decorador standard ViewHelper.</para>
- <para>Finalmente, el elemento base Dijit asegura que el path del ayudante de
- vista de Dojo se establezca en la vista.</para>
- <para> Una variante de DijitElement, DijitMulti, ofrece la funcionalidad del
- elemento abstracto del formulario <methodname>Multi</methodname> ,
- permitiendo al desarrollador especificar 'multiOptions' -- típicamente
- opciones "select" u opciones de "radio". </para>
- <para>Los siguientes elementos dijit están incluídos en la distribución
- standard de Zend Framework.</para>
- <sect3 id="zend.dojo.form.elements.button">
- <title>Button</title>
- <para> Si bien no derivan del elemento standard Button <link
- linkend="zend.form.standardElements.button"/> , implementan la
- misma funcionalidad, y pueden ser utilizados como una sustitución de
- drop-in, como se expone en la siguiente funcionalidad: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>getLabel()</methodname> utilizará el nombre del
- elemento como el rótulo del botón si no se ha provisto el
- nombre. Además, traducirá el nombre si un adaptador de
- traducción encuentra concordancia con un mensaje disponible.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>isChecked()</methodname> determina si el valor
- enviado coincide con la etiqueta; si así fuera, devuelve
- <constant>TRUE</constant>. Esto es útil para determinar qué botón se utilizó
- cuando se envió un formulario. </para>
- </listitem>
- </itemizedlist>
- <para> Además, sólo los decoradores
- <classname>DijitElement</classname> y
- <classname>DtDdWrapper</classname> se utilizan para elementos
- Button. </para>
- <example id="zend.dojo.form.elements.button.example">
- <title>Ejemplo de Uso del Elemento Button dijit</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> Si bien no derivan del elemento standard Checkbox <link
- linkend="zend.form.standardElements.checkbox"/> , aplican la
- misma funcionalidad. Esto significa exponer los siguientes métodos: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setCheckedValue($value)</methodname> :
- establecer el valor a usar cuando el elemento está marcado
- (checked). </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getCheckedValue()</methodname> : obtener el
- valor del item a usar cuando está comprobado (checked).
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setUncheckedValue($value)</methodname> :
- establecer el valor del item a utilizar cuando está
- desactivado (unchecked). </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getUncheckedValue()</methodname> : obtener el
- valor del item a utilizar cuando está desactivado
- (unchecked). </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setChecked($flag)</methodname> : marcar el
- elemento como activado (checked) o desactivado (unchecked).
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>isChecked()</methodname> : determina si el
- elemento está activo (checked) actualmente. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.checkBox.example">
- <title>Ejemplo de Uso de Elementos CheckBox dijit</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'CheckBox',
- 'foo',
- array(
- 'label' => 'A check box',
- 'checkedValue' => 'foo',
- 'uncheckedValue' => 'bar',
- 'checked' => true,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.comboBox">
- <title>ComboBox y FilteringSelect</title>
- <para> Como se señaló en la documentación del ayudante de vista de
- ComboBox dijit <link linkend="zend.dojo.view.dijit.form"/> , los
- ComboBoxes son un híbrido entre "select" y "text input", permitiendo
- el autocompletado y la capacidad para especificar una alternativa a
- las opciones provistas. FilteringSelects es lo mismo, pero no
- permite entradas arbitrarias. </para>
- <note>
- <title>ComboBoxes que Devuelven los Valores de los Labels</title>
- <para> Los ComboBoxes devuelven los valores de los rótulos (labels),
- y no los valores de opción, que pueden llevar a una
- desvinculación de las expectativas. Por esta razón, los
- ComboBoxes no auto-registran un validador
- <classname>InArray</classname> (aunque los
- FilteringSelects si lo hacen). </para>
- </note>
- <para> Los elementos de forms de ComboBox y FilteringSelect proporcionan
- accessors y mutators para examinar y establecer las opciones
- seleccionadas, así como para especificar un datastore dojo.data (si
- se usa). Se extienden desde DijitMulti, que le permite especificar
- opciones de selección vía los métodos
- <methodname>setMultiOptions()</methodname> y
- <methodname>setMultiOption()</methodname> . Además, están
- disponibles los siguientes métodos: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>getStoreInfo()</methodname> : Obtener del
- datastore toda la información establecida actualmente.
- Devuelve un array vacío si no hay datos actualmente
- establecidos. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStoreId($identifier)</methodname> : establece
- la variable del identificador (generalmente referenciado por
- el atributo 'jsId' en Dojo). Este debe ser un nombre de
- variable válido para javascript. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getStoreId()</methodname> : recupera el nombre
- de la variable del identificador del datastore. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStoreType($dojoType)</methodname> : establece
- la clase del datastore a usar; por ejemplo,
- "dojo.data.ItemFileReadStore". </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getStoreType()</methodname> : obtiene la clase
- del datastore a usar. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStoreParams(array $params)</methodname> :
- establece cualquiera de los parámetros utilizados para
- configurar el objeto datastore. Como ejemplo, el datastore
- dojo.data.ItemFileReadStore esperaría un parámetro 'url'
- apuntando a un lugar que devolvería el objeto dojo.data.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getStoreParams()</methodname> : obtiene
- cualquiera de los parámetros del datastore actualmente
- establecido; si no hay ninguno, se devuelve un array vacío.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setAutocomplete($flag)</methodname> : indica si
- será usado o no el elemento seleccionado una vez que el
- usuario deje el elemento. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getAutocomplete()</methodname> : obtener el
- valor del flag de autocomplete. </para>
- </listitem>
- </itemizedlist>
- <para> Por defecto, si no hay ningún dojo.data registrado con el
- elemento, este elemento registra un validador
- <classname>InArray</classname> que valida contra las claves
- del array de las opciones registradas. Puede desactivar este
- comportamiento ya sea llamando a
- <methodname>setRegisterInArrayValidator(false)</methodname> , o
- pasando un valor <constant>FALSE</constant> a la clave de configuración
- <property>registerInArrayValidator</property> . </para>
- <example id="zend.dojo.form.elements.comboBox.selectExample">
- <title>Elemento de ComboBox dijit Usado como select input</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>Elemento de ComboBox dijit Usado con datastore</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> Los ejemplos anteriores también podrían utilizar
- <methodname>FilteringSelect</methodname> en vez de
- <classname>ComboBox</classname> . </para>
- </sect3>
- <sect3 id="zend.dojo.form.elements.currencyTextBox">
- <title>CurrencyTextBox</title>
- <para>El CurrencyTextBox principalmente brinda apoyo a la entrada de
- moneda. La moneda puede ser localizada, y puede manejar tanto a
- valores fraccionarios como no fraccionarios.</para>
- <para> Internamente, CurrencyTextBox deriva de <link
- linkend="zend.dojo.form.elements.numberTextBox"
- >NumberTextBox</link> , <link
- linkend="zend.dojo.form.elements.validationTextBox"
- >ValidationTextBox</link> , y <link
- linkend="zend.dojo.form.elements.textBox">TextBox</link> ; todos
- los métodos disponibles a esas clases están disponibles. Además,
- pueden utilizarse los siguientes métodos restrictivos: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setCurrency($currency)</methodname> : establecer
- el tipo de moneda a usar; y debe seguir la especificación
- <ulink url="http://en.wikipedia.org/wiki/ISO_4217"
- >ISO-4217</ulink>
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getCurrency()</methodname> : recupera el tipo de
- moneda actual. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setSymbol($symbol)</methodname> : establece el
- símbolo de 3 letras <ulink
- url="http://en.wikipedia.org/wiki/ISO_4217"
- >ISO-4217</ulink> de la moneda a usar. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getSymbol()</methodname> : recupera el símbolo
- de la moneda actual. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setFractional($flag)</methodname> : establece si
- la moneda debería permitir o no valores fraccionarios.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getFractional()</methodname> : recupera el
- status del flag fraccional. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.currencyTextBox.example">
- <title>Ejemplo de Uso del Elemento CurrencyTextBox dijit</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'CurrencyTextBox',
- 'foo',
- array(
- 'label' => 'Currency:',
- 'required' => true,
- 'currency' => 'USD',
- 'invalidMessage' => 'Invalid amount. ' .
- 'Include dollar sign, commas, and cents.',
- 'fractional' => false,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.dateTextBox">
- <title>DateTextBox</title>
- <para>DateTextBox establece un calendario desplegable (drop-down) para
- seleccionar una fecha, así como validación y formateo de fechas del
- lado del clente.</para>
- <para> Internamente, DateTextBox deriva de <link
- linkend="zend.dojo.form.elements.validationTextBox"
- >ValidationTextBox</link> y <link
- linkend="zend.dojo.form.elements.textBox">TextBox</link> ; todos
- los métodos disponibles a esas clases están disponibles. Además, los
- siguientes métodos pueden utilizarse para establecer restricciones
- individuales: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setAmPm($flag)</methodname> y
- <methodname>getAmPm()</methodname> : Cuándo usar o no
- los strings AM/PM en los fortmatos de horas. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStrict($flag)</methodname> y
- <methodname>getStrict()</methodname> : Cuándo usar o no
- el matching para una expresión regular estricta al validar
- la entrada. Si es falso, que es el valor por defecto, será
- indulgente sobre espacios en blanco y algunas abreviaturas.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setLocale($locale)</methodname> y
- <methodname>getLocale()</methodname> : Establece y
- recupera la localidad a utilizar con este elemento
- específico. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setDatePattern($pattern)</methodname> y
- <methodname>getDatePattern()</methodname> : provee y
- recupera el <ulink
- url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns"
- > patrón de formato de fechas unicode</ulink> para el
- formateo de fechas. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setFormatLength($formatLength)</methodname> y
- <methodname>getFormatLength()</methodname> : proporciona
- y recupera la longitud del tipo de formato a usar; debe ser
- uno de los siguientes: "long", "short", "medium" o "full".
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setSelector($selector)</methodname> y
- <methodname>getSelector()</methodname> : proporciona y
- recupera el estilo del selector; debe ser "date" o "time".
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.dateTextBox.example">
- <title>Ejemplo de Uso del Elemento DateTextBox dijit</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'DateTextBox',
- 'foo',
- array(
- 'label' => 'Date:',
- 'required' => true,
- 'invalidMessage' => 'Invalid date specified.',
- 'formatLength' => 'long',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.editor">
- <title>Editor</title>
- <para> Editor proporciona un editor WYSIWYG que puede ser utilizado
- tanto para crear como para editar contenidos <acronym>HTML</acronym>
- ricos. dijit.Editor es pluggable y podrá ampliarse con plugins
- personalizados si lo desea; para más detalles vea en <ulink
- url="http://dojotoolkit.org/book/dojo-book-0-9/part-2-dijit/advanced-editing-and-display/editor-rich-text"
- > la documentación de dijit.Editor</ulink> . </para>
- <para>El elemento form de Editor proporciona un número de accessors y
- mutators para manipular diversos parámetros dijit, tal como
- sigue:</para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>captureEvents</emphasis> son eventos que se
- conectan al área de edición en si. Los siguientes accessors
- y mutators están disponibles para manipular la captura de
- eventos: </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> son eventos DOM estándar, como
- onClick, onKeyup, etc. Los siguientes accessors y mutators
- están disponibles para manipular eventos: </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> añaden funcionalidad al Editor
- -- herramientas adicionales para la barra de herramientas,
- estilos adicionales a permitir, etc. Los siguientes
- accessors y mutators están disponibles para manipular
- plugins: </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> se utiliza para
- agrupar eventos para deshacer operaciones. Por defecto, este
- valor es de 3 segundos. El método
- <methodname>setEditActionInterval($interval)</methodname>
- puede ser usado para establecer el valor, mientras que
- <methodname>getEditActionInterval()</methodname> lo
- recuperará. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>focusOnLoad</emphasis> se utiliza para determinar
- si este editor en particular recibirá atención cuando la
- página se haya cargado. Por defecto, esto es falso. El
- método <methodname>setFocusOnLoad($flag)</methodname> puede
- usarse para establecer el valor, mientras que
- <methodname>getFocusOnLoad()</methodname> lo recuperará.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>height</emphasis> especifica la altura del editor;
- por defecto, es de 300px. El método
- <methodname>setHeight($height)</methodname> puede ser
- utilizado para establecer el valor, mientras que
- <methodname>getHeight()</methodname> lo recupera.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>inheritWidth</emphasis> se utiliza para determinar
- si el editor utilizará el ancho del contenedor padre o
- simplemente toma por defecto el 100% del ancho. Por defecto,
- esto es falso (es decir, llenará el ancho de la ventana). El
- método <methodname>setInheritWidth($flag)</methodname> puede
- ser utilizado para establecer el valor, mientras que
- <methodname>getInheritWidth()</methodname> lo
- recuperará. </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>minHeight</emphasis> indica la altura mínima del
- editor; por defecto, es de 1em. El método
- <methodname>setMinHeight($height)</methodname> puede ser
- utilizado para establecer el valor, mientras que
- <methodname>getMinHeight()</methodname> lo recuperará.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>styleSheets</emphasis> indica qué otras hojas de
- estilo <acronym>CSS</acronym> deberían ser utilizadas para
- incidir sobre la pantalla del Editor. Por defecto, ninguna
- está registrada, y hereda la página de estilos. Los
- siguientes accessors y mutators están disponibles para
- manipular al editor de hojas de estilo (stylesheets): </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>Ejemplo de Uso del Elemento Editor dijit</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>Editor Dijit uses div by default</title>
- <para> The Editor dijit uses an <acronym>HTML</acronym>
- <acronym>DIV</acronym> by default. The
- <classname>dijit._editor.RichText</classname> documentation
- indicates that having it built on an <acronym>HTML</acronym>
- <acronym>TEXTAREA</acronym> can potentially have security
- implications. </para>
- <para> That said, there may be times when you want an Editor widget
- that can gracefully degrade to a <acronym>TEXTAREA</acronym> .
- In such situations, you can do so by setting the
- <varname>degrade</varname> property to
- <constant>TRUE</constant> : </para>
- <programlisting language="php"><![CDATA[
- // At instantiation:
- $editor = new Zend_Dojo_Form_Element_Editor('foo', array(
- 'degrade' => true,
- ));
- // Construction via the form:
- $form->addElement('editor', 'content', array(
- 'degrade' => true,
- ));
- // Or after instantiation:
- $editor->degrade = true;
- ]]></programlisting>
- </note>
- </sect3>
- <sect3 id="zend.dojo.form.elements.horizontalSlider">
- <title>HorizontalSlider</title>
- <para> HorizontalSlider proporciona un widget deslizador de UI para
- seleccionar un valor numérico dentro de un rango. Internamente,
- establece el valor de un elemento oculto que es enviado por el
- formulario. </para>
- <para> HorizontalSlider proviene del elemento abstracto <link
- linkend="zend.dojo.form.elements.slider">Slider dijit</link> .
- Además, tiene una variedad de métodos de ajuste y configuración de
- reglas deslizantes y etiquetas para esas reglas. </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setTopDecorationDijit($dijit)</methodname> y
- <methodname>setBottomDecorationDijit($dijit)</methodname>
- : establecen el nombre de la dijit a utilizar bien para la
- parte superior o inferior de la barra deslizante. Esto no
- debería incluir el prefijo "dijit.form.", sino sólo el
- último nombre -- "HorizontalRule" o "HorizontalRuleLabels".
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTopDecorationContainer($container)</methodname>
- y
- <methodname>setBottomDecorationContainer($container)</methodname>
- : especifican el nombre a utilizar para el elemento
- contenedor de las reglas; por ejemplo 'Toprule',
- 'topContainer', etc. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTopDecorationLabels(array
- $labels)</methodname> y
- <methodname>setBottomDecorationLabels(array
- $labels)</methodname> : establecen las etiquetas a usar
- por uno de los tipos RuleLabels dijit. Debe ser un array
- indexado; especificar un único espacio vacío para saltar a
- la posición de una determinada etiqueta (como ser al
- comienzo o al final). </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTopDecorationParams(array
- $params)</methodname> y
- <methodname>setBottomDecorationParams(array
- $params)</methodname> : parámetros dijit para utilizar
- al configurar la Regla o RuleLabels dijit. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTopDecorationAttribs(array
- $attribs)</methodname> y
- <methodname>setBottomDecorationAttribs(array
- $attribs)</methodname> : atributos
- <acronym>HTML</acronym> para especificar una Regla dada
- o el elemento contenedor de <acronym>HTML</acronym>
- RuleLabels. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getTopDecoration()</methodname> y
- <methodname>getBottomDecoration()</methodname> :
- recuperar todos los metadatos para una determinada Regla o
- definición de RuleLabels, tal como han sido provistos por
- los mutators anteriores. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.horizontalSlider.example">
- <title>Ejemplo de Uso del Elemento HorizontalSlider dijit</title>
- <para> Lo siguiente creará un deslizador horizontal de selección con
- valores enteros que van desde -10 a 10. La parte superior tendrá
- etiquetas en las marcas del 20%, 40%, 60%, y 80%. La parte
- inferior será una regla con marcas en el 0, 50%, y 100%. Cada
- vez que se cambie el valor, el elemento oculto almacenará el
- valor actualizado. </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>Un número spinner es un elemento de texto para introducir valores
- numéricos; también incluye elementos de incremento y decremento del
- valor por una cantidad fija.</para>
- <para>Se encuentran disponibles los siguientes métodos:</para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setDefaultTimeout($timeout)</methodname> y
- <methodname>getDefaultTimeout()</methodname> : establece
- y recupera el tiempo de espera predeterminado en
- milisegundos, entre cuando el botón se mantiene presionado y
- cambia el valor. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTimeoutChangeRate($rate)</methodname> y
- <methodname>getTimeoutChangeRate()</methodname> :
- establece y recupera la tasa en milisegundos, en la que se
- harán cambios cuando un botón se mantiene presionado.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setLargeDelta($delta)</methodname> y
- <methodname>getLargeDelta()</methodname> : establece y
- recupera la cantidad en la que el valor numérico debería
- cambiar cuando un botón se mantiene presionado. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setSmallDelta($delta)</methodname> y
- <methodname>getSmallDelta()</methodname> : establece y
- recupera el delta con la que el número debería cambiar
- cuando se pulsa un botón una vez. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setIntermediateChanges($flag)</methodname> y
- <methodname>getIntermediateChanges()</methodname> :
- establece y recupera el flag que indica si debe o no ser
- mostrado cada cambio de valor cuando un botón se mantiene
- presionado. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setRangeMessage($message)</methodname> y
- <methodname>getRangeMessage()</methodname> : establece y
- recupera el mensaje indicando el rango de valores
- disponibles. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMin($value)</methodname> y
- <methodname>getMin()</methodname> : establece y recupera
- el valor mínimo posible. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMax($value)</methodname> y
- <methodname>getMax()</methodname> : establece y recupera
- el valor máximo posible. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.numberSpinner.example">
- <title>Ejemplo de Uso del Elemento NumberSpinner dijit</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>Un cuadro de texto numérico es un elemento de texto de
- introducción de valores numéricos; a diferencia de NumberSpinner, se
- introducen manualmente. Se pueden proporcionar validaciones y
- restricciones para garantizar que el número permanece en un rango o
- formato particular.</para>
- <para> Internmente, NumberTextBox proviene de <link
- linkend="zend.dojo.form.elements.validationTextBox"
- >ValidationTextBox</link> y <link
- linkend="zend.dojo.form.elements.textBox">TextBox</link> ; todos
- los métodos disponibles a esas clases están disponibles. Además, los
- siguientes métodos pueden utilizarse para establecer restricciones
- individuales: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setLocale($locale)</methodname> y
- <methodname>getLocale()</methodname> : especifica y
- recupera un "locale" determinado o alternativo para usar con
- este dijit. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPattern($pattern)</methodname> y
- <methodname>getPattern()</methodname> : establece y
- recupera un <ulink
- url="http://www.unicode.org/reports/tr35/#Number_Format_Patterns"
- > patrón de formato numérico </ulink> a usar en el
- formateo de números. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setType($type)</methodname> y
- <methodname>getType()</methodname> : establece y
- recupera el tipo de formato numérico a utilizar (deberán ser
- uno de 'decimal', 'percent', o 'currency'). </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPlaces($places)</methodname> y
- <methodname>getPlaces()</methodname> : establece y
- recupera el número de decimales que soportará. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setStrict($flag)</methodname> y
- <methodname>getStrict()</methodname> : establece y
- recupera el valor estricto del flag, que indica cuánta
- indulgencia es permitida en relación con espacios en blanco
- y con caracteres no numéricos. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.numberTextBox.example">
- <title>Ejemplo de Uso del Elemento NumberTextBox dijit</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'NumberTextBox',
- 'elevation',
- array(
- 'label' => 'NumberTextBox',
- 'required' => true,
- 'invalidMessage' => 'Invalid elevation.',
- 'places' => 0,
- 'constraints' => array(
- 'min' => -20000,
- 'max' => 20000,
- ),
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.passwordTextBox">
- <title>PasswordTextBox</title>
- <para>PasswordTextBox es simplemente un ValidationTextBox que está
- ligado a una contraseña; su único objetivo es permitir la entrada de
- texto de contraseñas de dijit que también proporciona validación del
- lado del cliente.</para>
- <para> Internmente, PasswordTextBox proviene de <link
- linkend="zend.dojo.form.elements.validationTextBox"
- >ValidationTextBox</link> y <link
- linkend="zend.dojo.form.elements.textBox">TextBox</link> ; todos
- los métodos disponibles a esas clases están disponibles. </para>
- <example id="zend.dojo.form.elements.passwordTextBox.example">
- <title>Ejemplo de Uso del Elemento PasswordTextBox dijit</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'PasswordTextBox',
- 'password',
- array(
- 'label' => 'Password',
- 'required' => true,
- 'trim' => true,
- 'lowercase' => true,
- 'regExp' => '^[a-z0-9]{6,}$',
- 'invalidMessage' => 'Invalid password; ' .
- 'must be at least 6 alphanumeric characters',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.radioButton">
- <title>RadioButton</title>
- <para>RadioButton envuelve a elementos standard de entrada tipo radio
- para brindar un look-and-feel consistente con otros dojo
- dijits.</para>
- <para> RadioButton se extiende desde DijitMulti, que le permite
- especificar la selección de opciones vía los métodos
- <methodname>setMultiOptions()</methodname> y
- <methodname>setMultiOption()</methodname> . </para>
- <para> Por defecto, este elemento registra un validador
- <methodname>InArray</methodname> que valida contra las calves
- del array de las opciones registradas. Puede desactivar este
- comportamiento ya sea llamando a
- <methodname>setRegisterInArrayValidator(false)</methodname> , o
- pasando un valor falso a la clave de configuración
- <methodname>registerInArrayValidator</methodname> . </para>
- <example id="zend.dojo.form.elements.radioButton.example">
- <title>Ejemplo de Uso del Elemento RadioButton dijit</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 actúa principalmente como un textarea estándar de
- <acronym>HTML</acronym> . Sin embargo, no permite establecer
- filas ni columnas. En su lugar, el ancho de textarea debe
- especificarse utilizando medidas <acronym>CSS</acronym> estándar. A
- diferencia de Textarea, esta no aumentará automáticamente. </para>
- <example id="zend.dojo.form.elements.simpletextarea.example">
- <title>Ejemplo de Uso del Elemento SimpleTextarea dijit</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>Elemento abstracto Slider</title>
- <para> Slider es un elemento abstracto que proviene de ambos <link
- linkend="zend.dojo.form.elements.horizontalSlider">
- HorizontalSlider</link> y <link
- linkend="zend.dojo.form.elements.verticalSlider"
- >VerticalSlider</link> . Expone una serie de métodos comunes
- para configurar sus deslizadores, incluyendo a: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setClickSelect($flag)</methodname> y
- <methodname>getClickSelect()</methodname> : establece y
- recupera el flag que indica cuando al presionar el botón
- deslizante cambia o no el valor. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setIntermediateChanges($flag)</methodname> y
- <methodname>getIntermediateChanges()</methodname> :
- establece y recupera el flag que indica si dijit enviará o
- no una notificación sobre cada evento de cambio del
- deslizador. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setShowButtons($flag)</methodname> y
- <methodname>getShowButtons()</methodname> : establece y
- recupera el flag que indica si los botones de uno u otro
- extremo se mostrarán o no; si es así, el usuario puede hacer
- clic sobre éstos para cambiar el valor de la barra
- deslizante. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setDiscreteValues($value)</methodname> y
- <methodname>getDiscreteValues()</methodname> : establece
- y recupera el número de valores discretos representados por
- el deslizador. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMaximum($value)</methodname> y
- <methodname>getMaximum()</methodname> : establece y
- recupera el valor máximo del deslizador. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMinimum($value)</methodname> y
- <methodname>getMinimum()</methodname> : establece y
- recupera el valor mínimo del deslizador. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPageIncrement($value)</methodname> y
- <methodname>getPageIncrement()</methodname> : establece
- la cantidad en que cambiará el deslizador por eventos del
- teclado. </para>
- </listitem>
- </itemizedlist>
- <para>Ejemplos de uso provistos con cada clase extendida concretamente.
- </para>
- </sect3>
- <sect3 id="zend.dojo.form.elements.submitButton">
- <title>SubmitButton</title>
- <para> Si bien no hay Dijit llamado SubmitButton, incluimos uno aquí
- para proporcionar un botón dijit capaz de enviar un formulario sin
- que se exijan ligaduras con javascript. Funciona exactamente igual
- que el <link linkend="zend.dojo.form.elements.button">Button
- dijit</link> . </para>
- <example id="zend.dojo.form.elements.submitButton.example">
- <title>Ejemplo de Uso del Elemento SubmitButton dijit</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 se incluyó principalmente para proporcionar una entrada de
- texto con apariencia coherente y con el look-and-feel de los demás
- dijits. Sin embargo, también incluye algunas pequeñas capacidades de
- filtrado y validación, representadas en los métodos
- siguientes:</para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setLowercase($flag)</methodname> y
- <methodname>getLowercase()</methodname> : establece y
- recupera el flag que indica si la entrada debe o no ser
- presentada en minúsculas. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPropercase($flag)</methodname> y
- <methodname>getPropercase()</methodname> : establece y
- recupera el flag que indica si la entrada debe ser o no ser
- presentada como Proper Case. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setUppercase($flag)</methodname> y
- <methodname>getUppercase()</methodname> : establece y
- recupera el flag que indica si la entrada debe ser
- presentada como mayúsculas (UPPERCASE). </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setTrim($flag)</methodname> y
- <methodname>getTrim()</methodname> : establece y
- recupera el flag que indica si los espacios al comienzo o al
- final deben ser eliminados o no. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMaxLength($length)</methodname> y
- <methodname>getMaxLength()</methodname> : establece y
- recupera la longitud máxima del input. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.textBox.example">
- <title>Ejemplo de Uso del Elemento TextBox dijit</title>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'TextBox',
- 'foo',
- array(
- 'value' => 'some text',
- 'label' => 'TextBox',
- 'trim' => true,
- 'propercase' => true,
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.textarea">
- <title>Textarea</title>
- <para> Textarea actúa principalmente como un textarea estándar de
- <acronym>HTML</acronym> . Sin embargo, no permite establecer
- filas y columnas. En su lugar, el ancho de la textarea debe
- especificarse utilizando medidas <acronym>CSS</acronym> estándar;
- las filas debe omitirse totalmente. Luego, la textarea crecerá
- verticalmente tanto como texto se añada a ella. </para>
- <example id="zend.dojo.form.elements.textarea.example">
- <title>Ejemplo de Uso del Elemento Textarea dijit</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 es una entrada de texto que proporciona una lista
- desplegable (drop-down) para seleccionar un tiempo (fecha y hora).
- La lista desplegable, puede ser configurada para mostrar una cierta
- ventana de tiempo, con incrementos especificados.</para>
- <para> Internamente, TimeTextBox proviene de <link
- linkend="zend.dojo.form.elements.dateTextBox">DateTextBox</link>
- , <link linkend="zend.dojo.form.elements.validationTextBox"
- >ValidationTextBox</link> y <link
- linkend="zend.dojo.form.elements.textBox">TextBox</link> ; todos
- los métodos disponibles a esas clases están disponibles. Además, los
- siguientes métodos pueden utilizarse para establecer restricciones
- individuales: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setTimePattern($pattern)</methodname> y
- <methodname>getTimePattern()</methodname> : establece y
- recupera el <ulink
- url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns"
- >patrón de formato de fecha y hora unicode</ulink> para
- el formato correspondiente. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setClickableIncrement($format)</methodname> y
- <methodname>getClickableIncrement()</methodname> :
- establece y recupera el string <ulink
- url="http://en.wikipedia.org/wiki/ISO_8601"
- >ISO-8601</ulink> representando la cantidad de tiempo a
- incrementar cada vez que se recolecta un elemento clickable.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setVisibleIncrement($format)</methodname> y
- <methodname>getVisibleIncrement()</methodname> :
- establece y recupera el incremento visible en el selector de
- tiempo; debe seguir los formatos ISO-8601. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setVisibleRange($format)</methodname> y
- <methodname>getVisibleRange()</methodname> : establece y
- recupera el intervalo de tiempo visible en el selector de
- tiempo en cualquier momento; debe seguir los formatos
- ISO-8601. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.timeTextBox.example">
- <title>Ejemplo de Uso del Elemento TimeTextBox dijit</title>
- <para>Lo siguiente creará un TimeTextBox que muestra 2 horas a la
- vez, con incrementos de 10 minutos.</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 ofrece la posibilidad de añadir validaciones y
- limitaciones a una entrada de texto. Internamente, proviene de <link
- linkend="zend.dojo.form.elements.textBox">TextBox</link> , y
- añade los siguientes accessors y mutators para manejar parámetros
- dijit: </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>setInvalidMessage($message)</methodname> y
- <methodname>getInvalidMessage()</methodname> : establece
- y recupera el mensaje de tooltip para mostrar cuando el
- valor no se validó. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setPromptMessage($message)</methodname> y
- <methodname>getPromptMessage()</methodname> : establece
- y recupera el mensaje de tooltip a mostrar para el uso del
- elemento. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setRegExp($regexp)</methodname> y
- <methodname>getRegExp()</methodname> : establece y
- recupera la expresión regular a utilizar para validar el
- elemento. La expresión regular no necesita límites (a
- diferencia de la familia de funciones preg*, de
- <acronym>PHP</acronym> ). </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setConstraint($key, $value)</methodname> y
- <methodname>getConstraint($key)</methodname> : establece
- y recupera restricciones adicionales para utilizar al
- validar el elemento; se utiliza principalmente con
- subclases. Las restricciones son almacenados en la clave
- 'constraints' de los parámetros dijit. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>setConstraints(array $constraints)</methodname>
- y <methodname>getConstraints()</methodname> : establece y
- recupera las restricciones para utilizar al validar el
- elemento; se utiliza principalmente con subclases. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>hasConstraint($key)</methodname> : prueba si una
- restricción dada existe. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeConstraint($key)</methodname> y
- <methodname>clearConstraints()</methodname> : elimina
- una restricción individual o todas las restricciones para el
- elemento. </para>
- </listitem>
- </itemizedlist>
- <example id="zend.dojo.form.elements.validationTextBox.example">
- <title>Ejemplo de Uso del Elemento ValidationTextBox dijit</title>
- <para>Lo siguiente creará un ValidationTextBox que requiere un solo
- string compuesto exclusivamente por caracteres de palabra (es
- decir, sin espacios, la mayor parte de la puntuación es
- inválida).</para>
- <programlisting language="php"><![CDATA[
- $form->addElement(
- 'ValidationTextBox',
- 'foo',
- array(
- 'label' => 'ValidationTextBox',
- 'required' => true,
- 'regExp' => '[\w]+',
- 'invalidMessage' => 'Invalid non-space text.',
- )
- );
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.dojo.form.elements.verticalSlider">
- <title>VerticalSlider</title>
- <para> VerticalSlider es el hermano de <link
- linkend="zend.dojo.form.elements.horizontalSlider"
- >HorizontalSlider</link> , y opera en todos los sentidos como
- ese elemento. La única diferencia real es que los métodos 'top*' y
- 'bottom*' son sustituidos por 'left*' y 'right*', y en lugar de
- utilizar HorizontalRule y HorizontalRuleLabels, debe usarse
- VerticalRule y VerticalRuleLabels. </para>
- <example id="zend.dojo.form.elements.verticalSlider.example">
- <title>Ejemplo de Uso del Elemento VerticalSlider dijit</title>
- <para>Lo siguiente creará una selección deslizante vertical con
- valores enteros desde -10 a 10. La izquierda tendrá etiquetas en
- las marcas correspondientes al 20%, 40%, 60%, y 80%. El derecho
- tiene reglas en un 0, 50%, y 100%. Cada vez que se cambie el
- valor, se actualizará el elemento oculto que almacena el
- valor.</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>
|