Show More
@@ -77,6 +77,7 b' class RepoCommitsView(RepoAppView):' | |||
|
77 | 77 | _ = self.request.translate |
|
78 | 78 | c = self.load_default_context() |
|
79 | 79 | c.fulldiff = self.request.GET.get('fulldiff') |
|
80 | redirect_to_combined = str2bool(self.request.GET.get('redirect_combined')) | |
|
80 | 81 | |
|
81 | 82 | # fetch global flags of ignore ws or context lines |
|
82 | 83 | diff_context = get_diff_context(self.request) |
@@ -117,6 +118,19 b' class RepoCommitsView(RepoAppView):' | |||
|
117 | 118 | raise HTTPNotFound() |
|
118 | 119 | single_commit = len(c.commit_ranges) == 1 |
|
119 | 120 | |
|
121 | if redirect_to_combined and not single_commit: | |
|
122 | source_ref = getattr(c.commit_ranges[0].parents[0] | |
|
123 | if c.commit_ranges[0].parents else h.EmptyCommit(), 'raw_id') | |
|
124 | target_ref = c.commit_ranges[-1].raw_id | |
|
125 | next_url = h.route_path( | |
|
126 | 'repo_compare', | |
|
127 | repo_name=c.repo_name, | |
|
128 | source_ref_type='rev', | |
|
129 | source_ref=source_ref, | |
|
130 | target_ref_type='rev', | |
|
131 | target_ref=target_ref) | |
|
132 | raise HTTPFound(next_url) | |
|
133 | ||
|
120 | 134 | c.changes = OrderedDict() |
|
121 | 135 | c.lines_added = 0 |
|
122 | 136 | c.lines_deleted = 0 |
@@ -1140,9 +1140,8 b' label {' | |||
|
1140 | 1140 | margin-left: -15px; |
|
1141 | 1141 | } |
|
1142 | 1142 | |
|
1143 | #rev_range_container, #rev_range_clear, #rev_range_more { | |
|
1144 |
|
|
|
1145 | margin-bottom: -5px; | |
|
1143 | #rev_range_action { | |
|
1144 | margin-bottom: -8px; | |
|
1146 | 1145 | } |
|
1147 | 1146 | |
|
1148 | 1147 | #filter_changelog { |
@@ -108,7 +108,26 b'' | |||
|
108 | 108 | <i class="icon-cancel-circled2"></i> |
|
109 | 109 | </div> |
|
110 | 110 | <div class="btn btn-sm disabled" disabled="disabled" id="rev_range_more" style="display:none;">${_('Select second commit')}</div> |
|
111 | <a href="#" class="btn btn-success btn-sm" id="rev_range_container" style="display:none;"></a> | |
|
111 | ||
|
112 | <div id="rev_range_action" class="btn-group btn-group-actions" style="display:none;"> | |
|
113 | <a href="#" class="btn btn-success btn-sm" id="rev_range_container" style="display:none;"></a> | |
|
114 | ||
|
115 | <a class="btn btn-success btn-sm btn-more-option" data-toggle="dropdown" aria-pressed="false" role="button"> | |
|
116 | <i class="icon-down"></i> | |
|
117 | </a> | |
|
118 | ||
|
119 | <div class="btn-action-switcher-container right-align"> | |
|
120 | <ul class="btn-action-switcher" role="menu" style="min-width: 220px; width: max-content"> | |
|
121 | <li> | |
|
122 | ## JS fills the URL | |
|
123 | <a id="rev_range_combined_url" class="btn btn-primary btn-sm" href=""> | |
|
124 | ${_('Show combined diff')} | |
|
125 | </a> | |
|
126 | </li> | |
|
127 | </ul> | |
|
128 | </div> | |
|
129 | </div> | |
|
130 | ||
|
112 | 131 | </th> |
|
113 | 132 | |
|
114 | 133 | ## commit message expand arrow |
@@ -147,6 +166,9 b'' | |||
|
147 | 166 | var $commitRangeMore = $('#rev_range_more'); |
|
148 | 167 | var $commitRangeContainer = $('#rev_range_container'); |
|
149 | 168 | var $commitRangeClear = $('#rev_range_clear'); |
|
169 | var $commitRangeAction = $('#rev_range_action'); | |
|
170 | var $commitRangeCombinedUrl = $('#rev_range_combined_url'); | |
|
171 | var $compareFork = $('#compare_fork_button'); | |
|
150 | 172 | |
|
151 | 173 | var checkboxRangeSelector = function(e){ |
|
152 | 174 | var selectedCheckboxes = []; |
@@ -169,9 +191,8 b'' | |||
|
169 | 191 | } |
|
170 | 192 | |
|
171 | 193 | if (selectedCheckboxes.length > 0) { |
|
172 |
$ |
|
|
194 | $compareFork.hide(); | |
|
173 | 195 | var commitStart = $(selectedCheckboxes[selectedCheckboxes.length-1]).data(); |
|
174 | ||
|
175 | 196 | var revStart = commitStart.commitId; |
|
176 | 197 | |
|
177 | 198 | var commitEnd = $(selectedCheckboxes[0]).data(); |
@@ -181,7 +202,9 b'' | |||
|
181 | 202 | var lbl_end = '{0}'.format(commitEnd.commitIdx, commitEnd.shortId); |
|
182 | 203 | |
|
183 | 204 | var url = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}', 'commit_id': revStart+'...'+revEnd}); |
|
184 | var link = _gettext('Show commit range {0} ... {1}').format(lbl_start, lbl_end); | |
|
205 | var urlCombined = pyroutes.url('repo_commit', {'repo_name': '${c.repo_name}', 'commit_id': revStart+'...'+revEnd, 'redirect_combined': '1'}); | |
|
206 | ||
|
207 | var link = _gettext('Show commit range {0}<i class="icon-angle-right"></i>{1}').format(lbl_start, lbl_end); | |
|
185 | 208 | |
|
186 | 209 | if (selectedCheckboxes.length > 1) { |
|
187 | 210 | $commitRangeClear.show(); |
@@ -192,9 +215,12 b'' | |||
|
192 | 215 | .html(link) |
|
193 | 216 | .show(); |
|
194 | 217 | |
|
218 | $commitRangeCombinedUrl.attr('href', urlCombined); | |
|
219 | $commitRangeAction.show(); | |
|
195 | 220 | |
|
196 | 221 | } else { |
|
197 | 222 | $commitRangeContainer.hide(); |
|
223 | $commitRangeAction.hide(); | |
|
198 | 224 | $commitRangeClear.show(); |
|
199 | 225 | $commitRangeMore.show(); |
|
200 | 226 | } |
@@ -212,6 +238,7 b'' | |||
|
212 | 238 | $commitRangeContainer.hide(); |
|
213 | 239 | $commitRangeClear.hide(); |
|
214 | 240 | $commitRangeMore.hide(); |
|
241 | $commitRangeAction.hide(); | |
|
215 | 242 | |
|
216 | 243 | %if c.branch_name: |
|
217 | 244 | var _url = pyroutes.url('pullrequest_new', {'repo_name': '${c.repo_name}', 'branch':'${c.branch_name}'}); |
@@ -220,7 +247,7 b'' | |||
|
220 | 247 | var _url = pyroutes.url('pullrequest_new', {'repo_name': '${c.repo_name}'}); |
|
221 | 248 | open_new_pull_request.attr('href', _url); |
|
222 | 249 | %endif |
|
223 |
$ |
|
|
250 | $compareFork.show(); | |
|
224 | 251 | } |
|
225 | 252 | }; |
|
226 | 253 |
General Comments 0
You need to be logged in to leave comments.
Login now