Show More
@@ -1,481 +1,484 b'' | |||||
1 | // summary.less |
|
1 | // summary.less | |
2 | // For use in RhodeCode applications; |
|
2 | // For use in RhodeCode applications; | |
3 | // Used for headers and file detail summary screens. |
|
3 | // Used for headers and file detail summary screens. | |
4 |
|
4 | |||
5 | .summary { |
|
5 | .summary { | |
6 | clear: both; |
|
6 | clear: both; | |
7 | float: none; |
|
7 | float: none; | |
8 | position: relative; |
|
8 | position: relative; | |
9 | width: 100%; |
|
9 | width: 100%; | |
10 | margin: 0; |
|
10 | margin: 0; | |
11 | padding: 0; |
|
11 | padding: 0; | |
12 | background: #FCFCFC; |
|
12 | background: #FCFCFC; | |
13 | border: 1px solid #EAEAEA; |
|
13 | border: 1px solid #EAEAEA; | |
14 | border-radius: @border-radius; |
|
14 | border-radius: @border-radius; | |
15 | margin-bottom: 20px; |
|
15 | margin-bottom: 20px; | |
16 |
|
16 | |||
17 | .summary-detail-header { |
|
17 | .summary-detail-header { | |
18 | display: block; |
|
18 | display: block; | |
19 | width: 100%; |
|
19 | width: 100%; | |
20 | margin-bottom: 10px; |
|
20 | margin-bottom: 10px; | |
21 | padding: 0 0 .5em 0; |
|
21 | padding: 0 0 .5em 0; | |
22 | border-bottom: @border-thickness solid @border-default-color; |
|
22 | border-bottom: @border-thickness solid @border-default-color; | |
23 |
|
23 | |||
24 | .breadcrumbs { |
|
24 | .breadcrumbs { | |
25 | display: inline; |
|
25 | display: inline; | |
26 | margin: 0; |
|
26 | margin: 0; | |
27 | padding: 0; |
|
27 | padding: 0; | |
28 | } |
|
28 | } | |
29 |
|
29 | |||
30 | h4 { |
|
30 | h4 { | |
31 | margin: 0 1em 0 0; |
|
31 | margin: 0 1em 0 0; | |
32 | padding: 10px 0 5px 20px; |
|
32 | padding: 10px 0 5px 20px; | |
33 | line-height: 1.2em; |
|
33 | line-height: 1.2em; | |
34 | font-size: @basefontsize; |
|
34 | font-size: @basefontsize; | |
35 | } |
|
35 | } | |
36 |
|
36 | |||
37 | .action_link { |
|
37 | .action_link { | |
38 | float: right; |
|
38 | float: right; | |
39 | } |
|
39 | } | |
40 |
|
40 | |||
41 | .new-file { |
|
41 | .new-file { | |
42 | float: right; |
|
42 | float: right; | |
43 | margin-top: -1.5em; |
|
43 | margin-top: -1.5em; | |
44 | } |
|
44 | } | |
45 | } |
|
45 | } | |
46 |
|
46 | |||
47 | .summary-detail { |
|
47 | .summary-detail { | |
48 | float: none; |
|
48 | float: none; | |
49 | position: relative; |
|
49 | position: relative; | |
50 | width: 100%; |
|
50 | width: 100%; | |
51 | margin: 0; |
|
51 | margin: 0; | |
52 | padding: 0 0 20px 0; |
|
52 | padding: 0 0 20px 0; | |
53 |
|
53 | |||
54 | .file_diff_buttons { |
|
54 | .file_diff_buttons { | |
55 | margin-top: @space; |
|
55 | margin-top: @space; | |
56 | } |
|
56 | } | |
57 |
|
57 | |||
58 | // commit message |
|
58 | // commit message | |
59 | .commit { |
|
59 | .commit { | |
60 | white-space: pre-wrap; |
|
60 | white-space: pre-wrap; | |
61 | } |
|
61 | } | |
62 |
|
62 | |||
63 | .left-clone { |
|
63 | .left-clone { | |
64 | float: left; |
|
64 | float: left; | |
65 | height: 30px; |
|
65 | height: 30px; | |
66 | margin: 0; |
|
66 | margin: 0; | |
67 | padding: 0; |
|
67 | padding: 0; | |
68 | width: 130px; |
|
68 | width: 130px; | |
69 | font-weight: @text-semibold-weight; |
|
69 | font-weight: @text-semibold-weight; | |
70 | font-family: @text-semibold; |
|
70 | font-family: @text-semibold; | |
71 | } |
|
71 | } | |
72 | .left-clone select { |
|
72 | .left-clone select { | |
73 | width: 130px; |
|
73 | width: 130px; | |
74 | margin-right: 0; |
|
74 | margin-right: 0; | |
75 | background-color: @grey7; |
|
75 | background-color: @grey7; | |
76 | border-color: @grey4; |
|
76 | border-color: @grey4; | |
77 | color: #5C5C5C; |
|
77 | color: #5C5C5C; | |
78 | border-top-right-radius: 0; |
|
78 | border-top-right-radius: 0; | |
79 | border-bottom-right-radius: 0; |
|
79 | border-bottom-right-radius: 0; | |
80 | } |
|
80 | } | |
81 |
|
81 | |||
82 | .right-clone { |
|
82 | .right-clone { | |
83 | float: left; |
|
83 | float: left; | |
84 | width: ~"calc(100% - 170px)"; |
|
84 | width: ~"calc(100% - 170px)"; | |
85 |
|
85 | |||
86 | .clipboard-action { |
|
86 | .clipboard-action { | |
87 | margin-left: -30px; |
|
87 | margin-left: -30px; | |
88 | } |
|
88 | } | |
89 | } |
|
89 | } | |
90 |
|
90 | |||
91 | .clone_url_input { |
|
91 | .clone_url_input { | |
92 | width: ~"calc(100% - 90px)"; |
|
92 | width: ~"calc(100% - 90px)"; | |
93 | padding: 6px 30px 6px 10px; |
|
93 | padding: 6px 30px 6px 10px; | |
94 | height: 14px; |
|
94 | height: 14px; | |
95 | box-shadow: 0 1px 1px 0 rgba(0,0,0,0.07); |
|
95 | box-shadow: 0 1px 1px 0 rgba(0,0,0,0.07); | |
96 | border-top-left-radius: 0; |
|
96 | border-top-left-radius: 0; | |
97 | border-bottom-left-radius: 0; |
|
97 | border-bottom-left-radius: 0; | |
98 | margin-left: -1px; |
|
98 | margin-left: -1px; | |
99 | } |
|
99 | } | |
100 |
|
100 | |||
101 | &.directory { |
|
101 | &.directory { | |
102 | margin-bottom: 0; |
|
102 | margin-bottom: 0; | |
103 | } |
|
103 | } | |
104 |
|
104 | |||
105 | .desc { |
|
105 | .desc { | |
106 | white-space: pre-wrap; |
|
106 | white-space: pre-wrap; | |
107 | } |
|
107 | } | |
108 | .disabled { |
|
108 | .disabled { | |
109 | opacity: .5; |
|
109 | opacity: .5; | |
110 | cursor: inherit; |
|
110 | cursor: inherit; | |
111 | } |
|
111 | } | |
112 | .help-block { |
|
112 | .help-block { | |
113 | color: inherit; |
|
113 | color: inherit; | |
114 | margin: 0; |
|
114 | margin: 0; | |
115 | } |
|
115 | } | |
116 | } |
|
116 | } | |
117 |
|
117 | |||
118 | .sidebar-right { |
|
118 | .sidebar-right { | |
119 | float: left; |
|
119 | float: left; | |
120 | width: 24%; |
|
120 | width: 24%; | |
121 | margin: 0; |
|
121 | margin: 0; | |
122 | padding: 0; |
|
122 | padding: 0; | |
123 |
|
123 | |||
124 | ul { |
|
124 | ul { | |
125 | margin-left: 0; |
|
125 | margin-left: 0; | |
126 | padding-left: 0; |
|
126 | padding-left: 0; | |
127 |
|
127 | |||
128 | li { |
|
128 | li { | |
129 | list-style-type: none; |
|
129 | list-style-type: none; | |
130 | } |
|
130 | } | |
131 | } |
|
131 | } | |
132 | } |
|
132 | } | |
133 |
|
133 | |||
134 | #clone_by_name, #clone_by_id{ |
|
134 | #clone_by_name, #clone_by_id{ | |
135 | display: inline-block; |
|
135 | display: inline-block; | |
136 | margin-left: 0px; |
|
136 | margin-left: 0px; | |
137 | } |
|
137 | } | |
138 |
|
138 | |||
139 | .codeblock { |
|
139 | .codeblock { | |
140 | border: none; |
|
140 | border: none; | |
141 | background-color: transparent; |
|
141 | background-color: transparent; | |
142 | } |
|
142 | } | |
143 |
|
143 | |||
144 | .code-body { |
|
144 | .code-body { | |
145 | border: @border-thickness solid @border-default-color; |
|
145 | border: @border-thickness solid @border-default-color; | |
146 | .border-radius(@border-radius); |
|
146 | .border-radius(@border-radius); | |
147 | } |
|
147 | } | |
148 |
|
148 | |||
149 | .btn-collapse { |
|
149 | .btn-collapse { | |
150 | clear: both; |
|
150 | clear: both; | |
151 | float: none; |
|
151 | float: none; | |
152 | background: #F7F7F7; |
|
152 | background: #F7F7F7; | |
153 | text-align: center; |
|
153 | text-align: center; | |
154 | color: #949494; |
|
154 | color: #949494; | |
155 | font-size: 11px; |
|
155 | font-size: 11px; | |
156 |
|
156 | |||
157 | &:hover { |
|
157 | &:hover { | |
158 | background: #f1f1f1; |
|
158 | background: #f1f1f1; | |
159 | color: #2B2B2D; |
|
159 | color: #2B2B2D; | |
160 | } |
|
160 | } | |
161 | } |
|
161 | } | |
162 | } |
|
162 | } | |
163 |
|
163 | |||
164 | // this is used outside of just the summary |
|
164 | // this is used outside of just the summary | |
165 | .fieldset, // similar to form fieldset |
|
165 | .fieldset, // similar to form fieldset | |
166 | .summary .sidebar-right-content { // these have to match |
|
166 | .summary .sidebar-right-content { // these have to match | |
167 | clear: both; |
|
167 | clear: both; | |
168 | float: none; |
|
168 | float: none; | |
169 | position: relative; |
|
169 | position: relative; | |
170 | display:block; |
|
170 | display:block; | |
171 | width: 100%; |
|
171 | width: 100%; | |
172 | min-height: 20px; |
|
172 | min-height: 20px; | |
173 | margin-bottom: 10px; |
|
173 | margin-bottom: 10px; | |
174 | padding: 0; |
|
174 | padding: 0; | |
175 | line-height: 1.2em; |
|
175 | line-height: 1.2em; | |
176 |
|
176 | |||
177 | &:after { // clearfix |
|
177 | &:after { // clearfix | |
178 | content: ""; |
|
178 | content: ""; | |
179 | clear: both; |
|
179 | clear: both; | |
180 | width: 100%; |
|
180 | width: 100%; | |
181 | height: 1em; |
|
181 | height: 1em; | |
182 | } |
|
182 | } | |
183 | } |
|
183 | } | |
184 |
|
184 | |||
185 | .summary .sidebar-right-content { |
|
185 | .summary .sidebar-right-content { | |
186 | margin-bottom: 0; |
|
186 | margin-bottom: 0; | |
187 |
|
187 | |||
188 | .rc-user { |
|
188 | .rc-user { | |
189 | min-width: 0; |
|
189 | min-width: 0; | |
190 | } |
|
190 | } | |
191 |
|
191 | |||
192 | li { |
|
192 | li { | |
193 | list-style: none; |
|
193 | list-style: none; | |
194 | line-height: normal; |
|
194 | line-height: normal; | |
195 | } |
|
195 | } | |
196 | } |
|
196 | } | |
197 |
|
197 | |||
198 | .summary { |
|
198 | .summary { | |
199 | .fieldset { |
|
199 | .fieldset { | |
200 | margin-bottom: 0; |
|
200 | margin-bottom: 0; | |
201 | } |
|
201 | } | |
202 | } |
|
202 | } | |
203 |
|
203 | |||
204 | .fieldset { |
|
204 | .fieldset { | |
205 |
|
205 | |||
206 | .left-label { // similar to form legend |
|
206 | .left-label { // similar to form legend | |
207 | display: block; |
|
207 | display: block; | |
208 | margin: 0; |
|
208 | margin: 0; | |
209 | padding: 0; |
|
209 | padding: 0; | |
210 | font-weight: @text-semibold-weight; |
|
210 | font-weight: @text-semibold-weight; | |
211 | font-family: @text-semibold; |
|
211 | font-family: @text-semibold; | |
212 | } |
|
212 | } | |
213 |
|
213 | |||
214 | .left-label-summary { |
|
214 | .left-label-summary { | |
215 | padding-left: 20px; |
|
215 | padding-left: 20px; | |
216 | margin-bottom: 5px; |
|
216 | margin-bottom: 5px; | |
217 |
|
217 | |||
218 | p { |
|
218 | p { | |
219 | margin-bottom: 5px; |
|
219 | margin-bottom: 5px; | |
220 | color: @grey1; |
|
220 | color: @grey1; | |
221 | float: left; |
|
221 | float: left; | |
222 | width: 130px; |
|
222 | width: 130px; | |
223 |
|
223 | |||
224 | &.spacing { |
|
224 | &.spacing { | |
225 | margin-top: 10px; |
|
225 | margin-top: 10px; | |
226 | } |
|
226 | } | |
227 | } |
|
227 | } | |
228 |
|
228 | |||
229 | .right-label-summary { |
|
229 | .right-label-summary { | |
230 | float: left; |
|
230 | float: left; | |
231 | margin-top: 7px; |
|
231 | margin-top: 7px; | |
232 | width: ~"calc(100% - 160px)"; |
|
232 | width: ~"calc(100% - 160px)"; | |
233 | } |
|
233 | } | |
234 | } |
|
234 | } | |
235 |
|
235 | |||
236 | .left-label-summary-files { |
|
236 | .left-label-summary-files { | |
237 | padding-left: 45px; |
|
237 | padding-left: 45px; | |
238 | margin-top: 5px; |
|
238 | margin-top: 5px; | |
239 |
|
239 | |||
240 | p { |
|
240 | p { | |
241 | margin-bottom: 5px; |
|
241 | margin-bottom: 5px; | |
242 | color: @grey1; |
|
242 | color: @grey1; | |
243 | float: left; |
|
243 | float: left; | |
244 | width: 130px; |
|
244 | width: 130px; | |
245 |
|
245 | |||
246 | &.spacing { |
|
246 | &.spacing { | |
247 | margin-top: 10px; |
|
247 | margin-top: 10px; | |
248 | } |
|
248 | } | |
249 | } |
|
249 | } | |
250 |
|
250 | |||
251 | .right-label-summary { |
|
251 | .right-label-summary { | |
252 | float: left; |
|
252 | float: left; | |
253 | margin-top: 7px; |
|
253 | margin-top: 7px; | |
254 | } |
|
254 | } | |
255 | } |
|
255 | } | |
256 |
|
256 | |||
257 | .left-content { |
|
257 | .left-content { | |
258 | width: ~"calc(60% - 20px)"; |
|
258 | width: ~"calc(60% - 20px)"; | |
259 | float: left; |
|
259 | float: left; | |
260 | margin: 15px 0 15px 20px; |
|
260 | margin: 15px 0 15px 20px; | |
261 |
|
261 | |||
262 | .rc-user { |
|
262 | .rc-user { | |
263 | min-width: auto; |
|
263 | min-width: auto; | |
264 | max-width: none; |
|
264 | max-width: none; | |
265 | min-height: auto; |
|
265 | min-height: auto; | |
266 | padding-right: 5px; |
|
266 | padding-right: 5px; | |
267 | } |
|
267 | } | |
268 |
|
268 | |||
269 | .left-content-avatar { |
|
269 | .left-content-avatar { | |
270 | width: 45px; |
|
270 | width: 45px; | |
271 | float: left; |
|
271 | float: left; | |
272 | margin-top: 8px; |
|
272 | margin-top: 8px; | |
273 | } |
|
273 | } | |
274 |
|
274 | |||
275 | .left-content-message { |
|
275 | .left-content-message { | |
276 | float: left; |
|
276 | float: left; | |
277 | width: ~"calc(100% - 45px)"; |
|
277 | width: ~"calc(100% - 45px)"; | |
278 | } |
|
278 | } | |
279 | } |
|
279 | } | |
280 |
|
280 | |||
281 | .right-content { // similar to form fields |
|
281 | .right-content { // similar to form fields | |
282 | float: left; |
|
282 | float: left; | |
283 | display: block; |
|
283 | display: block; | |
284 | width: ~"calc(40% - 20px)"; |
|
284 | width: ~"calc(40% - 20px)"; | |
285 | text-align: right; |
|
285 | text-align: right; | |
286 | margin: 15px 20px 15px 0; |
|
286 | margin: 15px 20px 15px 0; | |
287 |
|
287 | |||
288 | .truncate-wrap, |
|
288 | .truncate-wrap, | |
289 | .truncate { |
|
289 | .truncate { | |
290 | max-width: 100%; |
|
290 | max-width: 100%; | |
291 | width: 100%; |
|
291 | width: 100%; | |
292 | } |
|
292 | } | |
293 |
|
293 | |||
294 | .commit-long { |
|
294 | .commit-long { | |
295 | overflow-x: auto; |
|
295 | overflow-x: auto; | |
296 | } |
|
296 | } | |
297 |
|
297 | |||
298 | .commit-info { |
|
298 | .commit-info { | |
299 | margin-top: 7px; |
|
299 | margin-top: 7px; | |
300 | } |
|
300 | } | |
301 |
|
301 | |||
302 | .tag, .tagtag, .branchtag, .booktag, .metatag, .perm_tag { |
|
302 | .tag, .tagtag, .branchtag, .booktag, .metatag, .perm_tag { | |
303 | background:transparent; |
|
303 | background:transparent; | |
304 | border: none; |
|
304 | border: none; | |
305 | box-shadow: none; |
|
305 | box-shadow: none; | |
306 | margin-left: 10px; |
|
306 | margin-left: 10px; | |
307 | font-size: 13px; |
|
307 | font-size: 13px; | |
308 | } |
|
308 | } | |
309 |
|
309 | |||
310 | .tag span, .tag i { |
|
310 | .tag span, .tag i { | |
311 | color: @grey1; |
|
311 | color: @grey1; | |
312 | } |
|
312 | } | |
313 | } |
|
313 | } | |
314 | .commit { |
|
314 | .commit { | |
315 | color: @grey1; |
|
315 | color: @grey1; | |
316 | margin-bottom: 5px; |
|
316 | margin-bottom: 5px; | |
317 | white-space: pre; |
|
317 | white-space: pre; | |
318 | } |
|
318 | } | |
319 | .commit.truncate-wrap { |
|
319 | .commit.truncate-wrap { | |
320 | overflow:hidden; |
|
320 | overflow:hidden; | |
321 | text-overflow: ellipsis; |
|
321 | text-overflow: ellipsis; | |
322 | } |
|
322 | } | |
323 | .commit-author { |
|
323 | .commit-author { | |
324 | color: @grey1; |
|
324 | color: @grey1; | |
325 | } |
|
325 | } | |
326 | .commit-date { |
|
326 | .commit-date { | |
327 | color: @grey4; |
|
327 | color: @grey4; | |
328 | } |
|
328 | } | |
|
329 | .fieldset-text-line { | |||
|
330 | line-height: 36px; | |||
|
331 | } | |||
329 | } |
|
332 | } | |
330 |
|
333 | |||
331 | // expand commit message |
|
334 | // expand commit message | |
332 | #message_expand { |
|
335 | #message_expand { | |
333 | clear: both; |
|
336 | clear: both; | |
334 | display: block; |
|
337 | display: block; | |
335 | color: @rcblue; |
|
338 | color: @rcblue; | |
336 | cursor: pointer; |
|
339 | cursor: pointer; | |
337 | } |
|
340 | } | |
338 |
|
341 | |||
339 | #trimmed_message_box { |
|
342 | #trimmed_message_box { | |
340 | max-height: floor(2 * @basefontsize * 1.2); // 2 lines * line-height |
|
343 | max-height: floor(2 * @basefontsize * 1.2); // 2 lines * line-height | |
341 | overflow: hidden; |
|
344 | overflow: hidden; | |
342 | } |
|
345 | } | |
343 |
|
346 | |||
344 | // show/hide comments button |
|
347 | // show/hide comments button | |
345 | .show-inline-comments { |
|
348 | .show-inline-comments { | |
346 | display: inline; |
|
349 | display: inline; | |
347 | cursor: pointer; |
|
350 | cursor: pointer; | |
348 |
|
351 | |||
349 | .comments-show { display: inline; } |
|
352 | .comments-show { display: inline; } | |
350 | .comments-hide { display: none; } |
|
353 | .comments-hide { display: none; } | |
351 |
|
354 | |||
352 | &.comments-visible { |
|
355 | &.comments-visible { | |
353 | .comments-show { display: none; } |
|
356 | .comments-show { display: none; } | |
354 | .comments-hide { display: inline; } |
|
357 | .comments-hide { display: inline; } | |
355 | } |
|
358 | } | |
356 | } |
|
359 | } | |
357 |
|
360 | |||
358 | // Quick Start section |
|
361 | // Quick Start section | |
359 |
|
362 | |||
360 | .empty-repo { |
|
363 | .empty-repo { | |
361 | border: 1px solid #EAEAEA; |
|
364 | border: 1px solid #EAEAEA; | |
362 | border-bottom: 0; |
|
365 | border-bottom: 0; | |
363 | border-radius: @border-radius; |
|
366 | border-radius: @border-radius; | |
364 | padding: 0 20px; |
|
367 | padding: 0 20px; | |
365 | } |
|
368 | } | |
366 |
|
369 | |||
367 | .empty-repo h3, .quick_start p { |
|
370 | .empty-repo h3, .quick_start p { | |
368 | margin-bottom: 10px; |
|
371 | margin-bottom: 10px; | |
369 | } |
|
372 | } | |
370 |
|
373 | |||
371 | .quick_start pre { |
|
374 | .quick_start pre { | |
372 | background: #FCFEFF; |
|
375 | background: #FCFEFF; | |
373 | border: 1px solid #CBDBEB; |
|
376 | border: 1px solid #CBDBEB; | |
374 | box-shadow: @button-shadow; |
|
377 | box-shadow: @button-shadow; | |
375 | padding: 10px 15px; |
|
378 | padding: 10px 15px; | |
376 | border-radius: 4px; |
|
379 | border-radius: 4px; | |
377 | color: @grey2; |
|
380 | color: @grey2; | |
378 | } |
|
381 | } | |
379 |
|
382 | |||
380 | .clear-fix { |
|
383 | .clear-fix { | |
381 | clear: both; |
|
384 | clear: both; | |
382 | } |
|
385 | } | |
383 |
|
386 | |||
384 | .quick_start { |
|
387 | .quick_start { | |
385 | display: block; |
|
388 | display: block; | |
386 | position: relative; |
|
389 | position: relative; | |
387 | border: 1px solid #EAEAEA; |
|
390 | border: 1px solid #EAEAEA; | |
388 | border-top: 0; |
|
391 | border-top: 0; | |
389 | border-radius: @border-radius; |
|
392 | border-radius: @border-radius; | |
390 | padding: 0 20px; |
|
393 | padding: 0 20px; | |
391 |
|
394 | |||
392 | // adds some space to make copy and paste easier |
|
395 | // adds some space to make copy and paste easier | |
393 | .left-label, |
|
396 | .left-label, | |
394 | .right-content { |
|
397 | .right-content { | |
395 | line-height: 1.6em; |
|
398 | line-height: 1.6em; | |
396 | } |
|
399 | } | |
397 | } |
|
400 | } | |
398 |
|
401 | |||
399 |
|
402 | |||
400 | .submodule { |
|
403 | .submodule { | |
401 | .summary-detail { |
|
404 | .summary-detail { | |
402 | width: 100%; |
|
405 | width: 100%; | |
403 |
|
406 | |||
404 | .btn-collapse { |
|
407 | .btn-collapse { | |
405 | display: none; |
|
408 | display: none; | |
406 | } |
|
409 | } | |
407 | } |
|
410 | } | |
408 | } |
|
411 | } | |
409 |
|
412 | |||
410 | .codeblock-header { |
|
413 | .codeblock-header { | |
411 | float: left; |
|
414 | float: left; | |
412 | display: block; |
|
415 | display: block; | |
413 | width: 100%; |
|
416 | width: 100%; | |
414 | margin: 0; |
|
417 | margin: 0; | |
415 |
|
418 | |||
416 | .file-filename { |
|
419 | .file-filename { | |
417 | float:left; |
|
420 | float:left; | |
418 | padding: 10px; |
|
421 | padding: 10px; | |
419 | } |
|
422 | } | |
420 |
|
423 | |||
421 | .file-stats { |
|
424 | .file-stats { | |
422 | padding: 10px; |
|
425 | padding: 10px; | |
423 | float:right; |
|
426 | float:right; | |
424 | } |
|
427 | } | |
425 |
|
428 | |||
426 |
|
429 | |||
427 | .stats-first-item { |
|
430 | .stats-first-item { | |
428 | padding: 0px 0px 0px 3px; |
|
431 | padding: 0px 0px 0px 3px; | |
429 | } |
|
432 | } | |
430 |
|
433 | |||
431 | .stats-info { |
|
434 | .stats-info { | |
432 | font-size: 11px; |
|
435 | font-size: 11px; | |
433 | color: @grey4; |
|
436 | color: @grey4; | |
434 | } |
|
437 | } | |
435 |
|
438 | |||
436 | .buttons { |
|
439 | .buttons { | |
437 | float: right; |
|
440 | float: right; | |
438 | text-align: right; |
|
441 | text-align: right; | |
439 | color: @grey4; |
|
442 | color: @grey4; | |
440 | padding: 10px; |
|
443 | padding: 10px; | |
441 | } |
|
444 | } | |
442 |
|
445 | |||
443 | .file-container { |
|
446 | .file-container { | |
444 | display: inline-block; |
|
447 | display: inline-block; | |
445 | width: 100%; |
|
448 | width: 100%; | |
446 | } |
|
449 | } | |
447 |
|
450 | |||
448 | } |
|
451 | } | |
449 |
|
452 | |||
450 | #summary-menu-stats { |
|
453 | #summary-menu-stats { | |
451 |
|
454 | |||
452 | .stats-bullet { |
|
455 | .stats-bullet { | |
453 | color: @grey3; |
|
456 | color: @grey3; | |
454 | min-width: 3em; |
|
457 | min-width: 3em; | |
455 | } |
|
458 | } | |
456 |
|
459 | |||
457 | .repo-size { |
|
460 | .repo-size { | |
458 | margin-bottom: .5em; |
|
461 | margin-bottom: .5em; | |
459 | } |
|
462 | } | |
460 |
|
463 | |||
461 | } |
|
464 | } | |
462 |
|
465 | |||
463 | .rctable.repo_summary { |
|
466 | .rctable.repo_summary { | |
464 | border: 1px solid #eaeaea; |
|
467 | border: 1px solid #eaeaea; | |
465 | border-radius: 2px; |
|
468 | border-radius: 2px; | |
466 | border-collapse: inherit; |
|
469 | border-collapse: inherit; | |
467 | border-bottom: 0; |
|
470 | border-bottom: 0; | |
468 |
|
471 | |||
469 | th { |
|
472 | th { | |
470 | background: @grey7; |
|
473 | background: @grey7; | |
471 | border-bottom: 0; |
|
474 | border-bottom: 0; | |
472 | } |
|
475 | } | |
473 |
|
476 | |||
474 | td { |
|
477 | td { | |
475 | border-color: #eaeaea; |
|
478 | border-color: #eaeaea; | |
476 | } |
|
479 | } | |
477 |
|
480 | |||
478 | td.td-status { |
|
481 | td.td-status { | |
479 | padding: 0 0 0 10px; |
|
482 | padding: 0 0 0 10px; | |
480 | } |
|
483 | } | |
481 | } |
|
484 | } |
@@ -1,102 +1,119 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 | <%inherit file="/base/base.mako"/> |
|
2 | <%inherit file="/base/base.mako"/> | |
3 |
|
3 | |||
4 | <%def name="title()"> |
|
4 | <%def name="title()"> | |
5 | ${_('%s Commits') % c.repo_name} - |
|
5 | ${_('%s Commits') % c.repo_name} - | |
6 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} |
|
6 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} | |
7 | ... |
|
7 | ... | |
8 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} |
|
8 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} | |
9 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
9 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} | |
10 | %if c.rhodecode_name: |
|
10 | %if c.rhodecode_name: | |
11 | · ${h.branding(c.rhodecode_name)} |
|
11 | · ${h.branding(c.rhodecode_name)} | |
12 | %endif |
|
12 | %endif | |
13 | </%def> |
|
13 | </%def> | |
14 |
|
14 | |||
15 | <%def name="breadcrumbs_links()"> |
|
15 | <%def name="breadcrumbs_links()"></%def> | |
16 | ${_('Commits')} - |
|
|||
17 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} |
|
|||
18 | ... |
|
|||
19 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} |
|
|||
20 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
|||
21 | </%def> |
|
|||
22 |
|
16 | |||
23 | <%def name="menu_bar_nav()"> |
|
17 | <%def name="menu_bar_nav()"> | |
24 | ${self.menu_items(active='repositories')} |
|
18 | ${self.menu_items(active='repositories')} | |
25 | </%def> |
|
19 | </%def> | |
26 |
|
20 | |||
27 | <%def name="menu_bar_subnav()"> |
|
21 | <%def name="menu_bar_subnav()"> | |
28 | ${self.repo_menu(active='commits')} |
|
22 | ${self.repo_menu(active='commits')} | |
29 | </%def> |
|
23 | </%def> | |
30 |
|
24 | |||
31 | <%def name="main()"> |
|
25 | <%def name="main()"> | |
|
26 | <div class="box"> | |||
|
27 | <div class="summary changeset"> | |||
|
28 | <div class="summary-detail"> | |||
|
29 | <div class="summary-detail-header"> | |||
|
30 | <span class="breadcrumbs files_location"> | |||
|
31 | <h4> | |||
|
32 | ${_('Commit Range')} | |||
|
33 | </h4> | |||
|
34 | </span> | |||
32 |
|
35 | |||
33 | <div class="summary changeset"> |
|
36 | <div class="clear-fix"></div> | |
34 | <div class="summary-detail"> |
|
37 | </div> | |
35 | <div class="summary-detail-header"> |
|
|||
36 | <span class="breadcrumbs files_location"> |
|
|||
37 | <h4> |
|
|||
38 | ${_('Commit Range')} |
|
|||
39 | <code> |
|
|||
40 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)}...r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} |
|
|||
41 | </code> |
|
|||
42 | </h4> |
|
|||
43 | </span> |
|
|||
44 | </div> |
|
|||
45 |
|
38 | |||
46 | <div class="fieldset"> |
|
39 | <div class="fieldset"> | |
47 | <div class="left-label"> |
|
40 | <div class="left-label-summary"> | |
48 | ${_('Diff option')}: |
|
41 | <p class="spacing">${_('Range')}:</p> | |
49 | </div> |
|
42 | <div class="right-label-summary"> | |
50 |
<div class=" |
|
43 | <div class="code-header" > | |
51 |
<div class=" |
|
44 | <div class="compare_header"> | |
52 | <a href="${h.route_path('repo_compare', |
|
45 | <code class="fieldset-text-line"> | |
53 | repo_name=c.repo_name, |
|
46 | r${c.commit_ranges[0].idx}:${h.short_id(c.commit_ranges[0].raw_id)} | |
54 | source_ref_type='rev', |
|
47 | ... | |
55 | source_ref=getattr(c.commit_ranges[0].parents[0] if c.commit_ranges[0].parents else h.EmptyCommit(), 'raw_id'), |
|
48 | r${c.commit_ranges[-1].idx}:${h.short_id(c.commit_ranges[-1].raw_id)} | |
56 | target_ref_type='rev', |
|
49 | ${_ungettext('(%s commit)','(%s commits)', len(c.commit_ranges)) % len(c.commit_ranges)} | |
57 | target_ref=c.commit_ranges[-1].raw_id)}" |
|
50 | </code> | |
58 | > |
|
51 | </div> | |
59 | ${_('Show combined compare')} |
|
52 | </div> | |
60 |
</ |
|
53 | </div> | |
|
54 | </div> | |||
61 | </div> |
|
55 | </div> | |
62 | </div> |
|
|||
63 | </div> |
|
|||
64 |
|
56 | |||
65 | </div> <!-- end summary-detail --> |
|
57 | <div class="fieldset"> | |
|
58 | <div class="left-label-summary"> | |||
|
59 | <p class="spacing">${_('Diff Option')}:</p> | |||
|
60 | <div class="right-label-summary"> | |||
|
61 | <div class="code-header" > | |||
|
62 | <div class="compare_header"> | |||
|
63 | <div class="btn btn-primary"> | |||
|
64 | <a href="${h.route_path('repo_compare', | |||
|
65 | repo_name=c.repo_name, | |||
|
66 | source_ref_type='rev', | |||
|
67 | source_ref=getattr(c.commit_ranges[0].parents[0] if c.commit_ranges[0].parents else h.EmptyCommit(), 'raw_id'), | |||
|
68 | target_ref_type='rev', | |||
|
69 | target_ref=c.commit_ranges[-1].raw_id)}" | |||
|
70 | > | |||
|
71 | ${_('Show combined diff')} | |||
|
72 | </a> | |||
|
73 | </div> | |||
|
74 | </div> | |||
|
75 | </div> | |||
|
76 | </div> | |||
|
77 | </div> | |||
|
78 | </div> | |||
66 |
|
79 | |||
67 | </div> <!-- end summary --> |
|
80 | <div class="clear-fix"></div> | |
|
81 | </div> <!-- end summary-detail --> | |||
|
82 | </div> <!-- end summary --> | |||
68 |
|
83 | |||
69 | <div id="changeset_compare_view_content"> |
|
84 | <div id="changeset_compare_view_content"> | |
70 | <div class="pull-left"> |
|
85 | <div class="pull-left"> | |
71 | <div class="btn-group"> |
|
86 | <div class="btn-group"> | |
72 | <a |
|
87 | <a | |
73 | class="btn" |
|
88 | class="btn" | |
74 | href="#" |
|
89 | href="#" | |
75 | onclick="$('.compare_select').show();$('.compare_select_hidden').hide(); return false"> |
|
90 | onclick="$('.compare_select').show();$('.compare_select_hidden').hide(); return false"> | |
76 | ${_ungettext('Expand %s commit','Expand %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
91 | ${_ungettext('Expand %s commit','Expand %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} | |
77 | </a> |
|
92 | </a> | |
78 | <a |
|
93 | <a | |
79 | class="btn" |
|
94 | class="btn" | |
80 | href="#" |
|
95 | href="#" | |
81 | onclick="$('.compare_select').hide();$('.compare_select_hidden').show(); return false"> |
|
96 | onclick="$('.compare_select').hide();$('.compare_select_hidden').show(); return false"> | |
82 | ${_ungettext('Collapse %s commit','Collapse %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
97 | ${_ungettext('Collapse %s commit','Collapse %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} | |
83 | </a> |
|
98 | </a> | |
84 | </div> |
|
99 | </div> | |
85 | </div> |
|
100 | </div> | |
86 | ## Commit range generated below |
|
101 | ## Commit range generated below | |
87 | <%include file="../compare/compare_commits.mako"/> |
|
102 | <%include file="../compare/compare_commits.mako"/> | |
88 | <div class="cs_files"> |
|
103 | <div class="cs_files"> | |
89 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> |
|
104 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> | |
90 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> |
|
105 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> | |
91 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> |
|
106 | <%namespace name="diff_block" file="/changeset/diff_block.mako"/> | |
92 | ${cbdiffs.render_diffset_menu()} |
|
107 | ${cbdiffs.render_diffset_menu()} | |
93 | %for commit in c.commit_ranges: |
|
108 | %for commit in c.commit_ranges: | |
94 | ${cbdiffs.render_diffset( |
|
109 | ${cbdiffs.render_diffset( | |
95 | diffset=c.changes[commit.raw_id], |
|
110 | diffset=c.changes[commit.raw_id], | |
96 | collapse_when_files_over=5, |
|
111 | collapse_when_files_over=5, | |
97 | commit=commit, |
|
112 | commit=commit, | |
98 | )} |
|
113 | )} | |
99 | %endfor |
|
114 | %endfor | |
100 | </div> |
|
115 | </div> | |
101 | </div> |
|
116 | </div> | |
|
117 | </div> | |||
|
118 | ||||
102 | </%def> |
|
119 | </%def> |
@@ -1,313 +1,311 b'' | |||||
1 | ## -*- coding: utf-8 -*- |
|
1 | ## -*- coding: utf-8 -*- | |
2 | <%inherit file="/base/base.mako"/> |
|
2 | <%inherit file="/base/base.mako"/> | |
3 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> |
|
3 | <%namespace name="cbdiffs" file="/codeblocks/diffs.mako"/> | |
4 |
|
4 | |||
5 | <%def name="title()"> |
|
5 | <%def name="title()"> | |
6 | %if c.compare_home: |
|
6 | %if c.compare_home: | |
7 | ${_('%s Compare') % c.repo_name} |
|
7 | ${_('%s Compare') % c.repo_name} | |
8 | %else: |
|
8 | %else: | |
9 | ${_('%s Compare') % c.repo_name} - ${'%s@%s' % (c.source_repo.repo_name, c.source_ref)} > ${'%s@%s' % (c.target_repo.repo_name, c.target_ref)} |
|
9 | ${_('%s Compare') % c.repo_name} - ${'%s@%s' % (c.source_repo.repo_name, c.source_ref)} > ${'%s@%s' % (c.target_repo.repo_name, c.target_ref)} | |
10 | %endif |
|
10 | %endif | |
11 | %if c.rhodecode_name: |
|
11 | %if c.rhodecode_name: | |
12 | · ${h.branding(c.rhodecode_name)} |
|
12 | · ${h.branding(c.rhodecode_name)} | |
13 | %endif |
|
13 | %endif | |
14 | </%def> |
|
14 | </%def> | |
15 |
|
15 | |||
16 | <%def name="breadcrumbs_links()"></%def> |
|
16 | <%def name="breadcrumbs_links()"></%def> | |
17 |
|
17 | |||
18 | <%def name="menu_bar_nav()"> |
|
18 | <%def name="menu_bar_nav()"> | |
19 | ${self.menu_items(active='repositories')} |
|
19 | ${self.menu_items(active='repositories')} | |
20 | </%def> |
|
20 | </%def> | |
21 |
|
21 | |||
22 | <%def name="menu_bar_subnav()"> |
|
22 | <%def name="menu_bar_subnav()"> | |
23 | ${self.repo_menu(active='compare')} |
|
23 | ${self.repo_menu(active='compare')} | |
24 | </%def> |
|
24 | </%def> | |
25 |
|
25 | |||
26 | <%def name="main()"> |
|
26 | <%def name="main()"> | |
27 | <script type="text/javascript"> |
|
27 | <script type="text/javascript"> | |
28 | // set fake commitId on this commit-range page |
|
28 | // set fake commitId on this commit-range page | |
29 | templateContext.commit_data.commit_id = "${h.EmptyCommit().raw_id}"; |
|
29 | templateContext.commit_data.commit_id = "${h.EmptyCommit().raw_id}"; | |
30 | </script> |
|
30 | </script> | |
31 |
|
31 | |||
32 | <div class="box"> |
|
32 | <div class="box"> | |
33 | <div class="summary changeset"> |
|
33 | <div class="summary changeset"> | |
34 | <div class="summary-detail"> |
|
34 | <div class="summary-detail"> | |
35 | <div class="summary-detail-header"> |
|
35 | <div class="summary-detail-header"> | |
36 | <span class="breadcrumbs files_location"> |
|
36 | <span class="breadcrumbs files_location"> | |
37 | <h4> |
|
37 | <h4> | |
38 | ${_('Compare Commits')} |
|
38 | ${_('Compare Commits')} | |
39 | % if c.file_path: |
|
39 | % if c.file_path: | |
40 | ${_('for file')} <a href="#${'a_' + h.FID('',c.file_path)}">${c.file_path}</a> |
|
40 | ${_('for file')} <a href="#${'a_' + h.FID('',c.file_path)}">${c.file_path}</a> | |
41 | % endif |
|
41 | % endif | |
42 |
|
42 | |||
43 | % if c.commit_ranges: |
|
43 | % if c.commit_ranges: | |
44 | <code> |
|
44 | <code> | |
45 | r${c.source_commit.idx}:${h.short_id(c.source_commit.raw_id)}...r${c.target_commit.idx}:${h.short_id(c.target_commit.raw_id)} |
|
45 | r${c.source_commit.idx}:${h.short_id(c.source_commit.raw_id)}...r${c.target_commit.idx}:${h.short_id(c.target_commit.raw_id)} | |
46 | </code> |
|
46 | </code> | |
47 | % endif |
|
47 | % endif | |
48 | </h4> |
|
48 | </h4> | |
49 | </span> |
|
49 | </span> | |
50 |
|
50 | |||
51 | <div class="clear-fix"></div> |
|
51 | <div class="clear-fix"></div> | |
52 | </div> |
|
52 | </div> | |
53 |
|
53 | |||
54 | <div class="fieldset"> |
|
54 | <div class="fieldset"> | |
55 | <div class="left-label-summary"> |
|
55 | <div class="left-label-summary"> | |
56 | <p class="spacing">${_('Target')}:</p> |
|
56 | <p class="spacing">${_('Target')}:</p> | |
57 | <div class="right-label-summary"> |
|
57 | <div class="right-label-summary"> | |
58 | <div class="code-header" > |
|
58 | <div class="code-header" > | |
59 | <div class="compare_header"> |
|
59 | <div class="compare_header"> | |
60 | ## The hidden elements are replaced with a select2 widget |
|
60 | ## The hidden elements are replaced with a select2 widget | |
61 | ${h.hidden('compare_source')} |
|
61 | ${h.hidden('compare_source')} | |
62 | </div> |
|
62 | </div> | |
63 | </div> |
|
63 | </div> | |
64 | </div> |
|
64 | </div> | |
65 | </div> |
|
65 | </div> | |
66 | </div> |
|
66 | </div> | |
67 |
|
67 | |||
68 | <div class="fieldset"> |
|
68 | <div class="fieldset"> | |
69 | <div class="left-label-summary"> |
|
69 | <div class="left-label-summary"> | |
70 | <p class="spacing">${_('Source')}:</p> |
|
70 | <p class="spacing">${_('Source')}:</p> | |
71 | <div class="right-label-summary"> |
|
71 | <div class="right-label-summary"> | |
72 | <div class="code-header" > |
|
72 | <div class="code-header" > | |
73 | <div class="compare_header"> |
|
73 | <div class="compare_header"> | |
74 | ## The hidden elements are replaced with a select2 widget |
|
74 | ## The hidden elements are replaced with a select2 widget | |
75 | ${h.hidden('compare_target')} |
|
75 | ${h.hidden('compare_target')} | |
76 | </div> |
|
76 | </div> | |
77 | </div> |
|
77 | </div> | |
78 | </div> |
|
78 | </div> | |
79 | </div> |
|
79 | </div> | |
80 | </div> |
|
80 | </div> | |
81 |
|
81 | |||
82 | <div class="fieldset"> |
|
82 | <div class="fieldset"> | |
83 | <div class="left-label-summary"> |
|
83 | <div class="left-label-summary"> | |
84 | <p class="spacing">${_('Actions')}:</p> |
|
84 | <p class="spacing">${_('Actions')}:</p> | |
85 | <div class="right-label-summary"> |
|
85 | <div class="right-label-summary"> | |
86 | <div class="code-header" > |
|
86 | <div class="code-header" > | |
87 | <div class="compare_header"> |
|
87 | <div class="compare_header"> | |
88 | <div class="compare-buttons"> |
|
88 | <div class="compare-buttons"> | |
89 | % if c.compare_home: |
|
89 | % if c.compare_home: | |
90 | <a id="compare_revs" class="btn btn-primary"> ${_('Compare Commits')}</a> |
|
90 | <a id="compare_revs" class="btn btn-primary"> ${_('Compare Commits')}</a> | |
91 | %if c.rhodecode_db_repo.fork: |
|
91 | %if c.rhodecode_db_repo.fork: | |
92 |
|
92 | |||
93 | <a class="btn btn-default" title="${h.tooltip(_('Compare fork with %s' % c.rhodecode_db_repo.fork.repo_name))}" |
|
93 | <a class="btn btn-default" title="${h.tooltip(_('Compare fork with %s' % c.rhodecode_db_repo.fork.repo_name))}" | |
94 | href="${h.route_path('repo_compare', |
|
94 | href="${h.route_path('repo_compare', | |
95 | repo_name=c.rhodecode_db_repo.fork.repo_name, |
|
95 | repo_name=c.rhodecode_db_repo.fork.repo_name, | |
96 | source_ref_type=c.rhodecode_db_repo.landing_rev[0], |
|
96 | source_ref_type=c.rhodecode_db_repo.landing_rev[0], | |
97 | source_ref=c.rhodecode_db_repo.landing_rev[1], |
|
97 | source_ref=c.rhodecode_db_repo.landing_rev[1], | |
98 | target_repo=c.repo_name,target_ref_type='branch' if request.GET.get('branch') else c.rhodecode_db_repo.landing_rev[0], |
|
98 | target_repo=c.repo_name,target_ref_type='branch' if request.GET.get('branch') else c.rhodecode_db_repo.landing_rev[0], | |
99 | target_ref=request.GET.get('branch') or c.rhodecode_db_repo.landing_rev[1], |
|
99 | target_ref=request.GET.get('branch') or c.rhodecode_db_repo.landing_rev[1], | |
100 | _query=dict(merge=1))}" |
|
100 | _query=dict(merge=1))}" | |
101 | > |
|
101 | > | |
102 | ${_('Compare with origin')} |
|
102 | ${_('Compare with origin')} | |
103 | </a> |
|
103 | </a> | |
104 |
|
104 | |||
105 | %endif |
|
105 | %endif | |
106 |
|
106 | |||
107 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Swap')}</a> |
|
107 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Swap')}</a> | |
108 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Comment')}</a> |
|
108 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Comment')}</a> | |
109 | <div id="changeset_compare_view_content"> |
|
109 | <div id="changeset_compare_view_content"> | |
110 | <div class="help-block">${_('Compare commits, branches, bookmarks or tags.')}</div> |
|
110 | <div class="help-block">${_('Compare commits, branches, bookmarks or tags.')}</div> | |
111 | </div> |
|
111 | </div> | |
112 |
|
112 | |||
113 | % elif c.preview_mode: |
|
113 | % elif c.preview_mode: | |
114 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Compare Commits')}</a> |
|
114 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Compare Commits')}</a> | |
115 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Swap')}</a> |
|
115 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Swap')}</a> | |
116 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Comment')}</a> |
|
116 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Comment')}</a> | |
117 |
|
117 | |||
118 | % else: |
|
118 | % else: | |
119 | <a id="compare_revs" class="btn btn-primary"> ${_('Compare Commits')}</a> |
|
119 | <a id="compare_revs" class="btn btn-primary"> ${_('Compare Commits')}</a> | |
120 | <a id="btn-swap" class="btn btn-primary" href="${c.swap_url}">${_('Swap')}</a> |
|
120 | <a id="btn-swap" class="btn btn-primary" href="${c.swap_url}">${_('Swap')}</a> | |
121 |
|
121 | |||
122 | ## allow comment only if there are commits to comment on |
|
122 | ## allow comment only if there are commits to comment on | |
123 | % if c.diffset and c.diffset.files and c.commit_ranges: |
|
123 | % if c.diffset and c.diffset.files and c.commit_ranges: | |
124 | <a id="compare_changeset_status_toggle" class="btn btn-primary">${_('Comment')}</a> |
|
124 | <a id="compare_changeset_status_toggle" class="btn btn-primary">${_('Comment')}</a> | |
125 | % else: |
|
125 | % else: | |
126 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Comment')}</a> |
|
126 | <a class="btn disabled tooltip" disabled="disabled" title="${_('Action unavailable in current view')}">${_('Comment')}</a> | |
127 | % endif |
|
127 | % endif | |
128 | % endif |
|
128 | % endif | |
129 | </div> |
|
129 | </div> | |
130 | </div> |
|
130 | </div> | |
131 | </div> |
|
131 | </div> | |
132 | </div> |
|
132 | </div> | |
133 | </div> |
|
133 | </div> | |
134 | </div> |
|
134 | </div> | |
135 |
|
135 | |||
136 | ## commit status form |
|
136 | ## commit status form | |
137 | <div class="fieldset" id="compare_changeset_status" style="display: none; margin-bottom: -80px;"> |
|
137 | <div class="fieldset" id="compare_changeset_status" style="display: none; margin-bottom: -80px;"> | |
138 | <div class="left-label-summary"> |
|
138 | <div class="left-label-summary"> | |
139 | <p class="spacing">${_('Commit status')}:</p> |
|
139 | <p class="spacing">${_('Commit status')}:</p> | |
140 | <div class="right-label-summary"> |
|
140 | <div class="right-label-summary"> | |
141 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> |
|
141 | <%namespace name="comment" file="/changeset/changeset_file_comment.mako"/> | |
142 | ## main comment form and it status |
|
142 | ## main comment form and it status | |
143 | <% |
|
143 | <% | |
144 | def revs(_revs): |
|
144 | def revs(_revs): | |
145 | form_inputs = [] |
|
145 | form_inputs = [] | |
146 | for cs in _revs: |
|
146 | for cs in _revs: | |
147 | tmpl = '<input type="hidden" data-commit-id="%(cid)s" name="commit_ids" value="%(cid)s">' % {'cid': cs.raw_id} |
|
147 | tmpl = '<input type="hidden" data-commit-id="%(cid)s" name="commit_ids" value="%(cid)s">' % {'cid': cs.raw_id} | |
148 | form_inputs.append(tmpl) |
|
148 | form_inputs.append(tmpl) | |
149 | return form_inputs |
|
149 | return form_inputs | |
150 | %> |
|
150 | %> | |
151 | <div> |
|
151 | <div> | |
152 | ${comment.comments(h.route_path('repo_commit_comment_create', repo_name=c.repo_name, commit_id='0'*16), None, is_compare=True, form_extras=revs(c.commit_ranges))} |
|
152 | ${comment.comments(h.route_path('repo_commit_comment_create', repo_name=c.repo_name, commit_id='0'*16), None, is_compare=True, form_extras=revs(c.commit_ranges))} | |
153 | </div> |
|
153 | </div> | |
154 | </div> |
|
154 | </div> | |
155 | </div> |
|
155 | </div> | |
156 | </div> |
|
156 | </div> | |
157 | <div class="clear-fix"></div> |
|
157 | <div class="clear-fix"></div> | |
158 | </div> <!-- end summary-detail --> |
|
158 | </div> <!-- end summary-detail --> | |
159 | </div> <!-- end summary --> |
|
159 | </div> <!-- end summary --> | |
160 |
|
160 | |||
161 | ## use JS script to load it quickly before potentially large diffs render long time |
|
161 | ## use JS script to load it quickly before potentially large diffs render long time | |
162 | ## this prevents from situation when large diffs block rendering of select2 fields |
|
162 | ## this prevents from situation when large diffs block rendering of select2 fields | |
163 | <script type="text/javascript"> |
|
163 | <script type="text/javascript"> | |
164 |
|
164 | |||
165 | var cache = {}; |
|
165 | var cache = {}; | |
166 |
|
166 | |||
167 | var formatSelection = function(repoName){ |
|
167 | var formatSelection = function(repoName){ | |
168 | return function(data, container, escapeMarkup) { |
|
168 | return function(data, container, escapeMarkup) { | |
169 | var selection = data ? this.text(data) : ""; |
|
169 | var selection = data ? this.text(data) : ""; | |
170 | return escapeMarkup('{0}@{1}'.format(repoName, selection)); |
|
170 | return escapeMarkup('{0}@{1}'.format(repoName, selection)); | |
171 | } |
|
171 | } | |
172 | }; |
|
172 | }; | |
173 |
|
173 | |||
174 | var feedCompareData = function(query, cachedValue){ |
|
174 | var feedCompareData = function(query, cachedValue){ | |
175 | var data = {results: []}; |
|
175 | var data = {results: []}; | |
176 | //filter results |
|
176 | //filter results | |
177 | $.each(cachedValue.results, function() { |
|
177 | $.each(cachedValue.results, function() { | |
178 | var section = this.text; |
|
178 | var section = this.text; | |
179 | var children = []; |
|
179 | var children = []; | |
180 | $.each(this.children, function() { |
|
180 | $.each(this.children, function() { | |
181 | if (query.term.length === 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { |
|
181 | if (query.term.length === 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0) { | |
182 | children.push({ |
|
182 | children.push({ | |
183 | 'id': this.id, |
|
183 | 'id': this.id, | |
184 | 'text': this.text, |
|
184 | 'text': this.text, | |
185 | 'type': this.type |
|
185 | 'type': this.type | |
186 | }) |
|
186 | }) | |
187 | } |
|
187 | } | |
188 | }); |
|
188 | }); | |
189 | data.results.push({ |
|
189 | data.results.push({ | |
190 | 'text': section, |
|
190 | 'text': section, | |
191 | 'children': children |
|
191 | 'children': children | |
192 | }) |
|
192 | }) | |
193 | }); |
|
193 | }); | |
194 | //push the typed in changeset |
|
194 | //push the typed in changeset | |
195 | data.results.push({ |
|
195 | data.results.push({ | |
196 | 'text': _gettext('specify commit'), |
|
196 | 'text': _gettext('specify commit'), | |
197 | 'children': [{ |
|
197 | 'children': [{ | |
198 | 'id': query.term, |
|
198 | 'id': query.term, | |
199 | 'text': query.term, |
|
199 | 'text': query.term, | |
200 | 'type': 'rev' |
|
200 | 'type': 'rev' | |
201 | }] |
|
201 | }] | |
202 | }); |
|
202 | }); | |
203 | query.callback(data); |
|
203 | query.callback(data); | |
204 | }; |
|
204 | }; | |
205 |
|
205 | |||
206 | var loadCompareData = function(repoName, query, cache){ |
|
206 | var loadCompareData = function(repoName, query, cache){ | |
207 | $.ajax({ |
|
207 | $.ajax({ | |
208 | url: pyroutes.url('repo_refs_data', {'repo_name': repoName}), |
|
208 | url: pyroutes.url('repo_refs_data', {'repo_name': repoName}), | |
209 | data: {}, |
|
209 | data: {}, | |
210 | dataType: 'json', |
|
210 | dataType: 'json', | |
211 | type: 'GET', |
|
211 | type: 'GET', | |
212 | success: function(data) { |
|
212 | success: function(data) { | |
213 | cache[repoName] = data; |
|
213 | cache[repoName] = data; | |
214 | query.callback({results: data.results}); |
|
214 | query.callback({results: data.results}); | |
215 | } |
|
215 | } | |
216 | }) |
|
216 | }) | |
217 | }; |
|
217 | }; | |
218 |
|
218 | |||
219 | var enable_fields = ${"false" if c.preview_mode else "true"}; |
|
219 | var enable_fields = ${"false" if c.preview_mode else "true"}; | |
220 | $("#compare_source").select2({ |
|
220 | $("#compare_source").select2({ | |
221 | placeholder: "${'%s@%s' % (c.source_repo.repo_name, c.source_ref)}", |
|
221 | placeholder: "${'%s@%s' % (c.source_repo.repo_name, c.source_ref)}", | |
222 | containerCssClass: "drop-menu", |
|
222 | containerCssClass: "drop-menu", | |
223 | dropdownCssClass: "drop-menu-dropdown", |
|
223 | dropdownCssClass: "drop-menu-dropdown", | |
224 | formatSelection: formatSelection("${c.source_repo.repo_name}"), |
|
224 | formatSelection: formatSelection("${c.source_repo.repo_name}"), | |
225 | dropdownAutoWidth: true, |
|
225 | dropdownAutoWidth: true, | |
226 | query: function(query) { |
|
226 | query: function(query) { | |
227 | var repoName = '${c.source_repo.repo_name}'; |
|
227 | var repoName = '${c.source_repo.repo_name}'; | |
228 | var cachedValue = cache[repoName]; |
|
228 | var cachedValue = cache[repoName]; | |
229 |
|
229 | |||
230 | if (cachedValue){ |
|
230 | if (cachedValue){ | |
231 | feedCompareData(query, cachedValue); |
|
231 | feedCompareData(query, cachedValue); | |
232 | } |
|
232 | } | |
233 | else { |
|
233 | else { | |
234 | loadCompareData(repoName, query, cache); |
|
234 | loadCompareData(repoName, query, cache); | |
235 | } |
|
235 | } | |
236 | } |
|
236 | } | |
237 | }).select2("enable", enable_fields); |
|
237 | }).select2("enable", enable_fields); | |
238 |
|
238 | |||
239 | $("#compare_target").select2({ |
|
239 | $("#compare_target").select2({ | |
240 | placeholder: "${'%s@%s' % (c.target_repo.repo_name, c.target_ref)}", |
|
240 | placeholder: "${'%s@%s' % (c.target_repo.repo_name, c.target_ref)}", | |
241 | dropdownAutoWidth: true, |
|
241 | dropdownAutoWidth: true, | |
242 | containerCssClass: "drop-menu", |
|
242 | containerCssClass: "drop-menu", | |
243 | dropdownCssClass: "drop-menu-dropdown", |
|
243 | dropdownCssClass: "drop-menu-dropdown", | |
244 | formatSelection: formatSelection("${c.target_repo.repo_name}"), |
|
244 | formatSelection: formatSelection("${c.target_repo.repo_name}"), | |
245 | query: function(query) { |
|
245 | query: function(query) { | |
246 | var repoName = '${c.target_repo.repo_name}'; |
|
246 | var repoName = '${c.target_repo.repo_name}'; | |
247 | var cachedValue = cache[repoName]; |
|
247 | var cachedValue = cache[repoName]; | |
248 |
|
248 | |||
249 | if (cachedValue){ |
|
249 | if (cachedValue){ | |
250 | feedCompareData(query, cachedValue); |
|
250 | feedCompareData(query, cachedValue); | |
251 | } |
|
251 | } | |
252 | else { |
|
252 | else { | |
253 | loadCompareData(repoName, query, cache); |
|
253 | loadCompareData(repoName, query, cache); | |
254 | } |
|
254 | } | |
255 | } |
|
255 | } | |
256 | }).select2("enable", enable_fields); |
|
256 | }).select2("enable", enable_fields); | |
257 | var initial_compare_source = {id: "${c.source_ref}", type:"${c.source_ref_type}"}; |
|
257 | var initial_compare_source = {id: "${c.source_ref}", type:"${c.source_ref_type}"}; | |
258 | var initial_compare_target = {id: "${c.target_ref}", type:"${c.target_ref_type}"}; |
|
258 | var initial_compare_target = {id: "${c.target_ref}", type:"${c.target_ref_type}"}; | |
259 |
|
259 | |||
260 | $('#compare_revs').on('click', function(e) { |
|
260 | $('#compare_revs').on('click', function(e) { | |
261 | var source = $('#compare_source').select2('data') || initial_compare_source; |
|
261 | var source = $('#compare_source').select2('data') || initial_compare_source; | |
262 | var target = $('#compare_target').select2('data') || initial_compare_target; |
|
262 | var target = $('#compare_target').select2('data') || initial_compare_target; | |
263 | if (source && target) { |
|
263 | if (source && target) { | |
264 | var url_data = { |
|
264 | var url_data = { | |
265 | repo_name: "${c.repo_name}", |
|
265 | repo_name: "${c.repo_name}", | |
266 | source_ref: source.id, |
|
266 | source_ref: source.id, | |
267 | source_ref_type: source.type, |
|
267 | source_ref_type: source.type, | |
268 | target_ref: target.id, |
|
268 | target_ref: target.id, | |
269 | target_ref_type: target.type |
|
269 | target_ref_type: target.type | |
270 | }; |
|
270 | }; | |
271 | window.location = pyroutes.url('repo_compare', url_data); |
|
271 | window.location = pyroutes.url('repo_compare', url_data); | |
272 | } |
|
272 | } | |
273 | }); |
|
273 | }); | |
274 | $('#compare_changeset_status_toggle').on('click', function(e) { |
|
274 | $('#compare_changeset_status_toggle').on('click', function(e) { | |
275 | $('#compare_changeset_status').toggle(); |
|
275 | $('#compare_changeset_status').toggle(); | |
276 | }); |
|
276 | }); | |
277 |
|
277 | |||
278 | </script> |
|
278 | </script> | |
279 |
|
279 | |||
280 | ## table diff data |
|
280 | ## table diff data | |
281 | <div class="table"> |
|
281 | <div class="table"> | |
282 |
|
||||
283 |
|
||||
284 | % if not c.compare_home: |
|
282 | % if not c.compare_home: | |
285 | <div id="changeset_compare_view_content"> |
|
283 | <div id="changeset_compare_view_content"> | |
286 | <div class="pull-left"> |
|
284 | <div class="pull-left"> | |
287 | <div class="btn-group"> |
|
285 | <div class="btn-group"> | |
288 | <a |
|
286 | <a | |
289 | class="btn" |
|
287 | class="btn" | |
290 | href="#" |
|
288 | href="#" | |
291 | onclick="$('.compare_select').show();$('.compare_select_hidden').hide(); return false"> |
|
289 | onclick="$('.compare_select').show();$('.compare_select_hidden').hide(); return false"> | |
292 | ${_ungettext('Expand %s commit','Expand %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
290 | ${_ungettext('Expand %s commit','Expand %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} | |
293 | </a> |
|
291 | </a> | |
294 | <a |
|
292 | <a | |
295 | class="btn" |
|
293 | class="btn" | |
296 | href="#" |
|
294 | href="#" | |
297 | onclick="$('.compare_select').hide();$('.compare_select_hidden').show(); return false"> |
|
295 | onclick="$('.compare_select').hide();$('.compare_select_hidden').show(); return false"> | |
298 | ${_ungettext('Collapse %s commit','Collapse %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} |
|
296 | ${_ungettext('Collapse %s commit','Collapse %s commits', len(c.commit_ranges)) % len(c.commit_ranges)} | |
299 | </a> |
|
297 | </a> | |
300 | </div> |
|
298 | </div> | |
301 | </div> |
|
299 | </div> | |
302 | <div style="padding:0 10px 10px 0px" class="pull-left"></div> |
|
300 | <div style="padding:0 10px 10px 0px" class="pull-left"></div> | |
303 | ## commit compare generated below |
|
301 | ## commit compare generated below | |
304 | <%include file="compare_commits.mako"/> |
|
302 | <%include file="compare_commits.mako"/> | |
305 | ${cbdiffs.render_diffset_menu(c.diffset)} |
|
303 | ${cbdiffs.render_diffset_menu(c.diffset)} | |
306 | ${cbdiffs.render_diffset(c.diffset)} |
|
304 | ${cbdiffs.render_diffset(c.diffset)} | |
307 | </div> |
|
305 | </div> | |
308 | % endif |
|
306 | % endif | |
309 |
|
307 | |||
310 | </div> |
|
308 | </div> | |
311 | </div> |
|
309 | </div> | |
312 |
|
310 | |||
313 | </%def> |
|
311 | </%def> |
General Comments 0
You need to be logged in to leave comments.
Login now