UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

121 lines (116 loc) 5.66 kB
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/> <meta name="apple-mobile-web-app-capable" content="yes"/> <title>Editable Icon Container</title> <link href="../themes/common/domButtons/DomButtonRedBadge.css" rel="stylesheet"/> <script type="text/javascript" src="../deviceTheme.js" data-dojo-config="mblThemeFiles: ['base','IconContainer']"></script> <script type="text/javascript" src="../../../dojo/dojo.js" data-dojo-config="async: true, parseOnLoad: true"></script> <script type="text/javascript"> require([ "dojo/_base/connect", "dojo/dom", "dojo/dom-construct", "dojo/ready", "dijit/registry", "dojox/mobile/parser", "dojox/mobile", "dojox/mobile/compat", "dojox/mobile/IconContainer", "dojox/mobile/ScrollableView" ], function(connect, dom, domConstruct, ready, registry){ function onKeydown(e){ if(e.keyCode == 39 && e.shiftKey){ // right var item = registry.getEnclosingWidget(e.target); var next = item.getNextSibling(); if(next){ domConstruct.place(item.domNode, next.domNode, "after"); item.domNode.focus(); } }else if(e.keyCode == 37 && e.shiftKey){ // left var item = registry.getEnclosingWidget(e.target); var prev = item.getPreviousSibling(); if(prev){ domConstruct.place(item.domNode, prev.domNode, "before"); item.domNode.focus(); } }else if(e.keyCode == 46){ // Delete var item = registry.getEnclosingWidget(e.target); if(item.deletable){ widget.deleteItem(item); } } } startEdit = function(){ widget.startEdit(); } endEdit = function(){ widget.endEdit(); } ready(function(){ widget = registry.byId("iconContainer"); // IconContainer widget connect.connect(widget, "onStartEdit", function(){ dom.byId("btn1").style.display = "none"; dom.byId("btn2").style.display = ""; keyHandler = connect.connect(widget.domNode, "onkeydown", onKeydown); }); dojo.connect(widget, "onEndEdit", function(){ dom.byId("btn1").style.display = ""; dom.byId("btn2").style.display = "none"; connect.disconnect(keyHandler); }); }); }); </script> <style> .box { border: 1px solid #A7C0E0; width: 300px; height: 250px; background-image: url(images/widget-bg.png); background-repeat: no-repeat; background-color: white; } </style> </head> <body style="visibility:hidden;"> <div id="view1" data-dojo-type="dojox.mobile.ScrollableView"> <h1 data-dojo-type="dojox.mobile.Heading">Editable Icon Container</h1> <ul id="iconContainer" data-dojo-type="dojox.mobile.IconContainer" data-dojo-props='editable:true, deleteIconTitle:"delete", deleteIconRole:"button"'> <li id="icon1" data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app1", icon:"images/icon1.png", badge:"55"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app2", icon:"images/icon2.png", deletable:false'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app3", icon:"images/icon3.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app4", icon:"images/icon4.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app5", icon:"images/icon5.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app6", icon:"images/icon6.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app7", icon:"images/icon7.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app8", icon:"images/icon8.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app9", icon:"images/icon9.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"app10", icon:"images/icon10.png"'><div class="box"></div></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"moveTo", icon:"images/icon1.png", moveTo:"about", transition:"slide"'></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"href", icon:"images/icon2.png", href:"test_RoundRectList.html", transition:"slide"'></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"url", icon:"images/icon3.png", url:"data/view-sample.html", transition:"slide"'></li> <li data-dojo-type="dojox.mobile.IconItem" data-dojo-props='label:"url-async", icon:"images/icon4.png", url:"data/view-sample.html", transition:"slide", sync:false'></li> </ul> <button id="btn1" onclick="startEdit();">Start Edit</button> <button id="btn2" onclick="endEdit();" style="display:none;">End Edit</button> </div> <div id="about" data-dojo-type="dojox.mobile.View"> <h1 data-dojo-type="dojox.mobile.Heading" data-dojo-props='back:"Icon Container", moveTo:"view1"'>About</h1> <h2 data-dojo-type="dojox.mobile.RoundRectCategory">My Phone</h2> <ul data-dojo-type="dojox.mobile.RoundRectList"> <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='rightText:"AcmePhone"'> Network </li> <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='rightText:"AcmePhone"'> Line </li> <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='rightText:"1024"'> Songs </li> </ul> </div> </body> </html>