1065 lines
49 KiB
HTML
1065 lines
49 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
|
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
|
|
|
<title>Dijit Theme Tester</title>
|
|
|
|
<script>
|
|
var startTime = new Date();
|
|
</script>
|
|
|
|
<!-- required: a default theme -->
|
|
<link rel="stylesheet" href="../themes/claro/document.css"/>
|
|
<link rel="stylesheet" href="../../dijit/themes/claro/claro.css"/>
|
|
<link rel="stylesheet" href="../tests/css/dijitTests.css"/>
|
|
|
|
<style type="text/css">
|
|
html, body { height: 100%; width: 100%; padding: 0; border: 0; }
|
|
#main { height: 100%; width: 100%; border: 0; }
|
|
#header { margin: 0; }
|
|
#leftAccordion { width: 25%; }
|
|
#bottomTabs { height: 40%; }
|
|
#hs-1width {
|
|
width:400px;
|
|
height:40px;
|
|
}
|
|
/* pre-loader specific stuff to prevent unsightly flash of unstyled content */
|
|
#loader {
|
|
padding:0;
|
|
margin:0;
|
|
position:absolute;
|
|
top:0; left:0;
|
|
width:100%; height:100%;
|
|
background:#ededed;
|
|
z-index:999;
|
|
vertical-align:middle;
|
|
}
|
|
#loaderInner {
|
|
padding:5px;
|
|
position:relative;
|
|
left:0;
|
|
top:0;
|
|
width:175px;
|
|
background:#3c3;
|
|
color:#fff;
|
|
}
|
|
|
|
#indTestBar,
|
|
#setTestBar {
|
|
width:400px;
|
|
}
|
|
|
|
hr.spacer { border:0; background-color:#ededed; width:80%; height:1px; }
|
|
|
|
/* rules used to test custom setting of TextBox padding */
|
|
.inputPadding0 .dijitInputField { padding: 0 !important; }
|
|
.inputPadding1 .dijitInputField { padding: 1px !important; }
|
|
.inputPadding2 .dijitInputField { padding: 2px !important; }
|
|
.inputPadding3 .dijitInputField { padding: 3px !important; }
|
|
.inputPadding4 .dijitInputField { padding: 4px !important; }
|
|
.inputPadding5 .dijitInputField { padding: 5px !important; }
|
|
</style>
|
|
|
|
<!-- a check for stray globals: not needed! -->
|
|
<script type="text/javascript">
|
|
window.__globalList = { dojo: true, dijit: true, dojox: true, dojoConfig:true };
|
|
for(var i in window){
|
|
window.__globalList[i] = true;
|
|
}
|
|
</script>
|
|
|
|
<!-- required: dojo.js -->
|
|
<script type="text/javascript" src="../../dojo/dojo.js"
|
|
data-dojo-config="parseOnLoad: false, async:true"></script>
|
|
|
|
<!-- only needed for alternate theme testing: -->
|
|
<script type="text/javascript" src="../tests/_testCommon.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
require([
|
|
"dojo",
|
|
"dijit/dijit",
|
|
"dijit/dijit-all",
|
|
"dojo/parser",
|
|
"dojo/date/locale",
|
|
"dojo/data/ItemFileReadStore",
|
|
"dojo/dnd/Source"], function(dojo, dijit){
|
|
// various function ripped out of inline script type=dojo/* blocks
|
|
showDialog = function(){
|
|
var dlg = dijit.byId('dialog1');
|
|
dlg.show();
|
|
// avoid (trying to) restore focus to a closed menu, go to MenuBar instead
|
|
dlg._savedFocus = dojo.byId("header");
|
|
};
|
|
|
|
showDialogAb = function(){
|
|
var dlg = dijit.byId('dialogAB');
|
|
dlg.show();
|
|
// avoid (trying to) restore focus to a closed menu, go to MenuBar instead
|
|
dlg._savedFocus = dojo.byId("header");
|
|
};
|
|
|
|
//var setTextBoxPadding;
|
|
// current setting (if there is one) to override theme default padding on TextBox based widgets
|
|
var currentInputPadding = "";
|
|
|
|
setTextBoxPadding = function(){
|
|
// summary:
|
|
// Handler for when a MenuItem is clicked to set non-default padding for
|
|
// TextBox widgets
|
|
|
|
// Effectively ignore clicks on the currently checked MenuItem
|
|
if(!this.get("checked")){
|
|
this.set("checked", true);
|
|
}
|
|
|
|
// val will be "theme default", "0px", "1px", ..., "5px"
|
|
var val = this.get("label");
|
|
|
|
// Set class on body to get requested padding, and remove any previously set class
|
|
if(currentInputPadding){
|
|
dojo.removeClass(dojo.body(), currentInputPadding);
|
|
currentInputPadding = "";
|
|
}
|
|
if(val != "theme default"){
|
|
currentInputPadding = "inputPadding" + val.replace("px", "");
|
|
dojo.addClass(dojo.body(), currentInputPadding);
|
|
}
|
|
|
|
// Clear previously checked MenuItem (radio-button effect).
|
|
dojo.forEach(this.getParent().getChildren(), function(mi){
|
|
if(mi != this){
|
|
mi.set("checked", false);
|
|
}
|
|
}, this);
|
|
};
|
|
|
|
logStrayGlobals = function(){
|
|
// summary:
|
|
// Print all the global variables that we've created [by mistake] inside of dojo
|
|
var strayGlobals = [];
|
|
for(var i in window){
|
|
if(!window.__globalList[i]){
|
|
strayGlobals.push(i);
|
|
}
|
|
}
|
|
if(strayGlobals.length){
|
|
console.warn("Stray globals: " + strayGlobals.join(", "));
|
|
}
|
|
};
|
|
|
|
logWidgets = function(){
|
|
// summary:
|
|
// Print all the widgets to console
|
|
console.log("Widgets in registry:");
|
|
dijit.registry.forEach(function(w){
|
|
console.log(w);
|
|
});
|
|
};
|
|
|
|
tearDown = function(){
|
|
// summary:
|
|
// Destroy all widgets, top down, and then check for any orphaned widgets
|
|
dijit._destroyAll();
|
|
logWidgets();
|
|
};
|
|
|
|
dojo.ready(function(){
|
|
var loadCompleteTime = +new Date();
|
|
console.log("Total load time: " + (loadCompleteTime - startTime) + "ms");
|
|
|
|
dojo.parser.parse(dojo.byId('container'));
|
|
console.info("Total parse time: " + (+new Date() - loadCompleteTime) + "ms");
|
|
|
|
dojo.byId('loaderInner').innerHTML += " done.";
|
|
setTimeout(function hideLoader(){
|
|
dojo.fadeOut({
|
|
node: 'loader',
|
|
duration:500,
|
|
onEnd: function(n){
|
|
n.style.display = "none";
|
|
}
|
|
}).play();
|
|
}, 250);
|
|
|
|
logStrayGlobals();
|
|
|
|
// Fill in menu/links to get to other themes.
|
|
// availableThemes[] is just a list of 'official' dijit themes, you can use ?theme=String
|
|
// for 'un-supported' themes, too. (eg: yours)
|
|
var availableThemes = [
|
|
{ theme:"claro", author:"Dojo", baseUri:"../themes/" },
|
|
{ theme:"tundra", author:"Dojo", baseUri:"../themes/" },
|
|
{ theme:"soria", author:"nikolai", baseUri:"../themes/" },
|
|
{ theme:"nihilo", author:"nikolai", baseUri:"../themes/" }
|
|
];
|
|
|
|
var tmpString='';
|
|
dojo.forEach(availableThemes,function(theme){
|
|
tmpString +=
|
|
'<a href="?theme='+theme.theme+'">'+theme.theme+'</'+'a> (' +
|
|
'<a href="?theme='+theme.theme+'&dir=rtl">RTL</'+'a> ' +
|
|
'<a href="?theme='+theme.theme+'&a11y=true">high-contrast</'+'a> ' +
|
|
'<a href="?theme='+theme.theme+'&dir=rtl&a11y=true">RTL+high-contrast</'+'a> )' +
|
|
' - by: '+theme.author+' <br>';
|
|
dijit.byId('themeMenu').addChild(new dijit.MenuItem({
|
|
label: theme.theme,
|
|
onClick: function(){ location.search = "?theme=" + theme.theme; }
|
|
}))
|
|
});
|
|
dojo.byId('themeData').innerHTML = tmpString;
|
|
});
|
|
|
|
dojo.ready(function(){
|
|
// It's the server's responsibility to localize the date displayed in the (non-edit) version of an InlineEditBox,
|
|
// but since we don't have a server we'll hack it in the client
|
|
dijit.byId("backgroundArea").set('value', dojo.date.locale.format(new Date(2005, 11, 30), { selector: 'date' }));
|
|
|
|
var nineAm = new Date(0);
|
|
nineAm.setHours(9);
|
|
dijit.byId("timePicker").set('value', dojo.date.locale.format(nineAm, { selector: 'time' }));
|
|
});
|
|
|
|
/***
|
|
dojo.ready(function(){
|
|
// use "before advice" to print log message each time resize is called on a layout widget
|
|
var origResize = dijit.layout._LayoutWidget.prototype.resize;
|
|
dijit.layout._LayoutWidget.prototype.resize = function(mb){
|
|
console.log(this + ": resize({w:"+ mb.w + ", h:" + mb.h + "})");
|
|
origResize.apply(this, arguments);
|
|
};
|
|
|
|
// content pane has no children so just use dojo's builtin after advice
|
|
dojo.connect(dijit.layout.ContentPane.prototype, "resize", function(mb){
|
|
console.log(this + ": resize({w:"+ mb.w + ", h:" + mb.h + "})");
|
|
});
|
|
});
|
|
***/
|
|
});
|
|
</script>
|
|
</head>
|
|
<body class="claro">
|
|
<!-- basic preloader: -->
|
|
<div id="loader"><div id="loaderInner" style="direction:ltr;">Loading themeTester ... </div></div>
|
|
|
|
<!-- data for tree and combobox -->
|
|
<div data-dojo-type="dojo.data.ItemFileReadStore" data-dojo-id="continentStore"
|
|
data-dojo-props="url:'../tests/_data/countries.json'"></div>
|
|
<div data-dojo-id="continentModel" data-dojo-type="dijit.tree.ForestStoreModel" data-dojo-props='store:continentStore, query:{type:"continent"},
|
|
rootId:"continentRoot", rootLabel:"Continents", childrenAttrs:["children"]'></div>
|
|
<div data-dojo-type="dojo.data.ItemFileReadStore" data-dojo-id="stateStore"
|
|
data-dojo-props="url:'../tests/_data/states.json'"></div>
|
|
<!-- contentMenu popup --> <!-- redundant display:none required here? -->
|
|
<div data-dojo-type="dijit.Menu" id="submenu1" data-dojo-props='contextMenuForWindow:true, style:"display:none"' style="display: none;">
|
|
<div data-dojo-type="dijit.MenuItem"
|
|
data-dojo-props="onClick:function(){ alert('Hello world'); }">Enabled Item</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="disabled:true">Disabled Item</div>
|
|
<div data-dojo-type="dijit.MenuSeparator"></div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass:'dijitIconCut', onClick: function(){ alert('not actually cutting anything. Just a test!'); }">Cut</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass:'dijitIconCopy', onClick:function(){ alert('not actually copying anything, just a test!'); }">Copy</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass:'dijitIconPaste', onClick: function(){ alert('not actually pasting anything, just a test!'); }">Paste</div>
|
|
<div data-dojo-type="dijit.MenuSeparator"></div>
|
|
<div data-dojo-type="dijit.PopupMenuItem">
|
|
<span>Enabled Submenu</span>
|
|
<div data-dojo-type="dijit.Menu" id="submenu2">
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick: function(){ alert('Submenu 1!') }">Submenu Item One</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick: function(){ alert('Submenu 2!') }">Submenu Item Two</div>
|
|
<div data-dojo-type="dijit.PopupMenuItem">
|
|
<span>Deeper Submenu</span>
|
|
<div data-dojo-type="dijit.Menu" id="submenu4">
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('Sub-submenu 1!')}">Sub-sub-menu Item One</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('Sub-submenu 2!')}">Sub-sub-menu Item Two</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuItem" data-dojo-props="disabled:true">
|
|
<span>Disabled Submenu</span>
|
|
<div data-dojo-type="dijit.Menu" id="submenu3" style="display: none;">
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('Submenu 1!')}">Submenu Item One</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick:function(){alert('Submenu 2!')}">Submenu Item Two</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuItem">
|
|
<span>Different popup</span>
|
|
<div data-dojo-type="dijit.ColorPalette"></div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuItem">
|
|
<span>Different popup</span>
|
|
<div data-dojo-type="dijit.Calendar"></div>
|
|
</div>
|
|
</div>
|
|
<!-- end contextMenu -->
|
|
|
|
<div id="main" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="liveSplitters:false, design:'sidebar'">
|
|
|
|
<div id="header" data-dojo-type="dijit.MenuBar" data-dojo-props="region:'top'">
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" id="file">
|
|
<span>File</span>
|
|
<div data-dojo-type="dijit.Menu" id="fileMenu">
|
|
<div data-dojo-type="dijit.MenuItem" id="globals" data-dojo-props="onClick: logStrayGlobals">Log globals</div>
|
|
<div data-dojo-type="dijit.MenuItem" id="widgets" data-dojo-props="onClick: logWidgets">Log widgets</div>
|
|
<div data-dojo-type="dijit.MenuItem" id="destroy" data-dojo-props="iconClass:'dijitIconDelete', onClick:tearDown">Destroy All</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" id="edit">
|
|
<span>Edit</span>
|
|
<div data-dojo-type="dijit.Menu" id="editMenu">
|
|
<div data-dojo-type="dijit.MenuItem" id="cut" data-dojo-props="
|
|
iconClass:'dijitIconCut',
|
|
onClick:function(){ console.log('not actually cutting anything, just a test!') }
|
|
">Cut</div>
|
|
<div data-dojo-type="dijit.MenuItem" id="copy" data-dojo-props="
|
|
iconClass:'dijitIconCopy',
|
|
onClick: function(){ console.log('not actually copying anything, just a test!') }
|
|
">Copy</div>
|
|
<div data-dojo-type="dijit.MenuItem" id="paste" data-dojo-props="iconClass:'dijitIconPaste',
|
|
onClick: function(){ console.log('not actually pasting anything, just a test!') }">Paste</div>
|
|
<div data-dojo-type="dijit.MenuSeparator" id="separator"></div>
|
|
<div data-dojo-type="dijit.MenuItem" id="undo" data-dojo-props="iconClass:'dijitIconUndo'">Undo</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" id="view">
|
|
<span>View</span>
|
|
<div data-dojo-type="dijit.Menu" id="viewMenu">
|
|
<div data-dojo-type="dijit.MenuItem">Normal</div>
|
|
<div data-dojo-type="dijit.MenuItem">Outline</div>
|
|
<div data-dojo-type="dijit.PopupMenuItem">
|
|
<span>Zoom</span>
|
|
<div data-dojo-type="dijit.Menu" id="zoomMenu">
|
|
<div data-dojo-type="dijit.MenuItem">50%</div>
|
|
<div data-dojo-type="dijit.MenuItem">75%</div>
|
|
<div data-dojo-type="dijit.MenuItem">100%</div>
|
|
<div data-dojo-type="dijit.MenuItem">150%</div>
|
|
<div data-dojo-type="dijit.MenuItem">200%</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" id="themes">
|
|
<span>Themes</span>
|
|
<div data-dojo-type="dijit.Menu" id="themeMenu"></div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" id="dialogs">
|
|
<span>Dialogs</span>
|
|
<div data-dojo-type="dijit.Menu" id="dialogMenu">
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick: showDialog">slow loading</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick: showDialogAb">action bar</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" id="inputPadding">
|
|
<span>TextBox Padding</span>
|
|
<div data-dojo-type="dijit.Menu" id="inputPaddingMenu">
|
|
<div data-dojo-type="dijit.CheckedMenuItem" data-dojo-props="onClick:setTextBoxPadding, checked:true">theme default</div>
|
|
<div data-dojo-type="dijit.CheckedMenuItem" data-dojo-props="onClick:setTextBoxPadding">0px</div>
|
|
<div data-dojo-type="dijit.CheckedMenuItem" data-dojo-props="onClick:setTextBoxPadding">1px</div>
|
|
<div data-dojo-type="dijit.CheckedMenuItem" data-dojo-props="onClick:setTextBoxPadding">2px</div>
|
|
<div data-dojo-type="dijit.CheckedMenuItem" data-dojo-props="onClick:setTextBoxPadding">3px</div>
|
|
<div data-dojo-type="dijit.CheckedMenuItem" data-dojo-props="onClick:setTextBoxPadding">4px</div>
|
|
<div data-dojo-type="dijit.CheckedMenuItem" data-dojo-props="onClick:setTextBoxPadding">5px</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" id="help">
|
|
<span>Help</span>
|
|
<div data-dojo-type="dijit.Menu" id="helpMenu">
|
|
<div data-dojo-type="dijit.MenuItem">Help Topics</div>
|
|
<div data-dojo-type="dijit.MenuItem">About Dijit</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.PopupMenuBarItem" data-dojo-props="disabled:true">
|
|
<span>Disabled</span>
|
|
<div data-dojo-type="dijit.Menu">
|
|
<div data-dojo-type="dijit.MenuItem">You should not see this</div>
|
|
</div>
|
|
</div>
|
|
<div data-dojo-type="dijit.MenuBarItem" data-dojo-props="onclick: function(){ alert('no submenu, just a clickable MenuItem'); }">
|
|
Click me!
|
|
</div>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.layout.AccordionContainer" data-dojo-props="region:'leading', splitter:true, minSize:20"
|
|
style="width: 300px;" id="leftAccordion">
|
|
|
|
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Popups and Alerts"'><div style="padding:8px">
|
|
<h2>Tooltips</h2>
|
|
<ul>
|
|
<li>
|
|
<span id="ttRich"><b>rich</b> <i>text</i> tooltip</span>
|
|
<span data-dojo-type="dijit.Tooltip" data-dojo-props="connectId:'ttRich'" style="display:none;">
|
|
Embedded <b>bold</b> <i>RICH</i> text <span style="color:#309; font-size:x-large;">weirdness!</span>
|
|
</span>
|
|
</li>
|
|
|
|
<li><a id="ttOne" href='#bogus'>anchor tooltip</a>
|
|
<span data-dojo-type="dijit.Tooltip" data-dojo-props='connectId:"ttOne"' style="display:none;">tooltip on anchor</span>
|
|
</li>
|
|
</ul>
|
|
|
|
<table style="width: 100%;">
|
|
<tr>
|
|
<td></td>
|
|
<td>
|
|
<div id="ttBelow">tooltip below</div>
|
|
<div data-dojo-type="dijit.Tooltip" data-dojo-props="connectId:'ttBelow', position:['below']" style="display:none; width: 100px;">I'm <i>below</i>!</div>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<div id="ttRight">tooltip after</div>
|
|
<div data-dojo-type="dijit.Tooltip" data-dojo-props="connectId:'ttRight', position:['after']" style="display:none;">I'm on the <i>right</i>!<br>(or left on RTL systems)</div>
|
|
</td>
|
|
<td></td>
|
|
<td>
|
|
<div id="ttLeft">tooltip before</div>
|
|
<div data-dojo-type="dijit.Tooltip" data-dojo-props="connectId:'ttLeft', position:['before','after']" style="display:none;">I'm on the <i>left</i>!<br>(or right on RTL systems)</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>
|
|
<div id="ttAbove">tooltip above</div>
|
|
<div data-dojo-type="dijit.Tooltip" data-dojo-props="connectId:'ttAbove', position:['above']" style="display:none;">I'm <i>above</i>!</div>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<hr class="spacer">
|
|
|
|
<h2>Dialogs</h2>
|
|
<ul>
|
|
<li><a href="#" onclick="dijit.byId('dialog1').show()">slow loading modal dialog</a></li>
|
|
<li><a href="#" onclick="dijit.byId('dialogAB').show()">modal dialog w/action bar</a></li>
|
|
</ul>
|
|
|
|
<div data-dojo-type="dijit.form.DropDownButton">
|
|
<span>Show Tooltip Dialog</span>
|
|
<div data-dojo-type="dijit.TooltipDialog" id="tooltipDlg" data-dojo-props='
|
|
title:"Enter Login information",
|
|
execute: function(){ alert("submitted w/args:\n" + dojo.toJson(arguments[0], true)); }
|
|
'>
|
|
<table>
|
|
<tr>
|
|
<td><label for="user">User:</label></td>
|
|
<td><input data-dojo-type="dijit.form.TextBox" type="text" id="user" name="user" ></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="pwd">Password:</label></td>
|
|
<td><input data-dojo-type="dijit.form.TextBox" type="password" id="pwd" name="pwd"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<button data-dojo-type="dijit.form.Button" type="submit" name="submit">Login</button>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Tree"'>
|
|
<!-- tree widget -->
|
|
<div data-dojo-type="dijit.Tree"
|
|
data-dojo-props="model: continentModel, query:{ type:'continent'}, label:'Continents', openOnClick:true"
|
|
></div>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="title:'Rootless Tree'">
|
|
<div id="rootlessTree" data-dojo-type="dijit.Tree" data-dojo-props="
|
|
model:continentModel,
|
|
query:{ type:'continent' },
|
|
showRoot: false,
|
|
openOnClick:true
|
|
"></div>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='selected:true, title:"Calendar"'>
|
|
<!-- calendar widget pane -->
|
|
<input id="calendar1" data-dojo-type="dijit.Calendar">
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Color Picker"'>
|
|
<p>
|
|
Selecting a color will change the background color of the page.
|
|
Use this to test how tooltips and drop downs appear with different backgrounds.
|
|
</p>
|
|
<h2 class="testHeader">3x4</h2>
|
|
<script>
|
|
function setBackground(color){
|
|
dojo.query('.dijitAccordionBody').style('background', color);
|
|
dojo.query('.dijitTabPaneWrapper').style('background', color);
|
|
}
|
|
</script>
|
|
<div data-dojo-type="dijit.ColorPalette" data-dojo-props="palette:'3x4', onChange:setBackground"></div>
|
|
<h2 class="testHeader">7x10</h2>
|
|
<div data-dojo-type="dijit.ColorPalette" data-dojo-props="onChange:setBackground"></div>
|
|
</div>
|
|
</div><!-- end AccordionContainer -->
|
|
|
|
<!-- top tabs (marked as "center" to take up the main part of the BorderContainer) -->
|
|
<div data-dojo-type="dijit.layout.TabContainer" data-dojo-props="region:'center', tabStrip:true" id="topTabs">
|
|
|
|
<div id="basicFormTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="title:'Basic Form Widgets', style:'padding:10px;display:none;'">
|
|
|
|
<h2>Buttons</h2>
|
|
<p>Buttons can do an action, display a menu, or both:</p>
|
|
|
|
Enabled:
|
|
|
|
<button data-dojo-type="dijit.form.Button" data-dojo-props="iconClass:'dijitIconTask', onClick:function(){ console.debug('clicked simple') }">
|
|
Simple
|
|
</button>
|
|
|
|
<div data-dojo-type="dijit.form.DropDownButton" data-dojo-props="iconClass:'dijitIconEdit'">
|
|
<span>Drop Down</span>
|
|
<div data-dojo-type="dijit.Menu" id="editMenu1" style="display: none;">
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconClass:'dijitIconCut',
|
|
onClick:function(){ console.debug('not actually cutting anything, just a test!') }
|
|
">Cut</div>
|
|
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconClass:'dijitIconCopy',
|
|
onClick:function(){ console.debug('not actually copying anyything, just a test!'); }
|
|
">Copy</div>
|
|
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconClass:'dijitIconPaste',
|
|
onClick:function(){ console.debug('not actually pasting anyything, just a test!'); }
|
|
">Paste</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.form.ComboButton" data-dojo-props='iconClass:"dijitIconSave", optionsTitle:"save options", onClick:function(){ console.log("clicked combo save"); }'>
|
|
<span>Combo</span>
|
|
<div data-dojo-type="dijit.Menu" id="saveMenu1" style="display: none;">
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconClass:'dijitIconSave',
|
|
onClick: function(){ console.debug('not actually saving anything, just a test!') }
|
|
">Save</div>
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
onClick: function(){ console.debug('not actually saving anything, just a test!') }
|
|
">Save As</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.form.ToggleButton" data-dojo-props="
|
|
checked:true,
|
|
onChange: function(a){ console.log('toggle button checked=' + a); }, iconClass:'dijitCheckBoxIcon'
|
|
"> Toggle </div>
|
|
|
|
<hr class="spacer">
|
|
|
|
Disabled:
|
|
|
|
<button data-dojo-type="dijit.form.Button" data-dojo-props='iconClass:"dijitIconTask", disabled:true' disabled>
|
|
Simple
|
|
</button>
|
|
|
|
<div data-dojo-type="dijit.form.DropDownButton" data-dojo-props='iconClass:"dijitIconEdit", disabled:true'>
|
|
<span>Drop Down</span>
|
|
<ul data-dojo-type="dijit.Menu" id="editMenu2" style="display: none;">
|
|
<li data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconClass:'dijitIconCut',
|
|
onClick: function(){ console.debug('not actually cutting anything, just a test!') }
|
|
">Cut</li>
|
|
|
|
<li data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconClass:'dijitIconCopy',
|
|
onClick: function(){ console.debug('not actually copying anything, just a test!') }
|
|
">Copy</li>
|
|
|
|
<li data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconClass:'dijitIconPaste',
|
|
onClick: function(){ console.debug('not actually pasting anything, just a test!') }
|
|
">Paste</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.form.ComboButton" data-dojo-props="iconClass:'dijitIconSave', optionsTitle:'save options', disabled:true">
|
|
<span>Combo</span>
|
|
<div data-dojo-type="dijit.Menu" id="saveMenu2" style="display: none;">
|
|
<div data-dojo-type="dijit.MenuItem" data-dojo-props="
|
|
iconCLass:'dijitIconSave',
|
|
onClick:function(){ console.log('not actually saving anything, just a test!' ); }
|
|
">Save</div>
|
|
<div data-dojo-type="dijit.MenuItem"
|
|
onClick="console.debug('not actually saving anything, just a test!')">
|
|
Save As
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<button data-dojo-type="dijit.form.ToggleButton" data-dojo-props="checked:true, disabled:true, iconClass:'dijitCheckBoxIcon'">
|
|
Toggle
|
|
</button>
|
|
|
|
<hr class="spacer">
|
|
|
|
<h2>CheckBox</h2>
|
|
<fieldset>
|
|
<input id="check1" type="checkBox" data-dojo-type="dijit.form.CheckBox">
|
|
<label for="check1">unchecked</label>
|
|
|
|
<input id="check2" type="checkBox" data-dojo-type="dijit.form.CheckBox" data-dojo-props="checked:true" checked="checked">
|
|
<label for="check2">checked</label>
|
|
|
|
<input id="check3" type="checkBox" data-dojo-type="dijit.form.CheckBox" data-dojo-props='disabled:true' disabled>
|
|
<label for="check3">disabled</label>
|
|
|
|
<input id="check4" type="checkBox" data-dojo-type="dijit.form.CheckBox" data-dojo-props='disabled:true, checked:true' checked="checked" disabled>
|
|
<label for="check4">disabled and checked</label>
|
|
</fieldset>
|
|
|
|
<h2>Radio Buttons</h2>
|
|
<fieldset>
|
|
<input type="radio" name="g1" id="g1rb1" value="news" data-dojo-type="dijit.form.RadioButton">
|
|
<label for="g1rb1">news</label>
|
|
<input type="radio" name="g1" id="g1rb2" value="talk" data-dojo-type="dijit.form.RadioButton" data-dojo-props='checked:true' checked>
|
|
<label for="g1rb2">talk</label>
|
|
<input type="radio" name="g1" id="g1rb3" value="weather" data-dojo-type="dijit.form.RadioButton" data-dojo-props='disabled:true' disabled>
|
|
<label for="g1rb3">weather (disabled)</label>
|
|
</fieldset>
|
|
</div> <!-- end of basic form widgets -->
|
|
|
|
<div id="textboxTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Text Input Widgets", style:"padding:10px;display:none;"'>
|
|
|
|
<h2>dijit.form.DateTextBox</h2>
|
|
<label for="date1">Enabled w/placeHolder:</label>
|
|
<input id="date1" name="date1" type="text" data-dojo-type="dijit.form.DateTextBox" data-dojo-props="placeHolder:'Birthday'">
|
|
<label for="date2">Disabled w/placeHolder:</label>
|
|
<input id="date2" name="date2" type="text" data-dojo-type="dijit.form.DateTextBox" data-dojo-props='placeHolder:"Birthday", disabled:true'>
|
|
<label for="date2">Disabled w/value:</label>
|
|
<input id="date3" name="date3" type="text" data-dojo-type="dijit.form.DateTextBox" data-dojo-props='value:"2008-12-25", disabled:true'>
|
|
|
|
<h2>dijit.form.TimeTextBox</h2>
|
|
<label for="time1">Enabled:</label>
|
|
<input id="time1" name="time1" type="text" data-dojo-type="dijit.form.TimeTextBox" value="T17:45:00">
|
|
<label for="time2">Disabled:</label>
|
|
<input id="time2" name="time2" type="text" data-dojo-type="dijit.form.TimeTextBox" value="T17:45:00" data-dojo-props='disabled:true' disabled>
|
|
|
|
<h2>dijit.form.CurrencyTextBox</h2>
|
|
<label for="currency1">Enabled:</label>
|
|
<input id="currency1" type="text" name="income1" value="54775.53" data-dojo-type="dijit.form.CurrencyTextBox"
|
|
data-dojo-props="
|
|
required:true, constraints:{ fractional:true }, currency:'USD',
|
|
value:54775.53,
|
|
invalidMessage:'Invalid amount. Include dollar sign, commas, and cents. Cents are mandatory.'
|
|
">
|
|
<label for="currency2">Disabled:</label>
|
|
<input id="currency2" type="text" name="income1" value="54775.53"
|
|
data-dojo-type="dijit.form.CurrencyTextBox" data-dojo-props="required:true, constraints:{ fractional:true },
|
|
currency:'USD', invalidMessage:'Invalid amount. Include dollar sign, commas, and cents. Cents are mandatory.',
|
|
disabled:true
|
|
">
|
|
|
|
<hr class="spacer">
|
|
|
|
<h2>dijit.form.NumberSpinner max=100</h2>
|
|
<label for="spinner1">Enabled: </label>
|
|
<input data-dojo-type="dijit.form.NumberSpinner" data-dojo-props='constraints:{max:100,places:0}, value:10' id="spinner1">
|
|
<label for="spinner2">Disabled: </label>
|
|
<input data-dojo-type="dijit.form.NumberSpinner" data-dojo-props='constraints:{max:100,places:0}, value:10, disabled:true' id="spinner2">
|
|
|
|
</div>
|
|
|
|
<div id="selectTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="title:'Select Widgets', style:'padding:10px;display:none;'">
|
|
|
|
<h2>dijit.form.Select</h2>
|
|
<!-- fixme: <label for=""> but target a form element like input select etc -->
|
|
<label>Enabled:</label>
|
|
<div id="selectEnabled" data-dojo-type="dijit.form.Select" data-dojo-props="value:'AK'">
|
|
<span data-dojo-value="AL"><b>Alabama</b></span>
|
|
<span data-dojo-value="AK"><span style="color:red">A</span><span style="color:orange">l</span><span style="color:yellow">a</span><span style="color:green">s</span><span style="color:blue">k</span><span style="color:purple">a</span></span>
|
|
<span data-dojo-value="AZ"><i>Arizona</i></span>
|
|
<span data-dojo-value="AR"><span class="ark">Arkansas</span></span>
|
|
<span data-dojo-value="CA"><span style="font-size:25%">C</span><span style="font-size:50%">a</span><span style="font-size:75%">l</span><span style="font-size:90%">i</span><span style="font-size:100%">f</span><span style="font-size:125%">o</span><span style="font-size:133%">r</span><span style="font-size:150%">n</span><span style="font-size:175%">i</span><span style="font-size:200%">a</span></span>
|
|
<span data-dojo-value="NM">New<br> Mexico</span>
|
|
</div>
|
|
|
|
<label>Disabled: </label>
|
|
<div id="selectDisabled" data-dojo-props="value:'AK', disabled:true" data-dojo-type="dijit.form.Select">
|
|
<span data-dojo-value="AL"><b>Alabama</b></span>
|
|
<span data-dojo-value="AK"><span style="color:red">A</span><span style="color:orange">l</span><span style="color:yellow">a</span><span style="color:green">s</span><span style="color:blue">k</span><span style="color:purple">a</span></span>
|
|
<span data-dojo-value="AZ"><i>Arizona</i></span>
|
|
<span data-dojo-value="AR"><span class="ark">Arkansas</span></span>
|
|
<span data-dojo-value="CA"><span style="font-size:25%">C</span><span style="font-size:50%">a</span><span style="font-size:75%">l</span><span style="font-size:90%">i</span><span style="font-size:100%">f</span><span style="font-size:125%">o</span><span style="font-size:133%">r</span><span style="font-size:150%">n</span><span style="font-size:175%">i</span><span style="font-size:200%">a</span></span>
|
|
<span data-dojo-value="NM">New<br> Mexico</span>
|
|
</div>
|
|
|
|
<hr class="spacer">
|
|
|
|
<h2>dijit.form.FilteringSelect</h2>
|
|
<label for="filteringSelect">Enabled w/placeHolder: </label>
|
|
<input id="filteringSelect" data-dojo-type="dijit.form.FilteringSelect" data-dojo-props="
|
|
placeHolder:'State',
|
|
store:stateStore,
|
|
searchAttr:'name',
|
|
name:'state2'
|
|
">
|
|
|
|
<label for="filteringSelect2">Disabled w/placeHolder: </label>
|
|
<input id="filteringSelect2" data-dojo-type="dijit.form.FilteringSelect" data-dojo-props="
|
|
disabled:true, store:stateStore, name:'state2', searchAttr:'name'
|
|
">
|
|
|
|
<label for="filteringSelect3">Disabled w/value: </label>
|
|
<input id="filteringSelect3" data-dojo-type="dijit.form.FilteringSelect" data-dojo-props="
|
|
store: stateStore, searchAttr:'name', disabled:true, value:'CA'
|
|
">
|
|
|
|
</div>
|
|
|
|
<div id="textareaTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Textarea", style:"padding:10px;"'>
|
|
|
|
<!-- ‪ and ‬ are inserted solely for testing purposes to mark the beginning and end of left-to-right text so that
|
|
cogniscent browsers don't render garbled punctuation nor exhibit strange home/end key behavior while in right-to-left mode -->
|
|
<h2>dijit.form.Textarea</h2>
|
|
<p>Enabled:</p>
|
|
<textarea data-dojo-type="dijit.form.Textarea" data-dojo-props='name:"areText"' name="areText">This text area will expand and contract as you type ‪text.‬
|
|
|
|
Lorem ipsum dolor sit ‪amet,‬
|
|
consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
|
|
dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci
|
|
tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo ‪consequat.‬
|
|
</textarea>
|
|
|
|
<br>
|
|
<p>Disabled:</p>
|
|
<textarea data-dojo-type="dijit.form.Textarea" data-dojo-props="disabled: true">This text
|
|
area is disabled and you shouldn't be able to type in ‪it.‬
|
|
</textarea>
|
|
|
|
|
|
<h2>dijit.form.SimpleTextarea</h2>
|
|
<p></p>
|
|
<p>Enabled:</p>
|
|
<textarea data-dojo-type="dijit.form.SimpleTextarea">This text area has a constant height and displays a scrollbar when ‪necessary.‬
|
|
|
|
Lorem ipsum dolor sit ‪amet,‬
|
|
consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
|
|
dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci
|
|
tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis
|
|
autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie ‪consequat,‬
|
|
vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio
|
|
dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait
|
|
nulla ‪facilisi.‬
|
|
</textarea>
|
|
|
|
<p>Disabled:</p>
|
|
<textarea data-dojo-type="dijit.form.SimpleTextarea" data-dojo-props="disabled: true">Lorem ipsum dolor sit ‪amet,‬
|
|
consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
|
|
dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci
|
|
tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis
|
|
autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie ‪consequat,‬
|
|
vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio
|
|
dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait
|
|
nulla ‪facilisi.‬
|
|
</textarea>
|
|
</div><!-- end of Textarea tab -->
|
|
|
|
<div id="editorTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Editor", style:"padding:10px;"'>
|
|
<p>Enabled:</p>
|
|
<!-- FIXME:
|
|
set height on this node to size the whole editor, but causes the tab to not scroll
|
|
until you select another tab and come back. alternative is no height: here, but that
|
|
causes editor to become VERY tall, and size to a normal height when selected (like the
|
|
dijit.form.TextArea in "Form Feel" Tab), but in reverse. refs #3980 and is maybe new bug?
|
|
-->
|
|
<div data-dojo-type="dijit.Editor" data-dojo-props="height:175, extraPlugins:['|', 'createLink', 'fontName'], styleSheets:'../themes/claro/document.css'">
|
|
<ul>
|
|
<li>Lorem <a href="http://dojotoolkit.org">and a link</a>, what do you think?</li>
|
|
<li>This is the Editor with a Toolbar attached.</li>
|
|
</ul>
|
|
</div>
|
|
<p>Disabled:</p>
|
|
<div data-dojo-type="dijit.Editor" data-dojo-props="height:175, extraPlugins:['|', 'createLink', 'fontName'], styleSheets:'../themes/claro/document.css', disabled:true">
|
|
<ul>
|
|
<li>Lorem <a href="http://dojotoolkit.org">and a link</a>, what do you think?</li>
|
|
<li>This is the Editor with a Toolbar attached.</li>
|
|
</ul>
|
|
</div>
|
|
</div><!-- end of Editor tab -->
|
|
|
|
|
|
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="title:'Sliders', style:'padding:10px;display:none;'">
|
|
|
|
<!-- Sliders: -->
|
|
|
|
<h2>Enabled</h2>
|
|
<div style="float:right;">
|
|
<div id='slider2' data-dojo-type="dijit.form.VerticalSlider" data-dojo-props="
|
|
onChange: function(a){ dojo.byId('slider2input').value = a; },
|
|
value:10, maximum:100, minimum:0, discreetValues:11, style:'height:176px; clear:both'
|
|
">
|
|
<ol data-dojo-type="dijit.form.VerticalRuleLabels" data-dojo-props="container:'leftDecoration', style:'width:2em;', labelStyle:'right:0px;'">
|
|
<li>0
|
|
<li>100
|
|
</ol>
|
|
|
|
<div data-dojo-type="dijit.form.VerticalRule" data-dojo-props="container:'leftDecoration', style:'width:5px;', count:11"></div>
|
|
<div data-dojo-type="dijit.form.VerticalRule" data-dojo-props="container:'rightDecoration', style:'width:5px;', count:11"></div>
|
|
<ol data-dojo-type="dijit.form.VerticalRuleLabels" data-dojo-props="container:'rightDecoration', style:'width:2em;', maximum:100, count:6, numericMargin:1, constraints:{ pattern:'#' }"></ol>
|
|
</div>
|
|
<br> Slider2 Value:<input disabled id="slider2input" size="3" value="10" autocomplete="off">
|
|
</div>
|
|
|
|
<div id="horizontal1" data-dojo-type="dijit.form.HorizontalSlider" data-dojo-props="
|
|
value:10, maximum:100, minimum:0, showButtons:false, intermediateChanges:true, style:'width:50%; height:20px',
|
|
onChange: function(a){ dojo.byId('slider1input').value = dojo.number.format(a / 100, { places:1, pattern:'#%' }) }
|
|
">
|
|
<ol data-dojo-type="dijit.form.HorizontalRuleLabels" data-dojo-props='container:"topDecoration", style:"height:1.2em;font-size:75%;", numericMargin:1, count:6'></ol>
|
|
<div data-dojo-type="dijit.form.HorizontalRule" data-dojo-props='container:"topDecoration", count:11, style:"height:5px;"'></div>
|
|
<div data-dojo-type="dijit.form.HorizontalRule" data-dojo-props='container:"bottomDecoration", count:5, style:"height:5px;"'></div>
|
|
<ol data-dojo-type="dijit.form.HorizontalRuleLabels" data-dojo-props='container:"bottomDecoration", style:"height:1em;font-size:75%;"'>
|
|
<li>lowest
|
|
<li>normal
|
|
<li>highest
|
|
</ol>
|
|
</div>
|
|
<br>Value: <input disabled id="slider1input" size="5" value="10.0%" autocomplete="off">
|
|
|
|
<div id="horizontal2" data-dojo-type="dijit.form.HorizontalSlider" data-dojo-props="
|
|
minimum:1, value:2, maximum:3, discreteValues:3, showButtons:false, intermediateChanges:true,
|
|
style:'width:300px; height:40px'
|
|
">
|
|
<div data-dojo-type="dijit.form.HorizontalRule" data-dojo-props='container:"bottomDecoration", count:3, style:"height:5px;"'></div>
|
|
<ol data-dojo-type="dijit.form.HorizontalRuleLabels" data-dojo-props='container:"bottomDecoration", style:"height:1em;font-size:75%;"'>
|
|
<li><img width=10 height=10 src="../tests/images/note.gif"><br><span style="font-size: small">small</span>
|
|
<li><img width=15 height=15 src="../tests/images/note.gif"><br><span style="font-size: medium">medium</span>
|
|
<li><img width=20 height=20 src="../tests/images/note.gif"><br><span style="font-size: large">large</span>
|
|
</ol>
|
|
</div>
|
|
|
|
<h2 style="clear:both">Disabled</h2>
|
|
<div style="float:right;">
|
|
<div data-dojo-type="dijit.form.VerticalSlider" data-dojo-props="
|
|
value:10, maximum:100, minimum:0, discreteValues:11,
|
|
style:'height:175px; clear:both', disabled:true
|
|
">
|
|
<ol data-dojo-type="dijit.form.VerticalRuleLabels" data-dojo-props='container:"leftDecoration", style:"width:2em;", labelStyle:"right:0px;"'>
|
|
<li>0
|
|
<li>100
|
|
</ol>
|
|
|
|
<div data-dojo-type="dijit.form.VerticalRule" data-dojo-props='container:"leftDecoration", count:11, style:"width:5px;"'></div>
|
|
<div data-dojo-type="dijit.form.VerticalRule" data-dojo-props='container:"rightDecoration", count:11, style:"width:5px;"'></div>
|
|
<ol data-dojo-type="dijit.form.VerticalRuleLabels" data-dojo-props='container:"rightDecoration", style:"width:2em;", maximum:100, count:6, numericMargin:1, constraints:{ pattern:"#"}'></ol>
|
|
</div>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.form.HorizontalSlider" id="hs-1width" data-dojo-props="
|
|
value:10, maximum:100, minimum:0, showButtons:false, intermediateChanges:true, disabled:true
|
|
">
|
|
<ol data-dojo-type="dijit.form.HorizontalRuleLabels" data-dojo-props='container:"topDecoration", style:"height:1.2em;font-size:75%;", numericMargin:1, count:6'></ol>
|
|
<div data-dojo-type="dijit.form.HorizontalRule" data-dojo-props='container:"topDecoration", count:11, style:"height:5px;"'></div>
|
|
<div data-dojo-type="dijit.form.HorizontalRule" data-dojo-props='container:"bottomDecoration", count:5, style:"height:5px;"'></div>
|
|
<ol data-dojo-type="dijit.form.HorizontalRuleLabels" data-dojo-props='container:"bottomDecoration", style:"height:1em;font-size:75%;"'>
|
|
<li>lowest
|
|
<li>normal
|
|
<li>highest
|
|
</ol>
|
|
</div>
|
|
|
|
<div data-dojo-type="dijit.form.HorizontalSlider" data-dojo-props="
|
|
minimum:1, value:2, maximum:3, discreteValues:3, showButtons:false, intermediateChanges:true,
|
|
style:'width:300px; height:40px', disabled:true
|
|
">
|
|
<div data-dojo-type="dijit.form.HorizontalRule" data-dojo-props='container:"bottomDecoration", count:3, style:"height:5px;"'></div>
|
|
<ol data-dojo-type="dijit.form.HorizontalRuleLabels" data-dojo-props='container:"bottomDecoration", style:"height:1em;font-size:75%;"'>
|
|
<li><img width=10 height=10 src="../tests/images/note.gif"><br><span style="font-size: small">small</span>
|
|
<li><img width=15 height=15 src="../tests/images/note.gif"><br><span style="font-size: medium">medium</span>
|
|
<li><img width=20 height=20 src="../tests/images/note.gif"><br><span style="font-size: large">large</span>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="variousTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Various Dijits", style:"padding:10px; display:none;"'>
|
|
|
|
<h2>TitlePane</h2>
|
|
<div data-dojo-type="dijit.TitlePane" data-dojo-props="title:'my pane', width:275">
|
|
<p>This is a title pane. It can be expanded and collapsed.</p>
|
|
|
|
<p>Sed sollicitudin suscipit risus. Nam
|
|
ullamcorper. Sed nisl lectus, pellentesque nec,
|
|
malesuada eget, ornare a, libero. Lorem ipsum dolor
|
|
sit amet, consectetuer adipiscing elit.</p>
|
|
|
|
</div><!-- end title pane -->
|
|
|
|
<hr class="spacer">
|
|
|
|
<h2>ProgressBar</h2>
|
|
<div data-dojo-props="maximum:200, value:20" id="setTestBar" data-dojo-type="dijit.ProgressBar"></div>
|
|
|
|
Indeterminate:
|
|
<div id="indTestBar" data-dojo-props="indeterminate:true" data-dojo-type="dijit.ProgressBar"></div>
|
|
|
|
</div><!-- end:various dijits upper tab -->
|
|
|
|
<div id="InlineEditBoxTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"InlineEditBox", style:"padding:10px;"'>
|
|
|
|
<h2 class="testTitle">dijit.InlineEditBox + dijit.form.TextBox on <h3></h2>
|
|
|
|
(HTML before)
|
|
<h3 id="editable" style="font-size:larger;" data-dojo-type="dijit.InlineEditBox">
|
|
Edit me - I trigger the onChange callback
|
|
</h3>
|
|
(HTML after)
|
|
|
|
<hr class="spacer">
|
|
|
|
<h2>dijit.InlineEditBox + dijit.form.Textarea</h2>
|
|
|
|
(HTML before)
|
|
<p id="areaEditable" data-dojo-type="dijit.InlineEditBox" data-dojo-props='editor: dijit.form.Textarea, autoSave:false'>
|
|
I'm one big ‪paragraph.‬ Go ahead and edit ‪me.‬ I dare ‪you.‬
|
|
The quick brown fox jumped over the lazy ‪dog.‬ Blah blah blah blah blah blah ‪blah ...‬
|
|
</p>
|
|
(HTML after)
|
|
|
|
<p>
|
|
These links will
|
|
<a href="#" onclick="dijit.byId('areaEditable').set('disabled', true)">disable</a> /
|
|
<a href="#" onclick="dijit.byId('areaEditable').set('disabled', false)">enable</a>
|
|
the text area above.
|
|
</p>
|
|
|
|
<hr class="spacer">
|
|
|
|
<h2>dijit.form.DateTextBox</h2>
|
|
|
|
(HTML inline before)
|
|
<!-- set programmatically to match locale; a server might generate this content also. -->
|
|
<span id="backgroundArea" data-dojo-type="dijit.InlineEditBox" data-dojo-props="editor: dijit.form.DateTextBox, width:'170px'"></span>
|
|
(HTML after)
|
|
<hr class="spacer">
|
|
|
|
<h2>dijit.form.TimeTextBox</h2>
|
|
|
|
(HTML inline before)
|
|
<!-- set programmatically to match locale; a server might generate this content also. -->
|
|
<span id="timePicker" data-dojo-type="dijit.InlineEditBox" data-dojo-props='editor:dijit.form.TimeTextBox, width:"150px"'></span>
|
|
(HTML after)
|
|
|
|
<hr class="spacer">
|
|
|
|
|
|
<h2>dijit.form.FilteringSelect + Inline + remote data store</h2>
|
|
(HTML inline before)
|
|
<span id="backgroundArea2" data-dojo-type="dijit.InlineEditBox" data-dojo-props='
|
|
editor: dijit.form.FilteringSelect,
|
|
editorParams:{ store: stateStore, autoComplete: true, promptMessage: "Please enter a state"},
|
|
width:"300px"
|
|
'>Indiana</span>
|
|
(HTML after)
|
|
|
|
</div><!-- end InlineEditBox tab -->
|
|
|
|
<div id="dndTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"DnD", style:"padding:10px; display:none;"'>
|
|
<div style="float:left; margin:5px;">
|
|
<h3>Source 1</h3>
|
|
<div data-dojo-type="dojo.dnd.Source" style="border:3px solid #ccc; padding: 1em 3em; ">
|
|
<div class="dojoDndItem">Item <strong>X</strong></div>
|
|
<div class="dojoDndItem">Item <strong>Y</strong></div>
|
|
<div class="dojoDndItem">Item <strong>Z</strong></div>
|
|
</div>
|
|
</div>
|
|
<div style="float:left; margin:5px; ">
|
|
<h3>Source 2</h3>
|
|
<div data-dojo-type="dojo.dnd.Source" style="border:3px solid #ccc; padding: 1em 3em; ">
|
|
<div class="dojoDndItem">Item <strong>1</strong></div>
|
|
<div class="dojoDndItem">Item <strong>2</strong></div>
|
|
<div class="dojoDndItem">Item <strong>3</strong></div>
|
|
</div>
|
|
</div>
|
|
</div><!-- end DnD tab -->
|
|
|
|
<div data-dojo-type="dijit.layout.TabContainer" data-dojo-props="closable:true, title:'Nested TabContainer', nested:true" id="inlined">
|
|
<a data-dojo-type="dijit.layout.LinkPane" id="tab1href" data-dojo-props="href:'../tests/layout/tab1.html', onLoad:function(){ console.log('load of SubTab 1'); }">SubTab 1</a>
|
|
<a data-dojo-type="dijit.layout.LinkPane" id="tab2href" data-dojo-props="href:'../tests/layout/tab2.html', onLoad:function(){ console.log('load of SubTab 2'); }, selected:true">SubTab 2</a>
|
|
<div data-dojo-type="dijit.layout.ContentPane" id="subtab3" data-dojo-props='title:"SubTab 3"'>
|
|
<h1>I am tab 3, inlined.</h1>
|
|
</div>
|
|
<div data-dojo-type="dijit.layout.ContentPane" id="subtab4" data-dojo-props='title:"SubTab 4"'>
|
|
<h1>I am tab 4, inlined.</h1>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="closableTab" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Closable",
|
|
style:"display:none; padding:10px;", closable:true'>
|
|
This pane is closable, just for the icon ...
|
|
</div>
|
|
</div><!-- end of region="center" TabContainer -->
|
|
|
|
<!-- bottom right tabs -->
|
|
<div data-dojo-type="dijit.layout.TabContainer" id="bottomTabs"
|
|
data-dojo-props="
|
|
tabPosition:'bottom', selectedchild:'btab1', region:'bottom',
|
|
splitter:true, tabStrip:true
|
|
">
|
|
<!-- btab 1 -->
|
|
<div id="btab1" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Info", style:" padding:10px; "'>
|
|
<p>You can explore this single page after applying a Theme
|
|
for use in creation of your own theme.</p>
|
|
|
|
<p>I am whole slew of Widgets on a page. Jump to <a href="../tests/">dijit tests</a> to
|
|
test individual components.</p>
|
|
|
|
<p>There is a right-click [context] pop-up menu here, as well.</p>
|
|
</div><!-- end:info btab1 -->
|
|
|
|
<div id="btab2" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Alternate Themes", style:"padding:20px;"'>
|
|
<span id="themeData"></span>
|
|
</div><!-- btab2 -->
|
|
|
|
<div id="btab3" data-dojo-type="dijit.layout.ContentPane" data-dojo-props='title:"Bottom 3", closable:true'>
|
|
<p>I am the last Tab</p>
|
|
<div id="dialog2" data-dojo-type="dijit.Dialog" data-dojo-props='title:"Encased Dialog", style:"display:none;"'>
|
|
I am the second dialog. I am
|
|
parented by the Low Tab Pane #3
|
|
</div>
|
|
</div><!-- btab3 -->
|
|
|
|
</div><!-- end Bottom TabContainer -->
|
|
|
|
</div><!-- end of BorderContainer -->
|
|
|
|
<!-- dialog in body -->
|
|
<div id="dialog1" data-dojo-type="dijit.Dialog" style="display:none;" data-dojo-props="
|
|
title:'Floating Modal Dialog from href',
|
|
href:'../tests/layout/getResponse.php?delay=3000&messId=3',
|
|
style: 'width: 400px;',
|
|
refreshOnShow:true
|
|
"></div>
|
|
<div id="dialogAB" data-dojo-type="dijit.Dialog" data-dojo-props="title:'Floating Modal Dialog'" style="display:none;">
|
|
<div class="dijitDialogPaneContentArea">
|
|
<table>
|
|
<tr>
|
|
<td><label for="name">Name: </label></td>
|
|
<td><input data-dojo-type="dijit.form.TextBox" type="text" name="name" id="name"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="loc">Location: </label></td>
|
|
<td><input data-dojo-type="dijit.form.TextBox" type="text" name="loc" id="loc"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="date">Date: </label></td>
|
|
<td><input data-dojo-type="dijit.form.DateTextBox" type="text" name="date" id="date"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="dijitDialogPaneActionBar">
|
|
<button data-dojo-type="dijit.form.Button" type="submit" id="ABdialog1button1">OK</button>
|
|
<button data-dojo-type="dijit.form.Button" type="button" data-dojo-props="onClick:function(){ dijit.byId('dialogAB').onCancel(); }"
|
|
id="ABdialog1button2">Cancel</button>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|