Commit 7f6e41fa028e4293e50edbf9fe2ea6cc19957533
1 parent
05d76fc4
Exists in
master
and in
4 other branches
Bootstrap: application layout
Showing
22 changed files
with
951 additions
and
204 deletions
Show diff stats
app/assets/stylesheets/common.scss
... | ... | @@ -105,6 +105,19 @@ $blue_link: "#2fa0bb"; |
105 | 105 | border-right: 1px solid $border_color; |
106 | 106 | height:100%; |
107 | 107 | min-height:450px; |
108 | + | |
109 | + .fixed { | |
110 | + position:fixed; | |
111 | + } | |
112 | + | |
113 | + aside a { | |
114 | + display:block; | |
115 | + position:relative; | |
116 | + padding:15px 10px; | |
117 | + margin:10px 0 0 0; | |
118 | + font-size:13px; | |
119 | + font-weight:bold; | |
120 | + } | |
108 | 121 | } |
109 | 122 | |
110 | 123 | .container-fluid > .content { |
... | ... | @@ -112,6 +125,17 @@ $blue_link: "#2fa0bb"; |
112 | 125 | margin-top:20px; |
113 | 126 | } |
114 | 127 | |
128 | +aside.projects { | |
129 | + margin-left: 0; | |
130 | + padding-left: 20px; | |
131 | +} | |
132 | + | |
133 | +img.avatar { | |
134 | + width:32px; | |
135 | + float:left; | |
136 | + padding-right:5px; | |
137 | +} | |
138 | + | |
115 | 139 | @import "reset_bootstrap.scss"; |
116 | 140 | @import "top_panel.scss"; |
117 | 141 | @import "projects.css.scss"; | ... | ... |
app/assets/stylesheets/projects.css.scss
1 | 1 | .git_url_wrapper { |
2 | 2 | margin-right:50px |
3 | 3 | } |
4 | - | |
5 | -.project { | |
6 | - .sidebar { | |
7 | - .fixed { | |
8 | - position:fixed; | |
9 | - } | |
10 | - | |
11 | - aside a { | |
12 | - display:block; | |
13 | - position:relative; | |
14 | - padding:15px 10px; | |
15 | - margin:10px 0 0 0; | |
16 | - font-size:13px; | |
17 | - font-weight:bold; | |
18 | - } | |
19 | - } | |
20 | -} | |
21 | 4 | .file_stats { |
22 | 5 | span { |
23 | 6 | img { | ... | ... |
... | ... | @@ -0,0 +1,384 @@ |
1 | +.git_url_wrapper { margin-right:50px } | |
2 | + | |
3 | +.sidebar aside a{ | |
4 | + display: block; | |
5 | + position: relative; | |
6 | + padding: 15px 10px; | |
7 | + margin: 10px 0 0 0; | |
8 | + | |
9 | + span.number{ | |
10 | + float: right; border-radius: 5px; text-shadow: none; background: rgba(0,0,0,.12); text-align: center; padding: 5px 8px; position: absolute; top: 10px; right: 10px; | |
11 | + } | |
12 | + &.current { | |
13 | + color: white; | |
14 | + background: $active_bg_color; | |
15 | + border: 1px solid $active_bd_color; | |
16 | + border-radius:5px; | |
17 | + | |
18 | + -webkit-border-top-right-radius: 0; | |
19 | + -webkit-border-bottom-right-radius: 0; | |
20 | + -moz-border-radius-topright: 0px; | |
21 | + -moz-border-radius-bottomright: 0px; | |
22 | + border-top-right-radius: 0; | |
23 | + border-bottom-right-radius: 0; | |
24 | + margin-right: -1px; | |
25 | + } | |
26 | +} | |
27 | + | |
28 | +body table .commit a{color: #{$blue_link}} | |
29 | +body table th, body table td{ border-bottom: 1px solid #DEE2E3;} | |
30 | +body .fixed{position: fixed; } | |
31 | + | |
32 | +/** File stat **/ | |
33 | +.file_stats { | |
34 | + span { | |
35 | + img { | |
36 | + width:14px; | |
37 | + float:left; | |
38 | + margin-right: 6px; | |
39 | + padding:2px 0; | |
40 | + } | |
41 | + } | |
42 | +} | |
43 | + | |
44 | +.round-borders { | |
45 | + @include round-borders-all(4px); | |
46 | + padding: 4px 0px; | |
47 | +} | |
48 | + | |
49 | +table.round-borders { | |
50 | + float:left; | |
51 | + text-align: left; | |
52 | +} | |
53 | + | |
54 | + | |
55 | + | |
56 | +/** PROJECTS **/ | |
57 | +input.ssh_project_url { | |
58 | + padding:5px; | |
59 | + margin:0px; | |
60 | + float:right; | |
61 | + width:400px; | |
62 | + text-align:center; | |
63 | +} | |
64 | + | |
65 | +#projects-list .project { | |
66 | + height:50px; | |
67 | +} | |
68 | + | |
69 | +#tree-slider .tree-item, | |
70 | +#projects-list .project, | |
71 | +#snippets-table .snippet, | |
72 | +#issues-table .issue{ | |
73 | + cursor:pointer; | |
74 | +} | |
75 | + | |
76 | +.clear { | |
77 | + clear: both; | |
78 | +} | |
79 | + | |
80 | + | |
81 | + | |
82 | +#user_projects_limit{ | |
83 | + width: 60px; | |
84 | +} | |
85 | + | |
86 | +.handle:hover{ | |
87 | + cursor: move; | |
88 | +} | |
89 | + | |
90 | +.project-refs-form { | |
91 | + span { | |
92 | + background: none !important; | |
93 | + position:static !important; | |
94 | + width:auto !important; | |
95 | + height: auto !important; | |
96 | + } | |
97 | +} | |
98 | + | |
99 | +.project-refs-select { | |
100 | + width:200px; | |
101 | +} | |
102 | + | |
103 | +.filter .left { margin-right:15px; } | |
104 | + | |
105 | +body table .commit { | |
106 | + a.tree-commit-link { | |
107 | + color:#444; | |
108 | + &:hover { | |
109 | + text-decoration:underline; | |
110 | + } | |
111 | + } | |
112 | +} | |
113 | + | |
114 | +/** NEW PROJECT **/ | |
115 | +.new-project-hodler { | |
116 | + .icon span { background-position: -31px -70px; } | |
117 | + td { border-bottom: 1px solid #DEE2E3; } | |
118 | +} | |
119 | + | |
120 | +/** Feed entry **/ | |
121 | +.commit, | |
122 | +.snippet, | |
123 | +.message { | |
124 | + .title { | |
125 | + color:#666; | |
126 | + a { color:#666 !important; } | |
127 | + p { margin-top:0px; } | |
128 | + } | |
129 | + .author { color: #999 } | |
130 | +} | |
131 | + | |
132 | +/** JQuery UI **/ | |
133 | +.ui-autocomplete { @include round-borders-all(5px); } | |
134 | +.ui-menu-item { cursor: pointer } | |
135 | +.ui-selectmenu{ | |
136 | + @include round-borders-all(4px); | |
137 | + margin-right:10px; | |
138 | + font-size:1.5em; | |
139 | + height:auto; | |
140 | + font-weight:bold; | |
141 | + .ui-selectmenu-status { | |
142 | + padding:3px 10px; | |
143 | + } | |
144 | +} | |
145 | + | |
146 | +#holder { | |
147 | + background:#FAFAFA; | |
148 | + border: 1px solid #EEE; | |
149 | + cursor: move; | |
150 | + height: 70%; | |
151 | + overflow: hidden; | |
152 | +} | |
153 | + | |
154 | +/* Project Dashboard Page */ | |
155 | +html, body { height: 100%; } | |
156 | + | |
157 | +.news-feed h2{float: left;} | |
158 | +.news-feed .project-updates {margin-bottom: 20px; display: block; width: 100%;} | |
159 | +.news-feed .project-updates .data{ padding: 0} | |
160 | +.news-feed .project-updates a.project-update {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;} | |
161 | +.news-feed .project-updates a.project-update:last-child{border-bottom: 0} | |
162 | +.news-feed .project-updates a.project-update img{float: left; margin-right: 10px;} | |
163 | +.news-feed .project-updates a.project-update span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;} | |
164 | +.news-feed .project-updates a.project-update span.update-title{margin-bottom: 10px} | |
165 | +.news-feed .project-updates a.project-update span.update-author{color: #999; font-weight: normal; font-style: italic;} | |
166 | +.news-feed .project-updates a.project-update span.update-author strong{font-weight: bold; font-style: normal;} | |
167 | +/* eo Dashboard Page */ | |
168 | + | |
169 | + | |
170 | +/** Update entry **/ | |
171 | +.update-data { padding: 0 } | |
172 | +.update-data { width:100%; } | |
173 | +.update-data.ui-box .data { padding:0; } | |
174 | +a.update-item {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;} | |
175 | +a.update-item:last-child{border-bottom: 0} | |
176 | +a.update-item img{float: left; margin-right: 10px;} | |
177 | +a.update-item span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;} | |
178 | +a.update-item span.update-title{margin-bottom: 10px} | |
179 | +a.update-item span.update-author{color: #999; font-weight: normal; font-style: italic;} | |
180 | +a.update-item span.update-author strong{font-weight: bold; font-style: normal;} | |
181 | + | |
182 | + | |
183 | +body .team_member_new .span-6, .team_member_edit .span-6{ padding:10px 0; } | |
184 | + | |
185 | +body.projects-page input.text.git-url.project_list_url { width:165px; } | |
186 | + | |
187 | + | |
188 | +body table.no-borders th { | |
189 | + background:none; | |
190 | + border-bottom:1px solid #CCC; | |
191 | + color:#333; | |
192 | +} | |
193 | + | |
194 | +body table.no-borders tr, | |
195 | +body table.no-borders td{ | |
196 | + border:none; | |
197 | +} | |
198 | + | |
199 | +.ajax-tab-loading { | |
200 | + padding:40px; | |
201 | + display:none; | |
202 | +} | |
203 | + | |
204 | +#tree-content-holder { float:left; width:100%; } | |
205 | + | |
206 | +#tree-readme-holder { | |
207 | + float:left; | |
208 | + width:100%; | |
209 | + | |
210 | + .readme { | |
211 | + @include round-borders-all(4px); | |
212 | + padding: 4px 15px; | |
213 | + background:#F7F7F7; | |
214 | + } | |
215 | +} | |
216 | + | |
217 | + | |
218 | + | |
219 | +/* Commit Page */ | |
220 | +.entity-info {float: right;} | |
221 | +.entity-button{ | |
222 | + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.192, #fff), to(#f4f4f4)); | |
223 | + background-image: -webkit-linear-gradient(#fff 19.2%, #f4f4f4); | |
224 | + background-image: -moz-linear-gradient(#fff 19.2%, #f4f4f4); | |
225 | + background-image: -o-linear-gradient(#fff 19.2%, #f4f4f4); | |
226 | + box-shadow: 0 -1px 0 white inset; | |
227 | + display: block; | |
228 | + border: 1px solid #eee; | |
229 | + border-radius: 5px; | |
230 | + margin-bottom: 2px; | |
231 | + position: relative; | |
232 | + padding: 4px 10px; | |
233 | + font-size: 11px; | |
234 | + padding-right: 20px; | |
235 | +} | |
236 | + | |
237 | +.entity-button i{ | |
238 | + background: url('images.png') no-repeat -138px -27px; | |
239 | + width: 6px; | |
240 | + height: 9px; | |
241 | + float: right; | |
242 | + position: absolute; | |
243 | + top: 6px; | |
244 | + right: 5px; | |
245 | +} | |
246 | +.box-arrow{float: right; background: #E3E5EA; padding: 10px; border-radius: 5px; margin-top: 2px; text-shadow: none; color: #999; margin: 1.5em 0;} | |
247 | + | |
248 | +h4.dash-tabs { | |
249 | + margin: 0; | |
250 | + border-bottom: 1px solid #ccc; | |
251 | + padding: 10px 10px; | |
252 | + font-size: 11px; | |
253 | + padding-left:20px; | |
254 | + font-weight: bold; text-transform: uppercase; | |
255 | + background: #F7F7F7; | |
256 | + margin-bottom:20px; | |
257 | + height:13px; | |
258 | + | |
259 | +} | |
260 | + | |
261 | +.dash-button { | |
262 | + border-right: 1px solid #ddd; | |
263 | + background:none; | |
264 | + padding: 10px 15px; | |
265 | + float:left; | |
266 | + position:relative; | |
267 | + top:-10px; | |
268 | + left:0px; | |
269 | + height:13px; | |
270 | + | |
271 | + &:first-child { | |
272 | + border-left: 1px solid #ddd; | |
273 | + } | |
274 | + &.active { | |
275 | + background: #eaeaea; | |
276 | + } | |
277 | +} | |
278 | + | |
279 | + | |
280 | +.dashboard-loader { | |
281 | + float:right; | |
282 | + margin-right:30px; | |
283 | + display:none; | |
284 | +} | |
285 | + | |
286 | + | |
287 | +.merge-tabs { | |
288 | + margin: 0; | |
289 | + border: 1px solid #ccc; | |
290 | + padding: 5px; | |
291 | + font-size: 12px; | |
292 | + background: #F7F7F7; | |
293 | + margin-bottom:20px; | |
294 | + height:26px; | |
295 | + | |
296 | + -moz-border-radius: 4px; | |
297 | + -webkit-border-radius: 4px; | |
298 | + border-radius: 4px; | |
299 | + | |
300 | + .tab { | |
301 | + font-weight: bold; | |
302 | + border-right: 1px solid #ddd; | |
303 | + background:none; | |
304 | + padding: 10px; | |
305 | + min-width:60px; | |
306 | + float:left; | |
307 | + position:relative; | |
308 | + top:-5px; | |
309 | + left:-5px; | |
310 | + height:16px; | |
311 | + padding-left:34px; | |
312 | + | |
313 | + span { | |
314 | + width: 20px; | |
315 | + height: 20px; | |
316 | + display: inline-block; | |
317 | + position: absolute; | |
318 | + left: 8px; | |
319 | + top: 8px; | |
320 | + } | |
321 | + | |
322 | + &.active { | |
323 | + background: #eaeaea; | |
324 | + } | |
325 | + } | |
326 | +} | |
327 | +.merge-tabs.repository .tab span{ background: url("images.png") no-repeat -38px -77px; } | |
328 | +.activities-tab span { background: url("images.png") no-repeat -161px -1px; } | |
329 | +.stat-tab span, | |
330 | +.team-tab span, | |
331 | +.snippets-tab span { background: url("images.png") no-repeat -38px -77px; } | |
332 | +.files-tab span { background: url("images.png") no-repeat -112px -23px; } | |
333 | + | |
334 | +.merge-notes-tab span { background: url("images.png") no-repeat -161px -1px; } | |
335 | +.merge-commits-tab span { background: url("images.png") no-repeat -86px 1px; } | |
336 | +.merge-diffs-tab span { background: url("images.png") no-repeat -118px 1px; } | |
337 | +.merge-tabs .dashboard-loader { padding:8px; } | |
338 | + | |
339 | +.user-mention { | |
340 | + color: #2FA0BB; | |
341 | + font-weight: bold; | |
342 | +} | |
343 | + | |
344 | +.author { | |
345 | + color: #999; | |
346 | +} | |
347 | + | |
348 | + | |
349 | + | |
350 | + | |
351 | +.dark_scheme_box { | |
352 | + padding:20px 0; | |
353 | + | |
354 | + label { | |
355 | + float:left; | |
356 | + box-shadow: 0 0px 5px rgba(0,0,0,.3); | |
357 | + | |
358 | + img { | |
359 | + } | |
360 | + } | |
361 | +} | |
362 | + | |
363 | +a.project-update.titled { | |
364 | + position: relative; | |
365 | + padding-left: 235px !important; | |
366 | + | |
367 | + .title-block { | |
368 | + padding: 10px; | |
369 | + width: 205px; | |
370 | + position: absolute; | |
371 | + left: 0; | |
372 | + top: 0; | |
373 | + } | |
374 | +} | |
375 | + | |
376 | +.add_new { | |
377 | + float: right; | |
378 | + background: #A6B807; | |
379 | + color: white; | |
380 | + padding: 4px 10px; | |
381 | + @include round-borders-all(4px); | |
382 | + font-size:11px; | |
383 | + margin: 10px 0; | |
384 | +} | ... | ... |
... | ... | @@ -0,0 +1,385 @@ |
1 | +.git_url_wrapper { margin-right:50px } | |
2 | + | |
3 | +.sidebar aside a{ | |
4 | + display: block; | |
5 | + position: relative; | |
6 | + padding: 15px 10px; | |
7 | + margin: 10px 0 0 0; | |
8 | + | |
9 | + font-size:13px; | |
10 | + font-weight:bold; | |
11 | + color:#333; | |
12 | + | |
13 | + &.current { | |
14 | + color: white; | |
15 | + background: $active_bg_color; | |
16 | + border: 1px solid $active_bd_color; | |
17 | + border-radius:5px; | |
18 | + | |
19 | + -webkit-border-top-right-radius: 0; | |
20 | + -webkit-border-bottom-right-radius: 0; | |
21 | + -moz-border-radius-topright: 0px; | |
22 | + -moz-border-radius-bottomright: 0px; | |
23 | + border-top-right-radius: 0; | |
24 | + border-bottom-right-radius: 0; | |
25 | + margin-right: -1px; | |
26 | + } | |
27 | +} | |
28 | + | |
29 | +body table .commit a{color: #{$blue_link}} | |
30 | +body table th, body table td{ border-bottom: 1px solid #DEE2E3;} | |
31 | +body .fixed{position: fixed; } | |
32 | + | |
33 | +/** File stat **/ | |
34 | +.file_stats { | |
35 | + span { | |
36 | + img { | |
37 | + width:14px; | |
38 | + float:left; | |
39 | + margin-right: 6px; | |
40 | + padding:2px 0; | |
41 | + } | |
42 | + } | |
43 | +} | |
44 | + | |
45 | +.round-borders { | |
46 | + @include round-borders-all(4px); | |
47 | + padding: 4px 0px; | |
48 | +} | |
49 | + | |
50 | +table.round-borders { | |
51 | + float:left; | |
52 | + text-align: left; | |
53 | +} | |
54 | + | |
55 | + | |
56 | + | |
57 | +/** PROJECTS **/ | |
58 | +input.ssh_project_url { | |
59 | + padding:5px; | |
60 | + margin:0px; | |
61 | + float:right; | |
62 | + width:400px; | |
63 | + text-align:center; | |
64 | +} | |
65 | + | |
66 | +#projects-list .project { | |
67 | + height:50px; | |
68 | +} | |
69 | + | |
70 | +#tree-slider .tree-item, | |
71 | +#projects-list .project, | |
72 | +#snippets-table .snippet, | |
73 | +#issues-table .issue{ | |
74 | + cursor:pointer; | |
75 | +} | |
76 | + | |
77 | +.clear { | |
78 | + clear: both; | |
79 | +} | |
80 | + | |
81 | + | |
82 | + | |
83 | +#user_projects_limit{ | |
84 | + width: 60px; | |
85 | +} | |
86 | + | |
87 | +.handle:hover{ | |
88 | + cursor: move; | |
89 | +} | |
90 | + | |
91 | +.project-refs-form { | |
92 | + span { | |
93 | + background: none !important; | |
94 | + position:static !important; | |
95 | + width:auto !important; | |
96 | + height: auto !important; | |
97 | + } | |
98 | +} | |
99 | + | |
100 | +.project-refs-select { | |
101 | + width:200px; | |
102 | +} | |
103 | + | |
104 | +.filter .left { margin-right:15px; } | |
105 | + | |
106 | +body table .commit { | |
107 | + a.tree-commit-link { | |
108 | + color:#444; | |
109 | + &:hover { | |
110 | + text-decoration:underline; | |
111 | + } | |
112 | + } | |
113 | +} | |
114 | + | |
115 | +/** NEW PROJECT **/ | |
116 | +.new-project-hodler { | |
117 | + .icon span { background-position: -31px -70px; } | |
118 | + td { border-bottom: 1px solid #DEE2E3; } | |
119 | +} | |
120 | + | |
121 | +/** Feed entry **/ | |
122 | +.commit, | |
123 | +.snippet, | |
124 | +.message { | |
125 | + .title { | |
126 | + color:#666; | |
127 | + a { color:#666 !important; } | |
128 | + p { margin-top:0px; } | |
129 | + } | |
130 | + .author { color: #999 } | |
131 | +} | |
132 | + | |
133 | +/** JQuery UI **/ | |
134 | +.ui-autocomplete { @include round-borders-all(5px); } | |
135 | +.ui-menu-item { cursor: pointer } | |
136 | +.ui-selectmenu{ | |
137 | + @include round-borders-all(4px); | |
138 | + margin-right:10px; | |
139 | + font-size:1.5em; | |
140 | + height:auto; | |
141 | + font-weight:bold; | |
142 | + .ui-selectmenu-status { | |
143 | + padding:3px 10px; | |
144 | + } | |
145 | +} | |
146 | + | |
147 | +#holder { | |
148 | + background:#FAFAFA; | |
149 | + border: 1px solid #EEE; | |
150 | + cursor: move; | |
151 | + height: 70%; | |
152 | + overflow: hidden; | |
153 | +} | |
154 | + | |
155 | +/* Project Dashboard Page */ | |
156 | +html, body { height: 100%; } | |
157 | + | |
158 | +.news-feed h2{float: left;} | |
159 | +.news-feed .project-updates {margin-bottom: 20px; display: block; width: 100%;} | |
160 | +.news-feed .project-updates .data{ padding: 0} | |
161 | +.news-feed .project-updates a.project-update {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;} | |
162 | +.news-feed .project-updates a.project-update:last-child{border-bottom: 0} | |
163 | +.news-feed .project-updates a.project-update img{float: left; margin-right: 10px;} | |
164 | +.news-feed .project-updates a.project-update span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;} | |
165 | +.news-feed .project-updates a.project-update span.update-title{margin-bottom: 10px} | |
166 | +.news-feed .project-updates a.project-update span.update-author{color: #999; font-weight: normal; font-style: italic;} | |
167 | +.news-feed .project-updates a.project-update span.update-author strong{font-weight: bold; font-style: normal;} | |
168 | +/* eo Dashboard Page */ | |
169 | + | |
170 | + | |
171 | +/** Update entry **/ | |
172 | +.update-data { padding: 0 } | |
173 | +.update-data { width:100%; } | |
174 | +.update-data.ui-box .data { padding:0; } | |
175 | +a.update-item {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;} | |
176 | +a.update-item:last-child{border-bottom: 0} | |
177 | +a.update-item img{float: left; margin-right: 10px;} | |
178 | +a.update-item span.update-title, .dashboard-page .news-feed .project-updates li a span.update-author{display: block;} | |
179 | +a.update-item span.update-title{margin-bottom: 10px} | |
180 | +a.update-item span.update-author{color: #999; font-weight: normal; font-style: italic;} | |
181 | +a.update-item span.update-author strong{font-weight: bold; font-style: normal;} | |
182 | + | |
183 | + | |
184 | +body .team_member_new .span-6, .team_member_edit .span-6{ padding:10px 0; } | |
185 | + | |
186 | +body.projects-page input.text.git-url.project_list_url { width:165px; } | |
187 | + | |
188 | + | |
189 | +body table.no-borders th { | |
190 | + background:none; | |
191 | + border-bottom:1px solid #CCC; | |
192 | + color:#333; | |
193 | +} | |
194 | + | |
195 | +body table.no-borders tr, | |
196 | +body table.no-borders td{ | |
197 | + border:none; | |
198 | +} | |
199 | + | |
200 | +.ajax-tab-loading { | |
201 | + padding:40px; | |
202 | + display:none; | |
203 | +} | |
204 | + | |
205 | +#tree-content-holder { float:left; width:100%; } | |
206 | + | |
207 | +#tree-readme-holder { | |
208 | + float:left; | |
209 | + width:100%; | |
210 | + | |
211 | + .readme { | |
212 | + @include round-borders-all(4px); | |
213 | + padding: 4px 15px; | |
214 | + background:#F7F7F7; | |
215 | + } | |
216 | +} | |
217 | + | |
218 | + | |
219 | + | |
220 | +/* Commit Page */ | |
221 | +.entity-info {float: right;} | |
222 | +.entity-button{ | |
223 | + background-image: -webkit-gradient(linear, 0 0, 0 26, color-stop(0.192, #fff), to(#f4f4f4)); | |
224 | + background-image: -webkit-linear-gradient(#fff 19.2%, #f4f4f4); | |
225 | + background-image: -moz-linear-gradient(#fff 19.2%, #f4f4f4); | |
226 | + background-image: -o-linear-gradient(#fff 19.2%, #f4f4f4); | |
227 | + box-shadow: 0 -1px 0 white inset; | |
228 | + display: block; | |
229 | + border: 1px solid #eee; | |
230 | + border-radius: 5px; | |
231 | + margin-bottom: 2px; | |
232 | + position: relative; | |
233 | + padding: 4px 10px; | |
234 | + font-size: 11px; | |
235 | + padding-right: 20px; | |
236 | +} | |
237 | + | |
238 | +.entity-button i{ | |
239 | + background: url('images.png') no-repeat -138px -27px; | |
240 | + width: 6px; | |
241 | + height: 9px; | |
242 | + float: right; | |
243 | + position: absolute; | |
244 | + top: 6px; | |
245 | + right: 5px; | |
246 | +} | |
247 | +.box-arrow{float: right; background: #E3E5EA; padding: 10px; border-radius: 5px; margin-top: 2px; text-shadow: none; color: #999; margin: 1.5em 0;} | |
248 | + | |
249 | +h4.dash-tabs { | |
250 | + margin: 0; | |
251 | + border-bottom: 1px solid #ccc; | |
252 | + padding: 10px 10px; | |
253 | + font-size: 11px; | |
254 | + padding-left:20px; | |
255 | + font-weight: bold; text-transform: uppercase; | |
256 | + background: #F7F7F7; | |
257 | + margin-bottom:20px; | |
258 | + height:13px; | |
259 | + | |
260 | +} | |
261 | + | |
262 | +.dash-button { | |
263 | + border-right: 1px solid #ddd; | |
264 | + background:none; | |
265 | + padding: 10px 15px; | |
266 | + float:left; | |
267 | + position:relative; | |
268 | + top:-10px; | |
269 | + left:0px; | |
270 | + height:13px; | |
271 | + | |
272 | + &:first-child { | |
273 | + border-left: 1px solid #ddd; | |
274 | + } | |
275 | + &.active { | |
276 | + background: #eaeaea; | |
277 | + } | |
278 | +} | |
279 | + | |
280 | + | |
281 | +.dashboard-loader { | |
282 | + float:right; | |
283 | + margin-right:30px; | |
284 | + display:none; | |
285 | +} | |
286 | + | |
287 | + | |
288 | +.merge-tabs { | |
289 | + margin: 0; | |
290 | + border: 1px solid #ccc; | |
291 | + padding: 5px; | |
292 | + font-size: 12px; | |
293 | + background: #F7F7F7; | |
294 | + margin-bottom:20px; | |
295 | + height:26px; | |
296 | + | |
297 | + -moz-border-radius: 4px; | |
298 | + -webkit-border-radius: 4px; | |
299 | + border-radius: 4px; | |
300 | + | |
301 | + .tab { | |
302 | + font-weight: bold; | |
303 | + border-right: 1px solid #ddd; | |
304 | + background:none; | |
305 | + padding: 10px; | |
306 | + min-width:60px; | |
307 | + float:left; | |
308 | + position:relative; | |
309 | + top:-5px; | |
310 | + left:-5px; | |
311 | + height:16px; | |
312 | + padding-left:34px; | |
313 | + | |
314 | + span { | |
315 | + width: 20px; | |
316 | + height: 20px; | |
317 | + display: inline-block; | |
318 | + position: absolute; | |
319 | + left: 8px; | |
320 | + top: 8px; | |
321 | + } | |
322 | + | |
323 | + &.active { | |
324 | + background: #eaeaea; | |
325 | + } | |
326 | + } | |
327 | +} | |
328 | +.merge-tabs.repository .tab span{ background: url("images.png") no-repeat -38px -77px; } | |
329 | +.activities-tab span { background: url("images.png") no-repeat -161px -1px; } | |
330 | +.stat-tab span, | |
331 | +.team-tab span, | |
332 | +.snippets-tab span { background: url("images.png") no-repeat -38px -77px; } | |
333 | +.files-tab span { background: url("images.png") no-repeat -112px -23px; } | |
334 | + | |
335 | +.merge-notes-tab span { background: url("images.png") no-repeat -161px -1px; } | |
336 | +.merge-commits-tab span { background: url("images.png") no-repeat -86px 1px; } | |
337 | +.merge-diffs-tab span { background: url("images.png") no-repeat -118px 1px; } | |
338 | +.merge-tabs .dashboard-loader { padding:8px; } | |
339 | + | |
340 | +.user-mention { | |
341 | + color: #2FA0BB; | |
342 | + font-weight: bold; | |
343 | +} | |
344 | + | |
345 | +.author { | |
346 | + color: #999; | |
347 | +} | |
348 | + | |
349 | + | |
350 | + | |
351 | + | |
352 | +.dark_scheme_box { | |
353 | + padding:20px 0; | |
354 | + | |
355 | + label { | |
356 | + float:left; | |
357 | + box-shadow: 0 0px 5px rgba(0,0,0,.3); | |
358 | + | |
359 | + img { | |
360 | + } | |
361 | + } | |
362 | +} | |
363 | + | |
364 | +a.project-update.titled { | |
365 | + position: relative; | |
366 | + padding-left: 235px !important; | |
367 | + | |
368 | + .title-block { | |
369 | + padding: 10px; | |
370 | + width: 205px; | |
371 | + position: absolute; | |
372 | + left: 0; | |
373 | + top: 0; | |
374 | + } | |
375 | +} | |
376 | + | |
377 | +.add_new { | |
378 | + float: right; | |
379 | + background: #A6B807; | |
380 | + color: white; | |
381 | + padding: 4px 10px; | |
382 | + @include round-borders-all(4px); | |
383 | + font-size:11px; | |
384 | + margin: 10px 0; | |
385 | +} | ... | ... |
app/views/dashboard/_issues_feed.html.haml
... | ... | @@ -4,8 +4,8 @@ |
4 | 4 | .data |
5 | 5 | - @issues.each do |update| |
6 | 6 | %a.project-update{:href => dashboard_feed_path(update.project, update)} |
7 | - %strong.issue-number= "##{update.id}" | |
8 | - %span.update-title | |
7 | + .avatar= image_tag gravatar_icon(update.assignee_email), :class => "avatar", :width => 32 | |
8 | + %div | |
9 | 9 | = truncate update.title, :length => 35 |
10 | 10 | .right= truncate update.project.name |
11 | 11 | %span.update-author |
... | ... | @@ -15,9 +15,9 @@ |
15 | 15 | ago |
16 | 16 | .right |
17 | 17 | - if update.critical |
18 | - %span.tag.high critical | |
18 | + %span.label.important critical | |
19 | 19 | - if update.today? |
20 | - %span.tag.today today | |
20 | + %span.label.new today | |
21 | 21 | |
22 | 22 | - else |
23 | 23 | %h2 | ... | ... |
app/views/dashboard/_projects_feed.html.haml
... | ... | @@ -2,19 +2,18 @@ |
2 | 2 | - @active_projects.first(3).each do |project| |
3 | 3 | .project-box.project-updates.ui-box.ui-box-small.ui-box-big |
4 | 4 | = link_to project do |
5 | - %h3= project.name | |
6 | - .data | |
7 | - - project.updates(3).each do |update| | |
8 | - %a.project-update{:href => dashboard_feed_path(project, update)} | |
9 | - = image_tag gravatar_icon(update.author_email), :class => "left", :width => 40 | |
10 | - %span.update-title | |
11 | - = dashboard_feed_title(update) | |
12 | - %span.update-author | |
13 | - %strong= update.author_name | |
14 | - authored | |
15 | - = time_ago_in_words(update.created_at) | |
16 | - ago | |
17 | - .right | |
18 | - - klass = update.class.to_s.split("::").last.downcase | |
19 | - %span.tag{ :class => klass }= klass | |
5 | + %h4= project.name | |
6 | + - project.updates(3).each do |update| | |
7 | + %a.project-update{:href => dashboard_feed_path(project, update)} | |
8 | + = image_tag gravatar_icon(update.author_email), :class => "avatar", :width => 32 | |
9 | + %div | |
10 | + = dashboard_feed_title(update) | |
11 | + %span.update-author | |
12 | + %strong= update.author_name | |
13 | + authored | |
14 | + = time_ago_in_words(update.created_at) | |
15 | + ago | |
16 | + .right | |
17 | + - klass = update.class.to_s.split("::").last.downcase | |
18 | + %span.tag{ :class => klass }= klass | |
20 | 19 | ... | ... |
app/views/dashboard/_sidebar.html.haml
... | ... | @@ -1,16 +0,0 @@ |
1 | -%aside | |
2 | - %h4 | |
3 | - Your Projects | |
4 | - - if current_user.can_create_project? | |
5 | - = link_to new_project_path, :class => "btn small" do | |
6 | - New Project | |
7 | - %ol.project-list | |
8 | - - @projects.each do |project| | |
9 | - %li | |
10 | - %a{:href => project_path(project)} | |
11 | - -#%span.arrow → | |
12 | - %span.project-name= project.name | |
13 | - %span.time | |
14 | - %strong Last activity: | |
15 | - = project.last_activity_date_cached ? time_ago_in_words(project.last_activity_date_cached) + " ago" : "Never" | |
16 | - |
app/views/dashboard/index.html.haml
app/views/dashboard/issues.html.haml
app/views/dashboard/merge_requests.html.haml
... | ... | @@ -0,0 +1,10 @@ |
1 | +.fixed | |
2 | + %aside | |
3 | + = link_to "Activities", dashboard_path, :class => "#{"active" if current_page?(dashboard_path) || current_page?(root_path) }" | |
4 | + = link_to "Projects", projects_path, :class => "#{"active" if current_page?(projects_path)}" | |
5 | + = link_to "Issues", dashboard_issues_path, :class => "#{"active" if current_page?(dashboard_issues_path)}", :id => "issues_slide" | |
6 | + = link_to "Requests", dashboard_merge_requests_path, :class => "#{"active" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" | |
7 | + - if current_user.is_admin? | |
8 | + = link_to admin_root_path, :class => "admin", :title => "Admin" do | |
9 | + Admin | |
10 | + = link_to "Help", help_path, :class => "#{"active" if controller.controller_name == "help"}" | ... | ... |
app/views/layouts/_head_panel.html.haml
... | ... | @@ -16,18 +16,6 @@ |
16 | 16 | = render :partial => "projects/refs", :locals => { :destination => controller.controller_name == "commits" ? "commits" : "tree" } |
17 | 17 | = yield :rss_icon |
18 | 18 | |
19 | - - else | |
20 | - .dashboard_links | |
21 | - = link_to "Activities", dashboard_path, :class => "#{"active" if current_page?(dashboard_path) || current_page?(root_path) }" | |
22 | - = link_to "Projects", projects_path, :class => "#{"active" if current_page?(projects_path)}" | |
23 | - = link_to "Issues", dashboard_issues_path, :class => "#{"active" if current_page?(dashboard_issues_path)}", :id => "issues_slide" | |
24 | - = link_to "Requests", dashboard_merge_requests_path, :class => "#{"active" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" | |
25 | - - if current_user.is_admin? | |
26 | - = link_to admin_root_path, :class => "admin", :title => "Admin" do | |
27 | - Admin | |
28 | - = link_to "Help", help_path, :class => "#{"active" if controller.controller_name == "help"}" | |
29 | - .search | |
30 | - = text_field_tag "search", nil, :placeholder => "Search", :class => "search-input" | |
31 | 19 | |
32 | 20 | .account-box |
33 | 21 | = link_to profile_path, :class => "pic" do |
... | ... | @@ -36,16 +24,3 @@ |
36 | 24 | = link_to profile_path, :class => "username" do |
37 | 25 | My profile |
38 | 26 | = link_to 'Logout', destroy_user_session_path, :class => "logout", :method => :delete |
39 | - - if current_user | |
40 | - = javascript_tag do | |
41 | - $(function(){ | |
42 | - $("#search").autocomplete({ | |
43 | - source: #{raw search_autocomplete_source}, | |
44 | - select: function(event, ui) { location.href = ui.item.url } | |
45 | - }); | |
46 | - }); | |
47 | - | |
48 | - -#- if current_user.require_ssh_key? | |
49 | - #no_ssh_key_defined.big-message.error | |
50 | - %p | |
51 | - No SSH Key is defined. You won't be able to use any Git command!. Click #{link_to( 'here', keys_path )} to add one! | ... | ... |
... | ... | @@ -0,0 +1,35 @@ |
1 | +%aside.projects | |
2 | + - if current_user.can_create_project? | |
3 | + .alert-message.block-message.info | |
4 | + You can create at least | |
5 | + = current_user.projects_limit | |
6 | + projects. Click on button to add a new one | |
7 | + = link_to new_project_path, :class => "btn small" do | |
8 | + New Project | |
9 | + | |
10 | + %h4 | |
11 | + Recent Projects: | |
12 | + %ul | |
13 | + - current_user.projects.order("id DESC").limit(5).each do |project| | |
14 | + %li | |
15 | + = link_to project_path(project) do | |
16 | + = project.name | |
17 | + | |
18 | + %h4 | |
19 | + Recent Issues: | |
20 | + %ul | |
21 | + - current_user.assigned_issues.order("id DESC").limit(5).each do |issue| | |
22 | + %li | |
23 | + = link_to project_issue_path(issue.project, issue) do | |
24 | + = truncate issue.title | |
25 | + | |
26 | + | |
27 | + %h4 | |
28 | + Recent Requests: | |
29 | + %ul | |
30 | + - current_user.assigned_merge_requests.order("id DESC").limit(5).each do |issue| | |
31 | + %li | |
32 | + = link_to project_merge_request_path(issue.project, issue) do | |
33 | + = truncate issue.title | |
34 | + | |
35 | + | ... | ... |
app/views/layouts/admin.html.haml
... | ... | @@ -11,19 +11,17 @@ |
11 | 11 | = javascript_tag do |
12 | 12 | REQ_URI = "#{request.env["REQUEST_URI"]}"; |
13 | 13 | REQ_REFFER = "#{request.env["HTTP_REFERER"]}"; |
14 | - %body{ :class => body_class('project-page'), :id => yield(:boyd_id)} | |
14 | + %body.admin | |
15 | 15 | = render :partial => "layouts/flash" |
16 | - #container | |
17 | - = render :partial => "layouts/head_panel" | |
18 | - .project-container | |
19 | - .project-sidebar | |
20 | - .fixed | |
21 | - %aside | |
22 | - = link_to "Users", admin_users_path, :class => controller.controller_name == "users" ? "current" : nil | |
23 | - = link_to "Projects", admin_projects_path, :class => controller.controller_name == "projects" ? "current" : nil | |
24 | - = link_to "Teams", admin_team_members_path, :class => controller.controller_name == "team_members" ? "current" : nil | |
25 | - = link_to "Emails", admin_emails_path, :class => controller.controller_name == "mailer" ? "current" : nil | |
26 | - = link_to "Resque", "/info/resque" | |
16 | + = render :partial => "layouts/head_panel" | |
17 | + .container-fluid | |
18 | + .sidebar | |
19 | + .fixed | |
20 | + %aside | |
21 | + = link_to "Users", admin_users_path, :class => controller.controller_name == "users" ? "current" : nil | |
22 | + = link_to "Projects", admin_projects_path, :class => controller.controller_name == "projects" ? "current" : nil | |
23 | + = link_to "Teams", admin_team_members_path, :class => controller.controller_name == "team_members" ? "current" : nil | |
24 | + = link_to "Emails", admin_emails_path, :class => controller.controller_name == "mailer" ? "current" : nil | |
25 | + = link_to "Resque", "/info/resque" | |
27 | 26 | |
28 | - .project-content | |
29 | - = yield | |
27 | + .content= yield | ... | ... |
app/views/layouts/application.html.haml
... | ... | @@ -12,5 +12,9 @@ |
12 | 12 | = render :partial => "layouts/flash" |
13 | 13 | = render :partial => "layouts/head_panel" |
14 | 14 | .container-fluid |
15 | - .sidebar= render :partial => "dashboard/sidebar" | |
16 | - .content= yield | |
15 | + .sidebar | |
16 | + = render :partial => "layouts/app_side" | |
17 | + .content | |
18 | + .row | |
19 | + .span10= yield | |
20 | + .span4= render "layouts/projects_side" | ... | ... |
app/views/projects/_form.html.haml
1 | 1 | = form_for(@project, :remote => true) do |f| |
2 | - %div.form_content | |
3 | - - unless @project.new_record? | |
4 | - %h2.icon | |
5 | - %span | |
6 | - = @project.name | |
7 | - .clear | |
8 | - - if @project.errors.any? | |
9 | - %ul.errors_holder | |
2 | + - if @project.errors.any? | |
3 | + .alert-message.block-message.error | |
4 | + %ul | |
10 | 5 | - @project.errors.full_messages.each do |msg| |
11 | 6 | %li= msg |
12 | - %table | |
13 | - %tr | |
14 | - %td= f.label :name | |
15 | - %td= f.text_field :name, :placeholder => "Example Project" | |
16 | - %tr | |
17 | - %td | |
18 | - .left= f.label :path | |
19 | - %cite.right= "git@#{GIT_HOST["host"]}:" | |
20 | - %td | |
21 | - = f.text_field :path, :placeholder => "example_project", :disabled => !@project.new_record? | |
22 | - %tr | |
23 | - %td | |
24 | - .left= f.label :code | |
25 | - %cite.right= "http://#{GIT_HOST["host"]}/" | |
26 | - %td= f.text_field :code, :placeholder => "example" | |
7 | + .clearfix | |
8 | + = f.label :name | |
9 | + .input= f.text_field :name, :placeholder => "Example Project" | |
10 | + .clearfix | |
11 | + = f.label :path do | |
12 | + Path | |
13 | + %cite= "git@#{GIT_HOST["host"]}:" | |
14 | + .input= f.text_field :path, :placeholder => "example_project", :disabled => !@project.new_record? | |
15 | + .clearfix | |
16 | + = f.label :code do | |
17 | + Code | |
18 | + %cite= "http://#{GIT_HOST["host"]}/" | |
19 | + .input= f.text_field :code, :placeholder => "example" | |
27 | 20 | |
28 | - - unless @project.new_record? || @project.heads.empty? | |
29 | - %tr | |
30 | - %td= f.label :default_branch, "Default Branch" | |
31 | - %td= f.select(:default_branch, @project.heads.map(&:name), {}, :style => "width:300px;") | |
21 | + - unless @project.new_record? || @project.heads.empty? | |
22 | + .clearfix | |
23 | + = f.label :default_branch, "Default Branch" | |
24 | + .input= f.select(:default_branch, @project.heads.map(&:name), {}, :style => "width:300px;") | |
32 | 25 | |
33 | - -#%tr | |
34 | - %td= f.label :tag_list | |
35 | - %td= f.text_area :tag_list, :placeholder => "project tags", :style => "height:50px", :id => :tag_field | |
36 | - %tr | |
37 | - %td= f.label :description | |
38 | - %td= f.text_area :description, :placeholder => "project description", :style => "height:50px" | |
26 | + | |
27 | + .clearfix | |
28 | + = f.label :description | |
29 | + .input= f.text_area :description, :placeholder => "project description", :style => "height:50px" | |
39 | 30 | |
40 | - %br | |
41 | - %div{ :class => "ajax_loader", :style => "display:none;height:200px;"} | |
42 | - %center | |
43 | - = image_tag "ajax-loader.gif", :class => "append-bottom" | |
44 | - - if @project.new_record? | |
45 | - %h3.prepend-top Creating project & repository. Please wait for few minutes | |
46 | - - else | |
47 | - %h3.prepend-top Updating project & repository. Please wait for few minutes | |
31 | + %br | |
48 | 32 | |
49 | 33 | .merge-tabs |
50 | 34 | = f.submit 'Save', :class => "btn primary" |
51 | 35 | |
52 | 36 | - unless @project.new_record? |
53 | 37 | .right |
54 | - = link_to 'Remove', @project, :confirm => 'Are you sure?', :method => :delete, :class => "red-button" | |
55 | - | |
56 | - | |
57 | -:javascript | |
58 | - $(function(){ | |
59 | - $('.new_project, .edit_project').bind('ajax:before', function() { | |
60 | - $(this).find(".form_content").hide(); | |
61 | - $('.ajax_loader').show(); | |
62 | - }); | |
63 | - | |
64 | - taggifyForm(); | |
65 | - | |
66 | - $('form #project_default_branch').chosen(); | |
67 | - }) | |
38 | + = link_to 'Remove', @project, :confirm => 'Are you sure?', :method => :delete, :class => "btn" | ... | ... |
app/views/projects/_tile.html.haml
1 | -- @projects.in_groups_of(3, false) do |projects| | |
2 | - - projects.each_with_index do |project, i| | |
3 | - %div.grid_1.projects_selector | |
4 | - %div{ :class => "project-box ui-box ui-box-big" } | |
1 | +- @projects.in_groups_of(2, false) do |projects| | |
2 | + .row | |
3 | + - projects.each_with_index do |project, i| | |
4 | + .span4.well | |
5 | 5 | = link_to project_path(project) do |
6 | 6 | %h3= truncate(project.name, :length => 20) |
7 | - .data | |
8 | - %p.title.repository.git_url_wrapper | |
9 | - %span Repository: | |
10 | - %input{ :value => project.url_to_repo, :class => ['git-url', 'one_click_select', 'text', 'project_list_url'], :readonly => 'readonly' } | |
11 | - %p.title.activity | |
12 | - %span Last Activity: | |
13 | - - if project.last_activity_date_cached | |
14 | - = project.last_activity_date_cached.stamp("Aug 24, 2011") | |
15 | - - else | |
16 | - Never | |
7 | + %p.title.repository.git_url_wrapper | |
8 | + %input{ :value => project.url_to_repo, :class => ['git-url', 'one_click_select', 'text', 'project_list_url'], :readonly => 'readonly' } | |
17 | 9 | |
18 | - .buttons | |
19 | - %a.browse-code.button.yellow{:href => tree_project_ref_path(project, project.root_ref)} Browse code | |
20 | - %a.commits.button.green{:href => project_commits_path(project)} Commits | |
10 | + %a.btn{:href => tree_project_ref_path(project, project.root_ref)} Browse code | |
11 | + %a.btn{:href => project_commits_path(project)} Commits | ... | ... |
app/views/projects/create.js.haml
app/views/projects/index.html.haml
1 | -- content_for(:body_class, "projects-page") | |
2 | -.container_4 | |
3 | - .grid_4 | |
4 | - - if current_user.can_create_project? | |
5 | - %a.grey-button.right{:href => new_project_path} Create new project | |
6 | - %h2.icon | |
7 | - %span | |
8 | - Projects | |
1 | +%h3 Projects | |
2 | +%hr | |
3 | +- unless @projects.empty? | |
4 | + %div.tile= render "tile" | |
9 | 5 | |
10 | - %div.clear | |
11 | - - unless @projects.empty? | |
12 | - %div{:class => "tile"} | |
13 | - = render "tile" | |
6 | + -# If projects requris paging | |
7 | + -# We add ajax loader & init script | |
8 | + - if @projects.count == @limit | |
9 | + .loading{ :style => "display:none;"} | |
10 | + %center= image_tag "ajax-loader.gif" | |
14 | 11 | |
15 | - -# If projects requris paging | |
16 | - -# We add ajax loader & init script | |
17 | - - if @projects.count == @limit | |
18 | - .clear | |
19 | - .loading{ :style => "display:none;"} | |
20 | - %center= image_tag "ajax-loader.gif" | |
21 | - | |
22 | - :javascript | |
23 | - $(function(){ | |
24 | - ProjectsList.init(16); | |
25 | - }); | |
26 | - - else | |
27 | - %center.prepend-top | |
28 | - %h2 | |
29 | - %cite Nothing here | |
12 | + :javascript | |
13 | + $(function(){ | |
14 | + ProjectsList.init(16); | |
15 | + }); | |
16 | +- else | |
17 | + %h2 Nothing here | ... | ... |
app/views/projects/new.html.haml
1 | -- content_for(:body_class, "new-project-page") | |
2 | -- content_for(:page_title) do | |
3 | - .new-project-hodler | |
4 | - .container | |
5 | - %h2.icon | |
6 | - %span | |
7 | - New Project | |
8 | - | |
9 | - %div.clear | |
10 | - = render 'form' | |
1 | +%h3 New Project | |
2 | +%hr | |
3 | += render 'form' | |
4 | +%div{ :class => "ajax_loader", :style => "display:none;height:200px;"} | |
5 | + %center | |
6 | + = image_tag "ajax-loader.gif", :class => "append-bottom" | |
7 | + %h3.prepend-top Creating project & repository. Please wait for few minutes | |
11 | 8 | |
12 | 9 | :javascript |
13 | 10 | $(function(){ |
14 | - $("#project_name").change(function(){ | |
11 | + $("#project_name").live("change", function(){ | |
15 | 12 | var slug = slugify($(this).val()); |
16 | 13 | $("#project_code").val(slug); |
17 | 14 | $("#project_path").val(slug); |
... | ... | @@ -21,3 +18,11 @@ |
21 | 18 | function slugify(text) { |
22 | 19 | return text.replace(/[^-a-zA-Z0-9]+/g, '_').toLowerCase(); |
23 | 20 | } |
21 | + | |
22 | + $(function(){ | |
23 | + $('.new_project').live('ajax:before', function() { | |
24 | + $(this).hide(); | |
25 | + $('.ajax_loader').show(); | |
26 | + }); | |
27 | + $('form #project_default_branch').chosen(); | |
28 | + }) | ... | ... |
app/views/projects/update.js.haml
spec/requests/merge_requests_spec.rb
... | ... | @@ -42,7 +42,7 @@ describe "MergeRequests" do |
42 | 42 | |
43 | 43 | it { should have_content(@merge_request.title[0..10]) } |
44 | 44 | it "Show page should inform user that merge request closed" do |
45 | - within ".merge-tabs" do | |
45 | + within ".tabs" do | |
46 | 46 | page.should have_content "Reopen" |
47 | 47 | end |
48 | 48 | end | ... | ... |