2 This file is a demo of the PicasaStore, a simple wrapper to the public feed service
3 of Picasa. This just does very basic queries against Picasa and loads the results
4 into a list viewing widget.
8 <title>Demo of PicasaStore</title>
9 <style type="text/css">
11 @import "../../../dijit/themes/tundra/tundra.css";
12 @import "../../../dojo/resources/dojo.css";
13 @import "../../../dijit/tests/css/dijitTests.css";
14 @import "./picasaDemo.css";
17 <script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
18 <script type="text/javascript">
19 dojo.require("dojo.parser");
20 dojo.require("dijit.form.TextBox");
21 dojo.require("dijit.form.Button");
22 dojo.require("dijit.form.ComboBox");
23 dojo.require("dijit.form.NumberSpinner");
24 dojo.require("dijit.Tree");
25 dojo.require("dojox.data.PicasaStore");
26 dojo.require("dojox.data.demos.widgets.PicasaViewList");
27 dojo.require("dojox.data.demos.widgets.PicasaView");
30 var fViewWidgets = [];
32 //Set up an onComplete handler for flickrData
33 function onComplete(items, request){
34 flickrViewsWidget.clearList();
36 for(var i = 0; i < items.length; i++){
38 title: flickrStore.getValue(items[i],"title"),
39 author: flickrStore.getValue(items[i],"author"),
40 description: flickrStore.getValue(items[i],"description"),
41 iconUrl: flickrStore.getValue(items[i],"imageUrlSmall"),
42 imageUrl: flickrStore.getValue(items[i],"imageUrl")
44 flickrViewsWidget.addView(flickrData);
47 statusWidget.setValue("PROCESSING COMPLETE.");
50 //What to do if a search fails...
51 function onError(error, request){
52 flickrViewsWidget.clearList();
53 statusWidget.setValue("PROCESSING ERROR.");
56 //Function to invoke the search of the FlickrStore
57 function invokeSearch(){
60 onComplete: onComplete,
65 var userid = idWidget.getValue();
66 if(userid && userid !== ""){
67 request.query.userid = userid;
71 var tags = tagsWidget.getValue();
72 if(tags && tags !== ""){
73 var tagsArray = tags.split(" ");
75 for(var i = 0; i < tagsArray.length; i++){
76 tags = tags + tagsArray[i];
77 if(i < (tagsArray.length - 1)){
81 request.query.tags = tags;
85 request.count = countWidget.getValue();
89 request.query.start = startWidget.getValue();
93 statusWidget.setValue("PROCESSING REQUEST");
96 flickrStore.fetch(request);
99 //Lastly, link up the search event.
100 var button = dijit.byId("searchButton");
101 dojo.connect(button, "onClick", invokeSearch);
103 dojo.addOnLoad(init);
107 <body class="tundra">
109 DEMO: PicasaStore Search
116 This simple demo shows how services, such as Flickr, can be wrapped by the datastore API. In this demo, you can search public Flickr images through a simple FlickrStore by specifying a series of tags (separated by spaces) to search on. The results will be displayed below the search box.
119 For fun, search on the 3dny tag!
125 The store instance used by this demo.
134 <div dojoType="dijit.form.TextBox" size="50" id="status" jsId="statusWidget" disabled="true"></div>
142 <div dojoType="dijit.form.TextBox" size="50" id="userid" jsId="idWidget"></div>
150 <div dojoType="dijit.form.TextBox" size="50" id="tags" jsId="tagsWidget" value="flower"></div>
155 <b>Number of Pictures:</b>
161 dojoType="dijit.form.NumberSpinner"
163 constraints="{min:1,places:0}"
168 dojoType="dijit.form.NumberSpinner"
170 constraints="{min:1,max:100,places:0}"
178 <div dojoType="dijit.form.Button" label="Search" id="searchButton" jsId="searchButtonWidget"></div>
184 <div dojoType="dojox.data.PicasaStore" jsId="flickrStore" label="title"></div>
185 <div dojoType="dojox.data.demos.widgets.PicasaViewList" id="flickrViews" jsId="flickrViewsWidget"></div>