src/cm/media/js/client/c_server_exchange.js
changeset 0 40c8f766c9b8
child 24 c8a95e540b79
equal deleted inserted replaced
-1:000000000000 0:40c8f766c9b8
       
     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