view rhodecode/templates/changeset/diff_block.html @ 4043:a1bc4af25ec5

Implemented issue #387 side-by-side diffs view
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 26 Jun 2013 19:07:32 +0200
parents ce4b7023a492
children ffd45b185016
line wrap: on
line source

## -*- coding: utf-8 -*-
##usage:
## <%namespace name="diff_block" file="/changeset/diff_block.html"/>
## ${diff_block.diff_block(change)}
##
<%def name="diff_block(change)">
<div class="diff-collapse">
    <span target="${'diff-container-%s' % (id(change))}" class="diff-collapse-button">&uarr; ${_('Collapse diff')} &uarr;</span>
</div>
<div class="diff-container" id="${'diff-container-%s' % (id(change))}">
%for FID,(cs1, cs2, change, path, diff, stats) in change.iteritems():
    <div id="${FID}_target" style="clear:both;margin-top:25px"></div>
    <div id="${FID}" class="diffblock  margined comm">
        <div class="code-header">
            <div class="changeset_header">
                <div class="changeset_file">
                    ${h.link_to_if(change!='D',h.safe_unicode(path),h.url('files_home',repo_name=c.repo_name,
                    revision=cs2,f_path=h.safe_unicode(path)))}
                </div>
                <div class="diff-actions">
                  <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" class="tooltip" title="${h.tooltip(_('Show full diff for this file'))}"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a>
                  <a href="${h.url('files_diff_2way_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" class="tooltip" title="${h.tooltip(_('Show full side-by-side diff for this file'))}"><img class="icon" src="${h.url('/images/icons/application_double.png')}"/></a>
                  <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='raw')}" class="tooltip" title="${h.tooltip(_('Raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
                  <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(path),diff2=cs2,diff1=cs1,diff='download')}" class="tooltip" title="${h.tooltip(_('Download diff'))}"><img class="icon" src="${h.url('/images/icons/page_save.png')}"/></a>
                  ${c.ignorews_url(request.GET, h.FID(cs2,path))}
                  ${c.context_url(request.GET, h.FID(cs2,path))}
                </div>
                <span style="float:right;margin-top:-3px">
                  <label>
                  ${_('Show inline comments')}
                  ${h.checkbox('',checked="checked",class_="show-inline-comments",id_for=h.FID(cs2,path))}
                  </label>
                </span>
            </div>
        </div>
        <div class="code-body">
            <div class="full_f_path" path="${h.safe_unicode(path)}"></div>
            ${diff|n}
        </div>
    </div>
%endfor
</div>
</%def>

<%def name="diff_block_simple(change)">

  %for op,filenode_path,diff in change:
    <div id="${h.FID('',filenode_path)}_target" style="clear:both;margin-top:25px"></div>
    <div id="${h.FID('',filenode_path)}" class="diffblock  margined comm">
      <div class="code-header">
          <div class="changeset_header">
              <div class="changeset_file">
                  ${h.safe_unicode(filenode_path)} |
                  <a class="spantag" href="${h.url('files_home', repo_name=c.other_repo.repo_name, f_path=filenode_path, revision=c.org_ref)}" title="${_('Show file at latest version in this repo')}">${c.org_ref_type}@${h.short_id(c.org_ref) if c.org_ref_type=='rev' else c.org_ref}</a> -&gt;
                  <a class="spantag" href="${h.url('files_home', repo_name=c.repo_name, f_path=filenode_path, revision=c.other_ref)}" title="${_('Show file at initial version in this repo')}">${c.other_ref_type}@${h.short_id(c.other_ref) if c.other_ref_type=='rev' else c.other_ref}</a>
              </div>
          </div>
      </div>
        <div class="code-body">
            <div class="full_f_path" path="${h.safe_unicode(filenode_path)}"></div>
            ${diff|n}
        </div>
    </div>
  %endfor
</%def>