##// END OF EJS Templates
commit-ranges: enable combined diff compare directly from range selector.
milka -
r4552:a0029748 default
parent child Browse files
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 margin-top: -5px;
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 $('#compare_fork_button').hide();
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 $('#compare_fork_button').show();
250 $compareFork.show();
224 251 }
225 252 };
226 253
General Comments 0
You need to be logged in to leave comments. Login now