Mercurial > kallithea
changeset 5445:322e17eb356a
changelog: rework changeset selection and button behaviour
This is a refactoring / rework of messy code to be simpler and work correctly.
As a result, it gives slightly different behaviour in some cases and different
button labels.
It also allows creating PRs after selecting two changesets. That is currently
pointless but will make sense soon.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Wed, 26 Aug 2015 17:28:59 +0200 |
parents | 8c5d1e94f9ee |
children | a4b814804263 |
files | kallithea/templates/base/root.html kallithea/templates/changelog/changelog.html |
diffstat | 2 files changed, 28 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/templates/base/root.html Wed Aug 26 17:28:59 2015 +0200 +++ b/kallithea/templates/base/root.html Wed Aug 26 17:28:59 2015 +0200 @@ -28,10 +28,9 @@ 'loading ...':"${_('loading ...')}", 'Search truncated': "${_('Search truncated')}", '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 Changesets __S → __E': "${h.literal(_('Show Selected Changesets __S → __E'))}", - 'Show Selected Changeset __S': "${_('Show Selected Changeset __S')}", + 'Open New Pull Request from {0}': "${_('Open New Pull Request from {0}')}", + 'Open New Pull Request for {0} → {1}': "${h.literal(_('Open New Pull Request for {0} → {1}'))}", + 'Show Selected Changesets {0} → {1}': "${h.literal(_('Show Selected Changesets {0} → {1}'))}", 'Selection Link': "${_('Selection Link')}", 'Collapse Diff': "${_('Collapse Diff')}", 'Expand Diff': "${_('Expand Diff')}",
--- a/kallithea/templates/changelog/changelog.html Wed Aug 26 17:28:59 2015 +0200 +++ b/kallithea/templates/changelog/changelog.html Wed Aug 26 17:28:59 2015 +0200 @@ -38,18 +38,18 @@ <div style="overflow:auto; ${'display:none' if c.changelog_for_path else ''}"> <div class="container_header"> <div style="float:left; margin-left:20px;"> - ${h.form(h.url.current(),method='get')} + ${h.form(h.url.current(),method='get',style="display:inline")} ${h.submit('set',_('Show'),class_="btn btn-small")} ${h.text('size',size=3,value=c.size)} ${_('revisions')} %if c.branch_name: ${h.hidden('branch', c.branch_name)} %endif - ${h.end_form()} + ${h.end_form()} + <a href="#" class="btn btn-small" id="rev_range_clear" style="display:none">${_('Clear selection')}</a> </div> <div style="float: right; margin: 0px 0px 0px 4px"> <a href="#" class="btn btn-small" id="rev_range_container" style="display:none"></a> - <a href="#" class="btn btn-small" id="rev_range_clear" style="display:none">${_('Clear selection')}</a> %if c.revision: <a class="btn btn-small" href="${h.url('changelog_home', repo_name=c.repo_name)}"> ${_('Go to tip of repository')} @@ -171,37 +171,30 @@ var checkbox_checker = function(e) { var $checked_checkboxes = $checkboxes.filter(':checked'); - if ($checked_checkboxes.length > 1) { - $('#open_new_pr').hide(); - } else { - $('#open_new_pr').show(); - if($checked_checkboxes.length > 0) { - $('#open_new_pr').html(_TM['Open New Pull Request for Selected Changesets']); + if ($checked_checkboxes.length > 0) { + var rev_end = $checked_checkboxes.first().prop('name').substr(0, 12); + var rev_start = $checked_checkboxes.last().prop('name').substr(0, 12); + if (rev_start == rev_end) { + $('#rev_range_container').hide(); + $('#open_new_pr').prop('href', pyroutes.url('pullrequest_home', + {'repo_name': '${c.repo_name}', + 'rev_end': rev_end})); + $('#open_new_pr').html(_TM['Open New Pull Request from {0}'].format(rev_end)); } else { - $('#open_new_pr').html(_TM['Open New Pull Request']); + $('#rev_range_container').prop('href', + pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}', + 'revision': rev_start + '...' + rev_end})); + $('#rev_range_container').html( + _TM['Show Selected Changesets {0} → {1}'].format(rev_start, rev_end)); + $('#rev_range_container').show(); + $('#open_new_pr').prop('href', pyroutes.url('pullrequest_home', + {'repo_name': '${c.repo_name}', + 'rev_start': rev_start, + 'rev_end': rev_end})); + $('#open_new_pr').html(_TM['Open New Pull Request for {0} → {1}'].format(rev_start, rev_end)); } - } - if ($checked_checkboxes.length > 0) { - var rev_end = $checked_checkboxes.first().prop('name'); - var rev_start = $checked_checkboxes.last().prop('name'); - $('#rev_range_container').prop('href', - pyroutes.url('changeset_home', {'repo_name': '${c.repo_name}', - 'revision': rev_start+'...'+rev_end})); - $('#rev_range_container').html( - ((rev_start == rev_end) - ? _TM['Show Selected Changeset __S'] - : _TM['Show Selected Changesets __S → __E']) - .replace('__S',rev_start.substr(0,6)) - .replace('__E',rev_end.substr(0,6))); - $('#rev_range_container').show(); $('#rev_range_clear').show(); - - $('#open_new_pr').prop('href', pyroutes.url('pullrequest_home', - {'repo_name': '${c.repo_name}', - 'rev_start': rev_start, - 'rev_end': rev_end})); - $('#compare_fork').hide(); } else { $('#rev_range_container').hide(); @@ -210,10 +203,12 @@ $('#open_new_pr').prop('href', pyroutes.url('pullrequest_home', {'repo_name': '${c.repo_name}', 'rev_end':'${c.first_revision.raw_id}'})); + $('#open_new_pr').html(_TM['Open New Pull Request from {0}'].format(c.revision)); %else: $('#open_new_pr').prop('href', pyroutes.url('pullrequest_home', {'repo_name': '${c.repo_name}', 'branch':'${c.first_revision.branch}'})); + $('#open_new_pr').html(_TM['Open New Pull Request from {0}'].format('${c.first_revision.branch}')); %endif $('#compare_fork').show(); }