summaryrefslogtreecommitdiff
path: root/includes/js/dojox/dtl/demos/demo_Data.html
blob: 93bb76fd087718fd8ea93b17c15da24442243672 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<html>
	<head>
			<title>Demo using the dojo.data bind_data tag</title>
	    <script type="text/javascript" src="../../../dojo/dojo.js"
				djConfig="isDebug: true, parseOnLoad: true"></script>
	    <script type="text/javascript" src="../../../dijit/dijit.js"></script> 
	    <script type="text/javascript">
				dojo.require("dojox.dtl._Templated");
				dojo.require("dojox.data.FlickrRestStore");
				dojo.require("dojo.parser");

				dojo.declare("demo.Gallery", [dijit._Widget, dojox.dtl._Templated], {
					templatePath: dojo.moduleUrl("dojox.dtl.demos.templates", "gallery.html"),
					store: new dojox.data.FlickrRestStore(),
					selectThumbnail: function(e){
						this.selected = e.target.className;
						this.render();
					},
					keyUp: function(e){
						if(e.keyCode == dojo.keys.ENTER){
							var search = e.target.value;
							var query = {
								query: {
									userid: "44153025@N00",
									apikey: "8c6803164dbc395fb7131c9d54843627",
									sort: [
										   {
											attribute: "interestingness",
											descending: true
											}
									],
									tags: search.split(/\s*,\s*/g),
									tag_mode: "any"
								},
								start: 0,
								count: 10,
								onBegin: dojo.hitch(this, function(total){
									console.debug(total);
									this._maxPhotos = total;
								}),
								onComplete: dojo.hitch(this, function(items, request){
									console.debug(items);
									if(items && items.length) {
										this.items = items;
										this.render();
									}
								})
							};
							this.store.fetch(query);
						}
					}
				});
	    </script>
			<body>
				<div dojoType="demo.Gallery"></div>
			</body>
	</head>
</html>