Mercurial > kallithea
view rhodecode/templates/files/files_source.html @ 1426:91708b96e991 beta
Fixed show more links.
improved gui for quick menu.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 10 Jul 2011 16:26:42 +0200 |
parents | 8cca07df79dd |
children | aaec08ad9daf |
line wrap: on
line source
<dl> <dt>${_('Revision')}</dt> <dd> ${h.link_to("r%s:%s" % (c.files_list.last_changeset.revision,h.short_id(c.files_list.last_changeset.raw_id)), h.url('changeset_home',repo_name=c.repo_name,revision=c.files_list.last_changeset.raw_id))} </dd> <dt>${_('Size')}</dt> <dd>${h.format_byte_size(c.files_list.size,binary=True)}</dd> <dt>${_('Mimetype')}</dt> <dd>${c.files_list.mimetype}</dd> <dt>${_('Options')}</dt> <dd>${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))} / ${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))} / ${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))} % if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name): % if not c.files_list.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))} % endif % endif </dd> <dt>${_('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.files_list.last_changeset.raw_id)} ${h.select('diff1',c.files_list.last_changeset.raw_id,c.file_history)} ${h.submit('diff','diff to revision',class_="ui-button-small")} ${h.submit('show_rev','show at revision',class_="ui-button-small")} ${h.end_form()} </div> </dd> </dl> <div id="body" class="codeblock"> <div class="code-header"> <div class="revision">${c.files_list.name}@r${c.files_list.last_changeset.revision}:${h.short_id(c.files_list.last_changeset.raw_id)}</div> <div class="commit">"${c.files_list.last_changeset.message}"</div> </div> <div class="code-body"> %if c.files_list.is_binary: ${_('Binary file (%s)') % c.files_list.mimetype} %else: % if c.files_list.size < c.cut_off_limit: ${h.pygmentize(c.files_list,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")} %else: ${_('File is to 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 = YAHOO.util.Dom.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; }); function getIdentNode(n){ //iterate thru nodes untill matched interesting node ! if (typeof n == 'undefined'){ return -1 } if(typeof n.id != "undefined" && n.id.match('L[0-9]+')){ return n } else{ return getIdentNode(n.parentNode); } } function getSelectionLink() { //get selection from start/to nodes if (typeof window.getSelection != "undefined") { s = window.getSelection(); from = getIdentNode(s.anchorNode); till = getIdentNode(s.focusNode); f_int = parseInt(from.id.replace('L','')); t_int = parseInt(till.id.replace('L','')); if (f_int > t_int){ //highlight from bottom offset = -35; ranges = [t_int,f_int]; } else{ //highligth from top offset = 35; ranges = [f_int,t_int]; } if (ranges[0] != ranges[1]){ if(YUD.get('linktt') == null){ hl_div = document.createElement('div'); hl_div.id = 'linktt'; } anchor = '#L'+ranges[0]+'-'+ranges[1]; hl_div.innerHTML = ''; l = document.createElement('a'); l.href = location.href.substring(0,location.href.indexOf('#'))+anchor; l.innerHTML = "${_('Selection link')}" hl_div.appendChild(l); YUD.get('body').appendChild(hl_div); xy = YUD.getXY(till.id); YUD.addClass('linktt','yui-tt'); YUD.setStyle('linktt','top',xy[1]+offset+'px'); YUD.setStyle('linktt','left',xy[0]+'px'); YUD.setStyle('linktt','visibility','visible'); } else{ YUD.setStyle('linktt','visibility','hidden'); } } } YUE.on('hlcode','mouseup',getSelectionLink) }); </script>