view rhodecode/templates/compare/compare_diff.html @ 2348:a07e04ef7bb4 codereview

Implemented basic compare view(for pull requests) for mercurial.
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 27 May 2012 23:29:18 +0200
parents f8c953c6b040
children d787da66c292
line wrap: on
line source

## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${c.repo_name} ${_('Compare')} ${'%s@%s' % (c.org_repo.repo_name, c.org_ref)} -> ${'%s@%s' % (c.other_repo.repo_name, c.other_ref)}
</%def>

<%def name="breadcrumbs_links()">
    ${h.link_to(u'Home',h.url('/'))}
    &raquo;
    ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
    &raquo;
    ${_('Compare')}
</%def>

<%def name="page_nav()">
    ${self.menu('changelog')}
</%def>

<%def name="main()">
<div class="box">
    <!-- box / title -->
    <div class="title">
        ${self.breadcrumbs()}
    </div>
    <div class="table">
        <div id="body" class="diffblock">
            <div class="code-header cv">
                <h3 class="code-header-title">${_('Compare View')}</h3>
                <div>
                ${'%s@%s' % (c.org_repo.repo_name, c.org_ref)} -> ${'%s@%s' % (c.other_repo.repo_name, c.other_ref)}
                </div>
            </div>
        </div>
        <div id="changeset_compare_view_content">
            <div class="container">
            <table class="compare_view_commits noborder">
            %for cnt, cs in enumerate(c.cs_ranges):
                <tr>
                <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
                <td>${h.link_to('r%s:%s' % (cs.revision,h.short_id(cs.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</td>
                <td><div class="author">${h.person(cs.author)}</div></td>
                <td><span class="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td>
                <td>
                  %if hasattr(c,'statuses') and c.statuses:
                    <div title="${_('Changeset status')}" class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[cnt])}" /></div>
                  %endif
                </td>
                <td><div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name)}</div></td>
                </tr>
            %endfor
            </table>
            </div>
            <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
            <div class="cs_files">
              %for fid, change, f, stat in c.files:              
                  <div class="cs_${change}">
                    <div class="node">${h.link_to(h.safe_unicode(f),h.url.current(anchor=fid))}</div>
                    <div class="changes">${h.fancy_file_stats(stat)}</div>
                  </div>
              %endfor
            </div>
        </div>
    </div>
    
    ## diff block
    <%namespace name="diff_block" file="/changeset/diff_block.html"/>
    %for fid, change, f, stat in c.files:
      ${diff_block.diff_block_simple([c.changes[fid]])}
    %endfor
    
     <script type="text/javascript">

      YUE.onDOMReady(function(){

          YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
              var act = e.currentTarget.nextElementSibling;

              if(YUD.hasClass(act,'active')){
                  YUD.removeClass(act,'active');
                  YUD.setStyle(act,'display','none');
              }else{
                  YUD.addClass(act,'active');
                  YUD.setStyle(act,'display','');
              }
          });
      })
    </script>
    </div>
</%def>