Changeset - fc3613065baf
[Not reviewed]
default
0 2 0
Marcin Kuzminski - 15 years ago 2010-08-23 22:04:35
marcin@python-works.com
fixed templating issue with graph, and improved toggle of commiters
2 files changed with 13 insertions and 6 deletions:
0 comments (0 inline, 0 general)
pylons_app/public/css/style.css
Show inline comments
 
@@ -3345,198 +3345,200 @@ table.code-browser .browser-dir {
 
.breadcrumbs{
 
	border:medium none;
 
	color:#FFFFFF;
 
	float:left;
 
	margin:0;
 
	padding:11px 0 11px 10px;
 
	text-transform:uppercase;
 
    font-weight: bold;
 
    font-size: 14px;
 
}
 
.breadcrumbs a{
 
 color: #FFFFFF;
 
}
 
 
 
/* -----------------------------------------------------------
 
    FLASH MSG
 
----------------------------------------------------------- */
 
.flash_msg ul {
 
    margin: 0;
 
    padding: 0px 0px 10px 0px;
 
}
 
 
.error_msg {
 
    background-color: #FFCFCF;
 
    background-image: url("/images/icons/error_msg.png");
 
    border: 1px solid #FF9595;
 
    color: #CC3300;
 
}
 
 
.warning_msg {
 
    background-color: #FFFBCC;
 
    background-image: url("/images/icons/warning_msg.png");
 
    border: 1px solid #FFF35E;
 
    color: #C69E00;
 
}
 
 
.success_msg {
 
    background-color: #D5FFCF;
 
    background-image: url("/images/icons/success_msg.png");
 
    border: 1px solid #97FF88;
 
    color: #009900;
 
}
 
 
.notice_msg {
 
    background-color: #DCE3FF;
 
    background-image: url("/images/icons/notice_msg.png");
 
    border: 1px solid #93A8FF;
 
    color: #556CB5;
 
}
 
 
.success_msg,.error_msg,.notice_msg,.warning_msg {
 
    background-position: 10px center;
 
    background-repeat: no-repeat;
 
    font-size: 12px;
 
    font-weight: bold;
 
    min-height: 14px;
 
    line-height: 14px;
 
    margin-bottom: 0px;
 
    margin-top: 0px;
 
    padding: 6px 10px 6px 40px;
 
    display: block;
 
    overflow: auto;
 
}
 
 
#msg_close {
 
    background: transparent url("icons/cross_grey_small.png") no-repeat
 
        scroll 0 0;
 
    cursor: pointer;
 
    height: 16px;
 
    position: absolute;
 
    right: 5px;
 
    top: 5px;
 
    width: 16px;
 
}
 
/* -----------------------------------------------------------
 
	YUI FLOT
 
----------------------------------------------------------- */
 
 
div#commit_history{
 
	float: left;
 
}
 
div#legend_data{
 
	float:left;
 
	
 
}
 
div#legend_container {
 
	float: left;
 
}
 
 
div#legend_container table,div#legend_choices table{
 
	width:auto !important;
 
}
 
 
div#legend_container table td{
 
	border: none !important;
 
	padding: 2px !important;
 
	padding: 0px !important;
 
	height: 20px  !important;
 
}
 
 
div#legend_choices table td{
 
	border: none !important;
 
	padding: 0px !important;
 
	height: 20px  !important;
 
}
 
 
div#legend_choices{
 
	float:left;
 
}
 
 
/* -----------------------------------------------------------
 
    PERMISSIONS TABLE
 
----------------------------------------------------------- */
 
table#permissions_manage{
 
    width: 0 !important;
 
 
}
 
table#permissions_manage span.private_repo_msg{
 
    font-size: 0.8em;
 
    opacity:0.6;
 
    
 
}
 
table#permissions_manage td.private_repo_msg{
 
    font-size: 0.8em;
 
    
 
}
 
table#permissions_manage tr#add_perm_input td{
 
    vertical-align:middle;
 
 
}
 
 
/* -----------------------------------------------------------
 
    GRAVATARS
 
----------------------------------------------------------- */
 
div.gravatar{
 
	background-color:white;
 
	border:1px solid #D0D0D0;
 
	float:left;
 
	margin-right:0.7em;
 
	padding: 2px 2px 0px;
 
}
 
 
/* -----------------------------------------------------------
 
	jquery ui
 
----------------------------------------------------------- */
 
 
.ui-helper-hidden { display: none; }
 
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
 
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
 
 
/* -----------------------------------------------------------
 
	jquery ui -> icons
 
----------------------------------------------------------- */
 
 
.ui-icon { width: 16px; height: 16px; background-image: url(../images/ui/ui-icons_222222_256x240.png); }
 
.ui-widget-content .ui-icon {background-image: url(../images/ui/ui-icons_222222_256x240.png); }
 
.ui-widget-header .ui-icon {background-image: url(../images/ui/ui-icons_222222_256x240.png); }
 
.ui-state-default .ui-icon { background-image: url(../images/ui/ui-icons_ef8c08_256x240.png); }
 
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon { background-image: url(../images/ui/ui-icons_ef8c08_256x240.png); }
 
.ui-state-active .ui-icon {background-image: url(../images/ui/ui-icons_ef8c08_256x240.png); }
 
.ui-state-highlight .ui-icon {background-image: url(../images/ui/ui-icons_228ef1_256x240.png); }
 
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(../images/ui/ui-icons_ffd27a_256x240.png); }
 
 
/* -----------------------------------------------------------
 
	jquery ui -> icon positioning
 
----------------------------------------------------------- */
 
.ui-icon-carat-1-n { background-position: 0 0; }
 
.ui-icon-carat-1-ne { background-position: -16px 0; }
 
.ui-icon-carat-1-e { background-position: -32px 0; }
 
.ui-icon-carat-1-se { background-position: -48px 0; }
 
.ui-icon-carat-1-s { background-position: -64px 0; }
 
.ui-icon-carat-1-sw { background-position: -80px 0; }
 
.ui-icon-carat-1-w { background-position: -96px 0; }
 
.ui-icon-carat-1-nw { background-position: -112px 0; }
 
.ui-icon-carat-2-n-s { background-position: -128px 0; }
 
.ui-icon-carat-2-e-w { background-position: -144px 0; }
 
.ui-icon-triangle-1-n { background-position: 0 -16px; }
 
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
 
.ui-icon-triangle-1-e { background-position: -32px -16px; }
 
.ui-icon-triangle-1-se { background-position: -48px -16px; }
 
.ui-icon-triangle-1-s { background-position: -64px -16px; }
 
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
 
.ui-icon-triangle-1-w { background-position: -96px -16px; }
 
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
 
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
 
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
 
.ui-icon-arrow-1-n { background-position: 0 -32px; }
 
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
 
.ui-icon-arrow-1-e { background-position: -32px -32px; }
 
.ui-icon-arrow-1-se { background-position: -48px -32px; }
 
.ui-icon-arrow-1-s { background-position: -64px -32px; }
 
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
 
.ui-icon-arrow-1-w { background-position: -96px -32px; }
 
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
 
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
 
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
 
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
 
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
 
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
 
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
pylons_app/templates/summary/summary.html
Show inline comments
 
@@ -61,198 +61,203 @@ E.onDOMReady(function(e){
 
			  <div class="label">
 
			      <label>${_('Contact')}:</label>
 
			  </div>
 
			  <div class="input-short">
 
			  	<div class="gravatar">
 
			  		<img alt="gravatar" src="${h.gravatar_url(c.repo_info.dbrepo.user.email)}"/>
 
			  	</div>
 
			  		${_('Username')}: ${c.repo_info.dbrepo.user.username}<br/>
 
			  		${_('Name')}: ${c.repo_info.dbrepo.user.name} ${c.repo_info.dbrepo.user.lastname}<br/>
 
			  		${_('Email')}: <a href="mailto:${c.repo_info.dbrepo.user.email}">${c.repo_info.dbrepo.user.email}</a>
 
			  </div>
 
			 </div>
 
			
 
			 <div class="field">
 
			  <div class="label">
 
			      <label>${_('Last change')}:</label>
 
			  </div>
 
			  <div class="input-short">
 
			      ${h.age(c.repo_info.last_change)} - ${h.rfc822date(c.repo_info.last_change)}
 
			  </div>
 
			 </div>
 
			
 
			 <div class="field">
 
			  <div class="label">
 
			      <label>${_('Clone url')}:</label>
 
			  </div>
 
			  <div class="input-short">
 
			      <input type="text" id="clone_url" readonly="readonly" value="hg clone ${c.clone_repo_url}" size="70"/>
 
			  </div>
 
			 </div>
 
			
 
			 <div class="field">
 
			  <div class="label">
 
			      <label>${_('Download')}:</label>
 
			  </div>
 
			  <div class="input-short">
 
		        %for cnt,archive in enumerate(c.repo_info._get_archives()):
 
		             %if cnt >=1:
 
		             |
 
		             %endif
 
		             ${h.link_to(c.repo_info.name+'.'+archive['type'],
 
		                h.url('files_archive_home',repo_name=c.repo_info.name,
 
		                revision='tip',fileformat=archive['extension']),class_="archive_icon")}
 
		        %endfor
 
			  </div>
 
			 </div>
 
			 
 
			 <div class="field">
 
			  <div class="label">
 
			      <label>${_('Feeds')}:</label>
 
			  </div>
 
			  <div class="input-short">
 
	            ${h.link_to(_('RSS'),h.url('rss_feed_home',repo_name=c.repo_info.name),class_='rss_icon')}
 
	            ${h.link_to(_('Atom'),h.url('atom_feed_home',repo_name=c.repo_info.name),class_='atom_icon')}
 
			  </div>
 
			 </div>				 			 			 
 
	  </div>		 
 
	</div>				
 
</div>
 
        
 
<div class="box box-right"  style="min-height:455px">
 
    <!-- box / title -->
 
    <div class="title">
 
        <h5>${_('Last month commit activity')}</h5>
 
    </div>
 
    
 
    <div class="table">
 
        <div id="commit_history" style="width:560px;height:300px;float:left"></div>
 
    	<div id="legend_data">
 
	    	<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">
 
		
 
		(function () {
 
			var datasets = {${c.commit_data|n}};
 
			var i = 0;
 
		    var choiceContainer = YAHOO.util.Dom.get("legend_choices");
 
		    var choiceContainerTable = YAHOO.util.Dom.get("legend_choices_tables");
 
		    for(var key in datasets) {
 
		        datasets[key].color = i;
 
		        i++;
 
		        choiceContainerTable.innerHTML += '<tr><td>'+
 
		        '<input type="checkbox" name="' + key +'" checked="checked" />'
 
		        +datasets[key].label+
 
		        '</td></tr>';
 
		    };
 
		    
 

	
 
		    function plotAccordingToChoices() {
 
		        var data = [];
 

	
 
		        var inputs = choiceContainer.getElementsByTagName("input");
 
		        for(var i=0; i<inputs.length; i++) {
 
		            if(!inputs[i].checked)
 
		                continue;
 

	
 
		            var key = inputs[i].name;
 
		            if (key && datasets[key])
 
		                data.push(datasets[key]);
 
		            if (key && datasets[key]){
 
			            if(!inputs[i].checked){
 
				            data.push({label:key,data:[[0,1],]});	
 
				        }
 
			            else{
 
			            	data.push(datasets[key]);
 
			            }
 
		                
 
		            }
 
		            
 
		        };
 

	
 
		        if (data.length > 0){
 

	
 
				    var plot = YAHOO.widget.Flot("commit_history", data,
 
					        { bars: { show: true, align:'center',lineWidth:4 },
 
			    			  points: { show: true, radius:0,fill:true },
 
			    			  legend:{show:true, container:"legend_container"},
 
			    	          selection: { mode: "xy" },
 
			    	          yaxis: {tickDecimals:0},
 
				              xaxis: { mode: "time", timeformat: "%d",tickSize:[1, "day"],min:${c.ts_min},max:${c.ts_max} }, 
 
				              grid: { hoverable: true, clickable: true,autoHighlight:true },
 
					        });
 
			        
 
				    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);
 
				        }
 
				        YAHOO.util.Dom.setStyle(div, 'opacity', 0);
 
				        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();
 
				    }
 

	
 
			        var previousPoint = null;
 
			        plot.subscribe("plothover", function (o) {
 
				        var pos = o.pos;
 
				        var item = o.item;
 
				        
 
				        //YAHOO.util.Dom.get("x").innerHTML = pos.x.toFixed(2);
 
				        //YAHOO.util.Dom.get("y").innerHTML = pos.y.toFixed(2);
 
		                if (item) {
 
		                    if (previousPoint != item.datapoint) {
 
		                        previousPoint = item.datapoint;
 
		                        
 
		                        var tooltip = YAHOO.util.Dom.get("tooltip");
 
		                        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.getFullYear()+'-'+(d.getMonth()+1)+'-'+d.getDate();
 
		                        var nr_commits = parseInt(y);
 
		                        
 
		                        var cur_data = datasets[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 {
 
		                	  var tooltip = YAHOO.util.Dom.get("tooltip");
 
		                	  
 
					          if(tooltip) {
 
					                tooltip.parentNode.removeChild(tooltip);
 
					          }
 
		                    previousPoint = null;
 
		                }
 
			        });
 

	
 
			    }
 
		    }
 

	
0 comments (0 inline, 0 general)