mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2026-02-10 16:01:33 +00:00
upgrade dojo to 1.8.3 (refs #570)
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
|
||||
Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
|
||||
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||||
see: http://dojotoolkit.org/license for details
|
||||
*/
|
||||
|
||||
//>>built
|
||||
define("dojo/rpc/JsonService",["../main","./RpcService"],function(_1){_1.declare("dojo.rpc.JsonService",_1.rpc.RpcService,{bustCache:false,contentType:"application/json-rpc",lastSubmissionId:0,callRemote:function(_2,_3){var _4=new _1.Deferred();this.bind(_2,_3,_4);return _4;},bind:function(_5,_6,_7,_8){var _9=_1.rawXhrPost({url:_8||this.serviceUrl,postData:this.createRequest(_5,_6),contentType:this.contentType,timeout:this.timeout,handleAs:"json-comment-optional"});_9.addCallbacks(this.resultCallback(_7),this.errorCallback(_7));},createRequest:function(_a,_b){var _c={"params":_b,"method":_a,"id":++this.lastSubmissionId};return _1.toJson(_c);},parseResults:function(_d){if(_1.isObject(_d)){if("result" in _d){return _d.result;}if("Result" in _d){return _d.Result;}if("ResultSet" in _d){return _d.ResultSet;}}return _d;}});return _1.rpc.JsonService;});
|
||||
define("dojo/rpc/JsonService",["../_base/declare","../_base/Deferred","../_base/json","../_base/lang","../_base/xhr","./RpcService"],function(_1,_2,_3,_4,_5,_6){return _1("dojo.rpc.JsonService",_6,{bustCache:false,contentType:"application/json-rpc",lastSubmissionId:0,callRemote:function(_7,_8){var _9=new _2();this.bind(_7,_8,_9);return _9;},bind:function(_a,_b,_c,_d){var _e=_5.post({url:_d||this.serviceUrl,postData:this.createRequest(_a,_b),contentType:this.contentType,timeout:this.timeout,handleAs:"json-comment-optional"});_e.addCallbacks(this.resultCallback(_c),this.errorCallback(_c));},createRequest:function(_f,_10){var req={"params":_10,"method":_f,"id":++this.lastSubmissionId};return _3.toJson(req);},parseResults:function(obj){if(_4.isObject(obj)){if("result" in obj){return obj.result;}if("Result" in obj){return obj.Result;}if("ResultSet" in obj){return obj.ResultSet;}}return obj;}});});
|
||||
@@ -0,0 +1,87 @@
|
||||
define("dojo/rpc/JsonService", [
|
||||
"../_base/declare", "../_base/Deferred", "../_base/json", "../_base/lang", "../_base/xhr",
|
||||
"./RpcService"
|
||||
], function(declare, Deferred, json, lang, xhr, RpcService){
|
||||
|
||||
// module:
|
||||
// dojo/rpc/JsonService
|
||||
|
||||
return declare("dojo.rpc.JsonService", RpcService, {
|
||||
// summary:
|
||||
// TODOC
|
||||
|
||||
bustCache: false,
|
||||
contentType: "application/json-rpc",
|
||||
lastSubmissionId: 0,
|
||||
|
||||
callRemote: function(method, params){
|
||||
// summary:
|
||||
// call an arbitrary remote method without requiring it to be
|
||||
// predefined with SMD
|
||||
// method: string
|
||||
// the name of the remote method you want to call.
|
||||
// params: array
|
||||
// array of parameters to pass to method
|
||||
|
||||
var deferred = new Deferred();
|
||||
this.bind(method, params, deferred);
|
||||
return deferred;
|
||||
},
|
||||
|
||||
bind: function(method, parameters, deferredRequestHandler, url){
|
||||
// summary:
|
||||
// JSON-RPC bind method. Takes remote method, parameters,
|
||||
// deferred, and a url, calls createRequest to make a JSON-RPC
|
||||
// envelope and passes that off with bind.
|
||||
// method: string
|
||||
// The name of the method we are calling
|
||||
// parameters: array
|
||||
// The parameters we are passing off to the method
|
||||
// deferredRequestHandler: deferred
|
||||
// The Deferred object for this particular request
|
||||
|
||||
var def = xhr.post({
|
||||
url: url||this.serviceUrl,
|
||||
postData: this.createRequest(method, parameters),
|
||||
contentType: this.contentType,
|
||||
timeout: this.timeout,
|
||||
handleAs: "json-comment-optional"
|
||||
});
|
||||
def.addCallbacks(this.resultCallback(deferredRequestHandler), this.errorCallback(deferredRequestHandler));
|
||||
},
|
||||
|
||||
createRequest: function(method, params){
|
||||
// summary:
|
||||
// create a JSON-RPC envelope for the request
|
||||
// method: string
|
||||
// The name of the method we are creating the request for
|
||||
// params: array
|
||||
// The array of parameters for this request
|
||||
|
||||
var req = { "params": params, "method": method, "id": ++this.lastSubmissionId };
|
||||
return json.toJson(req);
|
||||
},
|
||||
|
||||
parseResults: function(/*anything*/obj){
|
||||
// summary:
|
||||
// parse the result envelope and pass the results back to
|
||||
// the callback function
|
||||
// obj: Object
|
||||
// Object containing envelope of data we receive from the server
|
||||
|
||||
if(lang.isObject(obj)){
|
||||
if("result" in obj){
|
||||
return obj.result;
|
||||
}
|
||||
if("Result" in obj){
|
||||
return obj.Result;
|
||||
}
|
||||
if("ResultSet" in obj){
|
||||
return obj.ResultSet;
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
|
||||
Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
|
||||
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||||
see: http://dojotoolkit.org/license for details
|
||||
*/
|
||||
|
||||
//>>built
|
||||
define("dojo/rpc/JsonpService",["../main","./RpcService","../io/script"],function(_1){_1.declare("dojo.rpc.JsonpService",_1.rpc.RpcService,{constructor:function(_2,_3){if(this.required){if(_3){_1.mixin(this.required,_3);}_1.forEach(this.required,function(_4){if(_4==""||_4==undefined){throw new Error("Required Service Argument not found: "+_4);}});}},strictArgChecks:false,bind:function(_5,_6,_7,_8){var _9=_1.io.script.get({url:_8||this.serviceUrl,callbackParamName:this.callbackParamName||"callback",content:this.createRequest(_6),timeout:this.timeout,handleAs:"json",preventCache:true});_9.addCallbacks(this.resultCallback(_7),this.errorCallback(_7));},createRequest:function(_a){var _b=(_1.isArrayLike(_a)&&_a.length==1)?_a[0]:{};_1.mixin(_b,this.required);return _b;}});return _1.rpc.JsonpService;});
|
||||
define("dojo/rpc/JsonpService",["../_base/array","../_base/declare","../_base/lang","./RpcService","../io/script"],function(_1,_2,_3,_4,_5){return _2("dojo.rpc.JsonpService",_4,{constructor:function(_6,_7){if(this.required){if(_7){_3.mixin(this.required,_7);}_1.forEach(this.required,function(_8){if(_8==""||_8==undefined){throw new Error("Required Service Argument not found: "+_8);}});}},strictArgChecks:false,bind:function(_9,_a,_b,_c){var _d=_5.get({url:_c||this.serviceUrl,callbackParamName:this.callbackParamName||"callback",content:this.createRequest(_a),timeout:this.timeout,handleAs:"json",preventCache:true});_d.addCallbacks(this.resultCallback(_b),this.errorCallback(_b));},createRequest:function(_e){var _f=(_3.isArrayLike(_e)&&_e.length==1)?_e[0]:{};_3.mixin(_f,this.required);return _f;}});});
|
||||
@@ -0,0 +1,66 @@
|
||||
define("dojo/rpc/JsonpService", [
|
||||
"../_base/array", "../_base/declare", "../_base/lang", "./RpcService", "../io/script"],
|
||||
function(array, declare, lang, RpcService, script){
|
||||
|
||||
// module:
|
||||
// dojo/rpc/JsonpService
|
||||
|
||||
return declare("dojo.rpc.JsonpService", RpcService, {
|
||||
// summary:
|
||||
// Generic JSONP service. Minimally extends RpcService to allow
|
||||
// easy definition of nearly any JSONP style service. Example
|
||||
// SMD files exist in dojox.data
|
||||
|
||||
constructor: function(args, requiredArgs){
|
||||
if(this.required){
|
||||
if(requiredArgs){
|
||||
lang.mixin(this.required, requiredArgs);
|
||||
}
|
||||
|
||||
array.forEach(this.required, function(req){
|
||||
if(req=="" || req==undefined){
|
||||
throw new Error("Required Service Argument not found: "+req);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
strictArgChecks: false,
|
||||
|
||||
bind: function(method, parameters, deferredRequestHandler, url){
|
||||
// summary:
|
||||
// JSONP bind method. Takes remote method, parameters,
|
||||
// deferred, and a url, calls createRequest to make a JSON-RPC
|
||||
// envelope and passes that off with bind.
|
||||
// method: string
|
||||
// The name of the method we are calling
|
||||
// parameters: array
|
||||
// The parameters we are passing off to the method
|
||||
// deferredRequestHandler: deferred
|
||||
// The Deferred object for this particular request
|
||||
|
||||
var def = script.get({
|
||||
url: url||this.serviceUrl,
|
||||
callbackParamName: this.callbackParamName||"callback",
|
||||
content: this.createRequest(parameters),
|
||||
timeout: this.timeout,
|
||||
handleAs: "json",
|
||||
preventCache: true
|
||||
});
|
||||
def.addCallbacks(this.resultCallback(deferredRequestHandler), this.errorCallback(deferredRequestHandler));
|
||||
},
|
||||
|
||||
createRequest: function(parameters){
|
||||
// summary:
|
||||
// create a JSONP req
|
||||
// params: array
|
||||
// The array of parameters for this request;
|
||||
|
||||
var params = (lang.isArrayLike(parameters) && parameters.length==1) ?
|
||||
parameters[0] : {};
|
||||
lang.mixin(params,this.required);
|
||||
return params;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
|
||||
Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
|
||||
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||||
see: http://dojotoolkit.org/license for details
|
||||
*/
|
||||
|
||||
//>>built
|
||||
define("dojo/rpc/RpcService",["../main","../_base/url"],function(_1){_1.declare("dojo.rpc.RpcService",null,{constructor:function(_2){if(_2){if((_1.isString(_2))||(_2 instanceof _1._Url)){if(_2 instanceof _1._Url){var _3=_2+"";}else{_3=_2;}var _4=_1.xhrGet({url:_3,handleAs:"json-comment-optional",sync:true});_4.addCallback(this,"processSmd");_4.addErrback(function(){throw new Error("Unable to load SMD from "+_2);});}else{if(_2.smdStr){this.processSmd(_1.eval("("+_2.smdStr+")"));}else{if(_2.serviceUrl){this.serviceUrl=_2.serviceUrl;}this.timeout=_2.timeout||3000;if("strictArgChecks" in _2){this.strictArgChecks=_2.strictArgChecks;}this.processSmd(_2);}}}},strictArgChecks:true,serviceUrl:"",parseResults:function(_5){return _5;},errorCallback:function(_6){return function(_7){_6.errback(_7.message);};},resultCallback:function(_8){return _1.hitch(this,function(_9){if(_9.error!=null){var _a;if(typeof _9.error=="object"){_a=new Error(_9.error.message);_a.code=_9.error.code;_a.error=_9.error.error;}else{_a=new Error(_9.error);}_a.id=_9.id;_a.errorObject=_9;_8.errback(_a);}else{_8.callback(this.parseResults(_9));}});},generateMethod:function(_b,_c,_d){return _1.hitch(this,function(){var _e=new _1.Deferred();if((this.strictArgChecks)&&(_c!=null)&&(arguments.length!=_c.length)){throw new Error("Invalid number of parameters for remote method.");}else{this.bind(_b,_1._toArray(arguments),_e,_d);}return _e;});},processSmd:function(_f){if(_f.methods){_1.forEach(_f.methods,function(m){if(m&&m.name){this[m.name]=this.generateMethod(m.name,m.parameters,m.url||m.serviceUrl||m.serviceURL);if(!_1.isFunction(this[m.name])){throw new Error("RpcService: Failed to create"+m.name+"()");}}},this);}this.serviceUrl=_f.serviceUrl||_f.serviceURL;this.required=_f.required;this.smd=_f;}});return _1.rpc.RpcService;});
|
||||
define("dojo/rpc/RpcService",["../_base/array","../_base/declare","../_base/Deferred","../_base/kernel","../_base/lang","../_base/url","../_base/xhr"],function(_1,_2,_3,_4,_5,_6,_7){return _2("dojo.rpc.RpcService",null,{constructor:function(_8){if(_8){if((_5.isString(_8))||(_8 instanceof _6)){if(_8 instanceof _6){var _9=_8+"";}else{_9=_8;}var _a=_7.get({url:_9,handleAs:"json-comment-optional",sync:true});_a.addCallback(this,"processSmd");_a.addErrback(function(){throw new Error("Unable to load SMD from "+_8);});}else{if(_8.smdStr){this.processSmd(_4.eval("("+_8.smdStr+")"));}else{if(_8.serviceUrl){this.serviceUrl=_8.serviceUrl;}this.timeout=_8.timeout||3000;if("strictArgChecks" in _8){this.strictArgChecks=_8.strictArgChecks;}this.processSmd(_8);}}}},strictArgChecks:true,serviceUrl:"",parseResults:function(_b){return _b;},errorCallback:function(_c){return function(_d){_c.errback(_d.message);};},resultCallback:function(_e){return _5.hitch(this,function(_f){if(_f.error!=null){var err;if(typeof _f.error=="object"){err=new Error(_f.error.message);err.code=_f.error.code;err.error=_f.error.error;}else{err=new Error(_f.error);}err.id=_f.id;err.errorObject=_f;_e.errback(err);}else{_e.callback(this.parseResults(_f));}});},generateMethod:function(_10,_11,url){return _5.hitch(this,function(){var _12=new _3();if((this.strictArgChecks)&&(_11!=null)&&(arguments.length!=_11.length)){throw new Error("Invalid number of parameters for remote method.");}else{this.bind(_10,_5._toArray(arguments),_12,url);}return _12;});},processSmd:function(_13){if(_13.methods){_1.forEach(_13.methods,function(m){if(m&&m.name){this[m.name]=this.generateMethod(m.name,m.parameters,m.url||m.serviceUrl||m.serviceURL);if(!_5.isFunction(this[m.name])){throw new Error("RpcService: Failed to create"+m.name+"()");}}},this);}this.serviceUrl=_13.serviceUrl||_13.serviceURL;this.required=_13.required;this.smd=_13;}});});
|
||||
@@ -0,0 +1,178 @@
|
||||
define("dojo/rpc/RpcService", [
|
||||
"../_base/array", "../_base/declare", "../_base/Deferred", "../_base/kernel","../_base/lang",
|
||||
"../_base/url", "../_base/xhr"
|
||||
], function(array, declare, Deferred, kernel, lang, _Url, xhr){
|
||||
|
||||
// module:
|
||||
// dojo/rpc/RpcService
|
||||
|
||||
return declare("dojo.rpc.RpcService", null, {
|
||||
// summary:
|
||||
// TODOC
|
||||
|
||||
constructor: function(args){
|
||||
// summary:
|
||||
// Take a string as a url to retrieve an smd or an object that is an smd or partial smd to use
|
||||
// as a definition for the service
|
||||
//
|
||||
// args: object
|
||||
// Takes a number of properties as kwArgs for defining the service. It also
|
||||
// accepts a string. When passed a string, it is treated as a url from
|
||||
// which it should synchronously retrieve an smd file. Otherwise it is a kwArgs
|
||||
// object. It accepts serviceUrl, to manually define a url for the rpc service
|
||||
// allowing the rpc system to be used without an smd definition. strictArgChecks
|
||||
// forces the system to verify that the # of arguments provided in a call
|
||||
// matches those defined in the smd. smdString allows a developer to pass
|
||||
// a jsonString directly, which will be converted into an object or alternatively
|
||||
// smdObject is accepts an smdObject directly.
|
||||
//
|
||||
if(args){
|
||||
//if the arg is a string, we assume it is a url to retrieve an smd definition from
|
||||
if( (lang.isString(args)) || (args instanceof _Url)){
|
||||
if (args instanceof _Url){
|
||||
var url = args + "";
|
||||
}else{
|
||||
url = args;
|
||||
}
|
||||
var def = xhr.get({
|
||||
url: url,
|
||||
handleAs: "json-comment-optional",
|
||||
sync: true
|
||||
});
|
||||
|
||||
def.addCallback(this, "processSmd");
|
||||
def.addErrback(function(){
|
||||
throw new Error("Unable to load SMD from " + args);
|
||||
});
|
||||
|
||||
}else if(args.smdStr){
|
||||
this.processSmd(kernel.eval("("+args.smdStr+")"));
|
||||
}else{
|
||||
// otherwise we assume it's an arguments object with the following
|
||||
// (optional) properties:
|
||||
// - serviceUrl
|
||||
// - strictArgChecks
|
||||
// - smdStr
|
||||
// - smdObj
|
||||
|
||||
if(args.serviceUrl){
|
||||
this.serviceUrl = args.serviceUrl;
|
||||
}
|
||||
|
||||
this.timeout = args.timeout || 3000;
|
||||
|
||||
if("strictArgChecks" in args){
|
||||
this.strictArgChecks = args.strictArgChecks;
|
||||
}
|
||||
|
||||
this.processSmd(args);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
strictArgChecks: true,
|
||||
serviceUrl: "",
|
||||
|
||||
parseResults: function(obj){
|
||||
// summary:
|
||||
// parse the results coming back from an rpc request. this
|
||||
// base implementation, just returns the full object
|
||||
// subclasses should parse and only return the actual results
|
||||
// obj: Object
|
||||
// Object that is the return results from an rpc request
|
||||
return obj;
|
||||
},
|
||||
|
||||
errorCallback: function(/* dojo/_base/Deferred */ deferredRequestHandler){
|
||||
// summary:
|
||||
// create callback that calls the Deferred errback method
|
||||
// deferredRequestHandler: Deferred
|
||||
// The deferred object handling a request.
|
||||
return function(data){
|
||||
deferredRequestHandler.errback(data.message);
|
||||
};
|
||||
},
|
||||
|
||||
resultCallback: function(/* dojo/_base/Deferred */ deferredRequestHandler){
|
||||
// summary:
|
||||
// create callback that calls the Deferred's callback method
|
||||
// deferredRequestHandler: Deferred
|
||||
// The deferred object handling a request.
|
||||
|
||||
return lang.hitch(this,
|
||||
function(obj){
|
||||
if(obj.error!=null){
|
||||
var err;
|
||||
if(typeof obj.error == 'object'){
|
||||
err = new Error(obj.error.message);
|
||||
err.code = obj.error.code;
|
||||
err.error = obj.error.error;
|
||||
}else{
|
||||
err = new Error(obj.error);
|
||||
}
|
||||
err.id = obj.id;
|
||||
err.errorObject = obj;
|
||||
deferredRequestHandler.errback(err);
|
||||
}else{
|
||||
deferredRequestHandler.callback(this.parseResults(obj));
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
generateMethod: function(/*string*/ method, /*array*/ parameters, /*string*/ url){
|
||||
// summary:
|
||||
// generate the local bind methods for the remote object
|
||||
// method: string
|
||||
// The name of the method we are generating
|
||||
// parameters: array
|
||||
// the array of parameters for this call.
|
||||
// url: string
|
||||
// the service url for this call
|
||||
|
||||
return lang.hitch(this, function(){
|
||||
var deferredRequestHandler = new Deferred();
|
||||
|
||||
// if params weren't specified, then we can assume it's varargs
|
||||
if( (this.strictArgChecks) &&
|
||||
(parameters != null) &&
|
||||
(arguments.length != parameters.length)
|
||||
){
|
||||
// put error stuff here, no enough params
|
||||
throw new Error("Invalid number of parameters for remote method.");
|
||||
}else{
|
||||
this.bind(method, lang._toArray(arguments), deferredRequestHandler, url);
|
||||
}
|
||||
|
||||
return deferredRequestHandler;
|
||||
});
|
||||
},
|
||||
|
||||
processSmd: function(object){
|
||||
// summary:
|
||||
// callback method for receipt of a smd object. Parse the smd
|
||||
// and generate functions based on the description
|
||||
// object:
|
||||
// smd object defining this service.
|
||||
|
||||
if(object.methods){
|
||||
array.forEach(object.methods, function(m){
|
||||
if(m && m.name){
|
||||
this[m.name] = this.generateMethod( m.name,
|
||||
m.parameters,
|
||||
m.url||m.serviceUrl||m.serviceURL);
|
||||
if(!lang.isFunction(this[m.name])){
|
||||
throw new Error("RpcService: Failed to create" + m.name + "()");
|
||||
/*console.log("RpcService: Failed to create", m.name, "()");*/
|
||||
}
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
|
||||
this.serviceUrl = object.serviceUrl||object.serviceURL;
|
||||
this.required = object.required;
|
||||
this.smd = object;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user