summaryrefslogtreecommitdiff
path: root/js/dojo-1.7.2/dojox/rpc/demos/wikipedia.html
blob: 4aeb2331d43be62c80a20e9cd11ccc3faa5ce016 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<html>
	<head>
		<title>
			Wikipedia Article Grabber Demo
		</title>
		<script src="../../../dojo/dojo.js" type="text/javascript"
			djConfig="parseOnLoad: true, isDebug: true"></script>
		<script type="text/javascript">
			dojo.require("dojo.io.script")
			dojo.require("dojox.rpc.Service");
			dojo.require("dijit._Widget");
			dojo.require("dojox.dtl._Templated");
			dojo.require("dojo.parser");

			dojo.declare("WikipediaPageGrabber", [dijit._Widget, dojox.dtl._Templated], {
				constructor: function(params, node){
					var mu = dojo.moduleUrl("dojox.rpc.SMDLibrary", "wikipedia.smd");
					this.wikipedia = new dojox.rpc.Service(mu);
				},
				onSearch: function(e){
					if(e.keyCode == dojo.keys.ENTER){
						this.wikipedia.query({
							action: "parse",
							page: e.target.value
						}).addCallback(this, function(article){
							console.debug(article.parse);
							this.article = article.parse;
							this.parsedText = article.parse.text["*"]; // ugh, crazy JSON structure here
							this.render();
						});
					}
				},
				templateString: dojo.cache("dojox.rpc.demos.templates", "wikipedia.html")
			});
		</script>
	</head>
	<body>
		<h1>Wikipedia Page Grabber</h1>
		<div dojoType="WikipediaPageGrabber"></div>
	</body>
</html>