Mercurial > kallithea
changeset 2927:58bb350bfef8 beta
Don't allow cherry picking changesets from the changelog using checkboxes.
Change pull request text that will indicate opening pull request against checkec changesets
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 16 Oct 2012 00:39:24 +0200 |
parents | 3555c56694b5 |
children | 0ebdd15de1d8 |
files | rhodecode/public/css/style.css rhodecode/templates/base/root.html rhodecode/templates/changelog/changelog.html |
diffstat | 3 files changed, 59 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/public/css/style.css Mon Oct 15 23:17:02 2012 +0200 +++ b/rhodecode/public/css/style.css Tue Oct 16 00:39:24 2012 +0200 @@ -2551,6 +2551,11 @@ margin: 0px 0px 0px 3px; } +#graph_content #rev_range_clear { + float: left; + margin: 0px 0px 0px 3px; +} + #graph_content .container { border-bottom: 1px solid #DDD; height: 56px;
--- a/rhodecode/templates/base/root.html Mon Oct 15 23:17:02 2012 +0200 +++ b/rhodecode/templates/base/root.html Tue Oct 16 00:39:24 2012 +0200 @@ -45,7 +45,10 @@ 'Group':"${_('Group')}", 'members':"${_('members')}", 'search truncated': "${_('search truncated')}", - 'no matching files': "${_('no matching files')}" + 'no matching files': "${_('no matching files')}", + 'Open new pull request': "${_('Open new pull request')}", + 'Open new pull request for selected changesets': "${_('Open new pull request for selected changesets')}", + 'Show selected changes __S -> __E': "${_('Show selected changes __S -> __E')}", }; var _TM = TRANSLATION_MAP;
--- a/rhodecode/templates/changelog/changelog.html Mon Oct 15 23:17:02 2012 +0200 +++ b/rhodecode/templates/changelog/changelog.html Tue Oct 16 00:39:24 2012 +0200 @@ -34,11 +34,13 @@ <div id="graph_content"> <div class="info_box" style="clear: both;padding: 10px 6px;vertical-align: right;text-align: right;"> <a href="#" class="ui-btn small" id="rev_range_container" style="display:none"></a> + <a href="#" class="ui-btn small" id="rev_range_clear" style="display:none">${_('Clear selection')}</a> + %if c.rhodecode_db_repo.fork: <a title="${_('compare fork with %s' % c.rhodecode_db_repo.fork.repo_name)}" href="${h.url('compare_url',repo_name=c.repo_name,org_ref_type='branch',org_ref='default',other_ref_type='branch',other_ref='default',repo=c.rhodecode_db_repo.fork.repo_name)}" class="ui-btn small">${_('Compare fork')}</a> %endif %if h.is_hg(c.rhodecode_repo): - <a href="${h.url('pullrequest_home',repo_name=c.repo_name)}" class="ui-btn small">${_('Open new pull request')}</a> + <a id="open_new_pr" href="${h.url('pullrequest_home',repo_name=c.repo_name)}" class="ui-btn small">${_('Open new pull request')}</a> %endif </div> <div class="container_header"> @@ -148,31 +150,71 @@ 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 clicked_cb = e.currentTarget; var checked_checkboxes = []; for (pos in checkboxes){ if(checkboxes[pos].checked){ checked_checkboxes.push(checkboxes[pos]); } } + + if(checked_checkboxes.length>0){ + // modify open pull request to show we have selected cs + YUD.get('open_new_pr').innerHTML = _TM['Open new pull request for selected changesets']; + + }else{ + YUD.get('open_new_pr').innerHTML = _TM['Open new pull request']; + } + if(checked_checkboxes.length>1){ var rev_end = checked_checkboxes[0].name; var rev_start = checked_checkboxes[checked_checkboxes.length-1].name; + // now select all checkboxes in the middle. + var checked = false; + for (var i=0; i<checkboxes.length; i++){ + var cb = checkboxes[i]; + var rev = cb.name; + + if (rev == rev_end){ + checked = true; + } + if (checked){ + cb.checked = true; + } + else{ + cb.checked = false; + } + if (rev == rev_start){ + checked = false; + } + + } + var url = url_tmpl.replace('__REVRANGE__', rev_start+'...'+rev_end); - var link = "${_('Show selected changes __S -> __E')}"; - link = link.replace('__S',rev_start.substr(0,6)); - link = link.replace('__E',rev_end.substr(0,6)); - YUD.get('rev_range_container').href = url; - YUD.get('rev_range_container').innerHTML = link; - YUD.setStyle('rev_range_container','display',''); + var link = _TM['Show selected changes __S -> __E']; + link = link.replace('__S',rev_start.substr(0,6)); + link = link.replace('__E',rev_end.substr(0,6)); + YUD.get('rev_range_container').href = url; + YUD.get('rev_range_container').innerHTML = link; + YUD.setStyle('rev_range_container','display',''); + YUD.setStyle('rev_range_clear','display',''); + } else{ YUD.setStyle('rev_range_container','display','none'); + YUD.setStyle('rev_range_clear','display','none'); } }); - + YUE.on('rev_range_clear','click',function(e){ + for (var i=0; i<checkboxes.length; i++){ + var cb = checkboxes[i]; + cb.checked = false; + } + YUE.preventDefault(e); + }) var msgs = YUQ('.message'); // get first element height var el = YUQ('#graph_content .container')[0];