| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15103 -->
- <!-- 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á TRUE, de lo
- contrario devolverá FALSE. </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getDijitParam($key)</methodname>: recupera el
- parámetro dijit. Si no está disponible, se devuelve un valor
- null. </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
- <methodname>dijitParams</methodname>. 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
- true. 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
- <methodname>DijitElement</methodname> y
- <methodname>DtDdWrapper</methodname> 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
- <methodname>InArray</methodname> (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
- <methodname>InArray</methodname> 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 false a la clave de configuración
- <methodname>registerInArrayValidator</methodname>. </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
- <methodname>ComboBox</methodname>. </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 HTML 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 CSS 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>
- </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 HTML para especificar una Regla dada o el
- elemento contenedor de HTML 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, 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. </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
- HTML. Sin embargo, no permite establecer filas ni columnas. En su
- lugar, el ancho de textarea debe especificarse utilizando medidas
- CSS 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 HTML.
- Sin embargo, no permite establecer filas y columnas. En su lugar, el
- ancho de la textarea debe especificarse utilizando medidas CSS
- 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 PHP).
- </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>
|