Subversion Repositories Applications.papyrus

Rev

Rev 1372 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1372 Rev 1422
1
/*
1
/*
2
	Copyright (c) 2004-2006, The Dojo Foundation
2
	Copyright (c) 2004-2006, The Dojo Foundation
3
	All Rights Reserved.
3
	All Rights Reserved.
4
 
4
 
5
	Licensed under the Academic Free License version 2.1 or above OR the
5
	Licensed under the Academic Free License version 2.1 or above OR the
6
	modified BSD license. For more information on Dojo licensing, see:
6
	modified BSD license. For more information on Dojo licensing, see:
7
 
7
 
8
		http://dojotoolkit.org/community/licensing.shtml
8
		http://dojotoolkit.org/community/licensing.shtml
9
*/
9
*/
-
 
10
 
-
 
11
 
10
 
12
 
11
dojo.provide("dojo.widget.TreeRPCController");
13
dojo.provide("dojo.widget.TreeRPCController");
12
dojo.require("dojo.event.*");
14
dojo.require("dojo.event.*");
13
dojo.require("dojo.json");
15
dojo.require("dojo.json");
14
dojo.require("dojo.io.*");
16
dojo.require("dojo.io.*");
15
dojo.require("dojo.widget.TreeLoadingController");
17
dojo.require("dojo.widget.TreeLoadingController");
16
dojo.widget.defineWidget("dojo.widget.TreeRPCController", dojo.widget.TreeLoadingController, {doMove:function (child, newParent, index) {
18
dojo.widget.defineWidget("dojo.widget.TreeRPCController", dojo.widget.TreeLoadingController, {doMove:function (child, newParent, index) {
17
	var params = {child:this.getInfo(child), childTree:this.getInfo(child.tree), newParent:this.getInfo(newParent), newParentTree:this.getInfo(newParent.tree), newIndex:index};
19
	var params = {child:this.getInfo(child), childTree:this.getInfo(child.tree), newParent:this.getInfo(newParent), newParentTree:this.getInfo(newParent.tree), newIndex:index};
18
	var success;
20
	var success;
19
	this.runRPC({url:this.getRPCUrl("move"), load:function (response) {
21
	this.runRPC({url:this.getRPCUrl("move"), load:function (response) {
20
		success = this.doMoveProcessResponse(response, child, newParent, index);
22
		success = this.doMoveProcessResponse(response, child, newParent, index);
21
	}, sync:true, lock:[child, newParent], params:params});
23
	}, sync:true, lock:[child, newParent], params:params});
22
	return success;
24
	return success;
23
}, doMoveProcessResponse:function (response, child, newParent, index) {
25
}, doMoveProcessResponse:function (response, child, newParent, index) {
24
	if (!dojo.lang.isUndefined(response.error)) {
26
	if (!dojo.lang.isUndefined(response.error)) {
25
		this.RPCErrorHandler("server", response.error);
27
		this.RPCErrorHandler("server", response.error);
26
		return false;
28
		return false;
27
	}
29
	}
28
	var args = [child, newParent, index];
30
	var args = [child, newParent, index];
29
	return dojo.widget.TreeLoadingController.prototype.doMove.apply(this, args);
31
	return dojo.widget.TreeLoadingController.prototype.doMove.apply(this, args);
30
}, doRemoveNode:function (node, callObj, callFunc) {
32
}, doRemoveNode:function (node, callObj, callFunc) {
31
	var params = {node:this.getInfo(node), tree:this.getInfo(node.tree)};
33
	var params = {node:this.getInfo(node), tree:this.getInfo(node.tree)};
32
	this.runRPC({url:this.getRPCUrl("removeNode"), load:function (response) {
34
	this.runRPC({url:this.getRPCUrl("removeNode"), load:function (response) {
33
		this.doRemoveNodeProcessResponse(response, node, callObj, callFunc);
35
		this.doRemoveNodeProcessResponse(response, node, callObj, callFunc);
34
	}, params:params, lock:[node]});
36
	}, params:params, lock:[node]});
35
}, doRemoveNodeProcessResponse:function (response, node, callObj, callFunc) {
37
}, doRemoveNodeProcessResponse:function (response, node, callObj, callFunc) {
36
	if (!dojo.lang.isUndefined(response.error)) {
38
	if (!dojo.lang.isUndefined(response.error)) {
37
		this.RPCErrorHandler("server", response.error);
39
		this.RPCErrorHandler("server", response.error);
38
		return false;
40
		return false;
39
	}
41
	}
40
	if (!response) {
42
	if (!response) {
41
		return false;
43
		return false;
42
	}
44
	}
43
	if (response == true) {
45
	if (response == true) {
44
		var args = [node, callObj, callFunc];
46
		var args = [node, callObj, callFunc];
45
		dojo.widget.TreeLoadingController.prototype.doRemoveNode.apply(this, args);
47
		dojo.widget.TreeLoadingController.prototype.doRemoveNode.apply(this, args);
46
		return;
48
		return;
47
	} else {
49
	} else {
48
		if (dojo.lang.isObject(response)) {
50
		if (dojo.lang.isObject(response)) {
49
			dojo.raise(response.error);
51
			dojo.raise(response.error);
50
		} else {
52
		} else {
51
			dojo.raise("Invalid response " + response);
53
			dojo.raise("Invalid response " + response);
52
		}
54
		}
53
	}
55
	}
54
}, doCreateChild:function (parent, index, output, callObj, callFunc) {
56
}, doCreateChild:function (parent, index, output, callObj, callFunc) {
55
	var params = {tree:this.getInfo(parent.tree), parent:this.getInfo(parent), index:index, data:output};
57
	var params = {tree:this.getInfo(parent.tree), parent:this.getInfo(parent), index:index, data:output};
56
	this.runRPC({url:this.getRPCUrl("createChild"), load:function (response) {
58
	this.runRPC({url:this.getRPCUrl("createChild"), load:function (response) {
57
		this.doCreateChildProcessResponse(response, parent, index, callObj, callFunc);
59
		this.doCreateChildProcessResponse(response, parent, index, callObj, callFunc);
58
	}, params:params, lock:[parent]});
60
	}, params:params, lock:[parent]});
59
}, doCreateChildProcessResponse:function (response, parent, index, callObj, callFunc) {
61
}, doCreateChildProcessResponse:function (response, parent, index, callObj, callFunc) {
60
	if (!dojo.lang.isUndefined(response.error)) {
62
	if (!dojo.lang.isUndefined(response.error)) {
61
		this.RPCErrorHandler("server", response.error);
63
		this.RPCErrorHandler("server", response.error);
62
		return false;
64
		return false;
63
	}
65
	}
64
	if (!dojo.lang.isObject(response)) {
66
	if (!dojo.lang.isObject(response)) {
65
		dojo.raise("Invalid result " + response);
67
		dojo.raise("Invalid result " + response);
66
	}
68
	}
67
	var args = [parent, index, response, callObj, callFunc];
69
	var args = [parent, index, response, callObj, callFunc];
68
	dojo.widget.TreeLoadingController.prototype.doCreateChild.apply(this, args);
70
	dojo.widget.TreeLoadingController.prototype.doCreateChild.apply(this, args);
69
}});
71
}});
70
 
72