summaryrefslogtreecommitdiff
path: root/includes/js/dojox/dtl/demos/demo_Blog.html
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
commite44a7e37b6c7b5961adaffc62b9042b8d442938e (patch)
tree95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/dtl/demos/demo_Blog.html
parenta62b9742ee5e28bcec6872d88f50f25b820914f6 (diff)
downloadsemanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz
semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.bz2
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_Blog.html')
-rw-r--r--includes/js/dojox/dtl/demos/demo_Blog.html96
1 files changed, 96 insertions, 0 deletions
diff --git a/includes/js/dojox/dtl/demos/demo_Blog.html b/includes/js/dojox/dtl/demos/demo_Blog.html
new file mode 100644
index 0000000..c9bd990
--- /dev/null
+++ b/includes/js/dojox/dtl/demos/demo_Blog.html
@@ -0,0 +1,96 @@
+<html>
+ <head>
+ <title>Testing dojox.dtl using a blog example</title>
+ <script src="../../../dojo/dojo.js" djConfig="usePlainJson: true, parseOnLoad: true"></script>
+ <script>
+ dojo.require("dijit._Widget");
+ dojo.require("dojox.dtl._HtmlTemplated");
+ dojo.require("dojo.parser");
+
+ dojo.declare("demo.Blog", [dijit._Widget, dojox.dtl._HtmlTemplated],
+ {
+ buffer: dojox.dtl.render.html.sensitivity.NODE,
+ templatePath: dojo.moduleUrl("dojox.dtl.demos.templates", "blog_list.html"),
+ base: {
+ url: dojo.moduleUrl("dojox.dtl.demos.templates", "blog_base.html"),
+ shared: true
+ },
+ constructor: function(props, node){
+ this.list = false;
+ this.blogs = {};
+ this.pages = {};
+ },
+ postCreate: function(){
+ if(!this.list){
+ dojo.xhrGet({
+ url: dojo.moduleUrl("dojox.dtl.demos.json.blog", "get_blog_list.json"),
+ handleAs: "json"
+ }).addCallback(this, "_loadList");
+ }
+ },
+ _showList: function(obj){
+ this.title = "Blog Posts";
+ this.setTemplate(this.templatePath);
+ },
+ _showDetail: function(obj){
+ var key = obj.target.className.substring(5);
+
+ if(this.blogs[key]){
+ this.title = "Blog Post";
+ this.blog = this.blogs[key];
+ this.blog.title = this.blog_list[key].title;
+ this.setTemplate(dojo.moduleUrl("dojox.dtl.demos.templates", "blog_detail.html"));
+ }else{
+ dojo.xhrGet({
+ url: dojo.moduleUrl("dojox.dtl.demos.json.blog", "get_blog_" + key + ".json"),
+ handleAs: "json",
+ load: function(data){
+ data.key = key;
+ return data;
+ }
+ }).addCallback(this, "_loadDetail");
+ }
+ },
+ _showPage: function(obj){
+ var key = obj.target.className.substring(5);
+
+ if(this.pages[key]){
+ this.title = this.pages[key].title;
+ this.body = this.pages[key].body;
+ this.setTemplate(dojo.moduleUrl("dojox.dtl.demos.templates", "blog_page.html"));
+ }else{
+ dojo.xhrGet({
+ url: dojo.moduleUrl("dojox.dtl.demos.json.blog", "get_page_" + key + ".json"),
+ handleAs: "json",
+ load: function(data){
+ data.key = key;
+ return data;
+ }
+ }).addCallback(this, "_loadPage");
+ }
+ },
+ _loadList: function(data){
+ this.title = "Blog Posts";
+ dojo.mixin(this, data);
+ this.render();
+ },
+ _loadDetail: function(data){
+ data.date = new Date(data.date);
+ this.blogs[data.key] = data;
+ this.title = "Blog Post";
+ this.blog = data;
+ this.blog.title = this.blog_list[data.key].title;
+ this.setTemplate(dojo.moduleUrl("dojox.dtl.demos.templates", "blog_detail.html"));
+ },
+ _loadPage: function(data){
+ this.pages[data.key] = data;
+ dojo.mixin(this, data);
+ this.setTemplate(dojo.moduleUrl("dojox.dtl.demos.templates", "blog_page.html"));
+ }
+ });
+ </script>
+ </head>
+ <body>
+ <div dojoType="demo.Blog" />
+ </body>
+</html>