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