# HG changeset patch # User Mads Kiilerich # Date 1440602939 -7200 # Node ID 322e17eb356a1a7caffd38616e994de70fd4ce10 # Parent 8c5d1e94f9ee003e01fc731eb804c9a016601043 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. diff -r 8c5d1e94f9ee -r 322e17eb356a kallithea/templates/base/root.html --- 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')}", diff -r 8c5d1e94f9ee -r 322e17eb356a kallithea/templates/changelog/changelog.html --- 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 @@
- ${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()} +
- %if c.revision: ${_('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(); }