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.
120 lines
5.5 KiB
120 lines
5.5 KiB
<!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>
|
|
|