Blame pagure/static/request_ev.js

Pierre-Yves Chibon a42bf9
add_comment = function(data, username) {
Pierre-Yves Chibon 20621e
  console.log('Adding comment ' + data.comment_added);
Pierre-Yves Chibon 62bb73
  var field = $('#comments');
Pierre-Yves Chibon f2ab75
Pierre-Yves Chibon f2ab75
  var edit_btn = ''
Pierre-Yves Chibon f2ab75
  if (data.request_id && data.project){
Pierre-Yves Chibon f2ab75
    edit_btn = '
Pierre-Yves Chibon ae9228
        href="/' + data.project + '/pull-request/' + data.request_id + '/comment/' + data.comment_id + '/edit" \
Pierre-Yves Chibon a42bf9
        data-comment="' + data.comment_id + '" \
Pierre-Yves Chibon 44be5f
        data-objid="' + data.request_id + '"> \
Ryan Lerch 6d2e06
         \
Pierre-Yves Chibon 44be5f
    ';
Pierre-Yves Chibon f2ab75
  }
Pierre-Yves Chibon 62bb73
  var inline = false;
Pierre-Yves Chibon 20621e
  if (data.commit_id){
Pierre-Yves Chibon 62bb73
    inline = true;
Pierre-Yves Chibon 62bb73
    edit_btn = '';
Pierre-Yves Chibon 62bb73
  }
Pierre-Yves Chibon 62bb73
Pierre-Yves Chibon 414f78
  if (data.notification){
Ryan Lerch 1fa495
    var _data = '
'
Ryan Lerch 1fa495
                +'
'
Ryan Lerch 1fa495
                + ''
Ryan Lerch 1fa495
                +''
Ryan Lerch 502898
                +''
Ryan Lerch 1fa495
                + data.comment_added
Ryan Lerch 1fa495
                +''
Ryan Lerch 1fa495
                +'
'
Ryan Lerch 1fa495
                + ''
Ryan Lerch 1fa495
                + 'seconds ago'
Ryan Lerch 1fa495
                +''
Ryan Lerch 1fa495
               +''
Pierre-Yves Chibon 414f78
Pierre-Yves Chibon e65964
  } else {
Pierre-Yves Chibon ae9228
    var _csrf = $('#csrf_token').clone();
Pierre-Yves Chibon a16bed
    var _data =
Pierre-Yves Chibon a16bed
      '
'
Pierre-Yves Chibon a16bed
    + '  
'
Ryan Lerch 1fa495
    + '    
'
Pierre-Yves Chibon a16bed
    + '      '
Pierre-Yves Chibon a16bed
    + '      
Pierre-Yves Chibon a16bed
    + '        class="notblue font-weight-bold">'+data.comment_user+''
Pierre-Yves Chibon a16bed
    + '      
Pierre-Yves Chibon a22596
    if (data.comment_id) {
Pierre-Yves Chibon a22596
      _data += ' href="#comment-' + data.comment_id + '"';
Pierre-Yves Chibon a22596
    }
Pierre-Yves Chibon a22596
    _data += '>commented seconds ago'
Pierre-Yves Chibon a16bed
    + '      '
Pierre-Yves Chibon c3b433
    + '    ';
Ryan Lerch 1fa495
Pierre-Yves Chibon a22596
    if ( data.comment_user == username && data.comment_id !== undefined) {
Pierre-Yves Chibon a22596
      _data = _data
Pierre-Yves Chibon a22596
      + '    
'
Pierre-Yves Chibon a22596
      + '      
Pierre-Yves Chibon a22596
      + '         class="btn btn-outline-primary border-0" data-comment="' + data.comment_id + '" data-objid="' + data.request_id + '">'
Pierre-Yves Chibon a22596
      + '        '
Pierre-Yves Chibon a22596
      + '      '
Julen Landa Alustiza 358e00
      + '      
Julen Landa Alustiza 358e00
      + '         value="' + data.comment_id + '" type="submit" >'
Pierre-Yves Chibon a22596
      + '        '
Pierre-Yves Chibon a22596
      + '      '
Pierre-Yves Chibon a22596
      + '    ';
Ryan Lerch 1fa495
    }
Ryan Lerch 1fa495
Pierre-Yves Chibon c3b433
    _data = _data
Ryan Lerch 1fa495
    + '  '
Pierre-Yves Chibon a16bed
    + '  
'
Ryan Lerch 1fa495
    + '    <section class="issue_comment">'</section>
Pierre-Yves Chibon a16bed
    + '      
'
Pierre-Yves Chibon a16bed
    + '        '
Pierre-Yves Chibon a16bed
    + '        '
Ryan Lerch 1fa495
    + emojione.toImage(data.comment_added)
Pierre-Yves Chibon a16bed
    + '        '
Ryan Lerch 1fa495
    + '      '
Ryan Lerch 1fa495
    + '    '
Ryan Lerch 1fa495
    + '  '
Ryan Lerch 1fa495
    + ''
Ryan Lerch 1fa495
Pierre-Yves Chibon e65964
  }
Pierre-Yves Chibon 62bb73
Pierre-Yves Chibon 62bb73
  if (inline){
Pierre-Yves Chibon 20621e
    // Inline comment
Pierre-Yves Chibon 20621e
    console.log('Inline');
Ryan Lerch 1fa495
Ryan Lerch 1fa495
    //add comment to files changed tab
Pierre-Yves Chibon 20621e
    var field = $('[data-commit="' + data.commit_id + '"]').parent();
Pierre-Yves Chibon 20621e
    var id = field.children().children().attr('id').split('_')[0];
Pierre-Yves Chibon 20621e
    var row = $('#' + id + '_' + (parseInt(data.line) + 1)).parent().parent();
Pierre-Yves Chibon c3b433
    row.before(''+_data+'');
Ryan Lerch 1fa495
    console.log(row);
Ryan Lerch 1fa495
Ryan Lerch 1fa495
    //add comment to comments tab
Ryan Lerch 1fa495
    var cfield = $('#request_comment');
Julen Landa Alustiza 945aee
    cfield.append(_data);
Ryan Lerch 1fa495
Pierre-Yves Chibon 20621e
  } else {
Pierre-Yves Chibon 20621e
    // Generic comment
Pierre-Yves Chibon 20621e
    console.log('generic');
Pierre-Yves Chibon 4f0346
    var field = $('#request_comment');
Julen Landa Alustiza 945aee
    field.append(_data);
Pierre-Yves Chibon 20621e
  }
Pierre-Yves Chibon 20621e
}
Pierre-Yves Chibon 20621e
Pierre-Yves Chibon 0ab13b
update_comment = function(data) {
Pierre-Yves Chibon 0ab13b
  console.log('Updating comment ' + data.comment_id);
Pierre-Yves Chibon 62bb73
  var field = $('#comment-' + data.comment_id).parent();
Pierre-Yves Chibon 62bb73
  var edited = field.find('.text-muted');
Pierre-Yves Chibon 62bb73
  if (edited.length == 0) {
Pierre-Yves Chibon 62bb73
    $(field.find('aside')).before(
Pierre-Yves Chibon 62bb73
        '<small class="text-muted">Edited a just now by '</small>
Pierre-Yves Chibon 62bb73
        + data.comment_editor + '');
Pierre-Yves Chibon 0ab13b
  } else {
Pierre-Yves Chibon 62bb73
    edited.html('Edited a just now by ' + data.comment_editor)
Pierre-Yves Chibon 0ab13b
  }
Pierre-Yves Chibon 62bb73
  field.find('.comment_body').html(data.comment_updated);
Pierre-Yves Chibon 62bb73
  field.find('.issue_actions').show();
Pierre-Yves Chibon 62bb73
  field.find('.issue_comment').show();
Pierre-Yves Chibon e32184
  field.find('.edit_comment').remove();
Pierre-Yves Chibon 0ab13b
}
Pierre-Yves Chibon 0ab13b
Pierre-Yves Chibon a42bf9
process_event = function(data, requestid, username){
Pierre-Yves Chibon 20621e
  console.log(data);
Pierre-Yves Chibon 194971
  var category = null;
Pierre-Yves Chibon 194971
  var originalTitle = document.title;
Pierre-Yves Chibon 20621e
  if (data.comment_added){
Pierre-Yves Chibon a42bf9
    add_comment(data, username);
Pierre-Yves Chibon 194971
    category = 'comment';
Pierre-Yves Chibon 0ab13b
  } else if (data.comment_updated){
Pierre-Yves Chibon 0ab13b
    update_comment(data);
Pierre-Yves Chibon 0ab13b
    category = 'Comment updated';
Pierre-Yves Chibon 0ab13b
  } else {
Pierre-Yves Chibon 0ab13b
    console.log('Unknown data');
Pierre-Yves Chibon 194971
  }
Pierre-Yves Chibon 194971
Pierre-Yves Chibon 27b932
  if (category && !document.hasFocus()) {
Pierre-Yves Chibon 194971
    var int = setInterval(function(){
Pierre-Yves Chibon 194971
      var title = document.title;
Pierre-Yves Chibon 194971
      document.title = (title === originalTitle) ? category : originalTitle;
Pierre-Yves Chibon 194971
    }, 750);
Pierre-Yves Chibon 194971
Pierre-Yves Chibon 194971
    $(window).focus(function () {
Pierre-Yves Chibon 194971
      clearInterval(int);
Pierre-Yves Chibon 194971
      document.title = originalTitle;
Pierre-Yves Chibon 194971
    });
Pierre-Yves Chibon 20621e
  }
Pierre-Yves Chibon 20621e
}