src/cm/media/js/client/c_server_exchange.js
author rbernard
Mon, 22 Feb 2010 22:30:38 +0100
changeset 190 faf3a87a7d73
parent 24 c8a95e540b79
child 341 053551f213fb
permissions -rw-r--r--
minor FIX : export dialog : wrong 'choose file format' label
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
//frames['text_view_comment_frames'].gtest.myFunc()
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
var gtest = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
	renaud : 'RENAUD',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
	random : Math.random(),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
	bernard : 'BERNARD',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
	myFunc : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
		doExchange("theServerFun", {}, null, this.myRetFunc, this, ['foo', 'bar'])
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
	},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
	myRetFunc : function(args) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
		CY.log('this.renaud : ' + this.renaud) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
		CY.log('this.random : ' + this.random) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
		CY.log('arg.returned : ' + args.returned) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
		CY.log(args.returned) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
		CY.log('arg.success : ' + args.success) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
		CY.log(args.success) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
		//CY.log('arg.success : ' + arg.success) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
} ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
// clientArgs should be an array
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
doExchange = function(serverFun, obj, formId, retFunc, clientContext, clientArgs, inCaseErrorMsg) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
	obj['fun'] = serverFun ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
	obj['key'] = sv_key ;
24
c8a95e540b79 ENH : adding comments on previous version now possible
reno
parents: 0
diff changeset
    25
	obj['version_key'] = sv_version_key ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
//	obj['adminKey'] = sv_adminKey ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
	var cfg = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
		method: "POST", 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
		data: urlEncode(obj), 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
//		headers: { 'X-Transaction': 'POST Example'},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
		on: {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
//			start: gtH.start,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
//			complete: gtH.complete,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
			success: function(id, oResponse, args){ // args will be {success:clientArgs etc ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
				var ret = {};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
				if (oResponse.responseText) 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
					ret = CY.JSON.parse(oResponse.responseText);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
				if (gLayout.isInFrame() && ('msg' in ret))
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
					parent.f_enqueueMsg(ret['msg']) ; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
				args['returned'] = ret ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
				args['successfull'] = true ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
				retFunc.call(clientContext, args);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
			},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
			failure: function(id, oResponse, args){ // args will be {success:clientArgs etc ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
				if (gLayout.isInFrame())
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
					parent.f_enqueueErrorMsg(gettext('error:') + inCaseErrorMsg) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
				args['successfull'] = false ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
				retFunc.call(clientContext, args);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
		},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
//		context: gtH,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
		arguments: {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
//				   start: 'foo',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
//				   complete: 'bar',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
				   success: clientArgs,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
				   failure: clientArgs
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
				   }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
	} ; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
	if (formId != null)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
		cfg['form'] = {'id':formId};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
	CY.io(sv_client_url, cfg);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
} ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
// TODO try to get a stack trace instead of passing an obj 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
warn_server = function(obj) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
	obj['fun'] = "warn" ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
	obj['key'] = sv_key ;
24
c8a95e540b79 ENH : adding comments on previous version now possible
reno
parents: 0
diff changeset
    74
	obj['version_key'] = sv_version_key ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
	var obj2 = CY.UA ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
	var cfg = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
		method: "POST", 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
		data: urlEncode(CY.merge(obj, obj2))
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
	} ; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
	CY.io('/client/', cfg);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
} ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84