+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"\r
- "http://www.w3.org/TR/html4/strict.dtd">\r
-<html>\r
- <head>\r
- <title>Dojo Button Widget Test</title>\r
-\r
- <style type="text/css">\r
- @import "../../../dojo/resources/dojo.css";\r
- @import "../css/dijitTests.css";\r
-\r
- /* group multiple buttons in a row */\r
- .box {\r
- display: block;\r
- text-align: center;\r
- }\r
- .box .dijit {\r
- margin-right: 10px;\r
- }\r
- </style>\r
-\r
- <script type="text/javascript" src="../../../dojo/dojo.js"\r
- djConfig="isDebug: true, parseOnLoad: true"></script>\r
- <script type="text/javascript" src="../_testCommon.js"></script>\r
-\r
- <script type="text/javascript">\r
- dojo.require("dijit.ColorPalette");\r
- dojo.require("dijit.Menu");\r
- dojo.require("dijit.Tooltip");\r
- dojo.require("dijit.form.Button");\r
- dojo.require("dojo.parser");\r
- </script>\r
- </head>\r
-<body>\r
- <h1 class="testTitle">Dijit Button Test</h1>\r
- <h2>Simple, drop down & combo buttons</h2>\r
- <p>\r
- Buttons can do an action, display a menu, or both:\r
- </p>\r
- <div class="box">\r
- <button id="1465" dojoType="dijit.form.Button" onClick='console.log("clicked simple")' iconClass="plusIcon">\r
- Create\r
- </button>\r
- <span dojoType="dijit.Tooltip" connectId="1465">tooltip on button</span>\r
- <div dojoType="dijit.form.DropDownButton" iconClass="noteIcon">\r
- <span>Edit<b>!</b></span>\r
- <div dojoType="dijit.Menu">\r
- <div dojoType="dijit.MenuItem" iconClass="dijitEditorIcon dijitEditorIconCut"\r
- onClick="console.log('not actually cutting anything, just a test!')">Cut</div>\r
- <div dojoType="dijit.MenuItem" iconClass="dijitEditorIcon dijitEditorIconCopy"\r
- onClick="console.log('not actually copying anything, just a test!')">Copy</div>\r
- <div dojoType="dijit.MenuItem" iconClass="dijitEditorIcon dijitEditorIconPaste"\r
- onClick="console.log('not actually pasting anything, just a test!')">Paste</div>\r
- <div dojoType="dijit.MenuSeparator"></div>\r
- <div dojoType="dijit.PopupMenuItem">\r
- <span>Submenu</span>\r
- <div dojoType="dijit.Menu" id="submenu2">\r
- <div dojoType="dijit.MenuItem" onClick="console.log('Submenu 1!')">Submenu Item One</div>\r
- <div dojoType="dijit.MenuItem" onClick="console.log('Submenu 2!')">Submenu Item Two</div>\r
- <div dojoType="dijit.PopupMenuItem">\r
- <span>Deeper Submenu</span>\r
- <div dojoType="dijit.Menu" id="submenu4">\r
- <div dojoType="dijit.MenuItem" onClick="console.log('Sub-submenu 1!')">Sub-sub-menu Item One</div>\r
- <div dojoType="dijit.MenuItem" onClick="console.log('Sub-submenu 2!')">Sub-sub-menu Item Two</div>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
- </div>\r
- <div dojoType="dijit.form.DropDownButton" iconClass="noteIcon">\r
- <span>Color</span>\r
- <div dojoType="dijit.ColorPalette" id="colorPalette" style="display: none" palette="3x4"\r
- onChange="console.log(this.value);"></div>\r
- </div>\r
- <div dojoType="dijit.form.ComboButton" optionsTitle='save options' onClick='console.log("clicked combo save")'\r
- iconClass="plusBlockIcon">\r
- <span>Save</span>\r
- <div dojoType="dijit.Menu" id="saveMenu" style="display: none;">\r
- <div dojoType="dijit.MenuItem" iconClass="dijitEditorIcon dijitEditorIconSave"\r
- onClick="console.log('not actually saving anything, just a test!')">Save</div>\r
- <div dojoType="dijit.MenuItem"\r
- onClick="console.log('not actually saving anything, just a test!')">Save As</div>\r
- </div>\r
- </div>\r
- <button dojoType="dijit.form.Button" onClick='console.log("clicked simple")' disabled='true' iconClass="plusIcon">\r
- Disabled\r
- </button>\r
- </div>\r
- <br clear=both>\r
- <h2>Buttons with no text label</h2>\r
- <p>Buttons have showLabel=false so text is not displayed. Should have title attribute displayed on mouse over</p>\r
- <div class="box">\r
- <button id="1466" dojoType="dijit.form.Button" onClick='console.log("clicked simple button with no text label")' \r
- iconClass="plusIcon" showLabel="false">\r
- <span><b>Rich</b><i> Text</i> Test!</span>\r
- </button>\r
- <div dojoType="dijit.form.DropDownButton" iconClass="noteIcon" showLabel="false">\r
- <span>Color</span>\r
- <div dojoType="dijit.ColorPalette" id="colorPalette2" style="display: none" palette="3x4"\r
- onChange="console.log(this.value);">\r
- </div>\r
- </div>\r
- <div dojoType="dijit.form.ComboButton" optionsTitle='save options' onClick='console.log("clicked combo save")'\r
- iconClass="plusBlockIcon" showLabel="false">\r
- <span>Save</span>\r
- <div dojoType="dijit.Menu" id="saveMenu2" style="display: none;">\r
- <div dojoType="dijit.MenuItem" iconClass="dijitEditorIcon dijitEditorIconSave"\r
- onClick="console.log('not actually saving anything, just a test!')">Save</div>\r
- <div dojoType="dijit.MenuItem"\r
- onClick="console.log('not actually saving anything, just a test!')">Save As</div>\r
- </div>\r
- </div> \r
- </div>\r
- <br clear=both> \r
- <h2>Toggle buttons</h2>\r
- <p>The button CSS as well as the icon CSS can change on toggle </p>\r
- <div class="box">\r
- <button dojoType="dijit.form.ToggleButton" checked onChange="console.log('toggled button checked='+arguments[0]);" iconClass="dijitCheckBoxIcon">\r
- Toggle me\r
- </button>\r
- <button dojoType="dijit.form.ToggleButton" onChange="console.log('toggled button checked='+arguments[0]);" iconClass="dijitRadioIcon">\r
- Toggle me\r
- </button>\r
- </div>\r
- <br clear=both>\r
- <h2>Sizing</h2>\r
- <p>Short button, tall buttons, big buttons, small buttons...\r
- These buttons size to their content (just like <button>).</p>\r
- <div class="box">\r
- <button dojoType="dijit.form.Button" onclick='console.log("big");' iconClass="flatScreenIcon">\r
- <span style="font-size:xx-large">big</span>\r
- </button>\r
- <button id="smallButton1" dojoType="dijit.form.Button" onclick='console.log("small");'>\r
- <img src="../images/arrowSmall.gif" width="15" height="5">\r
- <span style="font-size:x-small">small</span>\r
- </button>\r
- <button dojoType="dijit.form.Button" onclick='console.log("long");'>\r
- <img src="../images/tube.gif" width="150" height="16">\r
- long\r
- </button>\r
- <button dojoType="dijit.form.Button" onclick='console.log("tall");' width2height="0.1">\r
- <img src="../images/tubeTall.gif" height="75" width="35"><br>\r
- <span style="font-size:medium">tall</span>\r
- </button>\r
- <div style="clear: both;"></div>\r
- </div>\r
- <br clear=both>\r
- <h2>Customized buttons</h2>\r
- <p>Dojo users can customize styles. Here's an example:</p>\r
- <style>\r
- .acmeButton .dijitButtonNode {\r
- background: rgb(96,96,96) !important;\r
- color: white !important;\r
- padding: 10px !important;\r
- font-size: x-large !important;\r
- padding-top: 10px !important;\r
- padding-bottom: 10px !important;\r
- border: 2px inset rgb(96,96,96);\r
- }\r
- .acmeButtonHover .dijitButtonNode {\r
- background-color: rgb(89,94,111) !important;\r
- color: cyan !important;\r
- }\r
- .acmeButtonFocused .dijitButtonNode {\r
- border: yellow inset 2px;\r
- }\r
- .acmeButtonActive .dijitButtonNode {\r
- background-color: white !important;\r
- color: black !important;\r
- border: 2px solid black !important;\r
- }\r
- </style>\r
- <div class="box">\r
- <button baseClass="acmeButton" dojoType="dijit.form.Button" onclick='console.log("short");'>\r
- short\r
- </button>\r
- <button baseClass="acmeButton" dojoType="dijit.form.Button" onclick='console.log("longer");'>\r
- bit longer\r
- </button>\r
- <button baseClass="acmeButton" dojoType="dijit.form.Button" onclick='console.log("longer yet");'>\r
- ridiculously long\r
- </button>\r
- <div style="clear: both;"></div>\r
- </div>\r
- <h2>Toggling the display test</h2>\r
- <p>\r
- (Ticket <a href="http://trac.dojotoolkit.org/ticket/403">#403</a>)\r
- </p>\r
- <div class="box">\r
- <button dojoType="dijit.form.Button" onclick='dojo.byId("hiddenNode").style.display="inline";'>\r
- Show Hidden Buttons\r
- </button>\r
- </div>\r
- <div class="box" style="display:none;" id="hiddenNode">\r
- <button dojoType="dijit.form.Button" onclick='console.log("clicked simple")' iconClass="plusIcon">\r
- Create\r
- </button>\r
- <button dojoType="dijit.form.Button" onclick='console.log("clicked simple")' iconClass="plusIcon">\r
- Create\r
- </button>\r
- </div>\r
- <div style="clear: both;"></div>\r
- <h2>Programatically changing buttons</h2>\r
- <p>clicking the buttons below will change the buttons above</p>\r
- <script type="text/javascript">\r
- // FIXME: doesn't the manager have a function for filtering by type?\r
- function forEachButton(func){\r
- dijit.registry.filter(function(widget){ return widget instanceof dijit.form.Button; }).forEach(func);\r
- }\r
- var disabled=false;\r
- function toggleDisabled(){ \r
- disabled=!disabled;\r
- forEachButton(function(widget){ widget.setAttribute('disabled',disabled); });\r
- dojo.byId("toggle").innerHTML= disabled ? "Enable all" : "Disable all";\r
- }\r
- var labels=["<img src='../images/note.gif' width='20' height='20'>All", "<i>work</i>", "and no", "<h1>play</h1>",\r
- "<span style='color: red'>makes</span>", "Jack", "<h3>a</h3>", "dull",\r
- "<img src='../images/plus.gif' width='16' height='16'>boy"];\r
- var idx=0;\r
- function changeLabels(){\r
- forEachButton(function(widget){\r
- widget.setLabel( labels[idx++ % labels.length]);\r
- });\r
- }\r
- </script>\r
- <div>\r
- <button id="toggle" onclick='toggleDisabled()'>Disable all</button>\r
- <button onclick='changeLabels()'>Change labels</button>\r
- <button onclick='location.reload()'>Revert</button>\r
- </div>\r
- <h3>Button instantiated via javacript:</h3>\r
- <div id="buttonContainer"></div>\r
- <script type="text/javascript">\r
- // See if we can make a button in script and attach it to the DOM ourselves.\r
- dojo.addOnLoad(function(){\r
- var params = {\r
- label: "hello!",\r
- name: "programmatic"\r
- };\r
- var widget = new dijit.form.Button(params, document.getElementById("buttonContainer"));\r
- });\r
- </script>\r
- <h3>DropDownButton instantiated via javacript:</h3>\r
- <div id="dropdownButtonContainer"></div>\r
- <script type="text/javascript">\r
- // See if we can make a drop down button in script and attach it to the DOM ourselves.\r
- function createButton(){\r
- var menu = new dijit.Menu({ });\r
- menu.domNode.style.display="none";\r
- var menuItem1 = new dijit.MenuItem({\r
- label: "Save",\r
- iconClass:"dijitEditorIcon dijitEditorIconSave",\r
- onClick: function(){ alert('save'); }\r
- });\r
- menu.addChild(menuItem1);\r
-\r
- var menuItem2 = new dijit.MenuItem({\r
- label: "Cut",\r
- iconClass:"dijitEditorIcon dijitEditorIconCut",\r
- onClick: function(){ alert('cut'); }\r
- });\r
- menu.addChild(menuItem2);\r
-\r
- var params = {\r
- label: "hello!",\r
- name: "programmatic2",\r
- dropDown: menu,\r
- id: "progButton"\r
- };\r
- var widget = new dijit.form.DropDownButton(params);\r
- dojo.byId("dropdownButtonContainer").appendChild(widget.domNode);\r
- dojo.byId("createButton").disabled = true;\r
- dojo.byId("destroyButton").disabled = false;\r
- }\r
- function destroyButton(){\r
- var button = dijit.byId("progButton");\r
- button.destroyRecursive();\r
- dojo.byId("createButton").disabled = false;\r
- dojo.byId("destroyButton").disabled = true;\r
- }\r
- </script>\r
- <button id="createButton" onclick="createButton();">create dropdown button</button>\r
- <button id="destroyButton" onclick="destroyButton();">destroy dropdown button</button>\r
-\r
-</body>\r
-</html>\r