Changeset - 322e17eb356a
[Not reviewed]
default
0 2 0
Mads Kiilerich - 10 years ago 2015-08-26 17:28:59
madski@unity3d.com
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.
2 files changed with 28 insertions and 34 deletions:
0 comments (0 inline, 0 general)
kallithea/templates/base/root.html
Show inline comments
 
@@ -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')}",
kallithea/templates/changelog/changelog.html
Show inline comments
 
@@ -38,18 +38,18 @@ ${self.repo_context_bar('changelog', c.f
 
                <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 @@ ${self.repo_context_bar('changelog', c.f
 

	
 
                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} &rarr; {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} &rarr; {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 &rarr; __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 @@ ${self.repo_context_bar('changelog', c.f
 
                            $('#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();
 
                    }
0 comments (0 inline, 0 general)