diff options
Diffstat (limited to 'js/dojo/dojox/rpc/demos/demo_GoogleAjax.html')
| -rw-r--r-- | js/dojo/dojox/rpc/demos/demo_GoogleAjax.html | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/js/dojo/dojox/rpc/demos/demo_GoogleAjax.html b/js/dojo/dojox/rpc/demos/demo_GoogleAjax.html new file mode 100644 index 0000000..fdd224f --- /dev/null +++ b/js/dojo/dojox/rpc/demos/demo_GoogleAjax.html @@ -0,0 +1,122 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> + <title>Demo of Google SMD</title> + <style type="text/css"> + @import "../../image/resources/image.css"; + body, html { + width:100%; + margin:0; padding:0; + } + .logo { + border:0; vertical-align:middle; + } + .summary { + color:#666; + font:8pt Arial,sans-serif; + } + #container { + width:720px; + margin:0 auto; + } + #loader { + position:absolute; + top:3px; + left:3px; + visibility:hidden; + height:50px; + width:50px; + background:url("../../../dojox/image/resources/images/loading.gif") no-repeat center center; + } + </style> + + <script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script> + <script type="text/javascript"> + dojo.require("dojox.rpc.Service"); + dojo.require("dojo.io.script"); + + var google, tehloader = null; + function init(){ + + google = new dojox.rpc.Service(dojo.moduleUrl("dojox.rpc","SMDLibrary/google.smd")); + + tehloader = dojo.partial(dojo.style,"loader","visibility"); + var getResults = function(e){ + + tehloader("visible"); + + dojo.query("li","top").forEach(function(item){ + dojo.byId("archive").appendChild(item); + }); + + var searchType = dojo.byId("searchType").value || "webSearch"; + google[searchType]({ q: dojo.byId("test").value }) + // generic succes handler: + .addCallback(function(returned){ + var ret = returned.responseData; + var info = ret.cursor; + var data = ret.results || []; + dojo.forEach(data,function(item){ + var li = dojo.doc.createElement('li'); + li.innerHTML = "<a target='_new' hr"+"ef='"+ (item.unescapedUrl || item.url) +"'>" + item.title + "</a><br />" + + "<span class='summary'>" + (item.content || item.streetAddress || "unknown") + "</span>"; + + console.log(item); + dojo.byId("top").appendChild(li); + }); + tehloader("hidden"); + }) + // something bad happened: + .addErrback(function(err){ + console.warn('ooops', err); + tehloader("hidden"); + }); + }; + + dojo.connect(dojo.byId("doit"), "onclick", getResults); + + } + dojo.addOnLoad(init); + + </script> +</head> + +<body> + <div id="loader"></div> + <div id="container"> + <h2><a href="http://google.com"><img class="logo" src="http://www.google.com/logos/Logo_40wht.gif" alt="Google" /></a> Ajax API SMD</h2> + + <input id="test" name="test" type="text" size="30" value="The Dojo Toolkit"/> + <select id="searchType"> + <option value="webSearch">web</option> + <option value="localSearch">local</option> + <option value="videoSearch">videos</option> + <option value="blogSearch">blog</option> + <option value="newsSearch">news</option> + <option value="bookSearch">books</option> + <option value="imageSearch">images</option> + </select> + <button id="doit" type="submit" value="search">Search</button> + + <div id="current"> + <h3>Results:</h3> + <ul id="top"></ul> + </div> + + <div id="past"> + <h3>Old Searches:</h3> + <ul id="archive"></ul> + </div> + + <hr> + + <p>There are many per-serivce options available. This demo just pulls data and tries ...</p> + <p>That's all folks. Unit tests to come when we address the io.script issue.</p> + + + </div> + + +</body> +</html> |
