--- a/src/cm/media/js/site/c_text_view_comments.js Mon Nov 29 15:05:21 2010 +0100
+++ b/src/cm/media/js/site/c_text_view_comments.js Tue Nov 30 09:53:35 2010 +0100
@@ -7,7 +7,7 @@
gGETValues = null;
gConf = {'iCommentLeftPadding':4,
- 'iCommentThreadPadding':12,
+ 'iCommentThreadPadding':12,
'defaultCommentFormat':'markdown',
'sliderFixedMin':.9,
'sliderFixedMax':.1,
@@ -20,277 +20,277 @@
gTextStyles = {'text-modern-style':gettext('modern'), 'text-classic-style':gettext('classic'), 'text-code-style':gettext('code')};
YUI( {
- base :sv_media_url + "/js/lib/yui/" + c_yui_base + "/build/",
- // filter: '{% if CLIENT_DEBUG %}debug{% else %}raw{% endif %}',
- // filter :'raw',
- timeout :10000
+ base :sv_media_url + "/js/lib/yui/" + c_yui_base + "/build/",
+ // filter: '{% if CLIENT_DEBUG %}debug{% else %}raw{% endif %}',
+ // filter :'raw',
+ timeout :10000
}).use(
- "text-modern-style",
- "cookie",
- "json",
- "overlay",
- "io-form",
- "async-queue",
- "event-mouseenter",
- "anim",
- "collection",
- function(Y) {
- CY = Y;
-
+ "text-modern-style",
+ "cookie",
+ "json",
+ "overlay",
+ "io-form",
+ "async-queue",
+ "event-mouseenter",
+ "anim",
+ "collection",
+ function(Y) {
+ CY = Y;
+
gPrefs = new Preferences() ;
gPrefs.init() ;
gLayout = new Layout() ;
gLayout.init() ;
- if (sv_withComments) {
- gDb = new Db() ;
- gDb.init() ;
-
- gIComments = new IComments() ;
- gIComments.init() ;
- }
+ if (sv_withComments) {
+ gDb = new Db() ;
+ gDb.init() ;
+
+ gIComments = new IComments() ;
+ gIComments.init() ;
+ }
gSync = new Sync() ;
gSync.init() ;
- CY.on("domready", onDomReady, this);
+ CY.on("domready", onDomReady, this);
- });
+ });
_reinit = function(filterRes) {
- gIComments.hide();
- gDb.initComments(filterRes['commentIds']);
+ gIComments.hide();
+ gDb.initComments(filterRes['commentIds']);
- unpaintAllComments();
- renderCommentScopes();
-
- updateFilterResultsCount(filterRes['nbDiscussions'], filterRes['nbComments'], filterRes['nbReplies']);
+ unpaintAllComments();
+ renderCommentScopes();
+
+ updateFilterResultsCount(filterRes['nbDiscussions'], filterRes['nbComments'], filterRes['nbReplies']);
};
reinit = function(filterGETValues) {
- var filterRes = gDb.computeFilterResults(filterGETValues);
- _reinit(filterRes);
+ var filterRes = gDb.computeFilterResults(filterGETValues);
+ _reinit(filterRes);
};
hideAll = function() {
- _reinit({'commentIds':[],'nbDiscussions':0, 'nbComments':0, 'nbReplies':0});
+ _reinit({'commentIds':[],'nbDiscussions':0, 'nbComments':0, 'nbReplies':0});
};
updateFilterResultsCount = function(nbDiscussions, nbComments, nbReplies) {
- var r = gDb.getCommentsAndRepliesCounts(true);
- var nbAllComments = r[0], nbAllReplies = r[1];
- var detailedResults = (nbComments != 0 || nbReplies != 0) && (nbAllComments != nbComments || nbAllReplies != nbReplies) ;
- if (gLayout.isInFrame()) {
- parent.f_updateFilterCountDetailed(detailedResults) ;
- parent.f_updateFilterCountResult(nbDiscussions, nbComments, nbReplies, nbAllComments, nbAllReplies);
- }
+ var r = gDb.getCommentsAndRepliesCounts(true);
+ var nbAllComments = r[0], nbAllReplies = r[1];
+ var detailedResults = (nbComments != 0 || nbReplies != 0) && (nbAllComments != nbComments || nbAllReplies != nbReplies) ;
+ if (gLayout.isInFrame()) {
+ parent.f_updateFilterCountDetailed(detailedResults) ;
+ parent.f_updateFilterCountResult(nbDiscussions, nbComments, nbReplies, nbAllComments, nbAllReplies);
+ }
};
updateResetFilterResultsCount = function() {
- var counts = gDb.getCommentsAndRepliesCounts(false)
- var nbComments = counts[0], nbReplies = counts[1];
+ var counts = gDb.getCommentsAndRepliesCounts(false)
+ var nbComments = counts[0], nbReplies = counts[1];
- var nbDiscussions = nbComments;
- updateFilterResultsCount(nbDiscussions, nbComments, nbReplies);
+ var nbDiscussions = nbComments;
+ updateFilterResultsCount(nbDiscussions, nbComments, nbReplies);
};
// TODO MOVE
renderCommentScopes = function() {
- for (var i = 0 ; i < gDb.comments.length ; i++) {
- var comment = gDb.comments[i] ;
- paintCommentScope(comment) ;
- }
+ for (var i = 0 ; i < gDb.comments.length ; i++) {
+ var comment = gDb.comments[i] ;
+ paintCommentScope(comment) ;
+ }
} ;
onTextMouseUp = function(e) {
- if (readyForAction()) {
- var selection = getSelectionInfo() ;
- if (selection != null) {
- updateICommentFormSelection(selection) ;
- if (gEditICommentHost != null) {
- var modifyScope = CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").get('checked') ;
- if (modifyScope) {
- gEditICommentHost.scrollIntoView() ;
- }
- }
- }
- else {
- var node = e.target ;
- if (node.hasClass('c-c')) {
- var elt = CY.Node.getDOMNode(node) ;
- var commentIds = getCommentIdsFromClasses(elt) ;
- if (commentIds.length > 0) {
- checkForOpenedDialog(null, function() { // will only check for reply
- gSync.showComments(commentIds, [e.pageX, e.pageY], false) ;
- }) ;
- }
- }
- }
-//// FIRST UPDATE SELECTION IF ANY AND SCROLL TO EDITION IF ANY
-// if (isICommentFormVisible() || gEditICommentHost != null) {
-// CY.log(selection) ;
-// updateICommentFormSelection(selection) ;
-//
-// if (gEditICommentHost != null) {
-// var modifyScope = CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").get('checked') ;
-// if (modifyScope) {
-// gEditICommentHost.scrollIntoView() ;
-// didSomething = true ;
-// }
-// }
-// if (isICommentFormVisible())
-// didSomething = true ;
-// }
-// else {
-// checkForOpenedDialog(null, function() { // will only check for reply
-// var node = e.target ;
-// if (node.hasClass('c-c')) {
-// var elt = CY.Node.getDOMNode(node) ;
-// var commentIds = getCommentIdsFromClasses(elt) ;
-// if (commentIds.length > 0) {
-// //hideOverlay(gICommentForm) ;
-// // gIComments.hide() ;20080814 moved it to gSync._showComments
-// gSync.showComments(commentIds, [e.pageX, e.pageY]) ;
-// }
-// }
-// }) ;
-// }
- }
+ if (readyForAction()) {
+ var selection = getSelectionInfo() ;
+ if (selection != null) {
+ updateICommentFormSelection(selection) ;
+ if (gEditICommentHost != null) {
+ var modifyScope = CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").get('checked') ;
+ if (modifyScope) {
+ gEditICommentHost.scrollIntoView() ;
+ }
+ }
+ }
+ else {
+ var node = e.target ;
+ if (node.hasClass('c-c')) {
+ var elt = CY.Node.getDOMNode(node) ;
+ var commentIds = getCommentIdsFromClasses(elt) ;
+ if (commentIds.length > 0) {
+ checkForOpenedDialog(null, function() { // will only check for reply
+ gSync.showComments(commentIds, [e.pageX, e.pageY], false) ;
+ }) ;
+ }
+ }
+ }
+//// FIRST UPDATE SELECTION IF ANY AND SCROLL TO EDITION IF ANY
+// if (isICommentFormVisible() || gEditICommentHost != null) {
+// CY.log(selection) ;
+// updateICommentFormSelection(selection) ;
+//
+// if (gEditICommentHost != null) {
+// var modifyScope = CY.get("#"+gEdit['ids']['changeScopeInputId']+" input").get('checked') ;
+// if (modifyScope) {
+// gEditICommentHost.scrollIntoView() ;
+// didSomething = true ;
+// }
+// }
+// if (isICommentFormVisible())
+// didSomething = true ;
+// }
+// else {
+// checkForOpenedDialog(null, function() { // will only check for reply
+// var node = e.target ;
+// if (node.hasClass('c-c')) {
+// var elt = CY.Node.getDOMNode(node) ;
+// var commentIds = getCommentIdsFromClasses(elt) ;
+// if (commentIds.length > 0) {
+// //hideOverlay(gICommentForm) ;
+// // gIComments.hide() ;20080814 moved it to gSync._showComments
+// gSync.showComments(commentIds, [e.pageX, e.pageY]) ;
+// }
+// }
+// }) ;
+// }
+ }
} ;
gLastScrollTime = null ;
checkForAlignement = function () {
- var now = (new Date()).getTime() ;
- if ((gLastScrollTime != null) && (now - gLastScrollTime) > 200) {
- positionICommentForm() ;
- gLastScrollTime = null ;
- }
+ var now = (new Date()).getTime() ;
+ if ((gLastScrollTime != null) && (now - gLastScrollTime) > 200) {
+ positionICommentForm() ;
+ gLastScrollTime = null ;
+ }
};
onFrameScroll = function () {
- gLastScrollTime = (new Date()).getTime() ;
+ gLastScrollTime = (new Date()).getTime() ;
};
browse = function(order, whereto) {
- gSync.browse(order, whereto) ;
+ gSync.browse(order, whereto) ;
};
initialConnect = function() {
- CY.on("mouseup", onTextMouseUp, "#textcontainer");
- gTimer = CY.Lang.later(200, this, checkForAlignement, [], true) ;
- CY.on('scroll', onFrameScroll, window, this, true);
- CY.on('resize', onFrameScroll, window, this, true);
+ CY.on("mouseup", onTextMouseUp, "#textcontainer");
+ gTimer = CY.Lang.later(200, this, checkForAlignement, [], true) ;
+ CY.on('scroll', onFrameScroll, window, this, true);
+ CY.on('resize', onFrameScroll, window, this, true);
};
preventLinksInText = function() {
- var interceptLink = function(e) {
- var a = e.target;
- var href = null;
- while (a != null && href == null) {
- a = a.get('parentNode');
- href = a.get("href");
- }
-
- if (a != null && href != null) {
- //alert(window.location) ;
- var clean_window_location = window.location.href ;
-
- var ind = clean_window_location.indexOf('#') ;
- if (ind != -1)
- clean_window_location = clean_window_location.substring(0, ind) ;
-
- if (href.indexOf(clean_window_location) == -1 ) {
- window.open(a.get("href"));
- e.preventDefault(); ;
- }
- }
- } ;
+ var interceptLink = function(e) {
+ var a = e.target;
+ var href = null;
+ while (a != null && href == null) {
+ a = a.get('parentNode');
+ href = a.get("href");
+ }
+
+ if (a != null && href != null) {
+ //alert(window.location) ;
+ var clean_window_location = window.location.href ;
+
+ var ind = clean_window_location.indexOf('#') ;
+ if (ind != -1)
+ clean_window_location = clean_window_location.substring(0, ind) ;
+
+ if (href.indexOf(clean_window_location) == -1 ) {
+ window.open(a.get("href"));
+ e.preventDefault(); ;
+ }
+ }
+ } ;
- CY.all("#textcontainer a").on("click", interceptLink);
+ CY.all("#textcontainer a").on("click", interceptLink);
};
onDomReady = function(arg1) {
- preventLinksInText();
- var q1 = new CY.AsyncQueue(); //
- // doesn't behave like the doc says :
- // no timeout -> seems in blocking mode
- q1.add( {
- fn : function() {
+ preventLinksInText();
+ var q1 = new CY.AsyncQueue(); //
+ // doesn't behave like the doc says :
+ // no timeout -> seems in blocking mode
+ q1.add( {
+ fn : function() {
- if (gLayout.isInComentSite()) {
- parent.toInitialSize();
- }
- if (sv_withComments) {
- instanciateICommentForm();
- }
- },
- timeout :5
- }, {
- fn : function() {
+ if (gLayout.isInComentSite()) {
+ parent.toInitialSize();
+ }
+ if (sv_withComments) {
+ instanciateICommentForm();
+ }
+ },
+ timeout :5
+ }, {
+ fn : function() {
- gGETValues = CY.JSON.parse(sv_get_params);
-
- CY.get('#maincontainer').setStyle('display', 'block');
- CY.get('#textcontainer').setStyle('display', 'block');
-
- var val = (sv_withComments) ? gPrefs.get('layout','comments_col_width') : 0 ;
- var colWidth = sliderValToPx(val) ;
- gLayout.setLeftColumnWidth(colWidth) ;
-
- if (gLayout.isInFrame()) {
- parent.f_initFrame();
- parent.f_layoutFrames();
+ gGETValues = CY.JSON.parse(sv_get_params);
+
+ CY.get('#maincontainer').setStyle('display', 'block');
+ CY.get('#textcontainer').setStyle('display', 'block');
+
+ var val = (sv_withComments) ? gPrefs.get('layout','comments_col_width') : 0 ;
+ var colWidth = sliderValToPx(val) ;
+ gLayout.setLeftColumnWidth(colWidth) ;
+
+ if (gLayout.isInFrame()) {
+ parent.f_initFrame();
+ parent.f_layoutFrames();
- if (sv_withComments) {
- parent.f_fillTopToolbar() ;
- if (hasPerm("can_create_comment"))
- parent.$("#add_comment_btn").removeClass('initially_hidden');
- //parent.enqueueLoadingMsg(); // no more loading message ? TODO
-
- parent.f_fillFilterTab() ;
- parent.f_fillPreferencesTab() ;
-
-// parent.f_fillBrowseSection() ;
-
- var firstTimeFilterData = CY.JSON.parse(sv_filter_data);
- parent.f_updateFilterData(firstTimeFilterData);
-
- parent.f_setFilterValue(gGETValues) ;
- }
- parent.f_fillTextPreferencesTab() ;
- }
-
- if (gLayout.isInComentSite())
- parent.$("#c_fullscreen_btn").show();
- else {
- parent.$("#c_fullscreen_btn").hide();
- }
+ if (sv_withComments) {
+ parent.f_fillTopToolbar() ;
+ if (hasPerm("can_create_comment"))
+ parent.$("#add_comment_btn").removeClass('initially_hidden');
+ //parent.enqueueLoadingMsg(); // no more loading message ? TODO
+
+ parent.f_fillFilterTab() ;
+ parent.f_fillPreferencesTab() ;
+
+// parent.f_fillBrowseSection() ;
+
+ var firstTimeFilterData = CY.JSON.parse(sv_filter_data);
+ parent.f_updateFilterData(firstTimeFilterData);
+
+ parent.f_setFilterValue(gGETValues) ;
+ }
+ parent.f_fillTextPreferencesTab() ;
+ }
+
+ if (gLayout.isInComentSite())
+ parent.$("#c_fullscreen_btn").show();
+ else {
+ parent.$("#c_fullscreen_btn").hide();
+ }
- },
- timeout :5
- }, {
- fn : function() {
- if (sv_withComments) {
-
- reinit(gGETValues);
- initialConnect();
- }
- },
- timeout :5
- }, {
- fn : function() {
- if (gLayout.isInFrame()) {
- parent.f_interfaceUnfreeze() ;
- parent.f_removeLoadingMsg();
- }
- // if there is a comment id in the url display it
- if ("comment_id_key" in gGETValues) {
- var id_key = gGETValues["comment_id_key"] ;
- var comment = gDb.getCommentByIdKey(id_key) ;
- if (comment != null) {
- var path = gDb.getPath(comment) ;
- var topParentComment = path[path.length - 1] ;
+ },
+ timeout :5
+ }, {
+ fn : function() {
+ if (sv_withComments) {
+
+ reinit(gGETValues);
+ initialConnect();
+ }
+ },
+ timeout :5
+ }, {
+ fn : function() {
+ if (gLayout.isInFrame()) {
+ parent.f_interfaceUnfreeze() ;
+ parent.f_removeLoadingMsg();
+ }
+ // if there is a comment id in the url display it
+ if ("comment_id_key" in gGETValues) {
+ var id_key = gGETValues["comment_id_key"] ;
+ var comment = gDb.getCommentByIdKey(id_key) ;
+ if (comment != null) {
+ var path = gDb.getPath(comment) ;
+ var topParentComment = path[path.length - 1] ;
var focusComment = gDb.getCommentByIdKey(id_key);
// if comment_op=reply, show reply form
if ("comment_op" in gGETValues && gGETValues["comment_op"] == 'reply') {
@@ -299,19 +299,19 @@
else {
gSync.showFocusSingleComment(topParentComment, focusComment, false) ;
}
- }
- }
+ }
+ }
- // if comment_auto_display: show all comments
- if ("comments_auto_display" in gGETValues) {
- gSync.showAllComments();
- }
-
-// else {
-// gSync.showAllComments() ;// show all
-// }
- }
- });
- q1.run();
+ // if comment_auto_display: show all comments
+ if ("comments_auto_display" in gGETValues) {
+ gSync.showAllComments();
+ }
+
+// else {
+// gSync.showAllComments() ;// show all
+// }
+ }
+ });
+ q1.run();
};