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.
46 lines
1.7 KiB
46 lines
1.7 KiB
<html> |
|
<head> |
|
<title>Demo using dojox.dtl._Templated</title> |
|
<script type="text/javascript" src="../../../dojo/dojo.js" |
|
djConfig="isDebug: true, parseOnLoad: true"></script> |
|
<style type="text/css"> |
|
@import "../../../dijit/themes/tundra/tundra.css"; |
|
</style> |
|
<script type="text/javascript"> |
|
dojo.require("dijit._WidgetBase"); |
|
dojo.require("dojox.dtl._DomTemplated"); |
|
dojo.require("dijit.form.Button"); |
|
|
|
dojo.declare("Fruit", [dijit._WidgetBase, dojox.dtl._DomTemplated], { |
|
widgetsInTemplate: true, |
|
items: ["apple", "banana", "orange"], |
|
keyUp: function(e){ |
|
if((e.type == "click" || e.keyCode == dojo.keys.ENTER) && this.input.value){ |
|
var i = dojo.indexOf(this.items, this.input.value); |
|
if(i != -1){ |
|
this.items.splice(i, 1); |
|
}else{ |
|
this.items.push(this.input.value); |
|
} |
|
this.input.value = ""; |
|
this.render(); |
|
} |
|
}, |
|
postCreate: function(){ |
|
this.render(); |
|
dojo.connect(this.button, "onClick", this, "keyUp"); |
|
}, |
|
debug: function(e, verb, fruit){ |
|
console.debug("You " + verb + " a:", fruit); |
|
}, |
|
// Note, the load tag here is superfluous, since _DomTemplate has a dojo.require for it. |
|
templateString: '{% load dojox.dtl.contrib.dijit %}<div><input dojoAttachEvent="onkeyup: keyUp" dojoAttachPoint="input"> <button dojoType="dijit.form.Button" dojoAttachPoint="button">Add/Remove Item</button><ul><!--{% for item in items %}--><li onclick="debug \'ate\' item"><!--{{ item }}--></li><!--{% endfor %}--></ul></div>' |
|
}); |
|
|
|
dojo.require("dojo.parser"); |
|
</script> |
|
</head> |
|
<body class="tundra"> |
|
<div dojoType="Fruit"></div> |
|
</body> |
|
</html>
|
|
|