Changeset - 28eeddf81b25
[Not reviewed]
beta
0 2 0
Marcin Kuzminski - 14 years ago 2011-11-14 21:20:04
marcin@python-works.com
inline comments gui
2 files changed with 19 insertions and 2 deletions:
0 comments (0 inline, 0 general)
rhodecode/public/css/diff.css
Show inline comments
 
div.diffblock {
 
    overflow: auto;
 
    padding: 0px;
 
    border: 1px solid #ccc;
 
    background: #f8f8f8;
 
    font-size: 100%;
 
    line-height: 100%;
 
    /* new */
 
    line-height: 125%;
 
}
 

	
 
div.diffblock.margined{
 
	margin: 0px 20px 0px 20px;
 
}
 

	
 
div.diffblock .code-header{
 
	border-bottom: 1px solid #CCCCCC;
 
	background: #EEEEEE;
 
	padding:10px 0 10px 0;
 
}
 
div.diffblock .code-header div{
 
	margin-left:25px;
 
	font-weight: bold;
 
}
 
div.diffblock .code-body{
 
	background: #FFFFFF;
 
}
 
div.diffblock pre.raw{
 
	background: #FFFFFF;
 
	color:#000000;
 
}
 

	
 
table.code-difftable{
 
	border-collapse: collapse;
 
	width: 99%;
 
}
 

	
 
table.code-difftable td {
 
    padding: 0 !important; 
 
    background: none !important; 
 
    border:0 !important;    
 
}
 

	
 

	
 
.code-difftable .context{
 
	background:none repeat scroll 0 0 #DDE7EF;
 
}
 
.code-difftable .add{
 
	background:none repeat scroll 0 0 #DDFFDD;
 
}
 
.code-difftable .add ins{
 
	background:none repeat scroll 0 0 #AAFFAA;
 
	text-decoration:none;
 
}
 

	
 
.code-difftable .del{
 
	background:none repeat scroll 0 0 #FFDDDD;
 
}
 
.code-difftable .del del{
 
	background:none repeat scroll 0 0 #FFAAAA;
 
	text-decoration:none;
 
}
 

	
 
.code-difftable .lineno{
 
	background:none repeat scroll 0 0 #EEEEEE !important;
 
	padding-left:2px;
 
	padding-right:2px;
 
	text-align:right;
 
	width:30px;
 
	-moz-user-select:none;
 
	-webkit-user-select: none;
 
}
 
.code-difftable .lineno-inline{
 
    background:none repeat scroll 0 0 #FFF !important;
 
    padding-left:2px;
 
    padding-right:2px;
 
    text-align:right;
 
    width:30px;
 
    -moz-user-select:none;
 
    -webkit-user-select: none;
 
}
 
.code-difftable .new {
 
	border-right: 1px solid #CCC !important;
 
}
 
.code-difftable .old {
 
    border-right: 1px solid #CCC !important;
 
}
 

	
 
.code-difftable .lineno-inline.new-inline{
 
	
 
}
 
.code-difftable .lineno-inline.old-inline{
 
	border-right: 1px solid #CCC !important;
 
}
 

	
 
.code-difftable .lineno pre{
 
	color:#747474 !important;
 
	font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
 
	letter-spacing:-1px;
 
	text-align:right;
 
	width:20px;
 
}
 
.code-difftable .lineno a{
 
font-weight: 700;
 
cursor: pointer;
 
}
 
.code-difftable .code td{
 
	margin:0;
 
	padding: 0;
 
}
 
.code-difftable .code pre{
 
	margin:0;
 
	padding:0;
 
}
 

	
 
.code { 
 
	display: block;
 
	width: 100%;
 
}
 
.code-diff {
 
    padding: 0px;
 
    margin-top: 5px;
 
    margin-bottom: 5px;
 
    border-left: 2px solid #ccc;
 
}
 
.code-diff pre, .line pre { 
 
	padding: 3px;
 
    margin: 0;
 
}
 
.lineno a { 
 
	text-decoration: none; 
 
}
 

	
 
.line{
 
	padding:0;
 
	margin:0;
 
}
 

	
 
.line.highlight{
 
	background-color:#FFFFCC;
 
	cursor: pointer;
 
	background-image:url("../images/icons/comment_add.png");
 
	background-repeat:no-repeat;
 
	background-position: right;
 
	background-position: 100% 50%;
 
}
rhodecode/public/js/rhodecode.js
Show inline comments
 
@@ -214,130 +214,130 @@ var tooltip_activate = function(){
 
var show_more_event = function(){
 
    YUE.on(YUD.getElementsByClassName('show_more'),'click',function(e){
 
        var el = e.target;
 
        YUD.setStyle(YUD.get(el.id.substring(1)),'display','');
 
        YUD.setStyle(el.parentNode,'display','none');
 
    });
 
}
 

	
 

	
 
/**
 
 * Quick filter widget
 
 * 
 
 * @param target: filter input target
 
 * @param nodes: list of nodes in html we want to filter.
 
 * @param display_element function that takes current node from nodes and
 
 *    does hide or show based on the node
 
 * 
 
 */
 
var q_filter = function(target,nodes,display_element){
 
	
 
	var nodes = nodes;
 
	var q_filter_field = YUD.get(target);
 
	var F = YAHOO.namespace(target);
 

	
 
	YUE.on(q_filter_field,'click',function(){
 
	   q_filter_field.value = '';
 
	});
 

	
 
	YUE.on(q_filter_field,'keyup',function(e){
 
	    clearTimeout(F.filterTimeout); 
 
	    F.filterTimeout = setTimeout(F.updateFilter,600); 
 
	});
 

	
 
	F.filterTimeout = null;
 

	
 
	var show_node = function(node){
 
		YUD.setStyle(node,'display','')
 
	}
 
	var hide_node = function(node){
 
		YUD.setStyle(node,'display','none');
 
	}
 
	
 
	F.updateFilter  = function() { 
 
	   // Reset timeout 
 
	   F.filterTimeout = null;
 
	   
 
	   var obsolete = [];
 
	   
 
	   var req = q_filter_field.value.toLowerCase();
 
	   
 
	   var l = nodes.length;
 
	   var i;
 
	   var showing = 0;
 
	   
 
       for (i=0;i<l;i++ ){
 
    	   var n = nodes[i];
 
    	   var target_element = display_element(n)
 
    	   if(req && n.innerHTML.toLowerCase().indexOf(req) == -1){
 
    		   hide_node(target_element);
 
    	   }
 
    	   else{
 
    		   show_node(target_element);
 
    		   showing+=1;
 
    	   }
 
       }	  	   
 

	
 
	   // if repo_count is set update the number
 
	   var cnt = YUD.get('repo_count');
 
	   if(cnt){
 
		   YUD.get('repo_count').innerHTML = showing;
 
	   }       
 
       
 
	}	
 
}
 

	
 
var ajaxPOST = function(url,postData,success) {
 
    var sUrl = url;
 
    var callback = {
 
        success: success,
 
        failure: function (o) {
 
            alert("error");
 
        },
 
    };
 
    var postData = postData;
 
    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
 
};
 

	
 

	
 
/** comments **/
 
var removeInlineForm = function(form) {
 
	form.parentNode.removeChild(form);
 
}
 

	
 
var tableTr = function(cls,body){
 
	var form = document.createElement('tr');
 
	YUD.addClass(form, cls);
 
	form.innerHTML = '<td class="lineno new"></td>'+
 
    				 '<td class="lineno old"></td>'+ 
 
	form.innerHTML = '<td class="lineno-inline new-inline"></td>'+
 
    				 '<td class="lineno-inline old-inline"></td>'+ 
 
                     '<td>{0}</td>'.format(body);
 
	return form;
 
}
 

	
 
var createInlineForm = function(parent_tr, f_path, line) {
 
	var tmpl = YUD.get('comment-inline-form-template').innerHTML;
 
	tmpl = tmpl.format(f_path, line);
 
	var form = tableTr('comment-form-inline',tmpl)
 
	
 
	// create event for hide button
 
	form = new YAHOO.util.Element(form);
 
	var form_hide_button = new YAHOO.util.Element(form.getElementsByClassName('hide-inline-form')[0]);
 
	form_hide_button.on('click', function(e) {
 
		var newtr = e.currentTarget.parentNode.parentNode.parentNode.parentNode.parentNode;
 
		removeInlineForm(newtr);
 
		YUD.removeClass(parent_tr, 'form-open');
 
	});
 
	return form
 
}
 
var getLineNo = function(tr) {
 
	var line;
 
	var o = tr.children[0].id.split('_');
 
	var n = tr.children[1].id.split('_');
 

	
 
	if (n.length >= 2) {
 
		line = n[n.length-1];
 
	} else if (o.length >= 2) {
 
		line = o[n.length-1];
 
	}
 

	
 
	return line
 
}
 
\ No newline at end of file
0 comments (0 inline, 0 general)