You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.5 KiB
78 lines
2.5 KiB
/* |
|
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 |
|
}); |
|
|
|
|