test_Dialog.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2. "http://www.w3.org/TR/html4/strict.dtd">
  3. <html>
  4. <head>
  5. <title>Dialog Widget Dojo Tests</title>
  6. <style type="text/css">
  7. @import "../../dojo/resources/dojo.css";
  8. @import "css/dijitTests.css";
  9. table { border: none; }
  10. </style>
  11. <script type="text/javascript"
  12. djConfig="parseOnLoad: true, isDebug: true"
  13. src="../../dojo/dojo.js"></script>
  14. <script type="text/javascript" src="_testCommon.js"></script>
  15. <script type="text/javascript">
  16. dojo.require("dijit.Dialog");
  17. dojo.require("dijit.form.Button");
  18. dojo.require("dijit.form.TextBox");
  19. dojo.require("dijit.form.DateTextBox");
  20. dojo.require("dijit.form.TimeTextBox");
  21. dojo.require("dijit.form.FilteringSelect");
  22. dojo.require("dijit.Menu");
  23. dojo.require("dojo.parser"); // scan page for widgets and instantiate them
  24. // create a do nothing, only for test widget
  25. dojo.declare("dijit.TestWidget",
  26. [dijit._Widget, dijit._Templated], {
  27. templateString: "<div style='margin: 10px; border: inset #700 4px; padding: 5px;' dojoAttachPoint='containerNode'></div>"
  28. });
  29. </script>
  30. <script type="text/javascript">
  31. // make dojo.toJson() print dates correctly (this feels a bit dirty)
  32. Date.prototype.json = function(){ return dojo.date.stamp.toISOString(this, {selector: 'date'});};
  33. var thirdDlg;
  34. function createDialog() {
  35. if(!thirdDlg){
  36. var pane = dojo.byId('thirdDialog');
  37. pane.style.width = "300px";
  38. thirdDlg = new dijit.Dialog({
  39. title: "Programatic Dialog Creation"
  40. },pane);
  41. }
  42. setTimeout("thirdDlg.show()","3000");
  43. }
  44. </script>
  45. <style type="text/css">
  46. body { font-family : sans-serif; }
  47. form { margin-bottom : 0; }
  48. </style>
  49. </head>
  50. <body>
  51. <h1 class="testTitle">Dijit layout.Dialog tests</h1>
  52. <button dojoType="dijit.form.Button" onclick="dijit.byId('dialog1').show()">Show Dialog</button> |
  53. <div dojoType="dijit.Dialog" id="dialog1" title="First Dialog"
  54. execute="alert('submitted w/args:\n' + dojo.toJson(arguments[0], true));">
  55. <table>
  56. <tr>
  57. <td><label for="name">Name: </label></td>
  58. <td><input dojoType=dijit.form.TextBox type="text" name="name" id="name"></td>
  59. </tr>
  60. <tr>
  61. <td><label for="loc">Location: </label></td>
  62. <td><input dojoType=dijit.form.TextBox type="text" name="loc" id="loc"></td>
  63. </tr>
  64. <tr>
  65. <td><label for="date">Date: </label></td>
  66. <td><input dojoType=dijit.form.DateTextBox type="text" name="date" id="date"></td>
  67. </tr>
  68. <tr>
  69. <td><label for="date">Time: </label></td>
  70. <td><input dojoType=dijit.form.TimeTextBox type="text" name="time" id="time"></td>
  71. </tr>
  72. <tr>
  73. <td><label for="desc">Description: </label></td>
  74. <td><input dojoType=dijit.form.TextBox type="text" name="desc" id="desc"></td>
  75. </tr>
  76. <tr>
  77. <td colspan="2" align="center">
  78. <button dojoType=dijit.form.Button type="submit">OK</button></td>
  79. </tr>
  80. </table>
  81. </div>
  82. <div dojoType="dijit.form.DropDownButton">
  83. <span>Show Tooltip Dialog</span>
  84. <div dojoType="dijit.TooltipDialog" id="tooltipDlg" title="Enter Login information"
  85. execute="alert('submitted w/args:\n' + dojo.toJson(arguments[0], true));">
  86. <table>
  87. <tr>
  88. <td><label for="user">User:</label></td>
  89. <td><input dojoType=dijit.form.TextBox type="text" name="user" id="user"></td>
  90. </tr>
  91. <tr>
  92. <td><label for="pwd">Password:</label></td>
  93. <td><input dojoType=dijit.form.TextBox type="password" name="pwd" id="pwd"></td>
  94. </tr>
  95. <tr>
  96. <td><label for="date2">Date:</label></td>
  97. <td><input dojoType=dijit.form.DateTextBox name="date" id="date2"></td>
  98. </tr>
  99. <tr>
  100. <td><label for="time2">Time:</label></td>
  101. <td><input dojoType=dijit.form.TimeTextBox name="time" id="time2"></td>
  102. </tr>
  103. <tr>
  104. <td><label for="combo">Pizza:</label></td>
  105. <td>
  106. <select dojoType=dijit.form.FilteringSelect name="combo" id="combo" hasDownArrow="true">
  107. <option value="cheese">cheese</option>
  108. <option value="pepperoni">pepperoni</option>
  109. <option value="sausage">sausage</option>
  110. </select>
  111. </td>
  112. </tr>
  113. <tr>
  114. <td colspan="2" align="center">
  115. <button dojoType=dijit.form.Button type="submit" name="submit">Order</button>
  116. </td>
  117. </tr>
  118. </table>
  119. <div style="width: 300px;">Note: This tooltip dialog has a bunch of nested drop downs for testing keyboard and click handling</div>
  120. </div>
  121. </div> |
  122. <button dojoType="dijit.form.Button" onclick="createDialog()" title="shows after 3 second delay">Programatic Dialog (3 second delay)</button> |
  123. <div id="thirdDialog" style="display: none;">
  124. <form>
  125. <input>
  126. <br>
  127. <button>hello</button>
  128. <br>
  129. <select>
  130. <option>Lorem</option>
  131. <option>ipsum</option>
  132. <option>dolor</option>
  133. <option>sit</option>
  134. <option>amet</option>
  135. </select>
  136. </form>
  137. <p>
  138. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  139. semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin
  140. porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi.
  141. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis.
  142. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae
  143. risus.
  144. </p>
  145. </div>
  146. <button dojoType="dijit.form.Button" onclick="dijit.byId('fifthDlg').show();">Test slow loading HREF Dialog</button>
  147. <div dojoType="dijit.Dialog" id="fifthDlg" href="layout/getResponse.php?delay=3000&messId=3" title="From HREF (slow network emulated)"></div>
  148. <div dojoType="dijit.form.DropDownButton">
  149. <span>Test slowloading HREF Tooltip Dialog</span>
  150. <div dojoType="dijit.TooltipDialog" href="layout/getResponse.php?delay=500&messId=2">
  151. </div>
  152. </div> |
  153. <p><b><i>(scroll down to see more links to click, for testing positioning / scroll handling)</i></b></p>
  154. <p>
  155. Here's a form. Try clicking the programatic dialog link, then focusing on the form.
  156. After the dialog closes focus should be returned to the form
  157. </p>
  158. <form>
  159. <input>
  160. <br>
  161. <button>hello</button>
  162. <br>
  163. <select>
  164. <option>Lorem</option>
  165. <option>ipsum</option>
  166. <option>dolor</option>
  167. <option>sit</option>
  168. <option>amet</option>
  169. </select>
  170. </form>
  171. <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
  172. imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem
  173. nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in
  174. massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In
  175. pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra
  176. quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia,
  177. felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut
  178. quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla
  179. rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut
  180. semper velit ante id metus. Praesent massa dolor, porttitor sed,
  181. pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit
  182. tortor pharetra congue. Suspendisse pulvinar.
  183. </p>
  184. <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam
  185. ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque
  186. nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus
  187. lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus
  188. est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis
  189. dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor,
  190. nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent
  191. pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti
  192. sociosqu ad litora torquent per conubia nostra, per inceptos
  193. hymenaeos.
  194. </p>
  195. <form>
  196. <center>
  197. <select>
  198. <option>1</option>
  199. <option>2</option>
  200. </select>
  201. </center>
  202. </form>
  203. <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique
  204. et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel
  205. ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices
  206. vitae, nisl. Class aptent taciti sociosqu ad litora torquent per
  207. conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio
  208. luctus eleifend. Proin massa libero, ultricies non, tincidunt a,
  209. vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at,
  210. egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at
  211. felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id
  212. risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt
  213. tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat
  214. turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam
  215. consectetuer dapibus eros. Aliquam nisl.
  216. </p>
  217. <div style="float:right;clear:right;" dojoType="dijit.form.DropDownButton">
  218. <span>dropdown at right</span>
  219. <div dojoType="dijit.TooltipDialog" id="dialogright">
  220. <div style="white-space:nowrap;">Aliquam vitae enim. Duis scelerisque metus auctor est venenatis</div>
  221. </div>
  222. </div>
  223. <p>
  224. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  225. semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin
  226. porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi.
  227. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis.
  228. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae
  229. risus.
  230. </p>
  231. <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
  232. imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem
  233. nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in
  234. massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In
  235. pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra
  236. quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia,
  237. felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut
  238. quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla
  239. rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut
  240. semper velit ante id metus. Praesent massa dolor, porttitor sed,
  241. pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit
  242. tortor pharetra congue. Suspendisse pulvinar.
  243. </p>
  244. <div dojoType="dijit.form.DropDownButton" title="Enter Login information2">
  245. <span>Show Tooltip Dialog pointing upwards, with links</span>
  246. <div dojoType="dijit.TooltipDialog" title="General Information Dialog">
  247. <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam
  248. ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque
  249. nonummy mollis. <a href="http://www.lipsum.com/">Vestibulum</a> vel purus ac pede semper accumsan. Vivamus
  250. lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus
  251. est quam sed urna. Phasellus adipiscing justo in <a href="http://www.lipsum.com/">ipsum</a>. Duis sagittis
  252. dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor,
  253. nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent
  254. pretium sollicitudin sapien. <a href="http://www.lipsum.com/">Suspendisse imperdiet</a>. Class aptent taciti
  255. sociosqu ad litora torquent per conubia nostra, per inceptos
  256. hymenaeos.
  257. </p>
  258. </div>
  259. </div>
  260. (will go up if there isn't enough space on the bottom of the screen)
  261. <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam
  262. ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque
  263. nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus
  264. lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus
  265. est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis
  266. dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor,
  267. nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent
  268. pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti
  269. sociosqu ad litora torquent per conubia nostra, per inceptos
  270. hymenaeos.
  271. </p>
  272. <form>
  273. <center>
  274. <select>
  275. <option>1</option>
  276. <option>2</option>
  277. </select>
  278. </center>
  279. </form>
  280. <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique
  281. et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel
  282. ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices
  283. vitae, nisl. Class aptent taciti sociosqu ad litora torquent per
  284. conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio
  285. luctus eleifend. Proin massa libero, ultricies non, tincidunt a,
  286. vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at,
  287. egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at
  288. felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id
  289. risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt
  290. tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat
  291. turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam
  292. consectetuer dapibus eros. Aliquam nisl.
  293. </p>
  294. <a href="javascript:dijit.byId('dialog1').show()">Show Dialog</a>
  295. <p>
  296. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  297. semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin
  298. porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi.
  299. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis.
  300. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae
  301. risus.
  302. </p>
  303. <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
  304. imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem
  305. nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in
  306. massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In
  307. pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra
  308. quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia,
  309. felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut
  310. quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla
  311. rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut
  312. semper velit ante id metus. Praesent massa dolor, porttitor sed,
  313. pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit
  314. tortor pharetra congue. Suspendisse pulvinar.
  315. </p>
  316. <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam
  317. ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque
  318. nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus
  319. lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus
  320. est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis
  321. dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor,
  322. nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent
  323. pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti
  324. sociosqu ad litora torquent per conubia nostra, per inceptos
  325. hymenaeos.
  326. </p>
  327. <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique
  328. et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel
  329. ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices
  330. vitae, nisl. Class aptent taciti sociosqu ad litora torquent per
  331. conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio
  332. luctus eleifend. Proin massa libero, ultricies non, tincidunt a,
  333. vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at,
  334. egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at
  335. felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id
  336. risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt
  337. tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat
  338. turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam
  339. consectetuer dapibus eros. Aliquam nisl.
  340. </p>
  341. <p>
  342. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
  343. semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin
  344. porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi.
  345. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis.
  346. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae
  347. risus.
  348. </p>
  349. <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis
  350. imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem
  351. nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in
  352. massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In
  353. pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra
  354. quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia,
  355. felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut
  356. quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla
  357. rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut
  358. semper velit ante id metus. Praesent massa dolor, porttitor sed,
  359. pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit
  360. tortor pharetra congue. Suspendisse pulvinar.
  361. </p>
  362. <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam
  363. ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque
  364. nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus
  365. lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus
  366. est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis
  367. dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor,
  368. nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent
  369. pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti
  370. sociosqu ad litora torquent per conubia nostra, per inceptos
  371. hymenaeos.
  372. </p>
  373. <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique
  374. et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel
  375. ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices
  376. vitae, nisl. Class aptent taciti sociosqu ad litora torquent per
  377. conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio
  378. luctus eleifend. Proin massa libero, ultricies non, tincidunt a,
  379. vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at,
  380. egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at
  381. felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id
  382. risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt
  383. tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat
  384. turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam
  385. consectetuer dapibus eros. Aliquam nisl.
  386. </p>
  387. </body>
  388. </html>