| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 19143 -->
- <!-- 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
- <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>
|