view rhodecode/templates/files/files_source.html @ 1756:60a00fd76d58 beta

UI !
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 05 Dec 2011 03:31:23 +0200
parents 61eda8bf70d0
children 39b49c999efb
line wrap: on
line source

<dl>
	<dt style="padding-top:10px;font-size:16px">${_('History')}</dt>
	<dd>
		<div>
		${h.form(h.url('files_diff_home',repo_name=c.repo_name,f_path=c.f_path),method='get')}
		${h.hidden('diff2',c.file.last_changeset.raw_id)}
		${h.select('diff1',c.file.last_changeset.raw_id,c.file_history)}
		${h.submit('diff','diff to revision',class_="ui-btn")}
		${h.submit('show_rev','show at revision',class_="ui-btn")}
		${h.end_form()}
		</div>
	</dd>
</dl>

	
<div id="body" class="codeblock">
	<div class="code-header">
        <div class="stats">
            <div class="left"><img src="${h.url('/images/icons/file.png')}"/></div>
            <div class="left item">${h.link_to("r%s:%s" % (c.file.last_changeset.revision,h.short_id(c.file.last_changeset.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=c.file.last_changeset.raw_id))}</div>      
            <div class="left item">${h.format_byte_size(c.file.size,binary=True)}</div>
            <div class="left item last">${c.file.mimetype}</div>
            <div class="buttons">
              ${h.link_to(_('show annotation'),h.url('files_annotate_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
              ${h.link_to(_('show as raw'),h.url('files_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}           
              ${h.link_to(_('download as raw'),h.url('files_rawfile_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
              % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name):            
               % if not c.file.is_binary:
                ${h.link_to(_('edit'),h.url('files_edit_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path),class_="ui-btn")}
               % endif
              % endif            
            </div>
        </div>
        <div class="author">
            <div class="gravatar">
                <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),16)}"/>
            </div>
            <div title="${h.email_or_none(c.changeset.author)}" class="user">${h.person(c.changeset.author)}</div>
        </div>
		<div class="commit">${c.file.last_changeset.message}</div>
	</div>
	<div class="code-body">
	   %if c.file.is_binary:
	       ${_('Binary file (%s)') % c.file.mimetype}
	   %else:
		% if c.file.size < c.cut_off_limit:
			${h.pygmentize(c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
		%else:
			${_('File is too big to display')} ${h.link_to(_('show as raw'),
			h.url('files_raw_home',repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.f_path))}
		%endif
       <script type="text/javascript">
           function highlight_lines(lines){
               for(pos in lines){
                 YUD.setStyle('L'+lines[pos],'background-color','#FFFFBE');                       
               }
           }       
           page_highlights = location.href.substring(location.href.indexOf('#')+1).split('L');
           if (page_highlights.length == 2){
              highlight_ranges  = page_highlights[1].split(",");

              var h_lines = [];
              for (pos in highlight_ranges){
                   var _range = highlight_ranges[pos].split('-');
                   if(_range.length == 2){
                       var start = parseInt(_range[0]);
                       var end = parseInt(_range[1]);
                       if (start < end){
                           for(var i=start;i<=end;i++){
                               h_lines.push(i);
                           }
                       } 
                   }
                   else{
                       h_lines.push(parseInt(highlight_ranges[pos]));
                   }
             }
           highlight_lines(h_lines);
           
           //remember original location 
           var old_hash  = location.href.substring(location.href.indexOf('#'));
           
           // this makes a jump to anchor moved by 3 posstions for padding 
           window.location.hash = '#L'+Math.max(parseInt(h_lines[0])-3,1);
           
           //sets old anchor 
           window.location.hash = old_hash;
           
           }
       </script>
     %endif		
	</div>
</div>

<script type="text/javascript">
YUE.onDOMReady(function(){
    YUE.on('show_rev','click',function(e){
    	YUE.preventDefault(e);
        var cs = YUD.get('diff1').value;
        var url = "${h.url('files_home',repo_name=c.repo_name,revision='__CS__',f_path=c.f_path)}".replace('__CS__',cs);
        window.location = url;
    });
    YUE.on('hlcode','mouseup',getSelectionLink("${_('Selection link')}"))
   });
</script>