diff options
author | 2008-11-13 09:49:11 +0000 | |
---|---|---|
committer | 2008-11-13 09:49:11 +0000 | |
commit | e44a7e37b6c7b5961adaffc62b9042b8d442938e (patch) | |
tree | 95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/dtl/demos/demo_Dijitless.html | |
parent | a62b9742ee5e28bcec6872d88f50f25b820914f6 (diff) | |
download | scuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz scuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.zip |
New feature: basic Ajax suggestion for tags and implementation of Dojo toolkit
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@151 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/dtl/demos/demo_Dijitless.html')
-rw-r--r-- | includes/js/dojox/dtl/demos/demo_Dijitless.html | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/includes/js/dojox/dtl/demos/demo_Dijitless.html b/includes/js/dojox/dtl/demos/demo_Dijitless.html new file mode 100644 index 0000000..2aaceaa --- /dev/null +++ b/includes/js/dojox/dtl/demos/demo_Dijitless.html @@ -0,0 +1,50 @@ +<html> + <head> + <title>Demo using dojox.dtl._HtmlTemplated without Dijit</title> + <script type="text/javascript" src="../../../dojo/dojo.js" + djConfig="isDebug: true"></script> + <script type="text/javascript"> + dojo.require("dojox.dtl.html"); + dojo.require("dojox.dtl.render.html"); + dojo.require("dojox.dtl.Context"); + + dojo.addOnLoad(function(){ + var context = new dojox.dtl.Context({ + items: ["apple", "banana", "orange"] + }); + + var template = new dojox.dtl.HtmlTemplate("<ul><!--{% for item in items %}--><li><!--{{ item }}--></li><!--{% endfor %}--></ul>"); + // Render it plain + var node = template.render(context).getRootNode(); + dojo.body().appendChild(node); + + // Now show an example of how hard it is to manage stuff if the root node changes + var template2 = new dojox.dtl.HtmlTemplate("<!--{% ifequal items.length 3 %}--><ul><!--{% for item in items %}--><li><!--{{ item }}--></li><!--{% endfor %}--></ul>{% else %}<div>More than 3 items!</div>{% endifequal %}"); + // Render it plain + var node2 = template2.render(context).getRootNode(); + dojo.body().appendChild(node2); + + // Now show how the HTML Render object makes this easier + var renderer = new dojox.dtl.render.html.Render(dojo.byId("attach"), new dojox.dtl.HtmlTemplate("<!--{% ifequal items.length 3 %}--><ul><!--{% for item in items reversed %}--><li><!--{{ item }}--></li><!--{% endfor %}--></ul>{% else %}<div>More than 3 items!</div>{% endifequal %}")); + renderer.render(context); + + // Now re-render and break template2 + setTimeout(function(){ + context.items.push("guava"); + template.render(context); + template2.render(context); + renderer.render(context); + + // This is what has to be done to fix template2 + setTimeout(function(){ + var frag = template2.render(context).getRootNode(); + node2.parentNode.replaceChild(frag, node2); + }, 3000); + }, 3000); + }); + </script> + </head> + <body> + <div id="attach"></div> + </body> +</html> |