Project

General

Profile

Statistics
| Revision:

root / trunk / web / dojo / dojox / image / FlickrBadge.js @ 10

History | View | Annotate | Download (1.83 KB)

1 9 andrej.cim
/*
2
        Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3
        Available via Academic Free License >= 2.1 OR the modified BSD license.
4
        see: http://dojotoolkit.org/license for details
5
*/
6
7
8
if(!dojo._hasResource["dojox.image.FlickrBadge"]){
9
dojo._hasResource["dojox.image.FlickrBadge"]=true;
10
dojo.provide("dojox.image.FlickrBadge");
11
dojo.require("dojox.image.Badge");
12
dojo.require("dojox.data.FlickrRestStore");
13
dojo.declare("dojox.image.FlickrBadge",dojox.image.Badge,{children:"a.flickrImage",userid:"",username:"",setid:"",tags:"",searchText:"",target:"",apikey:"8c6803164dbc395fb7131c9d54843627",_store:null,postCreate:function(){
14
if(this.username&&!this.userid){
15
var _1=dojo.io.script.get({url:"http://www.flickr.com/services/rest/",preventCache:true,content:{format:"json",method:"flickr.people.findByUsername",api_key:this.apikey,username:this.username},callbackParamName:"jsoncallback"});
16
_1.addCallback(this,function(_2){
17
if(_2.user&&_2.user.nsid){
18
this.userid=_2.user.nsid;
19
if(!this._started){
20
this.startup();
21
}
22
}
23
});
24
}
25
},startup:function(){
26
if(this._started){
27
return;
28
}
29
if(this.userid){
30
var _3={userid:this.userid};
31
if(this.setid){
32
_3["setid"]=this.setid;
33
}
34
if(this.tags){
35
_3.tags=this.tags;
36
}
37
if(this.searchText){
38
_3.text=this.searchText;
39
}
40
var _4=arguments;
41
this._store=new dojox.data.FlickrRestStore({apikey:this.apikey});
42
this._store.fetch({count:this.cols*this.rows,query:_3,onComplete:dojo.hitch(this,function(_5){
43
dojo.forEach(_5,function(_6){
44
var a=dojo.doc.createElement("a");
45
dojo.addClass(a,"flickrImage");
46
a.href=this._store.getValue(_6,"link");
47
if(this.target){
48
a.target=this.target;
49
}
50
var _7=dojo.doc.createElement("img");
51
_7.src=this._store.getValue(_6,"imageUrlThumb");
52
dojo.style(_7,{width:"100%",height:"100%"});
53
a.appendChild(_7);
54
this.domNode.appendChild(a);
55
},this);
56
dojox.image.Badge.prototype.startup.call(this,_4);
57
})});
58
}
59
}});
60
}