##// END OF EJS Templates
switched filters into webhelpers for easy of usage....
switched filters into webhelpers for easy of usage. Rewrite of html to use predefined templates from branches shortlog tags, for DRY usage. Added info messages about empty branches/tags etc.

File last commit:

r281:cd2ee462 default
r282:237470e6 default
Show More
base.html
155 lines | 5.5 KiB | text/html | HtmlLexer
## -*- coding: utf-8 -*-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="mainhtml">
<head>
<link rel="icon" href="/images/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow"/>
<title>${next.title()}</title>
##For future use yui reset for cross browser compatability.
##<link rel="stylesheet" href="/js/yui/reset-fonts-grids/reset-fonts-grids.css" type="text/css" />
${self.css()}
${self.js()}
</head>
<body class="mainbody">
<div id="container">
<div class="page-header">
<h1>${next.breadcrumbs()}</h1>
${self.page_nav()}
<div class="flash_msg">
<% messages = h.flash.pop_messages() %>
% if messages:
<ul id="flash-messages">
% for message in messages:
<li class="${message.category}_msg">${message}</li>
% endfor
</ul>
% endif
</div>
<div id="main">
${next.main()}
<script>${h.tooltip.activate()}</script>
</div>
<div class="page-footer">
Hg App ${c.hg_app_version} &copy; 2010 by Marcin Kuzminski
</div>
<div id="powered-by">
<p>
<a href="http://mercurial.selenic.com/" title="Mercurial">
<img src="/images/hglogo.png" width="75" height="90" alt="mercurial"/></a>
</p>
</div>
<div id="corner-top-left"></div>
<div id="corner-top-right"></div>
<div id="corner-bottom-left"></div>
<div id="corner-bottom-right"></div>
</div>
</body>
</html>
### MAKO DEFS ###
<%def name="page_nav()">
${self.menu()}
${self.submenu()}
</%def>
<%def name="menu(current)">
<%
def is_current(selected):
if selected == current:
return "class='current'"
%>
%if current not in ['home','admin']:
##regular menu
<script type="text/javascript">
YAHOO.util.Event.onDOMReady(function(){
YAHOO.util.Event.addListener('repo_switcher','click',function(){
if(YAHOO.util.Dom.hasClass('repo_switcher','selected')){
YAHOO.util.Dom.setStyle('switch_repos','display','none');
YAHOO.util.Dom.setStyle('repo_switcher','background','');
YAHOO.util.Dom.removeClass('repo_switcher','selected');
YAHOO.util.Dom.get('repo_switcher').removeAttribute('style');
}
else{
YAHOO.util.Dom.setStyle('switch_repos','display','');
YAHOO.util.Dom.setStyle('repo_switcher','background','#FFFFFF');
YAHOO.util.Dom.setStyle('repo_switcher','color','#556CB5');
YAHOO.util.Dom.addClass('repo_switcher','selected');
}
});
YAHOO.util.Event.addListener('repos_list','change',function(e){
var wa = YAHOO.util.Dom.get('repos_list').value;
var url = "${h.url('summary_home',repo_name='__REPLACE__')}".replace('__REPLACE__',wa);
window.location = url;
})
});
</script>
<ul class="page-nav">
<li>
<a id="repo_switcher" title="${_('Switch repository')}" href="#">&darr;</a>
<div id="switch_repos" style="display:none;position: absolute;height: 25px">
<select id="repos_list" size="=10" style="min-width: 150px">
%for repo in sorted(x.name.lower() for x in c.cached_repo_list.values()):
<option value="${repo}">${repo}</option>
%endfor
</select>
</div>
</li>
<li ${is_current('summary')}>${h.link_to(_('summary'),h.url('summary_home',repo_name=c.repo_name))}</li>
<li ${is_current('shortlog')}>${h.link_to(_('shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}</li>
<li ${is_current('changelog')}>${h.link_to(_('changelog'),h.url('changelog_home',repo_name=c.repo_name))}</li>
<li ${is_current('branches')}>${h.link_to(_('branches'),h.url('branches_home',repo_name=c.repo_name))}</li>
<li ${is_current('tags')}>${h.link_to(_('tags'),h.url('tags_home',repo_name=c.repo_name))}</li>
<li ${is_current('files')}>${h.link_to(_('files'),h.url('files_home',repo_name=c.repo_name))}</li>
</ul>
%else:
##Root menu
<ul class="page-nav">
<li ${is_current('home')}>${h.link_to(_('Home'),h.url('/'))}</li>
<li ${is_current('admin')}>${h.link_to(_('Admin'),h.url('admin_home'))}</li>
<li class="logout">${h.link_to(u'Logout',h.url('logout_home'))}</li>
</ul>
%endif
</div>
</%def>
<%def name="submenu(current=None)">
<%
def is_current(selected):
if selected == current:
return "class='current_submenu'"
%>
%if current != None:
<div>
<ul class="submenu">
<li ${is_current('repos')}>${h.link_to(u'repos',h.url('repos'),class_='repos')}</li>
<li ${is_current('users')}>${h.link_to(u'users',h.url('users'),class_='users')}</li>
<li ${is_current('permissions')}>${h.link_to(u'permissions',h.url('permissions'),class_='permissions')}</li>
</ul>
</div>
%endif
</%def>
<%def name="css()">
<link rel="stylesheet" href="/css/monoblue_custom.css" type="text/css" />
</%def>
<%def name="js()">
<script type="text/javascript" src="/js/yui/utilities/utilities.js"></script>
<script type="text/javascript" src="/js/yui/container/container-min.js"></script>
</%def>
<!-- DEFINITION OF FORM ERROR FETCHER -->
<%def name="get_form_error(element)">
%if hasattr(c,'form_errors') and type(c.form_errors) == dict:
%if c.form_errors.get(element,False):
<span class="error-message">
${c.form_errors.get(element,'')}
</span>
%endif
%endif
</%def>