<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Dialog Widget Dojo Tests</title> <style type="text/css"> @import "../../dojo/resources/dojo.css"; @import "css/dijitTests.css"; body { font-family : sans-serif; } form { margin-bottom : 0; } table { border: none; } #dialog3_underlay { background-color: #027 } </style> <script type="text/javascript" djConfig="parseOnLoad: true, isDebug: true" src="../../dojo/dojo.js"></script> <script type="text/javascript" src="_testCommon.js"></script> <script type="text/javascript"> dojo.require("dijit.Dialog"); dojo.require("dijit.form.Button"); dojo.require("dijit.form.TextBox"); dojo.require("dijit.form.DateTextBox"); dojo.require("dijit.form.TimeTextBox"); dojo.require("dijit.form.FilteringSelect"); dojo.require("dijit.layout.TabContainer"); dojo.require("dijit.Menu"); dojo.require("dojo.parser"); // scan page for widgets and instantiate them // create a do nothing, only for test widget dojo.declare("dijit.TestWidget", [dijit._Widget, dijit._Templated], { templateString: "<div style='margin: 10px; border: inset #700 4px; padding: 5px;' dojoAttachPoint='containerNode'></div>" }); // make dojo.toJson() print dates correctly (this feels a bit dirty) Date.prototype.json = function(){ return dojo.date.stamp.toISOString(this, {selector: 'date'});}; var thirdDlg; function createDialog() { if(!thirdDlg){ var pane = dojo.byId('thirdDialog'); pane.style.width = "300px"; thirdDlg = new dijit.Dialog({ id: "dialog3", refocus:false, title: "Programatic Dialog Creation" },pane); } setTimeout(function(){thirdDlg.show();},"3000"); } </script> </head> <body> <h1 class="testTitle">Dijit layout.Dialog tests</h1> <button dojoType="dijit.form.Button" onclick="dijit.byId('dialog1').show()">Show Dialog</button> | <div dojoType="dijit.Dialog" id="dialog1" title="First Dialog" onfocus="console.log('user focus handler')" onblur="console.log('user blur handler')" execute="alert('submitted w/args:\n' + dojo.toJson(arguments[0], true));"> <table> <tr> <td><label for="name">Name: </label></td> <td><input dojoType=dijit.form.TextBox type="text" name="name" id="name"></td> </tr> <tr> <td><label for="loc">Location: </label></td> <td><input dojoType=dijit.form.TextBox type="text" name="loc" id="loc"></td> </tr> <tr> <td><label for="date">Date: </label></td> <td><input dojoType=dijit.form.DateTextBox type="text" name="date" id="date"></td> </tr> <tr> <td><label for="date">Time: </label></td> <td><input dojoType=dijit.form.TimeTextBox type="text" name="time" id="time"></td> </tr> <tr> <td><label for="desc">Description: </label></td> <td><input dojoType=dijit.form.TextBox type="text" name="desc" id="desc"></td> </tr> <tr> <td colspan="2" align="center"> <button dojoType=dijit.form.Button type="submit">OK</button></td> </tr> </table> </div> <button dojoType="dijit.form.Button" onclick="createDialog()" title="shows after 3 second delay, with blue background">Programatic Dialog (3 second delay)</button> | <div id="thirdDialog" style="display: none;"> <form> <input> <br> <button>hello</button> <br> <select> <option>Lorem</option> <option>ipsum</option> <option>dolor</option> <option>sit</option> <option>amet</option> </select> </form> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> </div> <button dojoType="dijit.form.Button" onclick="dijit.byId('tabDialog').show()">Show TabContainer Dialog</button> | <div dojoType="dijit.Dialog" id="tabDialog" title="TabContainer Dialog"> <div dojoType="dijit.layout.TabContainer" style="width: 400px; height: 400px;"> <div dojoType="dijit.layout.ContentPane" title="First tab"> <p> This is the first tab. </p> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> </div> <div dojoType="dijit.layout.ContentPane" title="Second tab"> <p> This is the second tab. </p> <p> Make it overflow. <a href="http://www.lipsum.com/">ipsum dolor sit amet</a>, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> </div> </div> </div> <button dojoType="dijit.form.Button" onclick="dijit.byId('fifthDlg').show();">Test slow loading HREF Dialog</button> | <div dojoType="dijit.Dialog" id="fifthDlg" href="layout/getResponse.php?delay=3000&messId=3" style="width: 300px" title="From HREF (slow network simulated)"></div> <button dojoType="dijit.form.Button" onclick="dijit.byId('dialog6').show()">Show File Dialog</button> <div dojoType="dijit.Dialog" id="dialog6" title="File Dialog" onfocus="console.log('user focus handler')" onblur="console.log('user blur handler')" execute="alert('submitted w/args:\n' + dojo.toJson(arguments[0], true));" style="width: 350px"> <!-- note: style="width: 350px" to workaround FF bug where width is too short, see http://trac.dojotoolkit.org/ticket/5976 --> <label for="afile">ID File: </label> <input dojoType=dijit.form.TextBox type="file" name="afile" id="afile"> </div> <p>Test refocus="false", click programatic dialog, focus input below, wait. close dialog.</p> <p><b><i>(scroll down to see more links to click, for testing positioning / scroll handling)</i></b></p> <p> Here's a form. Try clicking the programatic dialog link, then focusing on the form. After the dialog closes focus should be returned to the form </p> <form> <input> <br> <button>hello</button> <br> <select> <option>Lorem</option> <option>ipsum</option> <option>dolor</option> <option>sit</option> <option>amet</option> </select> </form> <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia, felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut semper velit ante id metus. Praesent massa dolor, porttitor sed, pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit tortor pharetra congue. Suspendisse pulvinar. </p> <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor, nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. </p> <form> <center> <select> <option>1</option> <option>2</option> </select> </center> </form> <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices vitae, nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio luctus eleifend. Proin massa libero, ultricies non, tincidunt a, vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at, egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam consectetuer dapibus eros. Aliquam nisl. </p> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia, felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut semper velit ante id metus. Praesent massa dolor, porttitor sed, pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit tortor pharetra congue. Suspendisse pulvinar. </p> <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor, nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. </p> <form> <center> <select> <option>1</option> <option>2</option> </select> </center> </form> <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices vitae, nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio luctus eleifend. Proin massa libero, ultricies non, tincidunt a, vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at, egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam consectetuer dapibus eros. Aliquam nisl. </p> <a href="javascript:dijit.byId('dialog1').show()">Show Dialog</a> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia, felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut semper velit ante id metus. Praesent massa dolor, porttitor sed, pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit tortor pharetra congue. Suspendisse pulvinar. </p> <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor, nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. </p> <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices vitae, nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio luctus eleifend. Proin massa libero, ultricies non, tincidunt a, vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at, egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam consectetuer dapibus eros. Aliquam nisl. </p> <p> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean semper sagittis velit. Cras in mi. Duis porta mauris ut ligula. Proin porta rutrum lacus. Etiam consequat scelerisque quam. Nulla facilisi. Maecenas luctus venenatis nulla. In sit amet dui non mi semper iaculis. Sed molestie tortor at ipsum. Morbi dictum rutrum magna. Sed vitae risus. </p> <p>Aliquam vitae enim. Duis scelerisque metus auctor est venenatis imperdiet. Fusce dignissim porta augue. Nulla vestibulum. Integer lorem nunc, ullamcorper a, commodo ac, malesuada sed, dolor. Aenean id mi in massa bibendum suscipit. Integer eros. Nullam suscipit mauris. In pellentesque. Mauris ipsum est, pharetra semper, pharetra in, viverra quis, tellus. Etiam purus. Quisque egestas, tortor ac cursus lacinia, felis leo adipiscing nisi, et rhoncus elit dolor eget eros. Fusce ut quam. Suspendisse eleifend leo vitae ligula. Nulla facilisi. Nulla rutrum, erat vitae lacinia dictum, pede purus imperdiet lacus, ut semper velit ante id metus. Praesent massa dolor, porttitor sed, pulvinar in, consequat ut, leo. Nullam nec est. Aenean id risus blandit tortor pharetra congue. Suspendisse pulvinar. </p> <p>Vestibulum convallis eros ac justo. Proin dolor. Etiam aliquam. Nam ornare elit vel augue. Suspendisse potenti. Etiam sed mauris eu neque nonummy mollis. Vestibulum vel purus ac pede semper accumsan. Vivamus lobortis, sem vitae nonummy lacinia, nisl est gravida magna, non cursus est quam sed urna. Phasellus adipiscing justo in ipsum. Duis sagittis dolor sit amet magna. Suspendisse suscipit, neque eu dictum auctor, nisi augue tincidunt arcu, non lacinia magna purus nec magna. Praesent pretium sollicitudin sapien. Suspendisse imperdiet. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. </p> <p>Mauris pharetra lorem sit amet sapien. Nulla libero metus, tristique et, dignissim a, tempus et, metus. Ut libero. Vivamus tempus purus vel ipsum. Quisque mauris urna, vestibulum commodo, rutrum vitae, ultrices vitae, nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla id erat sit amet odio luctus eleifend. Proin massa libero, ultricies non, tincidunt a, vestibulum non, tellus. Nunc nunc purus, lobortis a, pulvinar at, egestas a, mi. Cras adipiscing velit a mauris. Morbi felis. Etiam at felis. Cras eget eros et justo mattis pulvinar. Nullam at justo id risus porttitor dignissim. Vestibulum sed velit vel metus tincidunt tempus. Nunc euismod nisl id dolor tristique tincidunt. Nullam placerat turpis sed odio. Curabitur in est id nibh tempus ultrices. Aliquam consectetuer dapibus eros. Aliquam nisl. </p> </body> </html>