Changeset - 496cfa1025e7
[Not reviewed]
beta
0 2 0
Aras Pranckevicius - 14 years ago 2012-01-09 22:28:22
aras@unity3d.com
changelog: styling "show more" expander
2 files changed with 18 insertions and 15 deletions:
0 comments (0 inline, 0 general)
rhodecode/public/css/style.css
Show inline comments
 
@@ -1041,210 +1041,213 @@ tbody .yui-dt-editable { cursor: pointer
 
	display: block;
 
	float: left;
 
	font-size: 13px;
 
	font-weight: 700;
 
	height: 1%;
 
	margin: 0;
 
	padding: 11px 22px 12px;
 
	text-decoration: none;
 
}
 
 
#content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6
 
	{
 
	clear: both;
 
	overflow: hidden;
 
	border-bottom: 1px solid #DDD;
 
	margin: 10px 20px;
 
	padding: 0 0 15px;
 
}
 
 
#content div.box p {
 
	color: #5f5f5f;
 
	font-size: 12px;
 
	line-height: 150%;
 
	margin: 0 24px 10px;
 
	padding: 0;
 
}
 
 
#content div.box blockquote {
 
	border-left: 4px solid #DDD;
 
	color: #5f5f5f;
 
	font-size: 11px;
 
	line-height: 150%;
 
	margin: 0 34px;
 
	padding: 0 0 0 14px;
 
}
 
 
#content div.box blockquote p {
 
	margin: 10px 0;
 
	padding: 0;
 
}
 
 
#content div.box dl {
 
	margin: 10px 0px;
 
}
 
 
#content div.box dt {
 
	font-size: 12px;
 
	margin: 0;
 
}
 
 
#content div.box dd {
 
	font-size: 12px;
 
	margin: 0;
 
	padding: 8px 0 8px 15px;
 
}
 
 
#content div.box li {
 
	font-size: 12px;
 
	padding: 4px 0;
 
}
 
 
#content div.box ul.disc,#content div.box ul.circle {
 
	margin: 10px 24px 10px 38px;
 
}
 
 
#content div.box ul.square {
 
	margin: 10px 24px 10px 40px;
 
}
 
 
#content div.box img.left {
 
	border: none;
 
	float: left;
 
	margin: 10px 10px 10px 0;
 
}
 
 
#content div.box img.right {
 
	border: none;
 
	float: right;
 
	margin: 10px 0 10px 10px;
 
}
 
 
#content div.box div.messages {
 
	clear: both;
 
	overflow: hidden;
 
	margin: 0 20px;
 
	padding: 0;
 
}
 
 
#content div.box div.message {
 
	clear: both;
 
	overflow: hidden;
 
	margin: 0;
 
	padding: 5px 0;
 
    white-space: pre-wrap;
 
}
 
#content div.box div.expand{
 
position:absolute;
 
width:inherit;
 
	width: 110%;
 
height:14px;
 
font-size:14px;
 
text-align:left;
 
	font-size:10px;
 
	text-align:right;
 
cursor: pointer;
 
font-family: monospace;
 
color:#003367;
 
/*
 
background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(255,255,255,1)));
 
background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,1));
 
background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,1));
 
background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,1));
 
background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,1));
 
background:linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,1));
 
*/
 
	color:#666;
 
 
	background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
 
	background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
 
	background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
 
	background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
 
	background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
 
	background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
 
 
display: none;
 
}
 
#content div.box div.expand .expandtext {
 
	background-color: #ffffff;
 
	padding: 2px;
 
	border-radius: 2px;
 
}
 
 
#content div.box div.message a {
 
	font-weight: 400 !important;
 
}
 
 
#content div.box div.message div.image {
 
	float: left;
 
	margin: 9px 0 0 5px;
 
	padding: 6px;
 
}
 
 
#content div.box div.message div.image img {
 
	vertical-align: middle;
 
	margin: 0;
 
}
 
 
#content div.box div.message div.text {
 
	float: left;
 
	margin: 0;
 
	padding: 9px 6px;
 
}
 
 
#content div.box div.message div.dismiss a {
 
	height: 16px;
 
	width: 16px;
 
	display: block;
 
	background: url("../images/icons/cross.png") no-repeat;
 
	margin: 15px 14px 0 0;
 
	padding: 0;
 
}
 
 
#content div.box div.message div.text h1,#content div.box div.message div.text h2,#content div.box div.message div.text h3,#content div.box div.message div.text h4,#content div.box div.message div.text h5,#content div.box div.message div.text h6
 
	{
 
	border: none;
 
	margin: 0;
 
	padding: 0;
 
}
 
 
#content div.box div.message div.text span {
 
	height: 1%;
 
	display: block;
 
	margin: 0;
 
	padding: 5px 0 0;
 
}
 
 
#content div.box div.message-error {
 
	height: 1%;
 
	clear: both;
 
	overflow: hidden;
 
	background: #FBE3E4;
 
	border: 1px solid #FBC2C4;
 
	color: #860006;
 
}
 
 
#content div.box div.message-error h6 {
 
	color: #860006;
 
}
 
 
#content div.box div.message-warning {
 
	height: 1%;
 
	clear: both;
 
	overflow: hidden;
 
	background: #FFF6BF;
 
	border: 1px solid #FFD324;
 
	color: #5f5200;
 
}
 
 
#content div.box div.message-warning h6 {
 
	color: #5f5200;
 
}
 
 
#content div.box div.message-notice {
 
	height: 1%;
 
	clear: both;
 
	overflow: hidden;
 
	background: #8FBDE0;
 
	border: 1px solid #6BACDE;
 
	color: #003863;
 
}
 
 
#content div.box div.message-notice h6 {
 
	color: #003863;
 
}
 
 
#content div.box div.message-success {
 
	height: 1%;
 
	clear: both;
 
	overflow: hidden;
 
	background: #E6EFC2;
 
	border: 1px solid #C6D880;
 
	color: #4e6100;
 
}
 
 
#content div.box div.message-success h6 {
 
	color: #4e6100;
 
}
rhodecode/templates/changelog/changelog.html
Show inline comments
 
## -*- coding: utf-8 -*-
 

	
 
<%inherit file="/base/base.html"/>
 

	
 
<%def name="title()">
 
${c.repo_name} ${_('Changelog')} - ${c.rhodecode_name}
 
</%def>
 

	
 
<%def name="breadcrumbs_links()">
 
    ${h.link_to(u'Home',h.url('/'))}
 
    &raquo;
 
    ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
 
    &raquo;
 
    ${_('Changelog')} - ${_('showing ')} ${c.size if c.size <= c.total_cs else c.total_cs} ${_('out of')} ${c.total_cs} ${_('revisions')}  
 
</%def>
 

	
 
<%def name="page_nav()">
 
	${self.menu('changelog')}     
 
</%def>
 

	
 
<%def name="main()">
 
<div class="box">
 
    <!-- box / title -->
 
    <div class="title">
 
        ${self.breadcrumbs()}
 
    </div>
 
    <div class="table">
 
		% if c.pagination:
 
			<div id="graph">
 
				<div id="graph_nodes">
 
					<canvas id="graph_canvas"></canvas>
 
				</div>
 
				<div id="graph_content">
 
					<div class="container_header">
 
				        ${h.form(h.url.current(),method='get')}
 
				        <div class="info_box" style="float:left">
 
				          ${h.submit('set',_('Show'),class_="ui-btn")}
 
				          ${h.text('size',size=1,value=c.size)}
 
				          ${_('revisions')}
 
				        </div>
 
				        ${h.end_form()}
 
					<div id="rev_range_container" style="display:none"></div>
 
                    <div style="float:right">${h.select('branch_filter',c.branch_name,c.branch_filters)}</div>
 
					</div>
 
					
 
				%for cnt,cs in enumerate(c.pagination):
 
					<div id="chg_${cnt+1}" class="container ${'tablerow%s' % (cnt%2)}">
 
						<div class="left">
 
							<div>
 
							${h.checkbox(cs.short_id,class_="changeset_range")}
 
							<span class="tooltip" title="${h.age(cs.date)}"><a href="${h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id)}"><span class="changeset_id">${cs.revision}:<span class="changeset_hash">${h.short_id(cs.raw_id)}</span></span></a></span>
 
							</div>
 
							<div class="author">
 
								<div class="gravatar">
 
									<img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),16)}"/>
 
								</div>
 
								<div title="${cs.author}" class="user">${h.person(cs.author)}</div>
 
							</div>
 
                            <div class="date">${cs.date}</div>
 
						</div>
 
						<div class="mid">
 
                            <div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name,h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</div>
 
                            <div class="expand ${'tablerow%s' % (cnt%2)}">&darr; ${_('show more')} &darr;</div>
 
                            <div class="expand"><span class="expandtext">&darr; ${_('show more')} &darr;</span></div>
 
						</div>	
 
						<div class="right">
 
									<div id="${cs.raw_id}_changes_info" class="changes">
 
                                        <span id="${cs.raw_id}" class="changed_total tooltip" title="${_('Affected number of files, click to show more details')}">${len(cs.affected_files)}</span>
 
									</div>					
 
								   %if cs.parents:
 
									%for p_cs in reversed(cs.parents):
 
										<div class="parent">${_('Parent')}
 
											<span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${h.link_to(h.short_id(p_cs.raw_id),
 
											h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}</span></span>
 
										</div>
 
									%endfor
 
								   %else:	
 
                                        <div class="parent">${_('No parents')}</div>   
 
                                   %endif  
 
                    									
 
								<span class="logtags">
 
									%if len(cs.parents)>1:
 
									<span class="merge">${_('merge')}</span>
 
									%endif
 
									%if cs.branch:
 
									<span class="branchtag" title="${'%s %s' % (_('branch'),cs.branch)}">
 
									   ${h.link_to(cs.branch,h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
 
									%endif
 
									%for tag in cs.tags:
 
										<span class="tagtag"  title="${'%s %s' % (_('tag'),tag)}">
 
										${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=cs.raw_id))}</span>
 
									%endfor
 
								</span>																	
 
						</div>				
 
					</div>
 
					
 
				%endfor
 
				<div class="pagination-wh pagination-left">
 
					${c.pagination.pager('$link_previous ~2~ $link_next')}
 
				</div>			
 
				</div>
 
			</div>
 
			
 
			<script type="text/javascript" src="${h.url('/js/graph.js')}"></script>
 
			<script type="text/javascript">
 
				YAHOO.util.Event.onDOMReady(function(){
 
					
 
                    //Monitor range checkboxes and build a link to changesets
 
                    //ranges 
 
                    var checkboxes = YUD.getElementsByClassName('changeset_range');
 
                    var url_tmpl = "${h.url('changeset_home',repo_name=c.repo_name,revision='__REVRANGE__')}";
 
                    YUE.on(checkboxes,'click',function(e){      
 
                        var checked_checkboxes = [];
 
                        for (pos in checkboxes){
 
                            if(checkboxes[pos].checked){
 
                                checked_checkboxes.push(checkboxes[pos]);
 
                            }
 
                        }
 
                        if(checked_checkboxes.length>1){
 
                        	var rev_end = checked_checkboxes[0].name;
 
                        	var rev_start = checked_checkboxes[checked_checkboxes.length-1].name;
 
                        	
 
                            var url = url_tmpl.replace('__REVRANGE__',
 
                            		rev_start+'...'+rev_end);
 
                            
 
                        var link = "<a href="+url+">${_('Show selected changes __S -> __E')}</a>"
 
                        link = link.replace('__S',rev_start);
 
                        link = link.replace('__E',rev_end);
 
                        YUD.get('rev_range_container').innerHTML = link;
 
                        YUD.setStyle('rev_range_container','display','');
 
                        }
 
                        else{
 
                        	YUD.setStyle('rev_range_container','display','none');
 
                        	
 
                        }
 
                    });					
 
					
 
                    var msgs = YUQ('.message');
 
                    // get first element height
 
                    var el = YUQ('.container')[0];
 
                    var row_h = el.clientHeight;
 
                    for(var i=0;i<msgs.length;i++){
 
                    	var m = msgs[i];
 

	
 
                    	var h = m.clientHeight;
 
                    	var pad = YUD.getStyle(m,'padding');
 
                    	if(h > row_h){
 
                    		YUD.setStyle(m.nextElementSibling,'display','block');
 
                    		YUD.setStyle(m.nextElementSibling,'margin-top',row_h-(h+14)+'px');
 
                    	};
 
                    }
 
                    YUE.on(YUQ('.expand'),'click',function(e){
 
                    	var elem = e.currentTarget.parentNode.parentNode;
 
                    	YUD.setStyle(e.currentTarget,'display','none');
 
                    	YUD.setStyle(elem,'height','auto');
 
                    	
 
                    	//redraw the graph, max_w and jsdata are global vars
 
                        set_canvas(max_w);
 
                        
 
                        var r = new BranchRenderer();
0 comments (0 inline, 0 general)