Zend_Dojo-Form-Elements.xml 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 16068 -->
  4. <sect2 id="zend.dojo.form.elements">
  5. <title>Dijitに特有のフォーム要素</title>
  6. <para>
  7. ビュー・ヘルパーが提供される各々のフォームdijitには、
  8. 対応する<classname>Zend_Form</classname>要素があります。
  9. dijitパラメータを操作するための以下のメソッドがそれらすべてにあります:
  10. </para>
  11. <itemizedlist>
  12. <listitem><para>
  13. <code>setDijitParam($key, $value)</code>:
  14. dijitパラメータを一つセットします。
  15. dijitパラメータがすでに存在すれば、上書きされます。
  16. </para></listitem>
  17. <listitem><para>
  18. <code>setDijitParams(array $params)</code>:
  19. 一度にいくつかのdijitパラメータをセットします。
  20. 渡されたパラメータにマッチする既存のパラメータは上書きされます。
  21. </para></listitem>
  22. <listitem><para>
  23. <code>hasDijitParam($key)</code>:
  24. 与えられたdijitパラメータが定義されたか存在している場合はtrueを返します。
  25. それ以外はfalseを返します。
  26. </para></listitem>
  27. <listitem><para>
  28. <code>getDijitParam($key)</code>:
  29. 与えられたdijitパラメータを返します。
  30. 利用できない場合は null値を返します。
  31. </para></listitem>
  32. <listitem><para>
  33. <code>getDijitParams()</code>:
  34. dijitパラメータを全て返します。
  35. </para></listitem>
  36. <listitem><para>
  37. <code>removeDijitParam($key)</code>:
  38. 与えられたdijitパラメータを除去します。
  39. </para></listitem>
  40. <listitem><para>
  41. <code>clearDijitParams()</code>:
  42. 現行定義されたdijitパラメータを全て消去します。
  43. </para></listitem>
  44. </itemizedlist>
  45. <para>
  46. Dijitパラメータは、<code>dijitParams</code> public プロパティに保存されます。
  47. このように、あなたは単にこのプロパティを要素の上に置くことによって、
  48. 既存のフォーム要素をdijit使用可能にすることができます;
  49. あなたは、単にパラメータを操作するのを容易にするために、
  50. 上記のアクセッサを持っていません。
  51. </para>
  52. <para>
  53. その上、dijitに特有の要素は以下に該当するデコレーターの独特な一覧を実装します:
  54. </para>
  55. <programlisting language="php"><![CDATA[
  56. $element->addDecorator('DijitElement')
  57. ->addDecorator('Errors')
  58. ->addDecorator('HtmlTag', array('tag' => 'dd'))
  59. ->addDecorator('Label', array('tag' => 'dt'));
  60. ]]></programlisting>
  61. <para>
  62. 実質的に、Dijit要素が、標準的なViewHelperデコレーターの代わりに使われます。
  63. </para>
  64. <para>
  65. 最後に、ベースDijit要素により、
  66. 確実にDojoビュー・ヘルパー・パスがビューの上に置かれることになります。
  67. </para>
  68. <para>
  69. Dijit要素、DijitMultiの変化は<code>Multi</code> abstract フォーム要素の機能を提供します。
  70. そして、開発者が 'multiOptions' を指定できるようにします。
  71. - 一般的に select の option またはラジオ のoptionです。
  72. </para>
  73. <para>
  74. 以下のdijit要素は、標準的なZend Framework配布において出荷されます。
  75. </para>
  76. <sect3 id="zend.dojo.form.elements.button">
  77. <title>ボタン</title>
  78. <para>
  79. <link linkend="zend.form.standardElements.button">標準的なボタン要素</link>に
  80. 由来していないので、
  81. 同じ機能を実装して、ドロップインの代わりとして使うことができます。
  82. 以下の機能が公開されます:
  83. </para>
  84. <itemizedlist>
  85. <listitem><para>
  86. 名前が提供されないならば、
  87. <code>getLabel()</code>はボタン・ラベルとして要素名を利用します。
  88. さらに、翻訳メッセージにマッチした翻訳アダプターが利用できれば、
  89. それは名前を翻訳します。
  90. </para></listitem>
  91. <listitem><para>
  92. <code>isChecked()</code>は、
  93. 提出される値がラベルにマッチするかどうか決定します;
  94. もしマッチするなら、それはtrueを返します。
  95. これは、フォームが提出されたとき、どのボタンが使われたかについて決定することに役立ちます。
  96. </para></listitem>
  97. </itemizedlist>
  98. <para>
  99. さらに、デコレーターの<code>DijitElement</code>及び
  100. <code>DtDdWrapper</code>だけがボタン要素のために使われます。
  101. </para>
  102. <example id="zend.dojo.form.elements.button.example">
  103. <title>ボタンdijit要素の使用例</title>
  104. <programlisting language="php"><![CDATA[
  105. $form->addElement(
  106. 'Button',
  107. 'foo',
  108. array(
  109. 'label' => 'Button Label',
  110. )
  111. );
  112. ]]></programlisting>
  113. </example>
  114. </sect3>
  115. <sect3 id="zend.dojo.form.elements.checkBox">
  116. <title>チェックボックス</title>
  117. <para>
  118. <link linkend="zend.form.standardElements.checkbox">標準的なチェックボックス要素</link>
  119. に由来していないので、
  120. それは同じ機能を実装します。
  121. これは、以下のメソッドが公開されることを意味します
  122. </para>
  123. <itemizedlist>
  124. <listitem><para>
  125. <code>setCheckedValue($value)</code>:
  126. 要素がチェックされたときに使う値を設定します。
  127. </para></listitem>
  128. <listitem><para>
  129. <code>getCheckedValue()</code>:
  130. チェックされたときに要素で使う値を取得します。
  131. </para></listitem>
  132. <listitem><para>
  133. <code>setUncheckedValue($value)</code>:
  134. チェックされていないときに要素で使う値を設定します。
  135. </para></listitem>
  136. <listitem><para>
  137. <code>getUncheckedValue()</code>:
  138. チェックされていないときに要素で使う値を取得します。
  139. </para></listitem>
  140. <listitem><para>
  141. <code>setChecked($flag)</code>:
  142. 要素をチェック済みにするか否か設定します。
  143. </para></listitem>
  144. <listitem><para>
  145. <code>isChecked()</code>:
  146. 要素が現在チェック済みか判断します。
  147. </para></listitem>
  148. </itemizedlist>
  149. <example id="zend.dojo.form.elements.checkBox.example">
  150. <title>チェックボックスdijit要素の使用例</title>
  151. <programlisting language="php"><![CDATA[
  152. $form->addElement(
  153. 'CheckBox',
  154. 'foo',
  155. array(
  156. 'label' => 'A check box',
  157. 'checkedValue' => 'foo',
  158. 'uncheckedValue' => 'bar',
  159. 'checked' => true,
  160. )
  161. );
  162. ]]></programlisting>
  163. </example>
  164. </sect3>
  165. <sect3 id="zend.dojo.form.elements.comboBox">
  166. <title>コンボボックス及びフィルタリング選択</title>
  167. <para>
  168. コンボボックス
  169. <link linkend="zend.dojo.view.dijit.form">dijitビュー・ヘルパー・文書</link>
  170. にみられるように、コンボボックスは選択とテキスト入力の混合です。
  171. そして、自動補完及び、提示された選択肢の代わりを指定できるようにします。
  172. フィルタリング選択は同じことですが、任意の入力を許しません。
  173. </para>
  174. <note>
  175. <title>ラベル値を返すコンボボックス</title>
  176. <para>
  177. コンボボックスはラベル値を返します。
  178. 期待に反するオプション値は返しません。
  179. この理由から、コンボボックスは<code>InArray</code>バリデーターを自動登録しません。
  180. (FilteringSelectsがそうするけれども)
  181. </para>
  182. </note>
  183. <para>
  184. コンボボックスとフィルタリング選択フォーム要素は、
  185. dojo.dataデータ・ストア(使用された場合)を指定することだけでなく、
  186. 選ばれた選択肢を調べて、セットするためにアクセッサとミューテーターを提供します。
  187. それらはDijitMultiから拡張します。
  188. そして、それは<code>setMultiOptions()</code>及び<code>setMultiOption()</code>メソッドによって
  189. 選ばれた選択肢を指定することができます。
  190. さらに、以下のメソッドを利用できます:
  191. </para>
  192. <itemizedlist>
  193. <listitem><para>
  194. <code>getStoreInfo()</code>:
  195. 現行で設定されているデータストア情報を全て取得します。
  196. 現行で設定されたデータがなければ、空の配列を返します。
  197. </para></listitem>
  198. <listitem><para>
  199. <code>setStoreId($identifier)</code>:
  200. ストアの識別変数を設定します。
  201. (通常、Dojoで 'jsId' 属性によって言及されます)
  202. これは、有効なjavascript変数の名前でなければなりません。
  203. </para></listitem>
  204. <listitem><para>
  205. <code>getStoreId()</code>:
  206. ストアの識別変数名を取得します。
  207. </para></listitem>
  208. <listitem><para>
  209. <code>setStoreType($dojoType)</code>:
  210. 使用するデータストアクラスを設定します;
  211. 例えば "dojo.data.ItemFileReadStore"
  212. </para></listitem>
  213. <listitem><para>
  214. <code>getStoreType()</code>:
  215. 使用するdojoデータストアクラスを取得します。
  216. </para></listitem>
  217. <listitem><para>
  218. <code>setStoreParams(array $params)</code>:
  219. データ・ストア・オブジェクトを構成するために使われるパラメータをいずれも設定します。
  220. 例えば、 dojo.data.ItemFileReadStore データストアでは
  221. dojo.dataオブジェクトを返す場所を指す 'url' パラメータを期待します。
  222. </para></listitem>
  223. <listitem><para>
  224. <code>getStoreParams()</code>:
  225. 現行で設定されているデータストアパラメータをいずれも取得します;
  226. もしなければ、空の配列を返します。
  227. </para></listitem>
  228. <listitem><para>
  229. <code>setAutocomplete($flag)</code>:
  230. ユーザーが要素から離れるとき、選ばれた項目が使われるかどうかを示します。
  231. </para></listitem>
  232. <listitem><para>
  233. <code>getAutocomplete()</code>:
  234. 自動補完フラグの値を取得します。
  235. </para></listitem>
  236. </itemizedlist>
  237. <para>
  238. dojo.dataストアが要素で登録されなければ、
  239. 登録された選択肢の配列のキーを検証する<code>InArray</code>バリデーターを
  240. この要素はデフォルトで登録します。
  241. <code>setRegisterInArrayValidator(false)</code>を呼び出すことでも、
  242. <code>registerInArrayValidator</code>設定キーにfalse値を渡すことでも、
  243. このふるまいを抑制することができます。
  244. </para>
  245. <example id="zend.dojo.form.elements.comboBox.selectExample">
  246. <title>コンボボックスdijit要素を選択肢入力として使う</title>
  247. <programlisting language="php"><![CDATA[
  248. $form->addElement(
  249. 'ComboBox',
  250. 'foo',
  251. array(
  252. 'label' => 'ComboBox (select)',
  253. 'value' => 'blue',
  254. 'autocomplete' => false,
  255. 'multiOptions' => array(
  256. 'red' => 'Rouge',
  257. 'blue' => 'Bleu',
  258. 'white' => 'Blanc',
  259. 'orange' => 'Orange',
  260. 'black' => 'Noir',
  261. 'green' => 'Vert',
  262. ),
  263. )
  264. );
  265. ]]></programlisting>
  266. </example>
  267. <example id="zend.dojo.form.elements.comboBox.datastoreExample">
  268. <title>コンボボックスdijit要素をデータ・ストアと一緒に使う</title>
  269. <programlisting language="php"><![CDATA[
  270. $form->addElement(
  271. 'ComboBox',
  272. 'foo',
  273. array(
  274. 'label' => 'ComboBox (datastore)',
  275. 'storeId' => 'stateStore',
  276. 'storeType' => 'dojo.data.ItemFileReadStore',
  277. 'storeParams' => array(
  278. 'url' => '/js/states.txt',
  279. ),
  280. 'dijitParams' => array(
  281. 'searchAttr' => 'name',
  282. ),
  283. )
  284. );
  285. ]]></programlisting>
  286. </example>
  287. <para>
  288. 前述の例は<code>ComboBox</code>の代わりに
  289. <code>FilteringSelect</code>を使用します。
  290. </para>
  291. </sect3>
  292. <sect3 id="zend.dojo.form.elements.currencyTextBox">
  293. <title>通貨テキストボックス</title>
  294. <para>
  295. 通貨テキストボックスは、主に通貨入力をサポートするためにあります。
  296. 通貨はローカライズされるかもしれず、小数も非小数もサポートできます。
  297. </para>
  298. <para>
  299. 内部的には、通貨テキストボックスは
  300. <link linkend="zend.dojo.form.elements.numberTextBox">数値テキストボックス</link>や
  301. <link linkend="zend.dojo.form.elements.validationTextBox">バリデーションテキストボックス</link>および
  302. <link linkend="zend.dojo.form.elements.textBox">テキストボックス</link>に由来します;
  303. それらのクラスのメソッドが全て利用可能です。
  304. さらに、下記の制約メソッドを使用できます:
  305. </para>
  306. <itemizedlist>
  307. <listitem><para>
  308. <code>setCurrency($currency)</code>:
  309. 使用する通貨種類を設定します;
  310. <ulink url="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</ulink>
  311. 仕様に従うでしょう。
  312. </para></listitem>
  313. <listitem><para>
  314. <code>getCurrency()</code>:現行の通貨種類を取得します。
  315. </para></listitem>
  316. <listitem><para>
  317. <code>setSymbol($symbol)</code>: 3文字からなる<ulink
  318. url="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</ulink>
  319. 通貨記号を設定します。
  320. </para></listitem>
  321. <listitem><para>
  322. <code>getSymbol()</code>:
  323. 現行の通貨記号を取得します。
  324. </para></listitem>
  325. <listitem><para>
  326. <code>setFractional($flag)</code>:
  327. 通貨で小数を許すかどうか設定します。
  328. </para></listitem>
  329. <listitem><para>
  330. <code>getFractional()</code>:
  331. 小数フラグの状態を取得します。
  332. </para></listitem>
  333. </itemizedlist>
  334. <example id="zend.dojo.form.elements.currencyTextBox.example">
  335. <title>通貨テキストボックスdijit要素の使用例</title>
  336. <programlisting language="php"><![CDATA[
  337. $form->addElement(
  338. 'CurrencyTextBox',
  339. 'foo',
  340. array(
  341. 'label' => 'Currency:',
  342. 'required' => true,
  343. 'currency' => 'USD',
  344. 'invalidMessage' => 'Invalid amount. ' .
  345. 'Include dollar sign, commas, and cents.',
  346. 'fractional' => false,
  347. )
  348. );
  349. ]]></programlisting>
  350. </example>
  351. </sect3>
  352. <sect3 id="zend.dojo.form.elements.dateTextBox">
  353. <title>日付テキストボックス</title>
  354. <para>
  355. 日付テキストボックスは、
  356. カレンダー・ドロップダウンで日付(クライアント側日付確認とフォーマッティングだけでなく)
  357. を選ぶために提供します。
  358. </para>
  359. <para>
  360. 内部的に、日付テキストボックスは
  361. <link linkend="zend.dojo.form.elements.validationTextBox">バリデーションテキストボックス</link>
  362. および<link linkend="zend.dojo.form.elements.textBox">テキストボックス</link>
  363. に由来します;
  364. それらのクラスのメソッドが全て利用可能です。さらに、
  365. 個別の制約を設定するために下記のメソッドを使用できます:
  366. </para>
  367. <itemizedlist>
  368. <listitem><para>
  369. <code>setAmPm($flag)</code>及び<code>getAmPm()</code>:
  370. 時刻でAM/PM 文字列を使うかどうか
  371. </para></listitem>
  372. <listitem><para>
  373. <code>setStrict($flag)</code>及び<code>getStrict()</code>:
  374. 入力を確認した時にマッチする厳しい正規表現を使うかどうか。
  375. デフォルトはfalseですが、空白文字やいくつかの省略形を許します。
  376. </para></listitem>
  377. <listitem><para>
  378. <code>setLocale($locale)</code>及び<code>getLocale()</code>:
  379. 指定した要素で使うロケールを設定または取得します。
  380. </para></listitem>
  381. <listitem><para>
  382. <code>setDatePattern($pattern)</code>及び
  383. <code>getDatePattern()</code>:
  384. 日付をフォーマットする<ulink
  385. url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns">
  386. unicode 日付形式パターン</ulink>を提示または取得します。
  387. </para></listitem>
  388. <listitem><para>
  389. <code>setFormatLength($formatLength)</code>及び
  390. <code>getFormatLength()</code>:
  391. 使用する形式の長さの種類を提示または取得します;
  392. "long"、"short"、"medium"または"full"のどれか一つです。
  393. </para></listitem>
  394. <listitem><para>
  395. <code>setSelector($selector)</code>及び
  396. <code>getSelector()</code>:
  397. セレクタのスタイルを提示または取得します;
  398. "date" や "time" のどちらかでしょう。
  399. </para></listitem>
  400. </itemizedlist>
  401. <example id="zend.dojo.form.elements.dateTextBox.example">
  402. <title>日付テキストボックスdijit要素の使用例</title>
  403. <programlisting language="php"><![CDATA[
  404. $form->addElement(
  405. 'DateTextBox',
  406. 'foo',
  407. array(
  408. 'label' => 'Date:',
  409. 'required' => true,
  410. 'invalidMessage' => 'Invalid date specified.',
  411. 'formatLength' => 'long',
  412. )
  413. );
  414. ]]></programlisting>
  415. </example>
  416. </sect3>
  417. <sect3 id="zend.dojo.form.elements.editor">
  418. <title>エディタ</title>
  419. <para>
  420. エディタはリッチなHTML内容を作成して、
  421. 編集するために利用できるWYSIWYGエディタを提供します。
  422. dijit.Editorはプラグイン可能で、
  423. 必要に応じてカスタム・プラグインで拡張されるかもしれません;
  424. 詳しくは<ulink
  425. url="http://dojotoolkit.org/book/dojo-book-0-9/part-2-dijit/advanced-editing-and-display/editor-rich-text">
  426. dijit.Editorドキュメント</ulink>をご覧下さい。
  427. </para>
  428. <para>
  429. エディタ・フォーム要素は、
  430. 下記のいくつかのアクセッサとミューテーターを
  431. いろいろなdijitパラメータを操作するために提供します:
  432. </para>
  433. <itemizedlist>
  434. <listitem>
  435. <para>
  436. <emphasis>captureEvents</emphasis>は、
  437. 編集エリア自体と連携するイベントです。
  438. 捕獲したイベントを操作するために以下のアクセッサとミューテーターを利用できます:
  439. </para>
  440. <itemizedlist>
  441. <listitem><para><code>addCaptureEvent($event)</code></para></listitem>
  442. <listitem><para><code>addCaptureEvents(array $events)</code></para></listitem>
  443. <listitem><para><code>setCaptureEvents(array $events)</code></para></listitem>
  444. <listitem><para><code>getCaptureEvents()</code></para></listitem>
  445. <listitem><para><code>hasCaptureEvent($event)</code></para></listitem>
  446. <listitem><para><code>removeCaptureEvent($event)</code></para></listitem>
  447. <listitem><para><code>clearCaptureEvents()</code></para></listitem>
  448. </itemizedlist>
  449. </listitem>
  450. <listitem>
  451. <para>
  452. <emphasis>events</emphasis>は、
  453. onClickやonKeyUpなどのような標準的なDOMイベントです。
  454. イベントを操作するために以下のアクセッサとミューテーターを利用できます:
  455. </para>
  456. <itemizedlist>
  457. <listitem><para><code>addEvent($event)</code></para></listitem>
  458. <listitem><para><code>addEvents(array $events)</code></para></listitem>
  459. <listitem><para><code>setEvents(array $events)</code></para></listitem>
  460. <listitem><para><code>getEvents()</code></para></listitem>
  461. <listitem><para><code>hasEvent($event)</code></para></listitem>
  462. <listitem><para><code>removeEvent($event)</code></para></listitem>
  463. <listitem><para><code>clearEvents()</code></para></listitem>
  464. </itemizedlist>
  465. </listitem>
  466. <listitem>
  467. <para>
  468. <emphasis>plugins</emphasis>はエディターにツールバーのための追加のツールや、
  469. 許可する追加スタイルなどの機能を加えます。
  470. プラグインを操作するために以下のアクセッサとミューテーターを利用できます:
  471. </para>
  472. <itemizedlist>
  473. <listitem><para><code>addPlugin($plugin)</code></para></listitem>
  474. <listitem><para><code>addPlugins(array $plugins)</code></para></listitem>
  475. <listitem><para><code>setPlugins(array $plugins)</code></para></listitem>
  476. <listitem><para><code>getPlugins()</code></para></listitem>
  477. <listitem><para><code>hasPlugin($plugin)</code></para></listitem>
  478. <listitem><para><code>removePlugin($plugin)</code></para></listitem>
  479. <listitem><para><code>clearPlugins()</code></para></listitem>
  480. </itemizedlist>
  481. </listitem>
  482. <listitem>
  483. <para>
  484. <emphasis>editActionInterval</emphasis>は、
  485. アンドゥ操作のためにイベントをまとめるために使われます。
  486. デフォルトでこの値は3秒です。
  487. <code>setEditActionInterval($interval)</code>メソッドが値を設定するために使われるかもしれません。
  488. 一方で、<code>getEditActionInterval()</code>が値を取得します。
  489. </para>
  490. </listitem>
  491. <listitem>
  492. <para>
  493. <emphasis>focusOnLoad</emphasis>は、
  494. ページが読み込まれたとき、
  495. この指定のエディタがフォーカスを受けるかどうか判断するために使われます。
  496. デフォルトでこれはfalseです。
  497. メソッド<code>setFocusOnLoad($flag)</code>が値を設定するために使われるかもしれません。
  498. 一方で、<code>getFocusOnLoad()</code>が値を取得します。
  499. </para>
  500. </listitem>
  501. <listitem>
  502. <para>
  503. <emphasis>height</emphasis>はエディターの高さを指定します;
  504. デフォルトでこれは300pxです。
  505. メソッド<code>setHeight($height)</code>が値を設定するために使われるかもしれません。
  506. 一方で、<code>getHeight()</code>が値を取得します。
  507. </para>
  508. </listitem>
  509. <listitem>
  510. <para>
  511. <emphasis>inheritWidth</emphasis>は、
  512. エディタが親コンテナの幅と単純にデフォルトの100%幅のどちらを使うか決定するために使われます。
  513. デフォルトでこれはfalseです。
  514. (すなわち、画面の幅一杯を満たします)
  515. メソッド<code>setInheritWidth($flag)</code>が値を設定するために使われるかもしれません。
  516. 一方で、<code>getInheritWidth()</code>が値を取得します。
  517. </para>
  518. </listitem>
  519. <listitem>
  520. <para>
  521. <emphasis>minHeight</emphasis>はエディターの高さの最小値を設定します;
  522. デフォルトでこれは1emです。
  523. メソッド<code>setMinHeight($height)</code>が値を設定するために使われるかもしれません。
  524. 一方で、<code>getMinHeight()</code>が値を取得します。
  525. </para>
  526. </listitem>
  527. <listitem>
  528. <para>
  529. <emphasis>styleSheets</emphasis>は、
  530. どの追加CSSスタイルシートがエディタの表示に影響を及ぼすために使われるか示します。
  531. デフォルトでは何も登録されず、それはページ・スタイルを継承します。
  532. エディタ・スタイルシートを操作するために以下のアクセッサとミューテーターを利用できます:
  533. </para>
  534. <itemizedlist>
  535. <listitem><para><code>addStyleSheet($styleSheet)</code></para></listitem>
  536. <listitem>
  537. <para><code>addStyleSheets(array $styleSheets)</code></para>
  538. </listitem>
  539. <listitem>
  540. <para><code>setStyleSheets(array $styleSheets)</code></para>
  541. </listitem>
  542. <listitem><para><code>getStyleSheets()</code></para></listitem>
  543. <listitem><para><code>hasStyleSheet($styleSheet)</code></para></listitem>
  544. <listitem><para><code>removeStyleSheet($styleSheet)</code></para></listitem>
  545. <listitem><para><code>clearStyleSheets()</code></para></listitem>
  546. </itemizedlist>
  547. </listitem>
  548. </itemizedlist>
  549. <example id="zend.dojo.form.elements.editor.example">
  550. <title>エディタdijit要素の使用例</title>
  551. <programlisting language="php"><![CDATA[
  552. $form->addElement('editor', 'content', array(
  553. 'plugins' => array('undo', '|', 'bold', 'italic'),
  554. 'editActionInterval' => 2,
  555. 'focusOnLoad' => true,
  556. 'height' => '250px',
  557. 'inheritWidth' => true,
  558. 'styleSheets' => array('/js/custom/editor.css'),
  559. ));
  560. ]]></programlisting>
  561. </example>
  562. </sect3>
  563. <sect3 id="zend.dojo.form.elements.horizontalSlider">
  564. <title>水平スライダー</title>
  565. <para>
  566. 水平スライダーは、
  567. ある範囲で数値を選択するためのスライダーUI部品を提供します。
  568. 内部的には、それはフォームによって送信されるhidden要素の値をセットします。
  569. </para>
  570. <para>
  571. 水平スライダーは、<link
  572. linkend="zend.dojo.form.elements.slider">抽象的なスライダーdijit要素</link>に由来します。
  573. さらに、スライダー罫線と罫線ラベルをセットして設定するための、
  574. いろいろなメソッドがあります。
  575. </para>
  576. <itemizedlist>
  577. <listitem>
  578. <para>
  579. <code>setTopDecorationDijit($dijit)</code>及び
  580. <code>setBottomDecorationDijit($dijit)</code>:
  581. スライダーの上側か下側で使うdijitの名前をセットします。
  582. これは、接頭辞 "dijit.form." を含んではいけません。
  583. むしろ final 名だけ
  584. - "HorizontalRule" または "HorizontalRuleLabels" のうちの1つ -
  585. を含まなければなりません。
  586. </para>
  587. </listitem>
  588. <listitem>
  589. <para>
  590. <code>setTopDecorationContainer($container)</code>及び
  591. <code>setBottomDecorationContainer($container)</code>:
  592. 罫線コンテナ要素のために使用する名前を指定します;
  593. 例えば、'topRule' や 'topContainer'など。
  594. </para>
  595. </listitem>
  596. <listitem>
  597. <para>
  598. <code>setTopDecorationLabels(array $labels)</code>及び
  599. <code>setBottomDecorationLabels(array $labels)</code>:
  600. RuleLabels dijit型のうちの1つで使用するラベルをセットします。
  601. これらは、インデックスを付けられた配列でなければなりません;
  602. 与えられたラベル位置(例えば始めまたは終わり)をスキップするために、
  603. 一つの空の場所を指定します。
  604. </para>
  605. </listitem>
  606. <listitem>
  607. <para>
  608. <code>setTopDecorationParams(array $params)</code>及び
  609. <code>setBottomDecorationParams(array $params)</code>:
  610. 与えられた罫線、
  611. またはRuleLabels dijitを構成するときに使うdijitパラメータです。
  612. </para>
  613. </listitem>
  614. <listitem>
  615. <para>
  616. <code>setTopDecorationAttribs(array $attribs)</code>及び
  617. <code>setBottomDecorationAttribs(array $attribs)</code>:
  618. 与えられた罫線、
  619. またはRuleLabels HTML要素コンテナのために指定するHTML属性です。
  620. </para>
  621. </listitem>
  622. <listitem>
  623. <para>
  624. <code>getTopDecoration()</code>及び
  625. <code>getBottomDecoration()</code>:
  626. 上記のミューテーターによって提示されたように、
  627. 与えられた罫線またはRuleLabels定義のためにすべてのメタデータを取得します。
  628. </para>
  629. </listitem>
  630. </itemizedlist>
  631. <example id="zend.dojo.form.elements.horizontalSlider.example">
  632. <title>水平スライダーdijit要素の使用例</title>
  633. <para>
  634. 下記では、-10から10の間の整数を選択する水平スライダーを生成します。
  635. 上側には20%、40%、60%そして80%で印をつけられたラベルがあります、
  636. 下側には、0、50%そして100%の罫線があります。
  637. 値が変わるたびに、値を保存しているhidden要素は更新されます。
  638. </para>
  639. <programlisting language="php"><![CDATA[
  640. $form->addElement(
  641. 'HorizontalSlider',
  642. 'horizontal',
  643. array(
  644. 'label' => 'HorizontalSlider',
  645. 'value' => 5,
  646. 'minimum' => -10,
  647. 'maximum' => 10,
  648. 'discreteValues' => 11,
  649. 'intermediateChanges' => true,
  650. 'showButtons' => true,
  651. 'topDecorationDijit' => 'HorizontalRuleLabels',
  652. 'topDecorationContainer' => 'topContainer',
  653. 'topDecorationLabels' => array(
  654. ' ',
  655. '20%',
  656. '40%',
  657. '60%',
  658. '80%',
  659. ' ',
  660. ),
  661. 'topDecorationParams' => array(
  662. 'container' => array(
  663. 'style' => 'height:1.2em; font-size=75%;color:gray;',
  664. ),
  665. 'list' => array(
  666. 'style' => 'height:1em; font-size=75%;color:gray;',
  667. ),
  668. ),
  669. 'bottomDecorationDijit' => 'HorizontalRule',
  670. 'bottomDecorationContainer' => 'bottomContainer',
  671. 'bottomDecorationLabels' => array(
  672. '0%',
  673. '50%',
  674. '100%',
  675. ),
  676. 'bottomDecorationParams' => array(
  677. 'list' => array(
  678. 'style' => 'height:1em; font-size=75%;color:gray;',
  679. ),
  680. ),
  681. )
  682. );
  683. ]]></programlisting>
  684. </example>
  685. </sect3>
  686. <sect3 id="zend.dojo.form.elements.numberSpinner">
  687. <title>数スピナー</title>
  688. <para>
  689. 数スピナーは、数値を入力するためのテキスト要素です;
  690. 設定された量によって値を増加させたり、減少させるための要素を含みます。
  691. </para>
  692. <para>
  693. 下記のメソッドが利用できます:
  694. </para>
  695. <itemizedlist>
  696. <listitem><para>
  697. <code>setDefaultTimeout($timeout)</code>及び
  698. <code>getDefaultTimeout()</code>:
  699. ボタンが押されたままのときと、値が変更されるときの間の既定のタイムアウトを
  700. ミリ秒単位で設定または取得します。
  701. </para></listitem>
  702. <listitem><para>
  703. <code>setTimeoutChangeRate($rate)</code>及び
  704. <code>getTimeoutChangeRate()</code>:
  705. ボタンが押されたままのとき、変化がなされる割合をミリ秒単位で設定または取得します。
  706. </para></listitem>
  707. <listitem><para>
  708. <code>setLargeDelta($delta)</code>及び
  709. <code>getLargeDelta()</code>:
  710. ボタンが押されたままのとき、数値が変わるべき量を設定または取得します。
  711. </para></listitem>
  712. <listitem><para>
  713. <code>setSmallDelta($delta)</code>及び
  714. <code>getSmallDelta()</code>:
  715. ボタンが一度押されたとき、数が変わるべきデルタを設定または取得します。
  716. </para></listitem>
  717. <listitem><para>
  718. <code>setIntermediateChanges($flag)</code>及び
  719. <code>getIntermediateChanges()</code>:
  720. ボタンが押されたままのとき、
  721. 各々の値が変化するごとに表示されるべきかどうか示すフラグを設定または取得します。
  722. </para></listitem>
  723. <listitem><para>
  724. <code>setRangeMessage($message)</code>及び
  725. <code>getRangeMessage()</code>:
  726. 利用できる値の範囲を指示しているメッセージを設定または取得します。
  727. </para></listitem>
  728. <listitem><para>
  729. <code>setMin($value)</code>及び<code>getMin()</code>:
  730. 使用可能な最小値を設定または取得します。
  731. </para></listitem>
  732. <listitem><para>
  733. <code>setMax($value)</code>及び<code>getMax()</code>:
  734. 使用可能な最大値を設定または取得します。
  735. </para></listitem>
  736. </itemizedlist>
  737. <example id="zend.dojo.form.elements.numberSpinner.example">
  738. <title>NumberSpinner dijit要素の使用例</title>
  739. <programlisting language="php"><![CDATA[
  740. $form->addElement(
  741. 'NumberSpinner',
  742. 'foo',
  743. array(
  744. 'value' => '7',
  745. 'label' => 'NumberSpinner',
  746. 'smallDelta' => 5,
  747. 'largeDelta' => 25,
  748. 'defaultTimeout' => 500,
  749. 'timeoutChangeRate' => 100,
  750. 'min' => 9,
  751. 'max' => 1550,
  752. 'places' => 0,
  753. 'maxlength' => 20,
  754. )
  755. );
  756. ]]></programlisting>
  757. </example>
  758. </sect3>
  759. <sect3 id="zend.dojo.form.elements.numberTextBox">
  760. <title>数値テキストボックス</title>
  761. <para>
  762. <!-- TODO -->
  763. A number text box is a text element for entering numeric values;
  764. unlike NumberSpinner, numbers are entered manually. Validations and
  765. constraints can be provided to ensure the number stays in a
  766. particular range or format.
  767. </para>
  768. <para>
  769. Internally, NumberTextBox derives from <link
  770. linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>
  771. and <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
  772. それらのクラスのメソッドが全て利用可能です。さらに、
  773. 個別の制約を設定するために下記のメソッドを使用できます:
  774. </para>
  775. <itemizedlist>
  776. <listitem><para>
  777. <code>setLocale($locale)</code>及び<code>getLocale()</code>:
  778. specify and retrieve a specific or alternate locale to use with
  779. this dijit.
  780. </para></listitem>
  781. <listitem><para>
  782. <code>setPattern($pattern)</code>及び
  783. <code>getPattern()</code>: set and retrieve a <ulink
  784. url="http://www.unicode.org/reports/tr35/#Number_Format_Patterns">number
  785. pattern format</ulink> to use to format the number.
  786. </para></listitem>
  787. <listitem><para>
  788. <code>setType($type)</code>及び<code>getType()</code>: set and
  789. retrieve the numeric format type to use (should be one of
  790. 'decimal', 'percent', or 'currency').
  791. </para></listitem>
  792. <listitem><para>
  793. <code>setPlaces($places)</code>及び<code>getPlaces()</code>:
  794. set and retrieve the number of decimal places to support.
  795. </para></listitem>
  796. <listitem><para>
  797. <code>setStrict($flag)</code>及び<code>getStrict()</code>: set
  798. and retrieve the value of the strict flag, which indicates how
  799. much leniency is allowed in relation to whitespace and
  800. non-numeric characters.
  801. </para></listitem>
  802. </itemizedlist>
  803. <example id="zend.dojo.form.elements.numberTextBox.example">
  804. <title>数値テキストボックスdijit要素の使用例</title>
  805. <programlisting language="php"><![CDATA[
  806. $form->addElement(
  807. 'NumberTextBox',
  808. 'elevation',
  809. array(
  810. 'label' => 'NumberTextBox',
  811. 'required' => true,
  812. 'invalidMessage' => 'Invalid elevation.',
  813. 'places' => 0,
  814. 'constraints' => array(
  815. 'min' => -20000,
  816. 'max' => 20000,
  817. ),
  818. )
  819. );
  820. ]]></programlisting>
  821. </example>
  822. </sect3>
  823. <sect3 id="zend.dojo.form.elements.passwordTextBox">
  824. <title>PasswordTextBox</title>
  825. <para>
  826. PasswordTextBox is simply a ValidationTextBox that is tied to a
  827. password input; its sole purpose is to allow for a dijit-themed text
  828. entry for passwords that also provides client-side validation.
  829. </para>
  830. <para>
  831. Internally, NumberTextBox derives from <link
  832. linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>
  833. and <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
  834. それらのクラスのメソッドが全て利用可能です。
  835. </para>
  836. <example id="zend.dojo.form.elements.passwordTextBox.example">
  837. <title>パスワードテキストボックスの使用例</title>
  838. <programlisting language="php"><![CDATA[
  839. $form->addElement(
  840. 'PasswordTextBox',
  841. 'password',
  842. array(
  843. 'label' => 'Password',
  844. 'required' => true,
  845. 'trim' => true,
  846. 'lowercase' => true,
  847. 'regExp' => '^[a-z0-9]{6,}$',
  848. 'invalidMessage' => 'Invalid password; ' .
  849. 'must be at least 6 alphanumeric characters',
  850. )
  851. );
  852. ]]></programlisting>
  853. </example>
  854. </sect3>
  855. <sect3 id="zend.dojo.form.elements.radioButton">
  856. <title>RadioButton</title>
  857. <para>
  858. RadioButton wraps standard radio input elements to provide a
  859. consistent look and feel with other dojo dijits.
  860. </para>
  861. <para>
  862. RadioButton extends from DijitMulti, which
  863. allows you to specify select options via the
  864. <code>setMultiOptions()</code>及び<code>setMultiOption()</code>
  865. methods.
  866. </para>
  867. <para>
  868. By default, this element registers an <code>InArray</code> validator
  869. which validates against the array keys of registered options. You
  870. can disable this behavior by either calling
  871. <code>setRegisterInArrayValidator(false)</code>, or by passing a
  872. false value to the <code>registerInArrayValidator</code>
  873. configuration key.
  874. <!-- TODO :NEXT JUMP -->
  875. </para>
  876. <example id="zend.dojo.form.elements.radioButton.example">
  877. <title>ラジオボタンdijit要素の使用例</title>
  878. <programlisting language="php"><![CDATA[
  879. $form->addElement(
  880. 'RadioButton',
  881. 'foo',
  882. array(
  883. 'label' => 'RadioButton',
  884. 'multiOptions' => array(
  885. 'foo' => 'Foo',
  886. 'bar' => 'Bar',
  887. 'baz' => 'Baz',
  888. ),
  889. 'value' => 'bar',
  890. )
  891. );
  892. ]]></programlisting>
  893. </example>
  894. </sect3>
  895. <sect3 id="zend.dojo.form.elements.simpletextarea">
  896. <title>シンプルテキストエリア</title>
  897. <para>
  898. シンプルテキストエリアは、主に標準的なHTMLの textarea のようにふるまいます。
  899. しかし、それは列または行の設定をサポートしません。
  900. その代わり、textarea幅は、標準的なCSS幅を使用して指定されるべきです。
  901. テキストエリアとは異なり、自動的に成長しません。
  902. </para>
  903. <example id="zend.dojo.form.elements.simpletextarea.example">
  904. <title>シンプルテキストエリアdijit要素の使用例</title>
  905. <programlisting language="php"><![CDATA[
  906. $form->addElement(
  907. 'SimpleTextarea',
  908. 'simpletextarea',
  909. array(
  910. 'label' => 'SimpleTextarea',
  911. 'required' => true,
  912. 'style' => 'width: 80em; height: 25em;',
  913. )
  914. );
  915. ]]></programlisting>
  916. </example>
  917. </sect3>
  918. <sect3 id="zend.dojo.form.elements.slider">
  919. <title>スライダーabstract要素</title>
  920. <para>
  921. スライダーは
  922. <link linkend="zend.dojo.form.elements.horizontalSlider">水平スライダー</link>
  923. 及び
  924. <link linkend="zend.dojo.form.elements.verticalSlider">垂直スライダー</link>
  925. の両方に由来するabstract要素です。
  926. スライダーを構成するために、いくつかの一般的なメソッドを公開します:
  927. </para>
  928. <itemizedlist>
  929. <listitem><para>
  930. <code>setClickSelect($flag)</code>及び
  931. <code>getClickSelect()</code>:
  932. スライダーをクリックしたら値を変更するかどうか示すフラグを設定または取得します。
  933. </para></listitem>
  934. <listitem><para>
  935. <code>setIntermediateChanges($flag)</code>及び
  936. <code>getIntermediateChanges()</code>:
  937. 各々のスライダー変化イベントにdijitが通知を送るかどうか示すフラグを設定または取得します。
  938. </para></listitem>
  939. <listitem><para>
  940. <code>setShowButtons($flag)</code>及び
  941. <code>getShowButtons()</code>:
  942. どちらかの端にボタンが表示されるかどうか示すフラグを設定または取得します。;
  943. もし表示されるなら、スライダーの値を変えるために、ユーザーはボタンをクリックできます。
  944. </para></listitem>
  945. <listitem><para>
  946. <code>setDiscreteValues($value)</code>及び
  947. <code>getDiscreteValues()</code>:
  948. スライダーによって表される不連続な値の数を設定または取得します。
  949. </para></listitem>
  950. <listitem><para>
  951. <code>setMaximum($value)</code>及び<code>getMaximum()</code>:
  952. スライダーの最大値を設定します。
  953. </para></listitem>
  954. <listitem><para>
  955. <code>setMinimum($value)</code>及び<code>getMinimum()</code>:
  956. スライダーの最小値を設定します。
  957. </para></listitem>
  958. <listitem><para>
  959. <code>setPageIncrement($value)</code>及び
  960. <code>getPageIncrement()</code>:
  961. スライダーがキーボード・イベントで変わる量を設定します。
  962. </para></listitem>
  963. </itemizedlist>
  964. <para>
  965. 使用例は、各々の具体的な拡張クラスで提供されます。
  966. </para>
  967. </sect3>
  968. <sect3 id="zend.dojo.form.elements.submitButton">
  969. <title>サブミットボタン</title>
  970. <para>
  971. SubmitButtonという名前のDijitはありませんが、
  972. どんなjavascriptとの結合も追加で必要とせずに、フォームを送信できるボタンdijitを提供するために、
  973. 1つをここに含めます。
  974. それは、まさに<link linkend="zend.dojo.form.elements.button">ボタンdijit</link>のように動作します。
  975. </para>
  976. <example id="zend.dojo.form.elements.submitButton.example">
  977. <title>サブミットボタンdijit要素の使用例</title>
  978. <programlisting language="php"><![CDATA[
  979. $form->addElement(
  980. 'SubmitButton',
  981. 'foo',
  982. array(
  983. 'required' => false,
  984. 'ignore' => true,
  985. 'label' => 'Submit Button!',
  986. )
  987. );
  988. ]]></programlisting>
  989. </example>
  990. </sect3>
  991. <sect3 id="zend.dojo.form.elements.textBox">
  992. <title>テキストボックス</title>
  993. <para>
  994. テキストボックスは、
  995. 主に他のdijitsに調和したルック&フィールで入力されるテキストを提供するために含まれます。
  996. しかし、以下のメソッドで表されるいくらかのマイナーなフィルタリングとバリデーション機能も含みます:
  997. </para>
  998. <itemizedlist>
  999. <listitem><para>
  1000. <code>setLowercase($flag)</code>及び
  1001. <code>getLowercase()</code>:
  1002. 入力を小文字にキャストすべきかどうか示すフラグを設定または取得します。
  1003. </para></listitem>
  1004. <listitem><para>
  1005. <code>setPropercase($flag)</code>及び
  1006. <code>getPropercase()</code>:
  1007. 入力をProper Case(訳注:先頭を大文字、他を小文字にすること)にキャストすべきかどうか示すフラグを設定または取得します。
  1008. </para></listitem>
  1009. <listitem><para>
  1010. <code>setUppercase($flag)</code>及び<code>getUppercase()</code>:
  1011. 入力を大文字にキャストすべきかどうか示すフラグを設定または取得します。
  1012. </para></listitem>
  1013. <listitem><para>
  1014. <code>setTrim($flag)</code>及び<code>getTrim()</code>:
  1015. 先立つまたは後続する空白を除去すべきかどうか示すフラグを設定または取得します。
  1016. </para></listitem>
  1017. <listitem><para>
  1018. <code>setMaxLength($length)</code>及び
  1019. <code>getMaxLength()</code>:
  1020. 入力の長さの上限を設定または取得します。
  1021. </para></listitem>
  1022. </itemizedlist>
  1023. <example id="zend.dojo.form.elements.textBox.example">
  1024. <title>テキストボックスdijit要素の使用例</title>
  1025. <programlisting language="php"><![CDATA[
  1026. $form->addElement(
  1027. 'TextBox',
  1028. 'foo',
  1029. array(
  1030. 'value' => 'some text',
  1031. 'label' => 'TextBox',
  1032. 'trim' => true,
  1033. 'propercase' => true,
  1034. )
  1035. );
  1036. ]]></programlisting>
  1037. </example>
  1038. </sect3>
  1039. <sect3 id="zend.dojo.form.elements.textarea">
  1040. <title>テキストエリア</title>
  1041. <para>
  1042. テキストエリアは、主に標準的なHTMLの textarea のようにふるまいます。
  1043. しかし、それは列または行の設定をサポートしません。
  1044. その代わり、textareaの幅は、標準的なCSS幅を使用して指定されるべきです;
  1045. 列は、完全に省略されます。
  1046. テキストが追加されるたびに、textareaは垂直に伸びます。
  1047. </para>
  1048. <example id="zend.dojo.form.elements.textarea.example">
  1049. <title>テキストエリアdijit要素の使用例</title>
  1050. <programlisting language="php"><![CDATA[
  1051. $form->addElement(
  1052. 'Textarea',
  1053. 'textarea',
  1054. array(
  1055. 'label' => 'Textarea',
  1056. 'required' => true,
  1057. 'style' => 'width: 200px;',
  1058. )
  1059. );
  1060. ]]></programlisting>
  1061. </example>
  1062. </sect3>
  1063. <sect3 id="zend.dojo.form.elements.timeTextBox">
  1064. <title>TimeTextBox</title>
  1065. <para>
  1066. <!-- TODO -->
  1067. TimeTextBox is a text input that provides a drop-down for selecting
  1068. a time. The drop-down may be configured to show a certain window of
  1069. time, with specified increments.
  1070. </para>
  1071. <para>
  1072. Internally, TimeTextBox derives from <link
  1073. linkend="zend.dojo.form.elements.dateTextBox">DateTextBox</link>,
  1074. <link
  1075. linkend="zend.dojo.form.elements.validationTextBox">ValidationTextBox</link>
  1076. and <link linkend="zend.dojo.form.elements.textBox">TextBox</link>;
  1077. それらのクラスのメソッドが全て利用可能です。さらに、
  1078. 個別の制約を設定するために下記のメソッドを使用できます:
  1079. </para>
  1080. <itemizedlist>
  1081. <listitem><para>
  1082. <code>setTimePattern($pattern)</code>及び
  1083. <code>getTimePattern()</code>: set and retrieve the <ulink
  1084. url="http://www.unicode.org/reports/tr35/#Date_Format_Patterns">unicode
  1085. time format pattern</ulink> for formatting the time.
  1086. </para></listitem>
  1087. <listitem><para>
  1088. <code>setClickableIncrement($format)</code>及び
  1089. <code>getClickableIncrement()</code>: set the <ulink
  1090. url="http://en.wikipedia.org/wiki/ISO_8601">ISO-8601</ulink>
  1091. string representing the amount by which every clickable element
  1092. in the time picker increases.
  1093. </para></listitem>
  1094. <listitem><para>
  1095. <code>setVisibleIncrement($format)</code>及び
  1096. <code>getVisibleIncrement()</code>: set the increment visible
  1097. in the time chooser; must follow ISO-8601 formats.
  1098. </para></listitem>
  1099. <listitem><para>
  1100. <code>setVisibleRange($format)</code>及び
  1101. <code>getVisibleRange()</code>: set and retrieve the range of
  1102. time visible in the time chooser at any given moment; must
  1103. follow ISO-8601 formats.
  1104. </para></listitem>
  1105. </itemizedlist>
  1106. <example id="zend.dojo.form.elements.timeTextBox.example">
  1107. <title>時刻テキストボックスdijit要素の使用例</title>
  1108. <para>
  1109. The following will create a TimeTextBox that displays 2 hours
  1110. at a time, with increments of 10 minutes.
  1111. </para>
  1112. <programlisting language="php"><![CDATA[
  1113. $form->addElement(
  1114. 'TimeTextBox',
  1115. 'foo',
  1116. array(
  1117. 'label' => 'TimeTextBox',
  1118. 'required' => true,
  1119. 'visibleRange' => 'T04:00:00',
  1120. 'visibleIncrement' => 'T00:10:00',
  1121. 'clickableIncrement' => 'T00:10:00',
  1122. )
  1123. );
  1124. ]]></programlisting>
  1125. </example>
  1126. </sect3>
  1127. <sect3 id="zend.dojo.form.elements.validationTextBox">
  1128. <title>バリデーションテキストボックス</title>
  1129. <para>
  1130. ValidationTextBox provides the ability to add validations and constraints to a text
  1131. input. Internally, it derives from <link
  1132. linkend="zend.dojo.form.elements.textBox">TextBox</link>, and adds the following
  1133. accessors and mutators for manipulating dijit parameters:
  1134. </para>
  1135. <itemizedlist>
  1136. <listitem><para>
  1137. <code>setInvalidMessage($message)</code>及び
  1138. <code>getInvalidMessage()</code>: set and retrieve the tooltip
  1139. message to display when the value does not validate.
  1140. </para></listitem>
  1141. <listitem><para>
  1142. <code>setPromptMessage($message)</code>及び
  1143. <code>getPromptMessage()</code>: set and retrieve the tooltip
  1144. message to display for element usage.
  1145. </para></listitem>
  1146. <listitem><para>
  1147. <code>setRegExp($regexp)</code>及び<code>getRegExp()</code>:
  1148. set and retrieve the regular expression to use for validating
  1149. the element. The regular expression does not need boundaries
  1150. (unlike PHP's preg* family of functions).
  1151. </para></listitem>
  1152. <listitem><para>
  1153. <code>setConstraint($key, $value)</code>及び
  1154. <code>getConstraint($key)</code>: set and retrieve additional
  1155. constraints to use when validating the element; used primarily
  1156. with subclasses. Constraints are stored in the 'constraints'
  1157. key of the dijit parameters.
  1158. </para></listitem>
  1159. <listitem><para>
  1160. <code>setConstraints(array $constraints)</code>及び
  1161. <code>getConstraints()</code>: set and retrieve individual
  1162. constraints to use when validating the element; used primarily
  1163. with subclasses.
  1164. </para></listitem>
  1165. <listitem><para>
  1166. <code>hasConstraint($key)</code>: test whether a given
  1167. constraint exists.
  1168. </para></listitem>
  1169. <listitem><para>
  1170. <code>removeConstraint($key)</code>及び
  1171. <code>clearConstraints()</code>: remove an individual or all
  1172. constraints for the element.
  1173. </para></listitem>
  1174. </itemizedlist>
  1175. <example id="zend.dojo.form.elements.validationTextBox.example">
  1176. <title>ValidationTextBox dijit要素の使用例</title>
  1177. <para>
  1178. The following will create a ValidationTextBox that requires a
  1179. single string consisting solely of word characters (i.e., no
  1180. spaces, most punctuation is invalid).
  1181. <!-- TODO END -->
  1182. </para>
  1183. <programlisting language="php"><![CDATA[
  1184. $form->addElement(
  1185. 'ValidationTextBox',
  1186. 'foo',
  1187. array(
  1188. 'label' => 'ValidationTextBox',
  1189. 'required' => true,
  1190. 'regExp' => '[\w]+',
  1191. 'invalidMessage' => 'Invalid non-space text.',
  1192. )
  1193. );
  1194. ]]></programlisting>
  1195. </example>
  1196. </sect3>
  1197. <sect3 id="zend.dojo.form.elements.verticalSlider">
  1198. <title>垂直スライダー</title>
  1199. <para>
  1200. 垂直スライダーは<link
  1201. linkend="zend.dojo.form.elements.horizontalSlider">水平スライダー</link>
  1202. の兄弟分で、あらゆる点でその要素のように動作します。
  1203. 唯一本当に違うところは、
  1204. 'top*' 及び 'bottom*' メソッドが 'left*' and 'right*' で置き換えられ、
  1205. HorizontalRule 及び HorizontalRuleLabels を使う代わりに、
  1206. VerticalRule 及び VerticalRuleLabels が使われることです。
  1207. </para>
  1208. <example id="zend.dojo.form.elements.verticalSlider.example">
  1209. <title>垂直スライダーdijit要素の使用例</title>
  1210. <para>
  1211. 下記では、-10から10の間の整数を選択する垂直スライダーを生成します。
  1212. 左側には20%、40%、60%そして80%で印をつけられたラベルがあります、
  1213. 右側には、0、50%そして100%の罫線があります。
  1214. 値が変わるたびに、値を保存しているhidden要素は更新されます。
  1215. </para>
  1216. <programlisting language="php"><![CDATA[
  1217. $form->addElement(
  1218. 'VerticalSlider',
  1219. 'foo',
  1220. array(
  1221. 'label' => 'VerticalSlider',
  1222. 'value' => 5,
  1223. 'style' => 'height: 200px; width: 3em;',
  1224. 'minimum' => -10,
  1225. 'maximum' => 10,
  1226. 'discreteValues' => 11,
  1227. 'intermediateChanges' => true,
  1228. 'showButtons' => true,
  1229. 'leftDecorationDijit' => 'VerticalRuleLabels',
  1230. 'leftDecorationContainer' => 'leftContainer',
  1231. 'leftDecorationLabels' => array(
  1232. ' ',
  1233. '20%',
  1234. '40%',
  1235. '60%',
  1236. '80%',
  1237. ' ',
  1238. ),
  1239. 'rightDecorationDijit' => 'VerticalRule',
  1240. 'rightDecorationContainer' => 'rightContainer',
  1241. 'rightDecorationLabels' => array(
  1242. '0%',
  1243. '50%',
  1244. '100%',
  1245. ),
  1246. )
  1247. );
  1248. ]]></programlisting>
  1249. </example>
  1250. </sect3>
  1251. </sect2>
  1252. <!--
  1253. vim:se ts=4 sw=4 et:
  1254. -->