Changeset - 5e4827a8e942
[Not reviewed]
beta
0 4 0
Marcin Kuzminski - 14 years ago 2011-11-20 23:29:14
marcin@python-works.com
added reply comment button on top of inline comments
fixed some issues with interactive file filter on files
4 files changed with 41 insertions and 29 deletions:
0 comments (0 inline, 0 general)
rhodecode/public/css/style.css
Show inline comments
 
@@ -2652,13 +2652,13 @@ input.ui-button-small,.ui-button-small {
 
	-webkit-border-radius: 4px 4px 4px 4px !important;
 
	-khtml-border-radius: 4px 4px 4px 4px !important;
 
	-moz-border-radius: 4px 4px 4px 4px !important;
 
	border-radius: 4px 4px 4px 4px !important;
 
	box-shadow: 0 1px 0 #ececec !important;
 
	cursor: pointer !important;
 
	padding: 0px 2px 1px 2px;
 
	padding: 3px 3px 3px 3px;
 
}
 
 
input.ui-button-small:hover,.ui-button-small:hover {
 
	background: #b4b4b4 url("../images/button_selected.png") repeat-x
 
		!important;
 
	border-top: 1px solid #ccc !important;
rhodecode/public/js/rhodecode.js
Show inline comments
 
@@ -325,12 +325,38 @@ var createInlineForm = function(parent_t
 
		var newtr = e.currentTarget.parentNode.parentNode.parentNode.parentNode.parentNode;
 
		removeInlineForm(newtr);
 
		YUD.removeClass(parent_tr, 'form-open');
 
	});
 
	return form
 
};
 
var injectInlineForm = function(tr){
 
	  if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context')){
 
		  return
 
	  }	
 
	  YUD.addClass(tr,'form-open');
 
	  var node = tr.parentNode.parentNode.parentNode.getElementsByClassName('full_f_path')[0];
 
	  var f_path = YUD.getAttribute(node,'path');
 
	  var lineno = getLineNo(tr);
 
	  var form = createInlineForm(tr, f_path, lineno);
 
	  var target_tr = tr;
 
	  if(YUD.hasClass(YUD.getNextSibling(tr),'inline-comments')){
 
		  target_tr = YUD.getNextSibling(tr);
 
	  }
 
	  YUD.insertAfter(form,target_tr);
 
	  YUD.get('text_'+lineno).focus();	
 
};
 

	
 
var createInlineAddButton = function(tr,label){
 
	var html = '<div class="add-comment"><span class="ui-button-small">{0}</span></div>'.format(label);
 
        
 
	var add = new YAHOO.util.Element(tableTr('inline-comments-button',html));
 
	add.on('click', function(e) {
 
		injectInlineForm(tr);
 
	});
 
	return add;
 
};
 

	
 
var getLineNo = function(tr) {
 
	var line;
 
	var o = tr.children[0].id.split('_');
 
	var n = tr.children[1].id.split('_');
 

	
 
@@ -341,13 +367,14 @@ var getLineNo = function(tr) {
 
	}
 

	
 
	return line
 
};
 

	
 

	
 
var fileBrowserListeners = function(current_url, node_list_url, url_base){
 
var fileBrowserListeners = function(current_url, node_list_url, url_base,
 
									truncated_lbl, nomatch_lbl){
 
	var current_url_branch = +"?branch=__BRANCH__";
 
	var url = url_base;
 
	var node_url = node_list_url;	
 

	
 
	YUE.on('stay_at_branch','click',function(e){
 
	    if(e.target.checked){
 
@@ -360,19 +387,12 @@ var fileBrowserListeners = function(curr
 
	    }
 
	})            
 

	
 
	var n_filter = YUD.get('node_filter');
 
	var F = YAHOO.namespace('node_filter');
 
	
 
	url  = url.replace('__REPO__','${c.repo_name}');
 
	url  = url.replace('__REVISION__','${c.changeset.raw_id}');
 
	url  = url.replace('__FPATH__','${c.files_list.path}');
 

	
 
	node_url  = node_url.replace('__REPO__','${c.repo_name}');
 
	node_url  = node_url.replace('__REVISION__','${c.changeset.raw_id}');
 

	
 
	F.filterTimeout = null;
 
	var nodes = null;
 

	
 
	F.initFilter = function(){
 
	  YUD.setStyle('node_filter_box_loading','display','');
 
	  YUD.setStyle('search_activate_id','display','none');
 
@@ -414,24 +434,23 @@ var fileBrowserListeners = function(curr
 
	                    var n_hl = n.substring(0,pos)
 
	                      +"<b>{0}</b>".format(n.substring(pos,pos+query.length))
 
	                      +n.substring(pos+query.length)                    
 
	                    match.push('<tr><td><a class="browser-file" href="{0}">{1}</a></td><td colspan="5"></td></tr>'.format(node_url.replace('__FPATH__',n),n_hl));
 
	                }
 
	                if(match.length >= matches_max){
 
	                    match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format("${_('search truncated')}"));
 
	                    match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(truncated_lbl));
 
	                }
 
	                
 
	            }                       
 
	        }
 
	        
 
	        if(query != ""){
 
	            YUD.setStyle('tbody','display','none');
 
	            YUD.setStyle('tbody_filtered','display','');
 
	            
 
	            if (match.length==0){
 
	              match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format("${_('no matching files')}"));
 
	              match.push('<tr><td>{0}</td><td colspan="5"></td></tr>'.format(nomatch_lbl));
 
	            }                           
 
	            
 
	            YUD.get('tbody_filtered').innerHTML = match.join("");   
 
	        }
 
	        else{
 
	            YUD.setStyle('tbody','display','');
rhodecode/templates/changeset/changeset.html
Show inline comments
 
@@ -217,26 +217,13 @@
 
    		     YUD.setStyle(comments[c],'display',show);
 
    		  }
 
    	  })
 
          
 
          YUE.on(YUQ('.line'),'click',function(e){
 
        	  var tr = e.currentTarget;
 
        	  if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context')){
 
        		  return
 
        	  }
 
        	  YUD.addClass(tr,'form-open');
 
        	  var node = tr.parentNode.parentNode.parentNode.getElementsByClassName('full_f_path')[0];
 
        	  var f_path = YUD.getAttribute(node,'path');
 
        	  var lineno = getLineNo(tr);
 
        	  var form = createInlineForm(tr, f_path, lineno);
 
        	  var target_tr = tr;
 
        	  if(YUD.hasClass(YUD.getNextSibling(tr),'inline-comments')){
 
        		  target_tr = YUD.getNextSibling(tr);
 
        	  }
 
        	  YUD.insertAfter(form,target_tr);
 
        	  YUD.get('text_'+lineno).focus()
 
        	  injectInlineForm(tr);
 
          });
 
          
 
          // inject comments into they proper positions
 
          var file_comments = YUQ('.inline-comment-placeholder');
 
          
 
          for (f in file_comments){
 
@@ -246,12 +233,16 @@
 
        		  try{
 

	
 
          		    var inline = inlines[i];
 
          		    var lineno = YUD.getAttribute(inlines[i],'line');
 
          		    var lineid = "{0}_{1}".format(YUD.getAttribute(inline,'target_id'),lineno);
 
                    var target_line = YUD.get(lineid);
 
                    
 
                    var add = createInlineAddButton(target_line.parentNode,'${_("add another comment")}');
 
                    YUD.insertAfter(add,target_line.parentNode);
 
                    
 
                    var comment = new YAHOO.util.Element(tableTr('inline-comments',inline.innerHTML))
 
                    YUD.insertAfter(comment,target_line.parentNode);
 
        		  }catch(e){}
 
        	  }
 
          }
 
      })
rhodecode/templates/files/files.html
Show inline comments
 
@@ -36,11 +36,13 @@
 
		</div>    
 
    </div>
 
</div>    
 
<script type="text/javascript">
 
var YPJAX_TITLE = "${c.repo_name} ${_('Files')} - ${c.rhodecode_name}";
 
var current_url = "${h.url.current()}";
 
var node_list_url = '${h.url("files_home",repo_name="__REPO__",revision="__REVISION__",f_path="__FPATH__")}';
 
var url_base = '${h.url("files_nodelist_home",repo_name="__REPO__",revision="__REVISION__",f_path="__FPATH__")}';
 
fileBrowserListeners(current_url, node_list_url, url_base);
 
var node_list_url = '${h.url("files_home",repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.files_list.path)}';
 
var url_base = '${h.url("files_nodelist_home",repo_name=c.repo_name,revision=c.changeset.raw_id,f_path=c.files_list.path)}';
 
var truncated_lbl = "${_('search truncated')}";
 
var nomatch_lbl = "${_('no matching files')}";
 
fileBrowserListeners(current_url, node_list_url, url_base, truncated_lbl, nomatch_lbl);
 
</script>
 
</%def>
 
\ No newline at end of file
0 comments (0 inline, 0 general)