Updated
This commit is contained in:
621
master/examples/test_Dialog.html
Normal file
621
master/examples/test_Dialog.html
Normal file
@@ -0,0 +1,621 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
||||
<title>Dialog Widget Dojo Tests</title>
|
||||
|
||||
<style type="text/css">
|
||||
@import "../themes/claro/document.css";
|
||||
@import "css/dijitTests.css";
|
||||
|
||||
form { margin-bottom : 0; }
|
||||
table { border: none; }
|
||||
#dialog3_underlay { background-color: #027 }
|
||||
#fifthDlg_underlay { background-color: yellow; }
|
||||
</style>
|
||||
|
||||
<!-- required: a default dijit theme: -->
|
||||
<link id="themeStyles" rel="stylesheet" href="../../dijit/themes/claro/claro.css"/>
|
||||
|
||||
<!-- required: dojo.js -->
|
||||
<script type="text/javascript" src="../../dojo/dojo.js"
|
||||
data-dojo-config="parseOnLoad: true, isDebug: true"></script>
|
||||
|
||||
<!-- not needed, for testing alternate themes -->
|
||||
<script type="text/javascript" src="_testCommon.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
dojo.require("dijit.dijit"); // optimize: load dijit layer
|
||||
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.BorderContainer");
|
||||
dojo.require("dijit.layout.ContentPane");
|
||||
dojo.require("dijit.layout.TabContainer");
|
||||
dojo.require("dijit.InlineEditBox");
|
||||
dojo.require("dijit.Menu");
|
||||
dojo.require("dojo.parser"); // scan page for widgets and instantiate them
|
||||
|
||||
// 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');
|
||||
// should specify a width on dialogs with <p> tags, otherwise they get too wide
|
||||
thirdDlg = new dijit.Dialog({
|
||||
id: "dialog3",
|
||||
title: "Programatic Dialog Creation",
|
||||
style: {width: '300px'}
|
||||
},pane);
|
||||
}
|
||||
setTimeout(function(){ thirdDlg.show(); },"3000");
|
||||
}
|
||||
|
||||
function open2Dialogs(){
|
||||
dijit.byId('dialog1').show();
|
||||
setTimeout(dojo.hitch(dijit.byId('fifthDlg'), 'show'), 1000);
|
||||
}
|
||||
|
||||
function showSelfDestructDlg(){
|
||||
//for testing #12436
|
||||
var dlg = new dijit.Dialog({
|
||||
id: 'SelfDestructDlg',
|
||||
title: 'Self-Destruct Dialog',
|
||||
content: 'This dialog will destroy itself onHide.<br/><input type="text" id="SelfDestructDlgInput" />',
|
||||
onHide: function(){
|
||||
this.destroyRecursive();
|
||||
}
|
||||
});
|
||||
dlg.show();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body class="claro">
|
||||
|
||||
<h1 class="testTitle">Dijit layout.Dialog tests</h1>
|
||||
<button id="dialog1button" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("dialog1").show() }'>Show Dialog</button> |
|
||||
|
||||
<div id="dialog1" data-dojo-type="dijit.Dialog" data-dojo-props='title:"First Dialog",
|
||||
"aria-describedby":"intro",
|
||||
onFocus:function(){ console.log("user focus handler") },
|
||||
onBlur:function(){ console.log("user blur handler") },
|
||||
execute:function(args){ console.log("submitted w/args:\n" + dojo.toJson(args, true)); }'>
|
||||
<div id="intro" style="width:30em;">Introductory information spoken by screen reader if aria-describedby is
|
||||
added to the declaration of dialog above with value equal to the id of the container element for this text. This technique
|
||||
will work in Dojo 1.4. </div>
|
||||
<table style="position:relative;">
|
||||
<tr>
|
||||
<td><label for="name">Name: </label></td>
|
||||
<td><input id="name" data-dojo-type="dijit.form.TextBox" data-dojo-props='type:"text", name:"name" '/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="loc">Location: </label></td>
|
||||
<td><input id="loc" data-dojo-type="dijit.form.TextBox" data-dojo-props='type:"text", name:"loc" '/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="date">Date: </label></td>
|
||||
<td><input id="date" data-dojo-type="dijit.form.DateTextBox" data-dojo-props='type:"text", name:"date" '/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label>Time: </label></td>
|
||||
<td><div id="time" data-dojo-type="dijit.InlineEditBox" data-dojo-props='editor:"dijit.form.TimeTextBox", editorParams:{type:"text", name:"time"}, width:"100px", style:"width:100px;"'></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="desc">Description: </label></td>
|
||||
<td><input id="desc" data-dojo-type="dijit.form.TextBox" data-dojo-props='type:"text", name:"desc" '/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="text-align:center;">
|
||||
<button id="ok" data-dojo-type="dijit.form.Button" data-dojo-props='type:"submit"'>OK</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<button data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ 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 data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("tabDialog").show() }'>Show TabContainer Dialog</button> |
|
||||
|
||||
<div id="tabDialog" data-dojo-type="dijit.Dialog" data-dojo-props='title:"TabContainer Dialog"'>
|
||||
<div id="tc" data-dojo-type="dijit.layout.TabContainer" data-dojo-props='style:"width: 400px; height: 400px;"'>
|
||||
<div id="cp1" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='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 id="cp2" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='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 data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("fifthDlg").show(); }'>Test slow loading HREF Dialog</button> |
|
||||
|
||||
<div id="fifthDlg" data-dojo-type="dijit.Dialog" data-dojo-props='href:"layout/getResponse.php?delay=3000&messId=3",
|
||||
style:"width: 300px", title:"From HREF (slow network simulated)"'></div>
|
||||
|
||||
<button id="filebutton" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("file").show() }'>Show File Dialog</button>
|
||||
|
||||
<div id="file" data-dojo-type="dijit.Dialog" data-dojo-props='title:"File Dialog",
|
||||
onFocus:function(){ console.log("user focus handler") },
|
||||
onBlur:function(){ console.log("user blur handler") },
|
||||
execute:function(args){ alert("submitted w/args:\n" + dojo.toJson(args, true)); }, style:"min-width: 350px"'>
|
||||
<!-- note: style="min-width: 350px" to workaround FF bug where width is too short, see http://bugs.dojotoolkit.org/ticket/5976 -->
|
||||
<label for="afile">ID File: </label>
|
||||
<input id="afile" data-dojo-type="dijit.form.TextBox" data-dojo-props='type:"file", name:"afile" '/>
|
||||
</div>
|
||||
|
||||
<button id="unmovablebutton" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("unmovable").show() }'>Show Unmovable</button>
|
||||
|
||||
<div id="unmovable" data-dojo-type="dijit.Dialog" data-dojo-props='title:"unmovable", draggable:false'>
|
||||
<p>You should not be able to <br /> drag this dialog</p>
|
||||
</div>
|
||||
|
||||
<button data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("preventer").show() }'>Show Close prevention</button>
|
||||
|
||||
<div id="preventer" data-dojo-type="dijit.Dialog" data-dojo-props='title:"Confirm Close"'>
|
||||
I am done entering data:
|
||||
<button id="preventerOK" data-dojo-type="dijit.form.Button" data-dojo-props='type:"submit", onClick:function(){ return confirm("Are you sure?") }'>OK</button>
|
||||
</div>
|
||||
|
||||
<button data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("embedded").show() }'>Dialog w/embedded layout widgets</button> |
|
||||
|
||||
<div id="embedded" data-dojo-type="dijit.Dialog" data-dojo-props='title:"Embedded layout widgets",
|
||||
onShow:function(){ this.domNode.setAttribute("aria-describedby", "describe"); } '>
|
||||
<p id="describe">
|
||||
The pane has some text, plus two embedded layout widgets, which should
|
||||
appear correctly even though the pane is initially hidden.
|
||||
</p>
|
||||
<p>
|
||||
Here's a BorderContainer:
|
||||
</p>
|
||||
<div data-dojo-type="dijit.layout.BorderContainer" data-dojo-props='style:"height:200px; width:300px"'>
|
||||
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='region:"left", style:"width:100px", splitter:true'>
|
||||
1Sed arcu magna, molestie at, fringilla in, sodales eu, elit.
|
||||
Curabitur mattis lorem et est. Quisque et tortor. Integer bibendum
|
||||
vulputate odio. Nam nec ipsum. Vestibulum mollis eros feugiat
|
||||
augue. Integer fermentum odio lobortis odio. Nullam mollis nisl non
|
||||
metus. Maecenas nec nunc eget pede ultrices blandit. Ut non purus
|
||||
ut elit convallis eleifend. Fusce tincidunt, justo quis tempus
|
||||
euismod, magna nulla viverra libero, sit amet lacinia odio diam id
|
||||
risus. Ut varius viverra turpis. Morbi urna elit, imperdiet eu,
|
||||
porta ac, pharetra sed, nisi. Etiam ante libero, ultrices ac,
|
||||
faucibus ac, cursus sodales, nisl. Praesent nisl sem, fermentum eu,
|
||||
consequat quis, varius interdum, nulla. Donec neque tortor,
|
||||
sollicitudin sed, consequat nec, facilisis sit amet, orci. Aenean
|
||||
ut eros sit amet ante pharetra interdum.
|
||||
</div>
|
||||
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='region:"center"'>
|
||||
2Sed arcu magna, molestie at, fringilla in, sodales eu, elit.
|
||||
Curabitur mattis lorem et est. Quisque et tortor. Integer bibendum
|
||||
vulputate odio. Nam nec ipsum. Vestibulum mollis eros feugiat
|
||||
augue. Integer fermentum odio lobortis odio. Nullam mollis nisl non
|
||||
metus. Maecenas nec nunc eget pede ultrices blandit. Ut non purus
|
||||
ut elit convallis eleifend. Fusce tincidunt, justo quis tempus
|
||||
euismod, magna nulla viverra libero, sit amet lacinia odio diam id
|
||||
risus. Ut varius viverra turpis. Morbi urna elit, imperdiet eu,
|
||||
porta ac, pharetra sed, nisi. Etiam ante libero, ultrices ac,
|
||||
faucibus ac, cursus sodales, nisl. Praesent nisl sem, fermentum eu,
|
||||
consequat quis, varius interdum, nulla. Donec neque tortor,
|
||||
sollicitudin sed, consequat nec, facilisis sit amet, orci. Aenean
|
||||
ut eros sit amet ante pharetra interdum.
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
And a TabContainer:
|
||||
</p>
|
||||
<div data-dojo-type="dijit.layout.TabContainer" data-dojo-props='style:"height:200px; width:300px"'>
|
||||
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Tab 1"'>
|
||||
1Sed arcu magna, molestie at, fringilla in, sodales eu, elit.
|
||||
Curabitur mattis lorem et est. Quisque et tortor. Integer bibendum
|
||||
vulputate odio. Nam nec ipsum. Vestibulum mollis eros feugiat
|
||||
augue. Integer fermentum odio lobortis odio. Nullam mollis nisl non
|
||||
metus. Maecenas nec nunc eget pede ultrices blandit. Ut non purus
|
||||
ut elit convallis eleifend. Fusce tincidunt, justo quis tempus
|
||||
euismod, magna nulla viverra libero, sit amet lacinia odio diam id
|
||||
risus. Ut varius viverra turpis. Morbi urna elit, imperdiet eu,
|
||||
porta ac, pharetra sed, nisi. Etiam ante libero, ultrices ac,
|
||||
faucibus ac, cursus sodales, nisl. Praesent nisl sem, fermentum eu,
|
||||
consequat quis, varius interdum, nulla. Donec neque tortor,
|
||||
sollicitudin sed, consequat nec, facilisis sit amet, orci. Aenean
|
||||
ut eros sit amet ante pharetra interdum.
|
||||
</div>
|
||||
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Tab 2"'>
|
||||
2Sed arcu magna, molestie at, fringilla in, sodales eu, elit.
|
||||
Curabitur mattis lorem et est. Quisque et tortor. Integer bibendum
|
||||
vulputate odio. Nam nec ipsum. Vestibulum mollis eros feugiat
|
||||
augue. Integer fermentum odio lobortis odio. Nullam mollis nisl non
|
||||
metus. Maecenas nec nunc eget pede ultrices blandit. Ut non purus
|
||||
ut elit convallis eleifend. Fusce tincidunt, justo quis tempus
|
||||
euismod, magna nulla viverra libero, sit amet lacinia odio diam id
|
||||
risus. Ut varius viverra turpis. Morbi urna elit, imperdiet eu,
|
||||
porta ac, pharetra sed, nisi. Etiam ante libero, ultrices ac,
|
||||
faucibus ac, cursus sodales, nisl. Praesent nisl sem, fermentum eu,
|
||||
consequat quis, varius interdum, nulla. Donec neque tortor,
|
||||
sollicitudin sed, consequat nec, facilisis sit amet, orci. Aenean
|
||||
ut eros sit amet ante pharetra interdum.
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
Text after the widgets.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Action Bar test case -->
|
||||
<button id="ABDlg1Btn" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("ABDlg1").show() }'>Show Dialog With Action Buttons</button>
|
||||
<div id="ABDlg1" data-dojo-type="dijit.Dialog" data-dojo-props='title:"ActionBar Dialog 1",
|
||||
onExecute:function(){ console.log("OK button pressed") },
|
||||
onCancel:function(){ console.log("Cancel button pressed") },
|
||||
"aria-describedby":"intro",
|
||||
execute:function(args){ console.log("submitted w/args:\n" + dojo.toJson(args, true)); }'>
|
||||
<div class="dijitDialogPaneContentArea">
|
||||
<div id="ABintro1" style="width:30em;">Introductory information spoken by screen reader if aria-describedby is
|
||||
added to the declaration of dialog above with value equal to the id of the container element for this text. This technique
|
||||
will work in Dojo 1.4. </div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="dijitDialogPaneActionBar">
|
||||
<button id="ABdialog1button1" data-dojo-type="dijit.form.Button" data-dojo-props='type:"submit" '>OK</button>
|
||||
<button id="ABdialog1button2" data-dojo-type="dijit.form.Button" data-dojo-props='type:"button", onClick:function(){ dijit.byId("ABDlg1").onCancel(); }
|
||||
'>Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button id="NABDlgBtn" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("NABDlg").show() }'>Show Dialog With No Action Buttons</button>
|
||||
<div id="NABDlg" data-dojo-type="dijit.Dialog" data-dojo-props='title:"No Action Bar Dialog",
|
||||
"aria-describedby":"intro",
|
||||
onFocus:function(){ console.log("user focus handler") },
|
||||
onBlur:function(){ console.log("user blur handler") },
|
||||
execute:function(args){ console.log("submitted w/args:\n" + dojo.toJson(args, true)); }'>
|
||||
|
||||
<div class="dijitDialogPaneContentArea">
|
||||
<div id="NABintro" style="width:30em;">Introductory information spoken by screen reader if aria-describedby is
|
||||
added to the declaration of dialog above with value equal to the id of the container element for this text. This technique
|
||||
will work in Dojo 1.4. </div>
|
||||
<table>
|
||||
<tr>
|
||||
<td><label for="NABname">Name: </label></td>
|
||||
<td><input id="NABname" data-dojo-type="dijit.form.TextBox" data-dojo-props='type:"text", name:"NABname" '/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="NABloc">Location: </label></td>
|
||||
<td><input id="NABloc" data-dojo-type="dijit.form.TextBox" data-dojo-props='type:"text", name:"NABloc" '/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="NABdate">Date: </label></td>
|
||||
<td><input id="NABdate" data-dojo-type="dijit.form.DateTextBox" data-dojo-props='type:"text", name:"NABdate" '/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="NABdesc">Description: </label></td>
|
||||
<td><input id="NABdesc" data-dojo-type="dijit.form.TextBox" data-dojo-props='type:"text", name:"NABdesc" '/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<button id="layeredDialogs" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:open2Dialogs'>Show 2 Dialogs</button>
|
||||
|
||||
<button id="iframeDlg" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("dlgFrame").show(); }'>Show iframe in dialog</button>
|
||||
<div id="dlgFrame" data-dojo-type="dijit.Dialog" data-dojo-props='title:"Search"'>
|
||||
<iframe title="Test IFrame" src="layout/getResponse.php?delay=3000&messId=3" style="width:600px; height: 400px;">
|
||||
</iframe>
|
||||
|
||||
</div>
|
||||
|
||||
<button id="RadioButtonDlgBtn" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("RadioButtonDlg").show() }'>Show Dialog With Radio Button at End</button>
|
||||
<div id="RadioButtonDlg" data-dojo-type="dijit.Dialog" data-dojo-props='title:"Radio Button Dialog"'>
|
||||
<div class="dijitDialogPaneContentArea">
|
||||
<textarea id="textarea-radio-test" width="400" height="200"></textarea>
|
||||
<fieldset>
|
||||
<legend>Best Pet</legend>
|
||||
<input id="dograd" type="radio" name="pet" checked="checked"/>
|
||||
<label for="dograd">Dog</label> -
|
||||
<input id="catrad" type="radio" name="pet"/>
|
||||
<label for="catrad">Cat</label>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button id="SelfDestructDlgBtn" data-dojo-type="dijit.form.Button" data-dojo-props='onClick:showSelfDestructDlg'>Show Self-Destruct Dialog</button>
|
||||
<div id="SelfDestructDlgBtn2" style="border: 1px solid black;" class="dijitInline" onclick="showSelfDestructDlg();">Show Self-Destruct Dialog (unfocusable div)</div>
|
||||
|
||||
<button data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ createDialog() }, title:"shows after 3 second delay, with blue background"'>Programatic Dialog (3 second delay)</button> |
|
||||
|
||||
<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 id="plainInput"/>
|
||||
<br>
|
||||
<button id="plainButton">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>
|
||||
<div style="text-align:center;">
|
||||
<select>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
</select>
|
||||
</div>
|
||||
</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>
|
||||
<div id="reallyWide">[spacer]</div>
|
||||
<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>
|
||||
<div style="text-align:center;">
|
||||
<select>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
</select>
|
||||
</div>
|
||||
</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>
|
||||
<button data-dojo-type="dijit.form.Button" data-dojo-props='onClick:function(){ dijit.byId("dialog1").show() }'>Show Dialog</button> |
|
||||
<!-- showing a dialog from an anchor with inline onclick="" is a solution to page onUnLoad firing
|
||||
but you must return false; alternatively, you can dojo.connect() to the anchor links, and
|
||||
e.preventDefault() on the event object passed. using href="javascript:" inline causes onUnLoad
|
||||
to destroy all widgets in IE6
|
||||
-->
|
||||
<a href="http://dojotoolkit.org" onclick="dijit.byId('dialog1').show(); return false; ">Show Dialog</a>
|
||||
</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>
|
||||
|
||||
<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>
|
||||
Reference in New Issue
Block a user