##// END OF EJS Templates
merge beta fixes into stable
merge beta fixes into stable

File last commit:

r1512:bf263968 merge default
r1520:5dce4f53 merge default
Show More
summary.html
700 lines | 24.1 KiB | text/html | HtmlLexer
renamed project to rhodecode
r547 <%inherit file="/base/base.html"/>
<%def name="title()">
#38 updated RhodeCode titles
r619 ${c.repo_name} ${_('Summary')} - ${c.rhodecode_name}
renamed project to rhodecode
r547 </%def>
<%def name="breadcrumbs_links()">
${h.link_to(u'Home',h.url('/'))}
&raquo;
changes for #56
r1171 ${h.link_to(c.dbrepo.just_name,h.url('summary_home',repo_name=c.repo_name))}
renamed project to rhodecode
r547 &raquo;
${_('summary')}
</%def>
<%def name="page_nav()">
${self.menu('summary')}
</%def>
<%def name="main()">
<div class="box box-left">
<!-- box / title -->
<div class="title">
${self.breadcrumbs()}
</div>
<!-- end box / title -->
<div class="form">
fixed white-space formatting for description in summary page
r1310 <div id="summary" class="fields">
renamed project to rhodecode
r547
<div class="field">
<div class="label">
<label>${_('Name')}:</label>
</div>
<div class="input-short">
changes for #56
r1171 %if c.rhodecode_user.username != 'default':
%if c.following:
<span id="follow_toggle" class="following" title="${_('Stop following this repository')}"
onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
</span>
%else:
<span id="follow_toggle" class="follow" title="${_('Start following this repository')}"
onclick="javascript:toggleFollowingRepo(this,${c.dbrepo.repo_id},'${str(h.get_token())}')">
</span>
%endif
%endif:
small fixes to summary page
r1180
##REPO TYPE
another major code rafactor, reimplemented (almost from scratch)...
r1038 %if c.dbrepo.repo_type =='hg':
changed all urls for IMAGES files to use pylons url function
r1051 <img style="margin-bottom:2px" class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url("/images/icons/hgicon.png")}"/>
removed shortlog from main menu, as duplicated functionality of changelog,...
r637 %endif
another major code rafactor, reimplemented (almost from scratch)...
r1038 %if c.dbrepo.repo_type =='git':
changed all urls for IMAGES files to use pylons url function
r1051 <img style="margin-bottom:2px" class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url("/images/icons/giticon.png")}"/>
removed shortlog from main menu, as duplicated functionality of changelog,...
r637 %endif
small fixes to summary page
r1180
##PUBLIC/PRIVATE
another major code rafactor, reimplemented (almost from scratch)...
r1038 %if c.dbrepo.private:
changed all urls for IMAGES files to use pylons url function
r1051 <img style="margin-bottom:2px" class="icon" title="${_('private repository')}" alt="${_('private repository')}" src="${h.url("/images/icons/lock.png")}"/>
renamed project to rhodecode
r547 %else:
changed all urls for IMAGES files to use pylons url function
r1051 <img style="margin-bottom:2px" class="icon" title="${_('public repository')}" alt="${_('public repository')}" src="${h.url("/images/icons/lock_open.png")}"/>
renamed project to rhodecode
r547 %endif
small fixes to summary page
r1180
##REPO NAME
fixed white-space formatting for description in summary page
r1310 <span class="repo_name">${h.repo_link(c.dbrepo.groups_and_repo)}</span>
small fixes to summary page
r1180
##FORK
%if c.dbrepo.fork:
<div style="margin-top:5px;clear:both"">
<a href="${h.url('summary_home',repo_name=c.dbrepo.fork.repo_name)}">
<img class="icon" alt="${_('public')}"
title="${_('Fork of')} ${c.dbrepo.fork.repo_name}"
src="${h.url("/images/icons/arrow_divide.png")}"/>
${_('Fork of')} ${c.dbrepo.fork.repo_name}
</a>
</div>
%endif
##REMOTE
%if c.dbrepo.clone_uri:
<div style="margin-top:5px;clear:both">
When creating a remote repository, with credentials filled, it's good to hide username and password from the clone url. Only administrators can see this in repository settings page
r1342 <a href="${h.url(str(h.hide_credentials(c.dbrepo.clone_uri)))}">
small fixes to summary page
r1180 <img class="icon" alt="${_('remote clone')}"
When creating a remote repository, with credentials filled, it's good to hide username and password from the clone url. Only administrators can see this in repository settings page
r1342 title="${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}"
small fixes to summary page
r1180 src="${h.url("/images/icons/connect.png")}"/>
When creating a remote repository, with credentials filled, it's good to hide username and password from the clone url. Only administrators can see this in repository settings page
r1342 ${_('Clone from')} ${h.hide_credentials(c.dbrepo.clone_uri)}
small fixes to summary page
r1180 </a>
</div>
%endif
renamed project to rhodecode
r547 </div>
</div>
<div class="field">
<div class="label">
<label>${_('Description')}:</label>
</div>
Links in summary page are now active
r1438 <div class="input-short desc">${h.urlify_text(c.dbrepo.description)}</div>
renamed project to rhodecode
r547 </div>
<div class="field">
<div class="label">
<label>${_('Contact')}:</label>
</div>
<div class="input-short">
<div class="gravatar">
another major code rafactor, reimplemented (almost from scratch)...
r1038 <img alt="gravatar" src="${h.gravatar_url(c.dbrepo.user.email)}"/>
renamed project to rhodecode
r547 </div>
another major code rafactor, reimplemented (almost from scratch)...
r1038 ${_('Username')}: ${c.dbrepo.user.username}<br/>
${_('Name')}: ${c.dbrepo.user.name} ${c.dbrepo.user.lastname}<br/>
${_('Email')}: <a href="mailto:${c.dbrepo.user.email}">${c.dbrepo.user.email}</a>
renamed project to rhodecode
r547 </div>
</div>
<div class="field">
<div class="label">
<label>${_('Last change')}:</label>
</div>
<div class="input-short">
changes for #56
r1171 <b>${'r%s:%s' % (h.get_changeset_safe(c.rhodecode_repo,'tip').revision,
h.get_changeset_safe(c.rhodecode_repo,'tip').short_id)}</b> -
<span class="tooltip" title="${c.rhodecode_repo.last_change}">
${h.age(c.rhodecode_repo.last_change)}</span><br/>
${_('by')} ${h.get_changeset_safe(c.rhodecode_repo,'tip').author}
renamed project to rhodecode
r547
</div>
</div>
<div class="field">
<div class="label">
<label>${_('Clone url')}:</label>
</div>
<div class="input-short">
small fixes for git support
r1281 <input type="text" id="clone_url" readonly="readonly" value="${c.rhodecode_repo.alias} clone ${c.clone_repo_url}" size="70"/>
renamed project to rhodecode
r547 </div>
</div>
<div class="field">
<div class="label">
extended trending languages to more entries, implemented new faster and "fancy"...
r763 <label>${_('Trending source files')}:</label>
renamed project to rhodecode
r547 </div>
<div class="input-short">
added branch/tag options to download links in summary
r942 <div id="lang_stats"></div>
</div>
</div>
<div class="field">
<div class="label">
<label>${_('Download')}:</label>
</div>
<div class="input-short">
changes for #56
r1171 %if len(c.rhodecode_repo.revisions) == 0:
fixed error when trying to make download on empty repository
r945 ${_('There are no downloads yet')}
implemented #84 downloads can be enabled/disabled per each repository from now.
r962 %elif c.enable_downloads is False:
${_('Downloads are disabled for this repository')}
%if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
[${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name))}]
%endif
fixed error when trying to make download on empty repository
r945 %else:
changes for #56
r1171 ${h.select('download_options',c.rhodecode_repo.get_changeset().raw_id,c.download_options)}
%for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
fixed error when trying to make download on empty repository
r945 %if cnt >=1:
|
%endif
<span class="tooltip" title="${_('Download %s as %s') %('tip',archive['type'])}"
id="${archive['type']+'_link'}">${h.link_to(archive['type'],
changes for #56
r1171 h.url('files_archive_home',repo_name=c.dbrepo.repo_name,
fixed error when trying to make download on empty repository
r945 fname='tip'+archive['extension']),class_="archive_icon")}</span>
%endfor
fixes #214 added support for downloading subrepos in download menu.
r1450 <span style="vertical-align: bottom">
<input id="archive_subrepos" type="checkbox" name="subrepos"/> <span class="tooltip" title="${_('Check this to download archive with subrepos')}" >${_('with subrepos')}</span>
</span>
fixed error when trying to make download on empty repository
r945 %endif
added branch/tag options to download links in summary
r942 </div>
</div>
<div class="field">
<div class="label">
<label>${_('Feeds')}:</label>
</div>
<div class="input-short">
disabled api key for anonymous users, and added api_key to rss/atom links for other users
r1122 %if c.rhodecode_user.username != 'default':
changes for #56
r1171 ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='rss_icon')}
${h.link_to(_('Atom'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name,api_key=c.rhodecode_user.api_key),class_='atom_icon')}
disabled api key for anonymous users, and added api_key to rss/atom links for other users
r1122 %else:
changes for #56
r1171 ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.dbrepo.repo_name),class_='rss_icon')}
${h.link_to(_('Atom'),h.url('atom_feed_home',repo_name=c.dbrepo.repo_name),class_='atom_icon')}
disabled api key for anonymous users, and added api_key to rss/atom links for other users
r1122 %endif
added branch/tag options to download links in summary
r942 </div>
</div>
</div>
</div>
Implemented dynamic download links in summary page
r943 <script type="text/javascript">
YUE.onDOMReady(function(e){
id = 'clone_url';
YUE.on(id,'click',function(e){
fixes #211
r1384 if(YUD.hasClass(id,'selected')){
return
}
else{
YUD.addClass(id,'selected');
YUD.get(id).select();
}
Implemented dynamic download links in summary page
r943 })
})
var data = ${c.trending_languages|n};
var total = 0;
var no_data = true;
for (k in data){
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 total += data[k].count;
Implemented dynamic download links in summary page
r943 no_data = false;
}
var tbl = document.createElement('table');
tbl.setAttribute('class','trending_language_tbl');
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 var cnt = 0;
Implemented dynamic download links in summary page
r943 for (k in data){
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 cnt += 1;
Implemented dynamic download links in summary page
r943 var hide = cnt>2;
var tr = document.createElement('tr');
if (hide){
tr.setAttribute('style','display:none');
tr.setAttribute('class','stats_hidden');
}
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 var percentage = Math.round((data[k].count/total*100),2);
var value = data[k].count;
Implemented dynamic download links in summary page
r943 var td1 = document.createElement('td');
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 td1.width = 150;
Implemented dynamic download links in summary page
r943 var trending_language_label = document.createElement('div');
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 trending_language_label.innerHTML = data[k].desc+" ("+k+")";
Implemented dynamic download links in summary page
r943 td1.appendChild(trending_language_label);
renamed project to rhodecode
r547
Implemented dynamic download links in summary page
r943 var td2 = document.createElement('td');
td2.setAttribute('style','padding-right:14px !important');
var trending_language = document.createElement('div');
var nr_files = value+" ${_('files')}";
trending_language.title = k+" "+nr_files;
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 if (percentage>22){
Implemented dynamic download links in summary page
r943 trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"% "+nr_files+ "</b>";
}
else{
trending_language.innerHTML = "<b style='font-size:0.8em'>"+percentage+"%</b>";
}
trending_language.setAttribute("class", 'trending_language top-right-rounded-corner bottom-right-rounded-corner');
trending_language.style.width=percentage+"%";
td2.appendChild(trending_language);
tr.appendChild(td1);
tr.appendChild(td2);
tbl.appendChild(tr);
fixes issue #189
r1328 if(cnt == 3){
Implemented dynamic download links in summary page
r943 var show_more = document.createElement('tr');
fixes issue #189
r1328 var td = document.createElement('td');
Implemented dynamic download links in summary page
r943 lnk = document.createElement('a');
fixes issue #189
r1328
Implemented dynamic download links in summary page
r943 lnk.href='#';
fixed issue #165 trending source files are now stored in cache as ext only, and translated to description only when displaying, so future changes of mappings will take affect right away....
r1244 lnk.innerHTML = "${_('show more')}";
Implemented dynamic download links in summary page
r943 lnk.id='code_stats_show_more';
td.appendChild(lnk);
fixes issue #189
r1328
Implemented dynamic download links in summary page
r943 show_more.appendChild(td);
show_more.appendChild(document.createElement('td'));
tbl.appendChild(show_more);
}
}
if(no_data){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
td1.innerHTML = "${c.no_data_msg}";
tr.appendChild(td1);
tbl.appendChild(tr);
}
YUD.get('lang_stats').appendChild(tbl);
YUE.on('code_stats_show_more','click',function(){
l = YUD.getElementsByClassName('stats_hidden')
for (e in l){
YUD.setStyle(l[e],'display','');
};
YUD.setStyle(YUD.get('code_stats_show_more'),
'display','none');
})
fixes #214 added support for downloading subrepos in download menu.
r1450 var tmpl_links = {}
%for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
tmpl_links['${archive['type']}'] = '${h.link_to(archive['type'],
h.url('files_archive_home',repo_name=c.dbrepo.repo_name,
fname='__CS__'+archive['extension'],subrepos='__SUB__'),class_="archive_icon")}';
%endfor
YUE.on(['download_options','archive_subrepos'],'change',function(e){
var sm = YUD.get('download_options');
var new_cs = sm.options[sm.selectedIndex];
Implemented dynamic download links in summary page
r943
for(k in tmpl_links){
fixes #214 added support for downloading subrepos in download menu.
r1450 var s = YUD.get(k+'_link');
fixes issue #159, thanks to Thomas Waldmann
r1240 title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}";
s.title = title_tmpl.replace('__CS_NAME__',new_cs.text);
s.title = s.title.replace('__CS_EXT__',k);
fixes #214 added support for downloading subrepos in download menu.
r1450 var url = tmpl_links[k].replace('__CS__',new_cs.value);
var subrepos = YUD.get('archive_subrepos').checked
url = url.replace('__SUB__',subrepos);
s.innerHTML = url
Implemented dynamic download links in summary page
r943 }
fixes #214 added support for downloading subrepos in download menu.
r1450 });
Implemented dynamic download links in summary page
r943 </script>
renamed project to rhodecode
r547 </div>
<div class="box box-right" style="min-height:455px">
<!-- box / title -->
<div class="title">
<h5>${_('Commit activity by day / author')}</h5>
</div>
made rhodecode compatible with 1024px displays
r1247 <div class="graph">
added percentage of progress of gathered commit activity statistics
r1181 <div style="padding:0 10px 10px 15px;font-size: 1.2em;">
small fixes for summary graph, added message about no data for the graph, when empty
r800 %if c.no_data:
added percentage of progress of gathered commit activity statistics
r1181 ${c.no_data_msg}
enabled quick link to enabling statistics in admin page, for admins
r917 %if h.HasPermissionAll('hg.admin')('enable stats on from summary'):
[${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name))}]
fixed error when trying to make download on empty repository
r945 %endif
added percentage of progress of gathered commit activity statistics
r1181
%else:
${_('Loaded in')} ${c.stats_percentage} %
%endif
</div>
made rhodecode compatible with 1024px displays
r1247 <div id="commit_history" style="width:450px;height:300px;float:left"></div>
renamed project to rhodecode
r547 <div style="clear: both;height: 10px"></div>
made rhodecode compatible with 1024px displays
r1247 <div id="overview" style="width:450px;height:100px;float:left"></div>
renamed project to rhodecode
r547
<div id="legend_data" style="clear:both;margin-top:10px;">
<div id="legend_container"></div>
<div id="legend_choices">
<table id="legend_choices_tables" style="font-size:smaller;color:#545454"></table>
</div>
</div>
<script type="text/javascript">
/**
* Plots summary graph
*
* @class SummaryPlot
* @param {from} initial from for detailed graph
* @param {to} initial to for detailed graph
* @param {dataset}
* @param {overview_dataset}
*/
function SummaryPlot(from,to,dataset,overview_dataset) {
var initial_ranges = {
"xaxis":{
"from":from,
"to":to,
},
};
var dataset = dataset;
var overview_dataset = [overview_dataset];
extended trending languages to more entries, implemented new faster and "fancy"...
r763 var choiceContainer = YUD.get("legend_choices");
var choiceContainerTable = YUD.get("legend_choices_tables");
var plotContainer = YUD.get('commit_history');
var overviewContainer = YUD.get('overview');
renamed project to rhodecode
r547
var plot_options = {
bars: {show:true,align:'center',lineWidth:4},
legend: {show:true, container:"legend_container"},
points: {show:true,radius:0,fill:false},
yaxis: {tickDecimals:0,},
xaxis: {
mode: "time",
timeformat: "%d/%m",
min:from,
max:to,
},
grid: {
hoverable: true,
clickable: true,
autoHighlight:true,
color: "#999"
},
//selection: {mode: "x"}
};
var overview_options = {
legend:{show:false},
bars: {show:true,barWidth: 2,},
shadowSize: 0,
xaxis: {mode: "time", timeformat: "%d/%m/%y",},
fixed decimal tick on overview of commit data
r801 yaxis: {ticks: 3, min: 0,tickDecimals:0,},
renamed project to rhodecode
r547 grid: {color: "#999",},
selection: {mode: "x"}
};
/**
*get dummy data needed in few places
*/
function getDummyData(label){
return {"label":label,
"data":[{"time":0,
"commits":0,
"added":0,
"changed":0,
"removed":0,
}],
"schema":["commits"],
"color":'#ffffff',
}
}
/**
* generate checkboxes accordindly to data
* @param keys
* @returns
*/
function generateCheckboxes(data) {
//append checkboxes
var i = 0;
choiceContainerTable.innerHTML = '';
for(var pos in data) {
data[pos].color = i;
i++;
if(data[pos].label != ''){
choiceContainerTable.innerHTML += '<tr><td>'+
'<input type="checkbox" name="' + data[pos].label +'" checked="checked" />'
+data[pos].label+
'</td></tr>';
}
}
}
/**
* ToolTip show
*/
function showTooltip(x, y, contents) {
var div=document.getElementById('tooltip');
if(!div) {
div = document.createElement('div');
div.id="tooltip";
div.style.position="absolute";
div.style.border='1px solid #fdd';
div.style.padding='2px';
div.style.backgroundColor='#fee';
document.body.appendChild(div);
}
extended trending languages to more entries, implemented new faster and "fancy"...
r763 YUD.setStyle(div, 'opacity', 0);
renamed project to rhodecode
r547 div.innerHTML = contents;
div.style.top=(y + 5) + "px";
div.style.left=(x + 5) + "px";
var anim = new YAHOO.util.Anim(div, {opacity: {to: 0.8}}, 0.2);
anim.animate();
}
/**
small template fix
r730 * This function will detect if selected period has some changesets
for this user if it does this data is then pushed for displaying
Additionally it will only display users that are selected by the checkbox
renamed project to rhodecode
r547 */
function getDataAccordingToRanges(ranges) {
var data = [];
fixes graph y axis problem
r1430 var new_dataset = {};
renamed project to rhodecode
r547 var keys = [];
fixes graph y axis problem
r1430 var max_commits = 0;
renamed project to rhodecode
r547 for(var key in dataset){
small template fix
r730
renamed project to rhodecode
r547 for(var ds in dataset[key].data){
commit_data = dataset[key].data[ds];
if (commit_data.time >= ranges.xaxis.from && commit_data.time <= ranges.xaxis.to){
fixes graph y axis problem
r1430
if(new_dataset[key] === undefined){
new_dataset[key] = {data:[],schema:["commits"],label:key};
}
new_dataset[key].data.push(commit_data);
renamed project to rhodecode
r547 }
}
fixes graph y axis problem
r1430 if (new_dataset[key] !== undefined){
data.push(new_dataset[key]);
}
renamed project to rhodecode
r547 }
fixes graph y axis problem
r1430
if (data.length > 0){
return data;
}
renamed project to rhodecode
r547 else{
//just return dummy data for graph to plot itself
return [getDummyData('')];
}
}
/**
* redraw using new checkbox data
*/
function plotchoiced(e,args){
var cur_data = args[0];
var cur_ranges = args[1];
var new_data = [];
var inputs = choiceContainer.getElementsByTagName("input");
//show only checked labels
for(var i=0; i<inputs.length; i++) {
var checkbox_key = inputs[i].name;
if(inputs[i].checked){
for(var d in cur_data){
if(cur_data[d].label == checkbox_key){
new_data.push(cur_data[d]);
}
}
}
else{
//push dummy data to not hide the label
new_data.push(getDummyData(checkbox_key));
}
}
small template fix
r730
renamed project to rhodecode
r547 var new_options = YAHOO.lang.merge(plot_options, {
xaxis: {
min: cur_ranges.xaxis.from,
max: cur_ranges.xaxis.to,
mode:"time",
timeformat: "%d/%m",
small template fix
r730 },
renamed project to rhodecode
r547 });
if (!new_data){
new_data = [[0,1]];
}
// do the zooming
plot = YAHOO.widget.Flot(plotContainer, new_data, new_options);
plot.subscribe("plotselected", plotselected);
//resubscribe plothover
plot.subscribe("plothover", plothover);
fixes graph y axis problem
r1430 // don't fire event on the overview to prevent eternal loop
renamed project to rhodecode
r547 overview.setSelection(cur_ranges, true);
}
/**
* plot only selected items from overview
* @param ranges
* @returns
*/
function plotselected(ranges,cur_data) {
//updates the data for new plot
fixes graph y axis problem
r1430 var data = getDataAccordingToRanges(ranges);
renamed project to rhodecode
r547 generateCheckboxes(data);
var new_options = YAHOO.lang.merge(plot_options, {
xaxis: {
min: ranges.xaxis.from,
max: ranges.xaxis.to,
mode:"time",
timeformat: "%d/%m",
small template fix
r730 },
renamed project to rhodecode
r547 });
fixes graph y axis problem
r1430 // do the zooming
renamed project to rhodecode
r547 plot = YAHOO.widget.Flot(plotContainer, data, new_options);
plot.subscribe("plotselected", plotselected);
//resubscribe plothover
plot.subscribe("plothover", plothover);
// don't fire event on the overview to prevent eternal loop
overview.setSelection(ranges, true);
fixes graph y axis problem
r1430 //resubscribe choiced
extended trending languages to more entries, implemented new faster and "fancy"...
r763 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, ranges]);
renamed project to rhodecode
r547 }
var previousPoint = null;
function plothover(o) {
var pos = o.pos;
var item = o.item;
extended trending languages to more entries, implemented new faster and "fancy"...
r763 //YUD.get("x").innerHTML = pos.x.toFixed(2);
//YUD.get("y").innerHTML = pos.y.toFixed(2);
renamed project to rhodecode
r547 if (item) {
if (previousPoint != item.datapoint) {
previousPoint = item.datapoint;
extended trending languages to more entries, implemented new faster and "fancy"...
r763 var tooltip = YUD.get("tooltip");
renamed project to rhodecode
r547 if(tooltip) {
tooltip.parentNode.removeChild(tooltip);
}
var x = item.datapoint.x.toFixed(2);
var y = item.datapoint.y.toFixed(2);
if (!item.series.label){
item.series.label = 'commits';
}
var d = new Date(x*1000);
var fd = d.toDateString()
var nr_commits = parseInt(y);
var cur_data = dataset[item.series.label].data[item.dataIndex];
var added = cur_data.added;
var changed = cur_data.changed;
var removed = cur_data.removed;
var nr_commits_suffix = " ${_('commits')} ";
var added_suffix = " ${_('files added')} ";
var changed_suffix = " ${_('files changed')} ";
var removed_suffix = " ${_('files removed')} ";
if(nr_commits == 1){nr_commits_suffix = " ${_('commit')} ";}
if(added==1){added_suffix=" ${_('file added')} ";}
if(changed==1){changed_suffix=" ${_('file changed')} ";}
if(removed==1){removed_suffix=" ${_('file removed')} ";}
showTooltip(item.pageX, item.pageY, item.series.label + " on " + fd
+'<br/>'+
nr_commits + nr_commits_suffix+'<br/>'+
added + added_suffix +'<br/>'+
changed + changed_suffix + '<br/>'+
removed + removed_suffix + '<br/>');
}
}
else {
extended trending languages to more entries, implemented new faster and "fancy"...
r763 var tooltip = YUD.get("tooltip");
renamed project to rhodecode
r547
if(tooltip) {
tooltip.parentNode.removeChild(tooltip);
}
previousPoint = null;
}
}
/**
* MAIN EXECUTION
*/
fixes graph y axis problem
r1430 var data = getDataAccordingToRanges(initial_ranges);
renamed project to rhodecode
r547 generateCheckboxes(data);
fixes graph y axis problem
r1430 //main plot
renamed project to rhodecode
r547 var plot = YAHOO.widget.Flot(plotContainer,data,plot_options);
fixes graph y axis problem
r1430 //overview
var overview = YAHOO.widget.Flot(overviewContainer,
overview_dataset, overview_options);
renamed project to rhodecode
r547
fixes graph y axis problem
r1430 //show initial selection on overview
renamed project to rhodecode
r547 overview.setSelection(initial_ranges);
plot.subscribe("plotselected", plotselected);
fixes graph y axis problem
r1430 plot.subscribe("plothover", plothover)
renamed project to rhodecode
r547
overview.subscribe("plotselected", function (ranges) {
plot.setSelection(ranges);
});
extended trending languages to more entries, implemented new faster and "fancy"...
r763 YUE.on(choiceContainer.getElementsByTagName("input"), "click", plotchoiced, [data, initial_ranges]);
renamed project to rhodecode
r547 }
SummaryPlot(${c.ts_min},${c.ts_max},${c.commit_data|n},${c.overview_data|n});
</script>
</div>
</div>
<div class="box">
<div class="title">
fixes #76 added confirmation dialog for user removal....
r739 <div class="breadcrumbs">${h.link_to(_('Shortlog'),h.url('shortlog_home',repo_name=c.repo_name))}</div>
renamed project to rhodecode
r547 </div>
<div class="table">
removed shortlog from main menu, as duplicated functionality of changelog,...
r637 <div id="shortlog_data">
<%include file='../shortlog/shortlog_data.html'/>
</div>
##%if c.repo_changesets:
## ${h.link_to(_('show more'),h.url('changelog_home',repo_name=c.repo_name))}
##%endif
renamed project to rhodecode
r547 </div>
</div>
<div class="box">
<div class="title">
fixed message about disabled stats, template fixes for summary page
r820 <div class="breadcrumbs">${h.link_to(_('Tags'),h.url('tags_home',repo_name=c.repo_name))}</div>
renamed project to rhodecode
r547 </div>
<div class="table">
<%include file='../tags/tags_data.html'/>
%if c.repo_changesets:
${h.link_to(_('show more'),h.url('tags_home',repo_name=c.repo_name))}
%endif
</div>
</div>
<div class="box">
<div class="title">
fixed message about disabled stats, template fixes for summary page
r820 <div class="breadcrumbs">${h.link_to(_('Branches'),h.url('branches_home',repo_name=c.repo_name))}</div>
renamed project to rhodecode
r547 </div>
<div class="table">
<%include file='../branches/branches_data.html'/>
%if c.repo_changesets:
${h.link_to(_('show more'),h.url('branches_home',repo_name=c.repo_name))}
%endif
</div>
</div>
added branch/tag options to download links in summary
r942 </%def>