|
|
|
/*
|
|
|
|
Copyright (c) 2004-2006, The Dojo Foundation
|
|
|
|
All Rights Reserved.
|
|
|
|
|
|
|
|
Licensed under the Academic Free License version 2.1 or above OR the
|
|
|
|
modified BSD license. For more information on Dojo licensing, see:
|
|
|
|
|
|
|
|
http://dojotoolkit.org/community/licensing.shtml
|
|
|
|
*/
|
|
|
|
|
|
|
|
dojo.provide("memtext.widget.TreeLoadingControllerSx");
|
|
|
|
dojo.require("dojo.widget.TreeLoadingControllerV3");
|
|
|
|
dojo.require("dojo.widget.TreeBasicControllerV3");
|
|
|
|
dojo.require("dojo.event.*");
|
|
|
|
dojo.require("dojo.json");
|
|
|
|
dojo.require("dojo.io.*");
|
|
|
|
dojo.require("dojo.Deferred");
|
|
|
|
dojo.require("dojo.DeferredList");
|
|
|
|
dojo.declare("dojo.Error", Error, function (message, extra) {
|
|
|
|
this.message = message;
|
|
|
|
this.extra = extra;
|
|
|
|
this.stack = (new Error()).stack;
|
|
|
|
});
|
|
|
|
dojo.declare("dojo.CommunicationError", dojo.Error, function () {
|
|
|
|
this.name = "CommunicationError";
|
|
|
|
});
|
|
|
|
dojo.declare("dojo.LockedError", dojo.Error, function () {
|
|
|
|
this.name = "LockedError";
|
|
|
|
});
|
|
|
|
dojo.declare("dojo.FormatError", dojo.Error, function () {
|
|
|
|
this.name = "FormatError";
|
|
|
|
});
|
|
|
|
dojo.declare("dojo.RpcError", dojo.Error, function () {
|
|
|
|
this.name = "RpcError";
|
|
|
|
});
|
|
|
|
//Aenderung: RpcActionParam
|
|
|
|
dojo.widget.defineWidget("memtext.widget.TreeLoadingControllerSx", dojo.widget.TreeLoadingControllerV3,
|
|
|
|
{RpcUrl:"", RpcActionParam:"",
|
|
|
|
setRpcActionParam:function(param)
|
|
|
|
{
|
|
|
|
this.RpcActionParam=param;
|
|
|
|
dojo.debug("param5:"+param);
|
|
|
|
}
|
|
|
|
|
|
|
|
, loadRemote:function (node, sync) {
|
|
|
|
var _this = this;
|
|
|
|
var params = {node:this.getInfo(node), tree:this.getInfo(node.tree)};
|
|
|
|
//MB Aenderung node.objectId
|
|
|
|
var deferred = this.runRpc({url:this.getRpcUrl(node.objectId), sync:sync, params:params});
|
|
|
|
// wird nur bei Erfolg aufgerufen
|
|
|
|
deferred.addCallback(function (res) {
|
|
|
|
return _this.loadProcessResponse(node, res);
|
|
|
|
});
|
|
|
|
return deferred;
|
|
|
|
}
|
|
|
|
// Method: post!
|
|
|
|
, runRpc:function (kw) {
|
|
|
|
var _this = this;
|
|
|
|
var deferred = new dojo.Deferred();
|
|
|
|
//text/json-comment-filtered -> in deferredBindHandler eingebaut
|
|
|
|
dojo.io.bind({url:kw.url, method:"get",handle:this.getDeferredBindHandler(deferred), mimetype:"text/plain", preventCache:this.preventCache, sync:kw.sync, content:{data:dojo.json.serialize(kw.params)}});
|
|
|
|
return deferred;
|
|
|
|
}, // json-comment-filtered!!
|
|
|
|
getDeferredBindHandler:function (deferred) {
|
|
|
|
return dojo.lang.hitch(this, function (type, obj) {
|
|
|
|
if (obj) obj=obj.substring(obj.indexOf("\/\*")+2, obj.lastIndexOf("\*\/"));
|
|
|
|
obj=eval(obj);
|
|
|
|
var error = this.checkValidRpcResponse.apply(this, arguments);
|
|
|
|
if (error) {
|
|
|
|
deferred.errback(error);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
deferred.callback(obj);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
//extra
|
|
|
|
});
|
|
|
|
|