Mercurial > kallithea
changeset 1705:5e4827a8e942 beta
added reply comment button on top of inline comments
fixed some issues with interactive file filter on files
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 21 Nov 2011 00:29:14 +0200 |
parents | 3efc47f59639 |
children | 07c8838ebfd3 |
files | rhodecode/public/css/style.css rhodecode/public/js/rhodecode.js rhodecode/templates/changeset/changeset.html rhodecode/templates/files/files.html |
diffstat | 4 files changed, 41 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/public/css/style.css Sun Nov 20 23:53:25 2011 +0200 +++ b/rhodecode/public/css/style.css Mon Nov 21 00:29:14 2011 +0200 @@ -2655,7 +2655,7 @@ 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 {
--- a/rhodecode/public/js/rhodecode.js Sun Nov 20 23:53:25 2011 +0200 +++ b/rhodecode/public/js/rhodecode.js Mon Nov 21 00:29:14 2011 +0200 @@ -328,6 +328,32 @@ }); 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; @@ -344,7 +370,8 @@ }; -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; @@ -363,13 +390,6 @@ 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; @@ -417,18 +437,17 @@ 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("");
--- a/rhodecode/templates/changeset/changeset.html Sun Nov 20 23:53:25 2011 +0200 +++ b/rhodecode/templates/changeset/changeset.html Mon Nov 21 00:29:14 2011 +0200 @@ -220,20 +220,7 @@ 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 @@ -249,6 +236,10 @@ 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){}
--- a/rhodecode/templates/files/files.html Sun Nov 20 23:53:25 2011 +0200 +++ b/rhodecode/templates/files/files.html Mon Nov 21 00:29:14 2011 +0200 @@ -39,8 +39,10 @@ <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