src/cm/media/js/site/c_text_view_comments.js
author rbernard
Wed, 20 Jan 2010 20:43:38 +0100
changeset 103 61fd17f9ab78
parent 59 8a2d933209aa
child 144 e7e1bc64f613
permissions -rw-r--r--
enh: detached comments bug fix: test corrected bug fix: permalink to comment
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
CY = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
gPrefs = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
gLayout = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
gDb = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
gIComments = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
gSync = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
gGETValues = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
gConf = {'iCommentLeftPadding':4, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
        'defaultCommentFormat':'markdown',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
        'sliderFixedMin':.9,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
        'sliderFixedMax':.1,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
        'iCommentsInitAlloc':2,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
        'defaultPrefs':{'text':{'style':'text-modern-style'}, 'user' : {'name' : '','email' : ''},'general': {'animduration' : '0.4'},'comments': {'threadpad' : '1'},'layout': {'comments_col_width' : '25'  /* out of 100 */}}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
//available text styles in c-text-styles.css
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
//classname(key) : will be added to #textcontainer, name(value) : the name to display in style dropdown choice"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
gTextStyles = {'text-modern-style':gettext('modern'), 'text-classic-style':gettext('classic'), 'text-code-style':gettext('code')};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
YUI( {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
	base :sv_media_url + "/js/lib/yui/" + c_yui_base + "/build/",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
	// filter: '{% if CLIENT_DEBUG %}debug{% else %}raw{% endif %}',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
	// filter :'raw',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
	timeout :10000
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
}).use(
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
	    "text-modern-style",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
		"cookie",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
		"json",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
		"overlay",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
		"io-form",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
		"async-queue",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
		"event-mouseenter",		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
		"anim",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
		"collection",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
		function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
	        CY = Y;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
	        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
            gPrefs = new Preferences() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
            gPrefs.init() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
            gLayout = new Layout() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
            gLayout.init() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
    		if (sv_withComments) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
	            gDb = new Db() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
	            gDb.init() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
	            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
	            gIComments = new IComments() ;	            	            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
	            gIComments.init() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
    		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
            gSync = new Sync() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
            gSync.init() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
			CY.on("domready", onDomReady, this); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
		});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
_reinit = function(filterRes) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
	gIComments.hide();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
	gDb.initComments(filterRes['commentIds']);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
	unpaintAllComments();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
	renderCommentScopes();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
	updateFilterResultsCount(filterRes['nbDiscussions'], filterRes['nbComments'], filterRes['nbReplies']);
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
reinit = function(filterGETValues) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
	var filterRes = gDb.computeFilterResults(filterGETValues);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
	_reinit(filterRes);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
hideAll = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
	_reinit({'commentIds':[],'nbDiscussions':0, 'nbComments':0, 'nbReplies':0});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
updateFilterResultsCount = function(nbDiscussions, nbComments, nbReplies) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
	var r = gDb.getCommentsAndRepliesCounts(true);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
	var nbAllComments = r[0], nbAllReplies = r[1];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
	var detailedResults = (nbComments != 0 || nbReplies != 0) && (nbAllComments != nbComments || nbAllReplies != nbReplies) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
	if (gLayout.isInFrame()) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
		parent.f_updateFilterCountDetailed(detailedResults) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
		parent.f_updateFilterCountResult(nbDiscussions, nbComments, nbReplies, nbAllComments, nbAllReplies);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
updateResetFilterResultsCount = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
	var counts = gDb.getCommentsAndRepliesCounts(false)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
	var nbComments = counts[0], nbReplies = counts[1];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
	var nbDiscussions = nbComments;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
	updateFilterResultsCount(nbDiscussions, nbComments, nbReplies);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
// TODO MOVE
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
renderCommentScopes = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
	for (var i = 0 ; i < gDb.comments.length ; i++) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
		var comment = gDb.comments[i] ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
		paintCommentScope(comment) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
} ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
onTextMouseUp = function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
	if (readyForAction()) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
		var selection = getSelectionInfo() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
		if (selection != null) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
			updateICommentFormSelection(selection) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
			if (gEditICommentHost != null) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
				var modifyScope = CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").get('checked') ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
				if (modifyScope) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
					gEditICommentHost.scrollIntoView() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
				}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
		else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
			var node = e.target ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
			if (node.hasClass('c-c')) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
				var elt = CY.Node.getDOMNode(node) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
				var commentIds = getCommentIdsFromClasses(elt) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
				if (commentIds.length > 0) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
					checkForOpenedDialog(null, function() { // will only check for reply
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
						gSync.showComments(commentIds, [e.pageX, e.pageY], false) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
					}) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
				}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
			} 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
//// FIRST UPDATE SELECTION IF ANY AND SCROLL TO EDITION IF ANY		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
//		if (isICommentFormVisible() || gEditICommentHost != null) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
//			CY.log(selection) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
//			updateICommentFormSelection(selection) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
//			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
//			if (gEditICommentHost != null) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
//				var modifyScope = CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").get('checked') ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
//				if (modifyScope) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
//					gEditICommentHost.scrollIntoView() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
//					didSomething = true ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
//				}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
//			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
//			if (isICommentFormVisible())
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
//			didSomething = true ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
//		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
//		else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
//			checkForOpenedDialog(null, function() { // will only check for reply
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
//					var node = e.target ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
//					if (node.hasClass('c-c')) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
//						var elt = CY.Node.getDOMNode(node) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
//						var commentIds = getCommentIdsFromClasses(elt) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
//						if (commentIds.length > 0) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
//							//hideOverlay(gICommentForm) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
//							// gIComments.hide() ;20080814 moved it to gSync._showComments
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
//							gSync.showComments(commentIds, [e.pageX, e.pageY]) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
//						}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
//					}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
//				}) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
//		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
} ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
gLastScrollTime = null ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
checkForAlignement = function () {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
	var now = (new Date()).getTime() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
	if ((gLastScrollTime != null) && (now - gLastScrollTime) > 200) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
		positionICommentForm() ;			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
		gLastScrollTime = null ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
	}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
onFrameScroll = function () {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
	gLastScrollTime = (new Date()).getTime() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
browse = function(order, whereto) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
	gSync.browse(order, whereto) ; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
initialConnect = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
	CY.on("mouseup", onTextMouseUp, "#textcontainer");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
	gTimer = CY.Lang.later(200, this, checkForAlignement, [], true) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
	CY.on('scroll', onFrameScroll, window, this, true);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
	CY.on('resize', onFrameScroll, window, this, true);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
// serious tests were made : various browsers + comments on a link.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
preventLinksInText = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
	var interceptLink = function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
		e.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
		var a = e.target;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
		while (a != null && a.get("href") == null) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
			a = a.get('parentNode');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
		if (a != null && a.get("href") != null) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
			window.open(a.get("href"));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
	} ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
	CY.all("#textcontainer a").on("click", interceptLink);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
onDomReady = function(arg1) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
	preventLinksInText();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
	var q1 = new CY.AsyncQueue(); //  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
	// doesn't behave like the doc says :
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
	// no timeout -> seems in blocking mode
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
	q1.add( {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
		fn : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
			if (gLayout.isInComentSite()) {
59
8a2d933209aa BUG FIX : in text history tab text view frame now expands to maximum
reno
parents: 8
diff changeset
   213
				parent.toInitialSize();
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
			if (sv_withComments) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
				instanciateICommentForm();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
		},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
		timeout :5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
	}, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
		fn : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
			gGETValues = CY.JSON.parse(sv_get_params);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
			CY.get('#maincontainer').setStyle('display', 'block');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
			CY.get('#textcontainer').setStyle('display', 'block');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
			var val = (sv_withComments) ? gPrefs.get('layout','comments_col_width') : 0 ; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
			var colWidth = sliderValToPx(val) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
			gLayout.setLeftColumnWidth(colWidth) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
			if (gLayout.isInFrame()) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
				parent.f_initFrame();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
				parent.f_layoutFrames();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
				if (sv_withComments) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
					parent.f_fillTopToolbar() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
					if (hasPerm("can_create_comment"))  	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
						parent.$("#add_comment_btn").removeClass('initially_hidden');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
					//parent.enqueueLoadingMsg(); // no more loading message ? TODO
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
					parent.f_fillFilterTab() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
					parent.f_fillPreferencesTab() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
//					parent.f_fillBrowseSection() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
					var firstTimeFilterData = CY.JSON.parse(sv_filter_data);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
					parent.f_updateFilterData(firstTimeFilterData);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
					parent.f_setFilterValue(gGETValues) ;					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
				}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
				parent.f_fillTextPreferencesTab() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
			if (gLayout.isInComentSite()) 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
				parent.$("#c_fullscreen_btn").show();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
			else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
				parent.$("#c_fullscreen_btn").hide();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
		},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
		timeout :5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
	}, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
		fn : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
			if (sv_withComments) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
				reinit(gGETValues);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
				initialConnect();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
		},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
		timeout :5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
	}, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
		fn : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
			if (gLayout.isInFrame()) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
				parent.f_interfaceUnfreeze() ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
				parent.f_removeLoadingMsg();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
			}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
			// if there is a comment id in the url display it
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
			if ("comment_key" in gGETValues) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
				var key = gGETValues["comment_key"] ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   281
				var comment = gDb.getCommentByKey(key) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   282
				if (comment != null) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   283
					var path = gDb.getPath(comment) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
					var topParentComment = path[path.length - 1] ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
					gSync.showSingleComment(topParentComment) ;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
				}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
			}
8
1a495fcc40f9 client show scope button + do not show all comments on startup
reno
parents: 0
diff changeset
   288
			
1a495fcc40f9 client show scope button + do not show all comments on startup
reno
parents: 0
diff changeset
   289
//			else {
1a495fcc40f9 client show scope button + do not show all comments on startup
reno
parents: 0
diff changeset
   290
//			gSync.showAllComments() ;// show all
1a495fcc40f9 client show scope button + do not show all comments on startup
reno
parents: 0
diff changeset
   291
//			}
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
		}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
	});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
	q1.run();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296