You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1360 lines
51 KiB
1360 lines
51 KiB
<!DOCTYPE html> |
|
<html> |
|
<head> |
|
|
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> |
|
|
|
<title>Dijit Theme Tester</title> |
|
|
|
<script type="text/javascript" src="../tests/boilerplate.js"></script> |
|
|
|
<script> |
|
var startTime = new Date(); |
|
</script> |
|
|
|
<style type="text/css"> |
|
html, body { |
|
height: 100%; |
|
width: 100%; |
|
padding: 0; |
|
border: 0; |
|
} |
|
|
|
#main { |
|
height: 100%; |
|
width: 100%; |
|
border: 0; |
|
} |
|
|
|
/*** |
|
Uncomment this rule to test border-box sizing |
|
* { |
|
-moz-box-sizing: border-box; |
|
box-sizing: border-box; |
|
} |
|
***/ |
|
|
|
#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 = { |
|
// ignore globals created by this file |
|
setBackground: true, |
|
dojo: true, |
|
dijit: true, |
|
dojox: true, |
|
showDialog: true, |
|
showDialogAb: true, |
|
setTextBoxPadding: true, |
|
logStrayGlobals: true, |
|
logWidgets: true, tearDown: true, |
|
continentStore: true, |
|
continentModel: true, |
|
dom: true, |
|
registry: true, |
|
require: true, |
|
dojoConfig: true |
|
}; |
|
|
|
// ignore natural globals |
|
for(var i in window){ |
|
window.__globalList[i] = true; |
|
} |
|
</script> |
|
|
|
|
|
<script type="text/javascript"> |
|
require([ |
|
"dojo/_base/array", "dojo/_base/fx", "dojo/_base/window", "dojo/dom", "dojo/dom-class", "dojo/dom-geometry", "dojo/dom-style", |
|
"dojo/hccss", "dojo/date/locale", "dojo/parser", "dojo/store/Memory", |
|
"dijit/registry", "dijit/tree/ObjectStoreModel", |
|
|
|
"dijit/CheckedMenuItem", "dijit/RadioMenuItem", "dijit/MenuSeparator", |
|
|
|
// Editors used by InlineEditBox. Must be pre-loaded. |
|
"dijit/form/Textarea", "dijit/form/DateTextBox", "dijit/form/TimeTextBox", "dijit/form/FilteringSelect", |
|
|
|
// These plugins are used by the Editor, and need to be pre-loaded |
|
"dijit/_editor/plugins/LinkDialog", // for createLink |
|
"dijit/_editor/plugins/FontChoice", // for fontName |
|
|
|
// Modules referenced by the parser |
|
"dijit/Menu", "dijit/PopupMenuItem", "dijit/ColorPalette", "dijit/layout/BorderContainer", "dijit/MenuBar", |
|
"dijit/PopupMenuBarItem", "dijit/layout/AccordionContainer", "dijit/layout/ContentPane", "dijit/ConfirmTooltipDialog", |
|
"dijit/Tree", "dijit/layout/TabContainer", "dijit/form/ComboButton", "dijit/form/ToggleButton", |
|
"dijit/form/CheckBox", "dijit/form/RadioButton", "dijit/form/CurrencyTextBox", "dijit/form/NumberSpinner", |
|
"dijit/form/Select", "dijit/Editor", "dijit/form/VerticalSlider", "dijit/form/VerticalRuleLabels", |
|
"dijit/form/VerticalRule", "dijit/form/HorizontalSlider", "dijit/form/HorizontalRuleLabels", |
|
"dijit/form/HorizontalRule", "dijit/TitlePane", "dijit/ProgressBar", "dijit/InlineEditBox", "dojo/dnd/Source", |
|
"dijit/ConfirmDialog", |
|
|
|
// Don't call the parser until the DOM has finished loading |
|
"dojo/domReady!" |
|
], function(array, baseFx, win, dom, domClass, domGeom, domStyle, has, locale, parser, Memory, registry, ObjectStoreModel, |
|
CheckedMenuItem, RadioMenuItem, MenuSeparator){ |
|
// If you are doing box-model sizing then need to tell dom-geometry, see #15104 |
|
if(domStyle.get(document.body, "boxSizing") == "border-box" || |
|
domStyle.get(document.body, "MozBoxSizing") == "border-box"){ |
|
domGeom.boxModel = "border-box"; |
|
} |
|
|
|
// various function ripped out of inline script type=dojo/* blocks |
|
showDialog = function(){ |
|
var dlg = registry.byId('dialog1'); |
|
dlg.show(); |
|
// avoid (trying to) restore focus to a closed menu, go to MenuBar instead |
|
dlg._savedFocus = dom.byId("header"); |
|
}; |
|
|
|
showDialogAb = function(){ |
|
var dlg = registry.byId('dialogAB'); |
|
dlg.show(); |
|
// avoid (trying to) restore focus to a closed menu, go to MenuBar instead |
|
dlg._savedFocus = dom.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){ |
|
domClass.remove(win.body(), currentInputPadding); |
|
currentInputPadding = ""; |
|
} |
|
if(val != "theme default"){ |
|
currentInputPadding = "inputPadding" + val.replace("px", ""); |
|
domClass.add(win.body(), currentInputPadding); |
|
} |
|
|
|
// Clear previously checked MenuItem (radio-button effect). |
|
array.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:"); |
|
registry.forEach(function(w){ |
|
console.log(w); |
|
}); |
|
}; |
|
|
|
tearDown = function(){ |
|
// summary: |
|
// Destroy all widgets, top down, and then check for any orphaned widgets |
|
registry._destroyAll(); |
|
logWidgets(); |
|
}; |
|
|
|
// Data for Tree, ComboBox, InlineEditBox |
|
var data = [ |
|
{ id: "earth", name: "The earth", type: "planet", population: "6 billion"}, |
|
{ id: "AF", name: "Africa", type: "continent", population: "900 million", area: "30,221,532 sq km", |
|
timezone: "-1 UTC to +4 UTC", parent: "earth"}, |
|
{ id: "EG", name: "Egypt", type: "country", parent: "AF" }, |
|
{ id: "KE", name: "Kenya", type: "country", parent: "AF" }, |
|
{ id: "Nairobi", name: "Nairobi", type: "city", parent: "KE" }, |
|
{ id: "Mombasa", name: "Mombasa", type: "city", parent: "KE" }, |
|
{ id: "SD", name: "Sudan", type: "country", parent: "AF" }, |
|
{ id: "Khartoum", name: "Khartoum", type: "city", parent: "SD" }, |
|
{ id: "AS", name: "Asia", type: "continent", parent: "earth" }, |
|
{ id: "CN", name: "China", type: "country", parent: "AS" }, |
|
{ id: "IN", name: "India", type: "country", parent: "AS" }, |
|
{ id: "RU", name: "Russia", type: "country", parent: "AS" }, |
|
{ id: "MN", name: "Mongolia", type: "country", parent: "AS" }, |
|
{ id: "OC", name: "Oceania", type: "continent", population: "21 million", parent: "earth"}, |
|
{ id: "AU", name: "Australia", type: "country", population: "21 million", parent: "OC"}, |
|
{ id: "EU", name: "Europe", type: "continent", parent: "earth" }, |
|
{ id: "DE", name: "Germany", type: "country", parent: "EU" }, |
|
{ id: "FR", name: "France", type: "country", parent: "EU" }, |
|
{ id: "ES", name: "Spain", type: "country", parent: "EU" }, |
|
{ id: "IT", name: "Italy", type: "country", parent: "EU" }, |
|
{ id: "NA", name: "North America", type: "continent", parent: "earth" }, |
|
{ id: "MX", name: "Mexico", type: "country", population: "108 million", area: "1,972,550 sq km", |
|
parent: "NA" }, |
|
{ id: "Mexico City", name: "Mexico City", type: "city", population: "19 million", timezone: "-6 UTC", parent: "MX"}, |
|
{ id: "Guadalajara", name: "Guadalajara", type: "city", population: "4 million", timezone: "-6 UTC", parent: "MX" }, |
|
{ id: "CA", name: "Canada", type: "country", population: "33 million", area: "9,984,670 sq km", parent: "NA" }, |
|
{ id: "Ottawa", name: "Ottawa", type: "city", population: "0.9 million", timezone: "-5 UTC", parent: "CA"}, |
|
{ id: "Toronto", name: "Toronto", type: "city", population: "2.5 million", timezone: "-5 UTC", parent: "CA" }, |
|
{ id: "US", name: "United States of America", type: "country", parent: "NA" }, |
|
{ id: "SA", name: "South America", type: "continent", parent: "earth" }, |
|
{ id: "BR", name: "Brazil", type: "country", population: "186 million", parent: "SA" }, |
|
{ id: "AR", name: "Argentina", type: "country", population: "40 million", parent: "SA" } |
|
]; |
|
|
|
// Create test store. |
|
continentStore = new Memory({ |
|
data: data |
|
}); |
|
|
|
// Since dojo.store.Memory doesn't have various store methods we need, we have to add them manually |
|
continentStore.getChildren = function(object){ |
|
// Add a getChildren() method to store for the data model where |
|
// children objects point to their parent (aka relational model) |
|
return this.query({parent: this.getIdentity(object)}); |
|
}; |
|
|
|
// Create the model for the Tree |
|
continentModel = new ObjectStoreModel({store: continentStore, query: {id: "earth"}}); |
|
|
|
var loadCompleteTime = +new Date(); |
|
console.log("Total load time: " + (loadCompleteTime - startTime) + "ms"); |
|
|
|
parser.parse(dom.byId('container')).then(function(){ |
|
console.info("Total parse time: " + (+new Date() - loadCompleteTime) + "ms"); |
|
|
|
dom.byId('loaderInner').innerHTML += " done."; |
|
setTimeout(function hideLoader(){ |
|
baseFx.fadeOut({ |
|
node: 'loader', |
|
duration: 500, |
|
onEnd: function(n){ |
|
n.style.display = "none"; |
|
} |
|
}).play(); |
|
}, 250); |
|
|
|
logStrayGlobals(); |
|
|
|
// 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/" } |
|
]; |
|
|
|
// Get current theme, a11y, and dir setting for page |
|
var curTheme = location.search.replace(/.*theme=([a-z]+).*/, "$1") || "claro", |
|
a11y = has("highcontrast") || /a11y=true/.test(location.search), |
|
rtl = document.body.parentNode.dir == "rtl"; |
|
console.log("Theme: " + curTheme + ", high contrast = " + a11y + ", dir = " + (rtl ? "rtl" : "ltr")); |
|
|
|
function setUrl(theme, rtl, a11y){ |
|
// Function to reload page with specified theme, rtl, and a11y settings |
|
location.search = "?theme=" + theme + (rtl ? "&dir=rtl" : "") + (a11y ? "&a11y=true" : ""); |
|
} |
|
|
|
// Create menu choices to test other themes |
|
array.forEach(availableThemes, function(theme){ |
|
registry.byId('themeMenu').addChild(new RadioMenuItem({ |
|
id: theme.theme + "_radio", |
|
label: theme.theme, |
|
group: "theme", |
|
checked: theme.theme == curTheme, |
|
onClick: function(){ |
|
// Change theme, keep current a11y and rtl settings |
|
setUrl(theme.theme, a11y, rtl); |
|
} |
|
})); |
|
}); |
|
registry.byId('themeMenu').addChild(new MenuSeparator({})); |
|
registry.byId('themeMenu').addChild(new CheckedMenuItem({ |
|
label: "RTL", |
|
checked: rtl, |
|
onChange: function(val){ |
|
// Keep current theme and a11y setting, but use new dir setting |
|
setUrl(curTheme, val, a11y); |
|
} |
|
})); |
|
registry.byId('themeMenu').addChild(new CheckedMenuItem({ |
|
label: "high contrast", |
|
checked: a11y, |
|
onChange: function(val){ |
|
// Keep current theme and dir setting, but use high-contrast (or not-high-contrast) setting |
|
setUrl(curTheme, rtl, val); |
|
} |
|
})); |
|
|
|
// 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 |
|
registry.byId("backgroundArea").set('value', locale.format(new Date(2005, 11, 30), { selector: 'date' })); |
|
|
|
var nineAm = new Date(0); |
|
nineAm.setHours(9); |
|
registry.byId("timePicker").set('value', locale.format(nineAm, { selector: 'time' })); |
|
}); |
|
}); |
|
</script> |
|
</head> |
|
<body class="claro"> |
|
<!-- basic preloader: --> |
|
<div id="loader"> |
|
<div id="loaderInner" style="direction:ltr;">Loading themeTester ...</div> |
|
</div> |
|
|
|
<script type="dojo/require"> |
|
dom: "dojo/dom", |
|
registry: "dijit/registry" |
|
</script> |
|
|
|
<!-- 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/RadioMenuItem" data-dojo-props="group:'zoom'">50%</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'zoom'">75%</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'zoom', checked:true">100%</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'zoom'">150%</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'zoom'">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/RadioMenuItem" data-dojo-props="group:'padding', onClick:setTextBoxPadding, checked:true">theme |
|
default |
|
</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'padding', onClick:setTextBoxPadding">0px</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'padding', onClick:setTextBoxPadding">1px</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'padding', onClick:setTextBoxPadding">2px</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'padding', onClick:setTextBoxPadding">3px</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'padding', onClick:setTextBoxPadding">4px</div> |
|
<div data-dojo-type="dijit/RadioMenuItem" data-dojo-props="group:'padding', 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> |
|
|
|
<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-centered']" |
|
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-centered']" 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-centered','after-centered']" |
|
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-centered']" 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="registry.byId('dialog1').show()">slow loading modal dialog</a></li> |
|
<li><a href="#" onclick="registry.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/ConfirmTooltipDialog" 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> |
|
</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 <span dir="ltr">(disabled)</span></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> |
|
|
|
<span id="l_selectEnabled">Enabled:</span> |
|
<div id="selectEnabled" data-dojo-type="dijit/form/Select" value="AK" aria-labelledby="l_selectEnabled"> |
|
<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> |
|
|
|
<span id="l_selectDisabled">Disabled:</span> |
|
<div id="selectDisabled" data-dojo-type="dijit/form/Select" value="AK" disabled aria-labelledby="l_selectDisabled"> |
|
<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:'place', |
|
store:continentStore, |
|
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:continentStore, name:'state2', searchAttr:'name' |
|
"> |
|
|
|
<label for="filteringSelect3">Disabled w/value: </label> |
|
<input id="filteringSelect3" data-dojo-type="dijit/form/FilteringSelect" data-dojo-props=" |
|
store: continentStore, 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){ dom.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){ dom.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="registry.byId('areaEditable').set('disabled', true)">disable</a> / |
|
<a href="#" onclick="registry.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 (; 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: continentStore, autoComplete: true, promptMessage: "Please enter a place"}, |
|
width:"300px" |
|
'>The earth</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>Vertical Source</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>Horizontal</h3> |
|
|
|
<div data-dojo-type="dojo/dnd/Source" data-dojo-props="horizontal: true" |
|
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"> |
|
<div data-dojo-type="dijit/layout/ContentPane" id="tab1href" |
|
href='../tests/layout/tab1.html' title="SubTab 1"></div> |
|
<div data-dojo-type="dijit/layout/ContentPane" id="tab2href" |
|
href='../tests/layout/tab2.html' title="SubTab 2"></div> |
|
<div data-dojo-type="dijit/layout/ContentPane" id="subtab3" title="SubTab 3"> |
|
<h1>I am tab 3, inlined.</h1> |
|
</div> |
|
<div data-dojo-type="dijit/layout/ContentPane" id="subtab4" 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:"Bottom 2", 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> |
|
<!-- btab2 --> |
|
|
|
</div> |
|
<!-- end Bottom TabContainer --> |
|
|
|
</div> |
|
<!-- end of BorderContainer --> |
|
|
|
<!-- dialog in body --> |
|
<div id="dialog1" data-dojo-type="dijit/ConfirmDialog" 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/ConfirmDialog" data-dojo-props="title:'Floating Modal Dialog'" style="display:none;"> |
|
<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> |
|
|
|
</body> |
|
</html>
|
|
|