src/cm/media/js/client/c_server_exchange.js
changeset 341 053551f213fb
parent 24 c8a95e540b79
equal deleted inserted replaced
340:9e2b9e568e42 341:053551f213fb
     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