diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-14 15:39:19 +0000 |
commit | 1c5685d68f1b73270fb814fe04cbb490eb90ba5f (patch) | |
tree | 3d3ada08a934b96fc31531f1327690d7edc6f766 /includes/js/dojox/data/FlickrStore.js | |
parent | 104d59099e048688c4dbac37d72137006e396558 (diff) | |
download | semanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.gz semanticscuttle-1c5685d68f1b73270fb814fe04cbb490eb90ba5f.tar.bz2 |
Minor fix: Remove DOJO library (60Mo) replaced by link to Google CDN (online DOJO library)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@159 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/data/FlickrStore.js')
-rw-r--r-- | includes/js/dojox/data/FlickrStore.js | 257 |
1 files changed, 0 insertions, 257 deletions
diff --git a/includes/js/dojox/data/FlickrStore.js b/includes/js/dojox/data/FlickrStore.js deleted file mode 100644 index 4f282df..0000000 --- a/includes/js/dojox/data/FlickrStore.js +++ /dev/null @@ -1,257 +0,0 @@ -if(!dojo._hasResource["dojox.data.FlickrStore"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.data.FlickrStore"] = true; -dojo.provide("dojox.data.FlickrStore"); - -dojo.require("dojo.data.util.simpleFetch"); -dojo.require("dojo.io.script"); -dojo.require("dojo.date.stamp"); - -dojo.declare("dojox.data.FlickrStore", null, { - constructor: function(/*Object*/args){ - // summary: - // Initializer for the FlickrStore store. - // description: - // The FlickrStore is a Datastore interface to one of the basic services - // of the Flickr service, the public photo feed. This does not provide - // access to all the services of Flickr. - // This store cannot do * and ? filtering as the flickr service - // provides no interface for wildcards. - if(args && args.label){ - this.label = args.label; - } - }, - - _flickrUrl: "http://api.flickr.com/services/feeds/photos_public.gne", - - _storeRef: "_S", - - label: "title", - - _assertIsItem: function(/* item */ item){ - // summary: - // This function tests whether the item passed in is indeed an item in the store. - // item: - // The item to test for being contained by the store. - if(!this.isItem(item)){ - throw new Error("dojox.data.FlickrStore: a function was passed an item argument that was not an item"); - } - }, - - _assertIsAttribute: function(/* attribute-name-string */ attribute){ - // summary: - // This function tests whether the item passed in is indeed a valid 'attribute' like type for the store. - // attribute: - // The attribute to test for being contained by the store. - if(typeof attribute !== "string"){ - throw new Error("dojox.data.FlickrStore: a function was passed an attribute argument that was not an attribute name string"); - } - }, - - getFeatures: function(){ - // summary: - // See dojo.data.api.Read.getFeatures() - return { - 'dojo.data.api.Read': true - }; - }, - - getValue: function(item, attribute){ - // summary: - // See dojo.data.api.Read.getValue() - var values = this.getValues(item, attribute); - if(values){ - return values[0]; - } - return undefined; - }, - - getAttributes: function(item){ - // summary: - // See dojo.data.api.Read.getAttributes() - return ["title", "description", "author", "datePublished", "dateTaken", "imageUrl", "imageUrlSmall", "imageUrlMedium", "tags", "link"]; - }, - - hasAttribute: function(item, attribute){ - // summary: - // See dojo.data.api.Read.hasAttributes() - if(this.getValue(item,attribute)){ - return true; - } - return false; - }, - - isItemLoaded: function(item){ - // summary: - // See dojo.data.api.Read.isItemLoaded() - return this.isItem(item); - }, - - loadItem: function(keywordArgs){ - // summary: - // See dojo.data.api.Read.loadItem() - }, - - getLabel: function(item){ - // summary: - // See dojo.data.api.Read.getLabel() - return this.getValue(item,this.label); - }, - - getLabelAttributes: function(item){ - // summary: - // See dojo.data.api.Read.getLabelAttributes() - return [this.label]; - }, - - containsValue: function(item, attribute, value){ - // summary: - // See dojo.data.api.Read.containsValue() - var values = this.getValues(item,attribute); - for(var i = 0; i < values.length; i++){ - if(values[i] === value){ - return true; - } - } - return false; - }, - - getValues: function(item, attribute){ - // summary: - // See dojo.data.api.Read.getValue() - - this._assertIsItem(item); - this._assertIsAttribute(attribute); - if(attribute === "title"){ - return [this._unescapeHtml(item.title)]; - }else if(attribute === "author"){ - return [this._unescapeHtml(item.author)]; - }else if(attribute === "datePublished"){ - return [dojo.date.stamp.fromISOString(item.published)]; - }else if(attribute === "dateTaken"){ - return [dojo.date.stamp.fromISOString(item.date_taken)]; - }else if(attribute === "imageUrlSmall"){ - return [item.media.m.replace(/_m\./, "_s.")]; - }else if(attribute === "imageUrl"){ - return [item.media.m.replace(/_m\./, ".")]; - }else if(attribute === "imageUrlMedium"){ - return [item.media.m]; - }else if(attribute === "link"){ - return [item.link]; - }else if(attribute === "tags"){ - return item.tags.split(" "); - }else if(attribute === "description"){ - return [this._unescapeHtml(item.description)]; - } - return undefined; - }, - - isItem: function(item){ - // summary: - // See dojo.data.api.Read.isItem() - if(item && item[this._storeRef] === this){ - return true; - } - return false; - }, - - close: function(request){ - // summary: - // See dojo.data.api.Read.close() - }, - - _fetchItems: function(request, fetchHandler, errorHandler){ - // summary: - // Fetch flickr items that match to a query - // request: - // A request object - // fetchHandler: - // A function to call for fetched items - // errorHandler: - // A function to call on error - - if(!request.query){ - request.query={}; - } - - //Build up the content to send the request for. - var content = {format: "json", tagmode:"any"}; - if (request.query.tags) { - content.tags = request.query.tags; - } - if (request.query.tagmode) { - content.tagmode = request.query.tagmode; - } - if (request.query.userid) { - content.id = request.query.userid; - } - if (request.query.userids) { - content.ids = request.query.userids; - } - if (request.query.lang) { - content.lang = request.query.lang; - } - - //Linking this up to Flickr is a PAIN! - var self = this; - var handle = null; - var getArgs = { - url: this._flickrUrl, - preventCache: true, - content: content - }; - var myHandler = function(data){ - if(handle !== null){ - dojo.disconnect(handle); - } - - //Process the items... - fetchHandler(self._processFlickrData(data), request); - }; - handle = dojo.connect("jsonFlickrFeed", myHandler); - var deferred = dojo.io.script.get(getArgs); - - //We only set up the errback, because the callback isn't ever really used because we have - //to link to the jsonFlickrFeed function.... - deferred.addErrback(function(error){ - dojo.disconnect(handle); - errorHandler(error, request); - }); - }, - - _processFlickrData: function(data){ - var items = []; - if(data.items){ - items = data.items; - //Add on the store ref so that isItem can work. - for(var i = 0; i < data.items.length; i++){ - var item = data.items[i]; - item[this._storeRef] = this; - } - } - return items; - }, - - _unescapeHtml: function(str){ - // summary: Utility function to un-escape XML special characters in an HTML string. - // description: Utility function to un-escape XML special characters in an HTML string. - // - // str: String. - // The string to un-escape - // returns: HTML String converted back to the normal text (unescaped) characters (<,>,&, ", etc,). - // - //TODO: Check to see if theres already compatible escape() in dojo.string or dojo.html - str = str.replace(/&/gm, "&").replace(/</gm, "<").replace(/>/gm, ">").replace(/"/gm, "\""); - str = str.replace(/'/gm, "'"); - return str; - } -}); -dojo.extend(dojox.data.FlickrStore,dojo.data.util.simpleFetch); - -//We have to define this because of how the Flickr API works. -//This somewhat stinks, but what can you do? -if (!jsonFlickrFeed) { - var jsonFlickrFeed = function(data){}; -} - - -} |