1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
5 <title>TabContainer Demo</title>
7 <style type="text/css">
8 @import "../../../dojo/resources/dojo.css";
9 @import "../css/dijitTests.css";
12 font-family : sans-serif;
16 /* add padding to each contentpane inside the tab container, and scrollbar if necessary */
18 padding : 10px 10px 10px 10px;
23 <script type="text/javascript" djConfig="isDebug: true,parseOnLoad:true"
24 src="../../../dojo/dojo.js"></script>
25 <script type="text/javascript" src="../_testCommon.js"></script>
27 <script type="text/javascript">
28 dojo.require("dijit.layout.ContentPane");
29 dojo.require("dijit.layout.TabContainer");
30 dojo.require("dijit.Tooltip");
31 dojo.require("dijit.layout.LinkPane");
32 dojo.require("dijit.form.Button");
33 dojo.require("dojo.parser"); // scan page for widgets and instantiate them
36 function testClose(pane, tab){
37 // remove html from title
38 var title = dojo.trim(tab.title.replace(/<\/?[a-z][a-z0-9]*[^>]*>/ig, ""));
39 return confirm("Please confirm that you want tab "+title+" closed");
42 function randomMessageId(){
43 return Math.floor(Math.random() * 3) + 3;
47 if(!tabCounter){ tabCounter = 3; }
49 var title = '<img src="../images/plus.gif" style="background-color:#95B7D3;"/> Tab ' +(++tabCounter);
50 var refreshOnShow = !!(tabCounter % 2);
52 var newTab = new dijit.layout.ContentPane({
53 title: title + (refreshOnShow ? ' <i>refreshOnShow</i>': ''),
55 refreshOnShow: refreshOnShow,
56 href: 'getResponse.php?delay=1000&messId='+randomMessageId()
57 +"&message="+encodeURI("<h1>Programmatically created Tab "+tabCounter+"</h1>")
58 }, dojo.doc.createElement('div'));
60 dijit.byId('ttabs').addChild(newTab);
62 newTab.startup(); // find parent TabContainer and subscribe to selectChild event
65 startTime = new Date();
66 dojo.addOnLoad(function(){
67 var elapsed = new Date().getTime() - startTime;
68 var p = document.createElement("p");
69 p.appendChild(document.createTextNode("Widgets loaded in " + elapsed + "ms"));
70 document.body.appendChild(p);
76 <h1 class="testTitle">Dijit layout.TabContainer (delayed) remote tests</h1>
78 <p>These tabs are made up of external content. Loading is delayed to make it easier to see if refreshOnShow and preload = 'false' is working.<br/>
79 The tabs also tests to insert html in the Tab title
82 <div dojoType='dijit.form.Button' onClick='createTab()'>Create a Tab</div>
83 <div id="ttabs" dojoType="dijit.layout.TabContainer" tabPosition="top" style="width: 100%; height: 20em;">
84 <a id="ttab1" dojoType="dijit.layout.LinkPane"
85 href="getResponse.php?messId=3&delay=1000"
87 ><img src='../images/copy.gif'/> Tab1</a>
88 <a id="ttab2" dojoType="dijit.layout.LinkPane"
89 href="getResponse.php?messId=4&delay=1000"
90 refreshOnShow="true" title="Tab 2 "
94 <img src='../images/cut.gif'/>
96 <a dojoType="dijit.layout.LinkPane"
97 href="getResponse.php?messId=5&delay=1000"
102 <img src='../images/paste.gif'/>
106 <h3>Rendering time</h3>