/public/javascripts/dojo/dojox/dtl/demos/demo_Events.html

http://enginey.googlecode.com/ · HTML · 46 lines · 44 code · 2 blank · 0 comment · 0 complexity · 2c17bda1484ed70264dde1ea70f24c68 MD5 · raw file

  1. <html>
  2. <head>
  3. <title>Demo using dojox.dtl._Templated</title>
  4. <script type="text/javascript" src="../../../dojo/dojo.js"
  5. djConfig="isDebug: true, parseOnLoad: true"></script>
  6. <script type="text/javascript" src="../../../dijit/dijit.js"></script>
  7. <style type="text/css">
  8. @import "../../../dijit/themes/tundra/tundra.css";
  9. </style>
  10. <script type="text/javascript">
  11. dojo.require("dojox.dtl._HtmlTemplated");
  12. dojo.require("dijit.form.Button");
  13. dojo.declare("Fruit", [dijit._Widget, dojox.dtl._HtmlTemplated], {
  14. widgetsInTemplate: true,
  15. items: ["apple", "banana", "orange"],
  16. keyUp: function(e){
  17. if((e.type == "click" || e.keyCode == dojo.keys.ENTER) && this.input.value){
  18. var i = dojo.indexOf(this.items, this.input.value);
  19. if(i != -1){
  20. this.items.splice(i, 1);
  21. }else{
  22. this.items.push(this.input.value);
  23. }
  24. this.input.value = "";
  25. this.render();
  26. }
  27. },
  28. postCreate: function(){
  29. this.render();
  30. dojo.connect(this.button, "onClick", this, "keyUp");
  31. },
  32. debug: function(e, verb, fruit){
  33. console.debug("You " + verb + " a:", fruit);
  34. },
  35. // Note, the load tag here is superfluous, since _HtmlTemplate has a dojo.require for it.
  36. 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>'
  37. });
  38. dojo.require("dojo.parser");
  39. </script>
  40. </head>
  41. <body class="tundra">
  42. <div dojoType="Fruit"></div>
  43. </body>
  44. </html>