Files @ c40e567e4b82
Branch filter:

Location: kallithea/kallithea/templates/changeset/changeset_file_comment.html - annotation

Mads Kiilerich
style: use Bootstrap compatible data-toggle="tooltip" markup

Based on work by Dominik Ruf and Andrew Shadura.
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
765fe407eda4
d1addaf7a91e
d1addaf7a91e
f287754980cc
d1addaf7a91e
18fc1888455f
d1addaf7a91e
5153c491a964
5153c491a964
d1addaf7a91e
5153c491a964
5153c491a964
5153c491a964
5153c491a964
5153c491a964
5153c491a964
b3299a079fa6
5153c491a964
d1addaf7a91e
e99a33d7d7f5
b4b57beb4928
b7654d1675da
b4b57beb4928
5153c491a964
5153c491a964
5153c491a964
d1addaf7a91e
b60e58094fb7
5153c491a964
5153c491a964
5153c491a964
5153c491a964
d1addaf7a91e
d1addaf7a91e
140f2811fc6f
4a9184804089
140f2811fc6f
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
5cc8e1d7ee21
d208416c84c6
a21668fe545b
872d05f3d7cc
12e7421e0469
c40e567e4b82
a21668fe545b
12e7421e0469
12e7421e0469
7834f845505a
7834f845505a
7834f845505a
7834f845505a
7834f845505a
7834f845505a
7834f845505a
7834f845505a
7834f845505a
6f4f39b21302
6f4f39b21302
6f4f39b21302
7834f845505a
7834f845505a
7834f845505a
68d3315c48d4
68d3315c48d4
7834f845505a
7834f845505a
7834f845505a
7834f845505a
7834f845505a
e99a33d7d7f5
779d43be59c6
779d43be59c6
7834f845505a
7834f845505a
7834f845505a
7834f845505a
779d43be59c6
779d43be59c6
779d43be59c6
779d43be59c6
779d43be59c6
7834f845505a
7834f845505a
7834f845505a
d1addaf7a91e
d1addaf7a91e
a21668fe545b
b7654d1675da
b7654d1675da
d1addaf7a91e
a21668fe545b
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
b537babcf966
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
b7654d1675da
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
051624cb5f3a
0ee5a36aaa99
051624cb5f3a
051624cb5f3a
051624cb5f3a
051624cb5f3a
051624cb5f3a
051624cb5f3a
0ee5a36aaa99
0ee5a36aaa99
d1addaf7a91e
d1addaf7a91e
1721c30d9cbe
2ed9ddab042f
2ed9ddab042f
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
e87baa8f1c5b
7834f845505a
e87baa8f1c5b
e87baa8f1c5b
f9a581561184
e87baa8f1c5b
d1addaf7a91e
2ed9ddab042f
2ed9ddab042f
2ed9ddab042f
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
7834f845505a
7834f845505a
7834f845505a
7834f845505a
d1addaf7a91e
7834f845505a
7834f845505a
7834f845505a
7834f845505a
7834f845505a
d1addaf7a91e
eac6c70e63e8
d1addaf7a91e
d1addaf7a91e
e271a8766951
d1addaf7a91e
749b5e8cead3
7834f845505a
7834f845505a
7834f845505a
749b5e8cead3
749b5e8cead3
749b5e8cead3
749b5e8cead3
749b5e8cead3
749b5e8cead3
d1addaf7a91e
d1addaf7a91e
d1addaf7a91e
## -*- coding: utf-8 -*-
## usage:
## <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
## ${comment.comment_block(co)}
##
<%def name="comment_block(co)">
  <div class="comment" id="comment-${co.comment_id}" line="${co.line_no}">
    <div class="comment-prev-next-links"></div>
    <div class="comment-wrapp">
      <div class="meta">
          ${h.gravatar_div(co.author.email, size=20, div_style="float:left")}
          <div class="user">
              ${co.author.full_name_and_username}
          </div>

          <span>
              ${h.age(co.modified_at)}
              %if co.pull_request:
                ${_('on pull request')}
                <a href="${co.pull_request.url()}">"${co.pull_request.title or _("No title")}"</a>
              %else:
                ${_('on this changeset')}
              %endif
              <a class="permalink" href="${co.url()}">&para;</a>
          </span>

          %if co.author_id == c.authuser.user_id or h.HasRepoPermissionAny('repository.admin')(c.repo_name):
            %if co.deletable():
              <div onClick="confirm('${_("Delete comment?")}') && deleteComment(${co.comment_id})" class="buttons delete-comment btn btn-default btn-xs" style="margin:0 5px">${_('Delete')}</div>
            %endif
          %endif
      </div>
      <div class="text">
        %if co.status_change:
           <div class="automatic-comment">
             <p>
               <span title="${_('Changeset status')}" class="changeset-status-lbl">${_("Status change")}: ${co.status_change[0].status_lbl}</span>
               <span class="changeset-status-ico"><i class="icon-circle changeset-status-${co.status_change[0].status}"></i></span>
             </p>
           </div>
        %endif
        %if co.text:
          ${h.render_w_mentions(co.text, c.repo_name)|n}
        %endif
      </div>
    </div>
  </div>
</%def>


<%def name="comment_inline_form()">
<div id='comment-inline-form-template' style="display:none">
  <div class="ac">
  %if c.authuser.username != 'default':
    ${h.form('#', class_='inline-form')}
      <div class="clearfix">
        <div class="comment-help">${_('Commenting on line.')}
          <span style="color:#577632">${_('Comments are in plain text. Use @username inside this text to notify another user.')|n}</span>
        </div>
        <div class="mentions-container"></div>
        <textarea name="text" class="comment-block-ta yui-ac-input"></textarea>

        <div id="status_block_container" class="status-block general-only hidden">
                %if c.pull_request is None:
                  ${_('Set changeset status')}:
                %else:
                  ${_('Vote for pull request status')}:
                %endif
                <span class="general-only cs-only">
                </span>
                <label>
                    <input type="radio" class="status_change_radio" name="changeset_status" id="changeset_status_unchanged" value="" checked="checked" />
                    ${_('No change')}
                </label>
                %for status, lbl in c.changeset_statuses:
                    <label>
                        <input type="radio" class="status_change_radio" name="changeset_status" id="${status}" value="${status}">
                        ${lbl}<i class="icon-circle changeset-status-${status}" /></i>
                    </label>
                %endfor

                %if c.pull_request is not None and ( \
                    h.HasPermissionAny('hg.admin')() or h.HasRepoPermissionAny('repository.admin')(c.repo_name) \
                    or c.pull_request.owner_id == c.authuser.user_id):
                <div>
                  ${_('Finish pull request')}:
                  <label>
                    <input id="save_close" type="checkbox" name="save_close">
                    ${_("Close")}
                  </label>
                  <label>
                    <input id="save_delete" type="checkbox" name="save_delete" value="delete">
                    ${_("Delete")}
                  </label>
                </div>
                %endif
        </div>

      </div>
      <div class="comment-button">
        <div class="submitting-overlay">${_('Submitting ...')}</div>
        ${h.submit('save', _('Comment'), class_='btn btn-default btn-sm save-inline-form')}
        ${h.reset('hide-inline-form', _('Cancel'), class_='btn btn-default btn-sm hide-inline-form')}
      </div>
    ${h.end_form()}
  %else:
      ${h.form('')}
      <div class="clearfix">
          <div class="comment-help">
            ${_('You need to be logged in to comment.')} <a href="${h.url('login_home', came_from=request.path_qs)}">${_('Login now')}</a>
          </div>
      </div>
      <div class="comment-button">
      ${h.reset('hide-inline-form', _('Hide'), class_='btn btn-default btn-sm hide-inline-form')}
      </div>
      ${h.end_form()}
  %endif
  </div>
</div>
</%def>


## show comment count as "x comments (y inline, z general)"
<%def name="comment_count(inline_cnt, general_cnt)">
    ${'%s (%s, %s)' % (
        ungettext("%d comment", "%d comments", inline_cnt + general_cnt) % (inline_cnt + general_cnt),
        ungettext("%d inline", "%d inline", inline_cnt) % inline_cnt,
        ungettext("%d general", "%d general", general_cnt) % general_cnt
    )}
    <span class="firstlink"></span>
</%def>


## generate inline comments and the main ones
<%def name="generate_comments()">
## original location of comments ... but the ones outside diff context remains here
<div class="comments inline-comments">
  %for f_path, lines in c.inline_comments:
    %for line_no, comments in lines.iteritems():
      <div class="comments-list-chunk" data-f_path="${f_path}" data-line_no="${line_no}" data-target-id="${h.safeid(h.safe_unicode(f_path))}_${line_no}">
        %for co in comments:
            ${comment_block(co)}
        %endfor
      </div>
    %endfor
  %endfor

      <div class="comments-list-chunk" data-f_path="" data-line_no="" data-target-id="general-comments">
        %for co in c.comments:
            ${comment_block(co)}
        %endfor
      </div>
</div>
<div class="comments-number">
    ${comment_count(c.inline_cnt, len(c.comments))}
</div>
</%def>

## MAIN COMMENT FORM
<%def name="comments(change_status=True)">

## global, shared for all edit boxes
<div class="mentions-container" id="mentions_container"></div>

<div class="inline-comments inline-comments-general
            ${'show-general-status' if change_status else ''}">
  <div id="comments-general-comments" class="">
  ## comment_div for general comments
  </div>
</div>

<script>

$(document).ready(function () {

   $(window).on('beforeunload', function(){
      var $textareas = $('.comment-inline-form textarea[name=text]');
      if($textareas.size() > 1 ||
         $textareas.val()) {
         // this message will not be displayed on all browsers
         // (e.g. some versions of Firefox), but the user will still be warned
         return 'There are uncommitted comments.';
      }
   });

});
</script>
</%def>