diff options
Diffstat (limited to 'includes/js/dojox/grid/tests/yahooSearch.js')
-rw-r--r-- | includes/js/dojox/grid/tests/yahooSearch.js | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/includes/js/dojox/grid/tests/yahooSearch.js b/includes/js/dojox/grid/tests/yahooSearch.js deleted file mode 100644 index 1d57a8e..0000000 --- a/includes/js/dojox/grid/tests/yahooSearch.js +++ /dev/null @@ -1,137 +0,0 @@ -dojo.require("dojo.io.script") -dojo.require("dojox.rpc.Service"); - -// model that works with Yahoo Search API -dojo.declare("dojox.grid.data.yahooSearch", dojox.grid.data.Dynamic, { - constructor: function(inFields, inData, inSearchNode){ - this.rowsPerPage = 20; - this.searchNode = inSearchNode; - this.fieldNames = dojo.map(inFields, "return item.name;"); - this.yahoo = new dojox.rpc.Service( - dojo.moduleUrl("dojox.rpc.SMDLibrary", "yahoo.smd") - ); - }, - // server send / receive - send: function(inAsync, inParams, inOnReceive, inOnError){ - var d = this.yahoo.imageSearch( - dojo.mixin({ - results: this.rowsPerPage, - query: this.getQuery() - }, inParams) - ); - d.addCallbacks( - dojo.hitch(this, "receive", inOnReceive, inOnError), - dojo.hitch(this, "error", inOnError) - ); - this.onSend(inParams); - return d; - }, - receive: function(inOnReceive, inOnError, inData){ - try{ - inData = inData.ResultSet; - inOnReceive(inData); - this.onReceive(inData); - }catch(e){ - if(inOnError){ - inOnError(inData); - } - } - }, - error: function(inOnError, inErr) { - var m = 'io error: ' + inErr.message; - alert(m); - if (inOnError) - inOnError(m); - }, - encodeParam: function(inName, inValue) { - return dojo.string.substitute('&${0}=${1}', [inName, inValue]); - }, - getQuery: function(){ - return dojo.byId(this.searchNode).value.replace(/ /g, '+'); - }, - fetchRowCount: function(inCallback){ - this.send(true, inCallback); - }, - // request data - requestRows: function(inRowIndex, inCount){ - inRowIndex = (inRowIndex == undefined ? 0 : inRowIndex); - var params = { - start: inRowIndex + 1 - } - this.send(true, params, dojo.hitch(this, this.processRows)); - }, - // server callbacks - processRows: function(inData){ - for(var i=0, l=inData.totalResultsReturned, s=inData.firstResultPosition; i<l; i++){ - this.setRow(inData.Result[i], s - 1 + i); - } - // yahoo says 1000 is max results to return - var c = Math.min(1000, inData.totalResultsAvailable); - if(this.count != c){ - this.setRowCount(c); - this.allChange(); - this.onInitializeData(inData); - } - }, - getDatum: function(inRowIndex, inColIndex){ - var row = this.getRow(inRowIndex); - var field = this.fields.get(inColIndex); - return (inColIndex == undefined ? row : (row ? row[field.name] : field.na)); - }, - // events - onInitializeData: function(){ }, - onSend: function(){ }, - onReceive: function(){ } -}); - -// report -modelChange = function(){ - var n = dojo.byId('rowCount'); - if(n){ - n.innerHTML = dojo.string.substitute('about ${0} row(s)', [model.count]); - } -} - - -// some data formatters -getCellData = function(inCell, inRowIndex, inField){ - var m = inCell.grid.model; - return m.getDatum(inRowIndex, inField); -} - -formatLink = function(inData, inRowIndex){ - if(!inData){ return ' '; } - var text = getCellData(this, inRowIndex, this.extraField); - return dojo.string.substitute( - '<a target="_blank" href="${href}">${text}</a>', - { href: inData, text: text } - ); -}; - -formatImage = function(inData, inRowIndex){ - if(!inData){ return ' '; } - var info = getCellData(this, inRowIndex, this.extraField); - var o = { - href: inData, - src: info.Url, - width: info.Width, - height: info.Height - } - return dojo.string.substitute( - '<a href="${href}" target="_blank"><img border=0 src="${src}" width="${width}" height="${height}"></a>', o); -}; - -formatDate = function(inDatum, inRowIndex){ - if(!inDatum){ return ' '; } - var d = new Date(inDatum * 1000); - return dojo.string.substitute( - "${0}/${1}/${2}", - [ d.getMonth()+1, d.getDate(), d.getFullYear() ] - ); -}; - -formatDimensions = function(inData, inRowIndex){ - if(!inData){ return ' '; } - var w = inData, h = getCellData(this, inRowIndex, this.extraField); - return w + ' x ' + h; -} |