src/cm/media/js/client/c_sync.js
author Production Moz <dev@sopinspace.com>
Mon, 28 Jan 2013 01:20:52 +0100
changeset 492 5b5245f4fe9a
parent 491 50eeeb10e960
child 501 5cd02f32be5e
permissions -rw-r--r--
Since scrollIntoView scroll the embed iframe *and* the parent window, restore the position of the toolbar.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
gShowingAllComments = false ;
466
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     2
// indexOf method of Array is unknown by stupid IE.
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     3
if (!Array.prototype.indexOf) {
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     4
  Array.prototype.indexOf = function(obj, start) {
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     5
    for (var i = (start || 0), j = this.length; i < j; i++) {
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     6
      if (this[i] === obj) { return i; }
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     7
    }
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     8
    return -1;
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
     9
  }
f00e34a4476b indexOf method of Array is unknown by stupid IE.
gibus
parents: 432
diff changeset
    10
}
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
// YUI : queue, overlay
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
Sync = function() {
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    13
  // this queue handles both animations and io requests
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    14
  this._q = null ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    15
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    16
  this._iPreventClick = false ; // oh really ?
0
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
Sync.prototype = {
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    20
  init : function (iComment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    21
  this._q = new CY.AsyncQueue() ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
// pr2 this._q = new CY.Queue() ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    23
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    24
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    25
  setPreventClickOn : function () {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    26
    CY.log("setPreventClickOn !") ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    27
    if (gLayout.isInFrame())
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    28
      parent.f_interfaceFreeze()    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    29
    this._iPreventClick = true ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    30
  },
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    32
  setPreventClickOff : function () {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    33
    CY.log("setPreventClickOff !") ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    34
    if (gLayout.isInFrame())
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    35
      parent.f_interfaceUnfreeze()    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    36
    this._iPreventClick = false ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    37
  },
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    39
  removeCommentRet : function(args) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    40
    var successfull = args['successfull'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    41
    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    42
    var iComment = (successfull) ? args['failure']['iComment'] : args['success']['iComment'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    43
    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    44
    if (successfull) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    45
      var filterData = args['returned']['filterData'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    46
      if (gLayout.isInFrame()) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    47
        parent.f_updateFilterData(filterData) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    48
      }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    49
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    50
      var y = gIComments.getTopPosition()[1] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    51
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    52
      var comment = gDb.getComment(iComment.commentId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    53
      this._q.add(
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    54
                function(){
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    55
                  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    56
                unpaintCommentScope(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    57
                gIComments.close(comment.id) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    58
                gIComments.remove(comment.id) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    59
                if (comment.reply_to_id != null)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    60
                  gIComments.refresh(comment.reply_to_id) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    61
                
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    62
                gDb.del(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    63
                
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    64
                if (gLayout.isInFrame()) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    65
                  if (gDb.comments.length == 0 && gDb.allComments.length != 0) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    66
                    parent.f_enqueueMsg(gettext("no filtered comments left")) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    67
                  parent.resetFilter() ;  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    68
                  }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    69
                  else {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    70
                  // just counting here ...
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    71
                  var filterRes = gDb.computeFilterResults() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    72
                  updateFilterResultsCount(filterRes['nbDiscussions'], filterRes['nbComments'], filterRes['nbReplies']) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    73
                  }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    74
                }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    75
                }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    76
      );
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    77
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    78
      this._animateTo(y) ;    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    79
    }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    80
    this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    81
    this.resume() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    82
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    83
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    84
  moderateCommentRet : function(args) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    85
    var successfull = args['successfull'] ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    87
    var iComment = (successfull) ? args['failure']['iComment'] : args['success']['iComment'] ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    89
    if (successfull) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    90
      var ret = args['returned'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    91
      var comment = ret['comment'] ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    93
      gDb.upd(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    94
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    95
      var shouldReset = gLayout.isInFrame() && !parent.f_isFrameFilterFieldsInit() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    96
      if (shouldReset){
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    97
        parent.resetFilter() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    98
        this._showSingleComment(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
    99
      }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   100
      else 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   101
        iComment.changeModeration(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   102
    }
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   104
    this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   105
    this.resume() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   106
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   107
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   108
  saveCommentRet : function(args) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   109
    var successfull = args['successfull'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   110
    if (successfull) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   111
      var formId = args['success']['formId'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   112
      var ret = args['returned'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   113
    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   114
      removeFormErrMsg(formId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   115
    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   116
      if ('errors' in ret) { // validation error
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   117
        var errors = ret['errors'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   118
        for (var eltName in errors) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   119
          addFormErrMsg(formId, eltName, errors[eltName]) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   120
        }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   121
        this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   122
      }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   123
      else {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   124
        var isReply = function() {return (gNewReply != null) && (formId == gNewReply['ids']['formId']) ;} ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   125
        var isNewComment = function() {return (gICommentForm != null) && (formId == gICommentForm['formId']) ;} ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   126
        var isEdit = function() {return (gEdit != null) && (formId == gEdit['ids']['formId']) ;} ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   127
        
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   128
        // doing this here for the a priori moderation case
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   129
        if (isNewComment())
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   130
          this.hideICommentForm(cleanICommentForm()) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   131
        else if (isEdit())
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   132
          this._hideEditForm() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   133
        else if (isReply())
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   134
          this._hideNewReplyForm() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   135
        
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   136
        if ("ask_for_notification" in ret) {  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   137
          if (ret['ask_for_notification']) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   138
            // TODO ask for notification ...or use AUTO_CONTRIB ?
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   139
            parent.f_yesNoDialog(gettext("Do you want to be notified of all replies in all discussions you participated in?"), gettext("Reply notification"), 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   140
              function() { // special case : no waiting for the return, no error check, nothing !
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   141
                  var cfg = {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   142
                  method: "POST", 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   143
                  data: urlEncode({'fun':'ownNotify', 'key':sv_key, 'version_key':sv_version_key, 'email':ret['email'], 'active':false}) 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   144
                } ; 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   145
                CY.io(sv_client_url, cfg);
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   146
              }, this, null,
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   147
              function() { // special case : no waiting for the return, no error check, nothing !
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   148
                  var cfg = {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   149
                  method: "POST", 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   150
                  data: urlEncode({'fun':'ownNotify', 'key':sv_key, 'version_key':sv_version_key, 'email':ret['email'], 'active':true}) 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   151
                } ; 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   152
                CY.io(sv_client_url, cfg);
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   153
              }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   154
          }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   155
        }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   156
          
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   157
        
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   158
        if ("comment" in ret) { // won't be when add with a priori moderation
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   159
          var comment = ret['comment'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   160
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   161
          gDb.upd(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   162
  
490
57c1ba71f642 Do not reset filters when adding a comment.
Production Moz <dev@sopinspace.com>
parents: 466
diff changeset
   163
          var shouldReset = gLayout.isInFrame() && parent.f_isFrameFilterFieldsInit() ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   164
          if (shouldReset)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   165
            parent.resetFilter() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   166
          else { // ASSUMING filter is in init state ! (because when not // TODO $$$$$$$$$$$ this isn't true anymore .... when passing filter arguments in url !!
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   167
              // in frame for now data can't be filtered)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   168
            if (comment.reply_to_id == null) { // not a reply
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   169
              unpaintCommentScope(comment) ; // for the edit case
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   170
              paintCommentScope(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   171
            }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   172
          }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   173
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   174
          // UPDATE FILTER DATA // TODO move ????
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   175
          var filterData = ret['filterData'] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   176
          if (gLayout.isInFrame()) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   177
            parent.f_updateFilterData(filterData) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   178
            updateResetFilterResultsCount() ;       
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   179
          }
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   181
          if (isReply()) { // add reply case
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   182
            if (!shouldReset) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   183
              this._insertReply(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   184
            }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   185
          }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   186
          else { // edit (reply or comment) or add (comment) case
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   187
              this._showSingleComment(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   188
          }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   189
        }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   190
        else 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   191
          this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   192
      }
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   194
    }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   195
    else { // TODO ? ALL ret-FUNCTIONS ?
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   196
      this._q.add({id:"expl", fn:function () {CY.log('in example .........') ;}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   197
      this._q.promote("expl") ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   198
    }
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   200
    this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   201
    this.resume() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   202
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   203
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   204
  example : function () {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   205
    CY.log('in example .........') ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   206
  },
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   208
  moderateComment : function(iComment, state) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   209
    var comment = gDb.getComment(iComment['commentId']) ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
        this._q.add(
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   211
              {fn:CY.bind(this.setPreventClickOn, this)},
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   212
              {autoContinue:false, fn:CY.bind(doExchange, null, "editComment", {'comment_key':comment.key, 'state':state}, null, this.moderateCommentRet, this, {'iComment':iComment}, gettext("could not save comment"))}
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   213
              ).run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   214
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   215
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   216
  _saveComment : function(serverFun, formId) {
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
        this._q.add(
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   218
              {fn:CY.bind(this.setPreventClickOn, this)},
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   219
              {autoContinue:false, fn:CY.bind(doExchange, null, serverFun, {}, formId, this.saveCommentRet, this, {'formId':formId}, gettext("could not save comment"))}
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   220
              ).run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   221
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   222
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   223
  editComment : function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   224
    this._saveComment("editComment", gEdit['ids']['formId']) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   225
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   226
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   227
  saveComment : function(formId) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   228
    this._saveComment("addComment", formId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   229
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   230
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   231
  removeComment : function(iComment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   232
    checkForOpenedDialog(iComment, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   233
      if (gLayout.isInFrame()) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   234
        parent.f_yesNoDialog(gettext("Are you sure you want to delete this comment?"), gettext("Warning"), function() { this.animateToTop() ;}, this, null, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   235
          var comment = gDb.getComment(iComment.commentId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   236
              this._q.add(
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   237
                    {fn:CY.bind(this.setPreventClickOn, this)},
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   238
                    {autoContinue:false, fn:CY.bind(doExchange, null, "removeComment", {'comment_key':comment.key}, null, this.removeCommentRet, this, {'iComment':iComment}, gettext("could not remove comment"))}
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   239
                    ).run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   240
        }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   241
            
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   242
      }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   243
//      else {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   244
//        alert("TODO : can't yet delete comments when not embed in text_view_frame because can't 'dialog' confirmation") ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   245
//      }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   246
    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   247
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   248
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   249
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   250
  resume : function(commentDbIds, mouseXY) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   251
    this._q.run() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   252
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   253
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   254
  resetAutoContinue : function(callbackId) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   255
    this._q.getCallback(callbackId).autoContinue = true;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   256
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   257
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   258
  hideICommentForm : function(funObj) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   259
//    this._q.add({fn:function() {persistICommentFormValues();}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   260
    this._q.add({autoContinue:false, fn:CY.bind(gICommentForm['animationHide'].run, gICommentForm['animationHide'])}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   261
//    this._q.add({fn:function() {cleanICommentForm();}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   262
    if (funObj)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   263
      this._q.add(funObj) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   264
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   265
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   266
  /* ANIMATION DRIVEN INTERFACE CHANGES */
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   267
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   268
  showCommentForm : function(iComment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   269
    checkForOpenedDialog(null, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   270
          this._q.add({fn:CY.bind(this.setPreventClickOn, this)});
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   271
      this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   272
                if (iComment == null) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   273
                  var selection = getSelectionInfo() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   274
                  updateICommentFormSelection(selection) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   275
                }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   276
                showICommentForm(iComment);
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   277
              }}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   278
      this._q.add({autoContinue:false, fn:CY.bind(gICommentForm['animationShow'].run, gICommentForm['animationShow'])},
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   279
          {fn:CY.bind(this.setPreventClickOff, this)}
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   280
          ).run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   281
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   282
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   283
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   284
  showEditForm : function(iComment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   285
    checkForOpenedDialog(null, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   286
          this._q.add({fn:CY.bind(this.setPreventClickOn, this)});
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   288
          this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   289
                  showEditForm(iComment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   290
                }});
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   291
      this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   292
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   293
          this._q.add({fn:CY.bind(this.setPreventClickOff, this)});
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   294
          this._q.run() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   295
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   296
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   297
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   298
  showReplyForm : function(iComment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   299
    checkForOpenedDialog(null, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   300
          this._q.add({fn:CY.bind(this.setPreventClickOn, this)});
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   302
          this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   303
                    instanciateNewReplyForm(iComment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   304
                    }});
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   305
      this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   306
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   307
          this._q.add({fn:CY.bind(this.setPreventClickOff, this)});
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   308
          this._q.run() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   309
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   310
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   311
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   312
  cancelICommentForm : function() {
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
        this._q.add({fn:CY.bind(this.setPreventClickOn, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
        
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   315
//    this._q.add({fn:function() {cleanICommentForm();}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   316
      this.hideICommentForm() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   317
      
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
        this._q.add({fn:CY.bind(this.setPreventClickOff, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
        this._q.run() ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   320
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   321
  cancelEdit : function() {
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
        this._q.add({fn:CY.bind(this.setPreventClickOn, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
        
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   324
      this._q.add({fn:function() {cancelEditForm();}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   325
      this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   326
      
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
        this._q.add({fn:CY.bind(this.setPreventClickOff, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
        this._q.run() ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   329
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   330
  cancelReply : function() {
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
        this._q.add({fn:CY.bind(this.setPreventClickOn, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
        
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   333
      this._q.add({fn:function() {cancelNewReplyForm();}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   334
      this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   335
      
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
        this._q.add({fn:CY.bind(this.setPreventClickOff, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
        this._q.run() ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   338
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   339
  changeScopeFormClick : function() {
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
        this._q.add({fn:CY.bind(this.setPreventClickOn, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
        
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   342
      this._q.add({fn:function() {changeScopeFormClick();}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   343
      this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   344
      
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
        this._q.add({fn:CY.bind(this.setPreventClickOff, this)});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   346
        this._q.run() ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   347
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   348
  // this is invoked during queue execution
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   349
  _hideNewReplyForm : function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   350
    this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   351
          cleanNewReplyForm() ; 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   352
          cancelNewReplyForm() ;}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   353
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   354
  // this is invoked during queue execution
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   355
  _hideEditForm : function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   356
    this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   357
          cancelEditForm() ;}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   358
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   359
  // this is invoked during queue execution
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   360
  _insertReply : function(comment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   361
    this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   362
          var parentComment = gDb.getComment(comment.reply_to_id) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   363
          var parentThread = gDb.getThreads([parentComment]) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   364
          var previousComment = parentThread[parentThread.length - 2] ; // - 2 because now that comment has been added comment is parentThread[parentThread.length - 1]
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   365
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   366
          var iComment = gIComments.insertAfter(previousComment, comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   367
          // iComment CAN'T BE NULL ! (TODO check that there is a
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   368
          // check server side that parent exists when adding a reply
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   369
          // !)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   370
          
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   371
          var parentPosition = gIComments.getPosition(comment.reply_to_id) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   372
          iComment.setPosition(parentPosition) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   373
          
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   374
          // check if activation is necessary (will always be ?)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   375
          var comment_path = gDb.getPath(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   376
          var topComment = comment_path[comment_path.length - 1] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   377
          if (gIComments.isTopActive(topComment.id))
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   378
            iComment.activate() ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   379
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   380
          iComment.show() ;}}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   381
      this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   382
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   383
  _showSingleComment : function(comment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   384
    if (comment != null) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   385
      var path = gDb.getPath(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   386
      var topAncestorComment = path[path.length - 1] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   387
      var topY = 0 ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   388
      if (comment['start_wrapper'] != -1) 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   389
        topY = CY.get(".c-id-"+topAncestorComment.id).getY() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   390
      else 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   391
        topY = CY.get('document').get('scrollTop') ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   392
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   393
      this._showComments([topAncestorComment.id], topY, false) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   394
      // optim when browsing comments with no reply     
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   395
      if (topAncestorComment.replies.length > 0)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   396
        this._animateTo(topY) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   397
    }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   398
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   399
  _showFocusSingleComment : function(topComment, focusComment, reply) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   400
    if (topComment != null) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   401
      var topY = 0 ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   402
      if (topComment['start_wrapper'] != -1) 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   403
        topY = CY.get(".c-id-"+topComment.id).getY() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   404
      else 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   405
        topY = CY.get('document').get('scrollTop') ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   406
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   407
      this._showComments([topComment.id], topY, false) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   408
      // optim when browsing comments with no reply     
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   409
      if (topComment.replies.length > 0 || reply)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   410
        this._animateToAndFocus(topY, focusComment.id, reply) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   411
    }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   412
  },
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   413
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   414
  showSingleComment : function(comment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   415
    this._q.add({fn:CY.bind(this.setPreventClickOn, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   416
    this._showSingleComment(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   417
    this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   418
    this._q.run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   419
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   420
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   421
  showFocusSingleComment : function(topComment, focusComment, reply) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   422
    this._q.add({fn:CY.bind(this.setPreventClickOn, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   423
    this._showFocusSingleComment(topComment, focusComment, reply) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   424
    this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   425
    this._q.run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   426
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   427
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   428
  browse : function(order, whereto) { 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   429
    var comment = gIComments.browse(order, whereto) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   430
    if (comment != null) 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   431
      this.showSingleComment(comment) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   432
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   433
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   434
  _showComments : function(commentDbIds, topY, atDocumentTop) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   435
    this._q.add(
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   436
      {fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   437
        gShowingAllComments = atDocumentTop ;     
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   438
        gIComments.hide() ; 
421
3ddbfa64f596 Adds a table of content.
gibus
parents: 375
diff changeset
   439
        hideToc();
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   440
        var cs = CY.Array.map(commentDbIds, function(id) { return gDb.getComment(id) ; }) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   441
        var comments = gDb.getThreads(cs) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   442
        gIComments.fetch(comments) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   443
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   444
        if (commentDbIds.length > 0) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   445
          if (atDocumentTop) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   446
            CY.get('document').set('scrollTop', 0) ; 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   447
          }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   448
          else {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   449
            gIComments.activate(commentDbIds[0]) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   450
            var scopeStart = CY.get(".c-id-"+commentDbIds[0]) ;
491
50eeeb10e960 Since scrollIntoView scroll the embed iframe *and* the parent window, save and restore the position of the toolbar.
Production Moz <dev@sopinspace.com>
parents: 490
diff changeset
   451
            if (scopeStart && !scopeStart.inViewportRegion()) { // scopeStart could be null when comment has no scope
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   452
              scopeStart.scrollIntoView(true) ;
491
50eeeb10e960 Since scrollIntoView scroll the embed iframe *and* the parent window, save and restore the position of the toolbar.
Production Moz <dev@sopinspace.com>
parents: 490
diff changeset
   453
              // Since scrollIntoView scroll the embed ifram *and* the parent window
50eeeb10e960 Since scrollIntoView scroll the embed iframe *and* the parent window, save and restore the position of the toolbar.
Production Moz <dev@sopinspace.com>
parents: 490
diff changeset
   454
              // restore the position of the toolbar
492
5b5245f4fe9a Since scrollIntoView scroll the embed iframe *and* the parent window, restore the position of the toolbar.
Production Moz <dev@sopinspace.com>
parents: 491
diff changeset
   455
              if (parent)
5b5245f4fe9a Since scrollIntoView scroll the embed iframe *and* the parent window, restore the position of the toolbar.
Production Moz <dev@sopinspace.com>
parents: 491
diff changeset
   456
                parent.document.getElementById('outer-north').scrollIntoView(true) ;
491
50eeeb10e960 Since scrollIntoView scroll the embed iframe *and* the parent window, save and restore the position of the toolbar.
Production Moz <dev@sopinspace.com>
parents: 490
diff changeset
   457
            }
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   458
          }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   459
        }
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   460
        
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   461
        gIComments.setPosition([gConf['iCommentLeftPadding'], topY]) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   462
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   463
        gIComments.show() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   464
      }}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   465
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   466
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   467
  _animateTo : function(topY) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   468
    this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   469
            gIComments.setAnimationToPositions(topY) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   470
            }},
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   471
          {id:"animationRun", autoContinue:false, fn:CY.bind(gIComments.runAnimations, gIComments)}
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   472
              ) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   473
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   474
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   475
  _animateToAndFocus : function(topY, focusCommentId, reply) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   476
    this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   477
            gIComments.setAnimationToPositionsAndFocus(topY, focusCommentId, reply) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   478
            }},
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   479
          {id:"animationRun", autoContinue:false, fn:CY.bind(gIComments.runAnimations, gIComments)}
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   480
              ) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   481
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   482
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   483
  _animateToTop : function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   484
    var topPos = gIComments.getTopPosition() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   485
    if (topPos != null)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   486
      this._animateTo(topPos[1]) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   487
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   488
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   489
  animateToTop : function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   490
    this._q.add({fn:CY.bind(this.setPreventClickOn, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   491
    this._animateToTop() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   492
    this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   493
    this._q.run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   494
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   495
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   496
  showAllComments : function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   497
    checkForOpenedDialog(null, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   498
      gShowingAllComments = true ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   499
      var allTopComments = CY.Array.map(gDb.comments, function(c){return c.id;}) ;
432
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   500
      // Reorder if by scope.
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   501
      if (parent.$("#browse_by").val() == 'scope') {
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   502
        allTopComments.sort(function (a,b) {
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   503
          if (gDb.ordered_comment_ids['scope'].indexOf(a) < gDb.ordered_comment_ids['scope'].indexOf(b))
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   504
            return -1;
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   505
          if (gDb.ordered_comment_ids['scope'].indexOf(a) > gDb.ordered_comment_ids['scope'].indexOf(b))
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   506
            return 1
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   507
          return 0
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   508
		    });
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   509
      }
375
d6439b3eb2de replace 'add comment' button
gibus
parents: 341
diff changeset
   510
      // GIB: go down the 'add comment' icon
d6439b3eb2de replace 'add comment' button
gibus
parents: 341
diff changeset
   511
      this.showComments(allTopComments, [0,30], true) ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   512
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   513
  },
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   514
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   515
  showScopeRemovedComments : function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   516
    checkForOpenedDialog(null, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   517
      gShowingAllComments = true ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   518
      var scopeRemovedComments = CY.Array.filter(gDb.comments, function(comment) { return (comment.start_wrapper == -1) ; }) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   519
      var scopeRemovedCommentIds = CY.Array.map(scopeRemovedComments, function(c){return c.id;}) ;
432
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   520
      // Reorder if by scope.
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   521
      if (parent.$("#browse_by").val() == 'scope') {
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   522
        scopeRemovedCommentIds.sort(function (a,b) {
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   523
          if (gDb.ordered_comment_ids['scope'].indexOf(a) < gDb.ordered_comment_ids['scope'].indexOf(b))
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   524
            return -1;
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   525
          if (gDb.ordered_comment_ids['scope'].indexOf(a) > gDb.ordered_comment_ids['scope'].indexOf(b))
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   526
            return 1
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   527
          return 0
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   528
		    });
aad07a378d44 Respect order by scope in show all comments or show all detached comments.
gibus
parents: 421
diff changeset
   529
      }
375
d6439b3eb2de replace 'add comment' button
gibus
parents: 341
diff changeset
   530
      // GIB: go down the 'add comment' icon
d6439b3eb2de replace 'add comment' button
gibus
parents: 341
diff changeset
   531
      this.showComments(scopeRemovedCommentIds, [0,30], true) ;
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   532
      
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   533
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   534
  },
103
61fd17f9ab78 enh: detached comments
rbernard
parents: 24
diff changeset
   535
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   536
  showComments : function(commentDbIds, mouseXY, atDocumentTop) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   537
    checkForOpenedDialog(null, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   538
      this._q.add({fn:CY.bind(this.setPreventClickOn, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   539
      this._showComments(commentDbIds, mouseXY[1], atDocumentTop) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   540
      this._animateTo(mouseXY[1]) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   541
      this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   542
      this._q.run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   543
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   544
  },
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   545
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   546
  openComment : function(iComment) { 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   547
    this._q.add({fn:CY.bind(this.setPreventClickOn, this)}) ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   548
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   549
    var y = gIComments.getTopPosition()[1] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   550
    this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   551
      gIComments.open(iComment.commentId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   552
        gIComments.refresh(iComment.commentId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   553
    }}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   554
    this._animateTo(y) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   555
    
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   556
    this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   557
    this._q.run();
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   558
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   559
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   560
  closeComment : function(iComment) { 
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   561
    checkForOpenedDialog(iComment, function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   562
      this._q.add({fn:CY.bind(this.setPreventClickOn, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   563
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   564
      var y = gIComments.getTopPosition()[1] ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   565
      this._q.add({fn:function() {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   566
        var comment = gDb.getComment(iComment.commentId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   567
        gIComments.close(iComment.commentId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   568
          if (comment.reply_to_id != null)
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   569
            gIComments.refresh(comment.reply_to_id) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   570
      }}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   571
      this._animateTo(y) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   572
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   573
      this._q.add({fn:CY.bind(this.setPreventClickOff, this)}) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   574
      this._q.run() ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   575
    }, this, null) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   576
  },
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   577
  
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   578
  activate : function(iComment) {
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   579
    gIComments.activate(iComment.commentId) ;
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   580
  }
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   581
}
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   582
      
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   583
readyForAction = function () {
341
053551f213fb Coding style for js: expand tabs
gibus
parents: 339
diff changeset
   584
  return !gSync._iPreventClick ;
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   585
};