Changeset eb2df0a in cboos.git


Ignore:
Timestamp:
Jan 14, 2019, 1:36:34 AM (5 years ago)
Author:
Christian Boos <cboos@…>
Branches:
t13116-experimental.2
Parents:
01d489e2
git-author:
Christian Boos <cboos@…> (01/14/19 01:35:12)
git-committer:
Christian Boos <cboos@…> (01/14/19 01:36:34)
Message:

(#13116) add ticket comment buttons via insertNearReplyToComment JavaScript? API

Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trac/ticket/templates/ticket.html

    r01d489e2 reb2df0a  
    218218          </div>
    219219          # endfor
     220
     221          <script>
     222            // inlinebuttons in ticket change are presented in
     223            // left-to-right order, i.e. those added before
     224            // #reply-to-comment-n will be on its left, those added
     225            // after will be on its right
     226            function insertNearReplyToComment(num, content, side) {
     227              var $replyto = $("#reply-to-comment-" + num);
     228              if (side === 'right') {
     229                $replyto.after(content);
     230              } else if (side === 'rightmost') {
     231                $replyto.parent().append(content);
     232              } else if (side === 'leftmost') {
     233                $replyto.parent().prepend(content);
     234              } else { // 'left'
     235                $replyto.before(content);
     236              }
     237            }
     238          </script>
     239
    220240        </div>
    221241      </div>
  • trac/ticket/templates/ticket_box.html

    r01d489e2 reb2df0a  
    195195          if (side === 'right') {
    196196            $("#ticket .description #addreply").before(content);
     197          } else if (side === 'rightmost') {
     198            $("#ticket .description > h2").after(content);
    197199          } else if (side === 'leftmost') {
    198200            $("#ticket .description").children(".searchable, br")
  • tracopt/ticket/htdocs/ticketclone.coffee

    r01d489e2 reb2df0a  
    7474          description: quoteText(c.comment))
    7575
    76       btns.prepend cform
     76      insertNearReplyToComment c.cnum, cform
    7777
    7878
  • tracopt/ticket/htdocs/ticketclone.js

    r01d489e2 reb2df0a  
    4747          description: quoteText(c.comment)
    4848        }));
    49         results.push(btns.prepend(cform));
     49        results.push(insertNearReplyToComment(c.cnum, cform));
    5050      } else {
    5151        results.push(void 0);
  • tracopt/ticket/htdocs/ticketdeleter.coffee

    r01d489e2 reb2df0a  
    3838  """
    3939
    40 deleteComment = (c) ->
     40addDeleteComment = (c) ->
    4141  # c.id == "trac-change-3-1347886395121000"
    4242  #          0123456789012
    4343  [cnum, cdate] = c.id.substr(12).split('-')
    44   $ """
     44  insertNearReplyToComment cnum, $("""
    4545    <form action="#" method="get">
    4646     <div class="inlinebuttons">
     
    5454     </div>
    5555    </form>
    56   """
     56  """), 'leftmost'
    5757
    5858
    5959$(document).ready () ->
    6060  # Insert "Delete" buttons for ticket description and each comment
    61   insertNearReplyToDescription deleteTicket(), 'leftmost'
    62   $('#changelog div.change').each () ->
    63     $('.trac-ticket-buttons', this).prepend deleteComment this
     61  insertNearReplyToDescription deleteTicket, 'leftmost'
     62  $('#changelog div.change').each () -> addDeleteComment this
  • tracopt/ticket/htdocs/ticketdeleter.js

    r01d489e2 reb2df0a  
    11// Generated by CoffeeScript 1.12.7
    22(function() {
    3   var $, captionedButton, deleteComment, deleteTicket;
     3  var $, addDeleteComment, captionedButton, deleteTicket;
    44
    55  $ = jQuery;
     
    1717  };
    1818
    19   deleteComment = function(c) {
     19  addDeleteComment = function(c) {
    2020    var cdate, cnum, ref;
    2121    ref = c.id.substr(12).split('-'), cnum = ref[0], cdate = ref[1];
    22     return $("<form action=\"#\" method=\"get\">\n <div class=\"inlinebuttons\">\n  <input type=\"hidden\" name=\"action\" value=\"delete-comment\">\n  <input type=\"hidden\" name=\"cnum\" value=\"" + cnum + "\">\n  <input type=\"hidden\" name=\"cdate\" value=\"" + cdate + "\">\n  <input type=\"submit\"\n         value=\"" + (captionedButton('–', _('Delete'))) + "\"\n         title=\"" + (_('Delete comment %(num)s', {
     22    return insertNearReplyToComment(cnum, $("<form action=\"#\" method=\"get\">\n <div class=\"inlinebuttons\">\n  <input type=\"hidden\" name=\"action\" value=\"delete-comment\">\n  <input type=\"hidden\" name=\"cnum\" value=\"" + cnum + "\">\n  <input type=\"hidden\" name=\"cdate\" value=\"" + cdate + "\">\n  <input type=\"submit\"\n         value=\"" + (captionedButton('–', _('Delete'))) + "\"\n         title=\"" + (_('Delete comment %(num)s', {
    2323      num: cnum
    24     })) + "\"\n         class=\"trac-delete\">\n </div>\n</form>");
     24    })) + "\"\n         class=\"trac-delete\">\n </div>\n</form>"), 'leftmost');
    2525  };
    2626
    2727  $(document).ready(function() {
    28     insertNearReplyToDescription(deleteTicket(), 'leftmost');
     28    insertNearReplyToDescription(deleteTicket, 'leftmost');
    2929    return $('#changelog div.change').each(function() {
    30       return $('.trac-ticket-buttons', this).prepend(deleteComment(this));
     30      return addDeleteComment(this);
    3131    });
    3232  });
Note: See TracChangeset for help on using the changeset viewer.