1 //frames['text_view_comment_frames'].gtest.myFunc() |
1 //frames['text_view_comment_frames'].gtest.myFunc() |
2 var gtest = { |
2 var gtest = { |
3 renaud : 'RENAUD', |
3 renaud : 'RENAUD', |
4 random : Math.random(), |
4 random : Math.random(), |
5 bernard : 'BERNARD', |
5 bernard : 'BERNARD', |
6 myFunc : function() { |
6 myFunc : function() { |
7 doExchange("theServerFun", {}, null, this.myRetFunc, this, ['foo', 'bar']) |
7 doExchange("theServerFun", {}, null, this.myRetFunc, this, ['foo', 'bar']) |
8 }, |
8 }, |
9 myRetFunc : function(args) { |
9 myRetFunc : function(args) { |
10 CY.log('this.renaud : ' + this.renaud) ; |
10 CY.log('this.renaud : ' + this.renaud) ; |
11 CY.log('this.random : ' + this.random) ; |
11 CY.log('this.random : ' + this.random) ; |
12 CY.log('arg.returned : ' + args.returned) ; |
12 CY.log('arg.returned : ' + args.returned) ; |
13 CY.log(args.returned) ; |
13 CY.log(args.returned) ; |
14 CY.log('arg.success : ' + args.success) ; |
14 CY.log('arg.success : ' + args.success) ; |
15 CY.log(args.success) ; |
15 CY.log(args.success) ; |
16 //CY.log('arg.success : ' + arg.success) ; |
16 //CY.log('arg.success : ' + arg.success) ; |
17 } |
17 } |
18 } ; |
18 } ; |
19 |
19 |
20 |
20 |
21 // clientArgs should be an array |
21 // clientArgs should be an array |
22 doExchange = function(serverFun, obj, formId, retFunc, clientContext, clientArgs, inCaseErrorMsg) { |
22 doExchange = function(serverFun, obj, formId, retFunc, clientContext, clientArgs, inCaseErrorMsg) { |
23 obj['fun'] = serverFun ; |
23 obj['fun'] = serverFun ; |
24 obj['key'] = sv_key ; |
24 obj['key'] = sv_key ; |
25 obj['version_key'] = sv_version_key ; |
25 obj['version_key'] = sv_version_key ; |
26 // obj['adminKey'] = sv_adminKey ; |
26 // obj['adminKey'] = sv_adminKey ; |
27 |
27 |
28 var cfg = { |
28 var cfg = { |
29 method: "POST", |
29 method: "POST", |
30 data: urlEncode(obj), |
30 data: urlEncode(obj), |
31 // headers: { 'X-Transaction': 'POST Example'}, |
31 // headers: { 'X-Transaction': 'POST Example'}, |
32 on: { |
32 on: { |
33 // start: gtH.start, |
33 // start: gtH.start, |
34 // complete: gtH.complete, |
34 // complete: gtH.complete, |
35 success: function(id, oResponse, args){ // args will be {success:clientArgs etc ... |
35 success: function(id, oResponse, args){ // args will be {success:clientArgs etc ... |
36 var ret = {}; |
36 var ret = {}; |
37 if (oResponse.responseText) |
37 if (oResponse.responseText) |
38 ret = CY.JSON.parse(oResponse.responseText); |
38 ret = CY.JSON.parse(oResponse.responseText); |
39 |
39 |
40 if (gLayout.isInFrame() && ('msg' in ret)) |
40 if (gLayout.isInFrame() && ('msg' in ret)) |
41 parent.f_enqueueMsg(ret['msg']) ; |
41 parent.f_enqueueMsg(ret['msg']) ; |
42 |
42 |
43 args['returned'] = ret ; |
43 args['returned'] = ret ; |
44 args['successfull'] = true ; |
44 args['successfull'] = true ; |
45 |
45 |
46 retFunc.call(clientContext, args); |
46 retFunc.call(clientContext, args); |
47 }, |
47 }, |
48 failure: function(id, oResponse, args){ // args will be {success:clientArgs etc ... |
48 failure: function(id, oResponse, args){ // args will be {success:clientArgs etc ... |
49 if (gLayout.isInFrame()) |
49 if (gLayout.isInFrame()) |
50 parent.f_enqueueErrorMsg(gettext('error:') + inCaseErrorMsg) ; |
50 parent.f_enqueueErrorMsg(gettext('error:') + inCaseErrorMsg) ; |
51 |
51 |
52 args['successfull'] = false ; |
52 args['successfull'] = false ; |
53 retFunc.call(clientContext, args); |
53 retFunc.call(clientContext, args); |
54 } |
54 } |
55 }, |
55 }, |
56 // context: gtH, |
56 // context: gtH, |
57 arguments: { |
57 arguments: { |
58 // start: 'foo', |
58 // start: 'foo', |
59 // complete: 'bar', |
59 // complete: 'bar', |
60 success: clientArgs, |
60 success: clientArgs, |
61 failure: clientArgs |
61 failure: clientArgs |
62 } |
62 } |
63 } ; |
63 } ; |
64 if (formId != null) |
64 if (formId != null) |
65 cfg['form'] = {'id':formId}; |
65 cfg['form'] = {'id':formId}; |
66 CY.io(sv_client_url, cfg); |
66 CY.io(sv_client_url, cfg); |
67 |
67 |
68 } ; |
68 } ; |
69 |
69 |
70 // TODO try to get a stack trace instead of passing an obj |
70 // TODO try to get a stack trace instead of passing an obj |
71 warn_server = function(obj) { |
71 warn_server = function(obj) { |
72 obj['fun'] = "warn" ; |
72 obj['fun'] = "warn" ; |
73 obj['key'] = sv_key ; |
73 obj['key'] = sv_key ; |
74 obj['version_key'] = sv_version_key ; |
74 obj['version_key'] = sv_version_key ; |
75 |
75 |
76 var obj2 = CY.UA ; |
76 var obj2 = CY.UA ; |
77 |
77 |
78 var cfg = { |
78 var cfg = { |
79 method: "POST", |
79 method: "POST", |
80 data: urlEncode(CY.merge(obj, obj2)) |
80 data: urlEncode(CY.merge(obj, obj2)) |
81 } ; |
81 } ; |
82 CY.io('/client/', cfg); |
82 CY.io('/client/', cfg); |
83 } ; |
83 } ; |
84 |
84 |