##// END OF EJS Templates
main-page: fixed jumping of text in grid loading....
dan -
r4185:d325c1c9 stable
parent child Browse files
Show More
@@ -1,542 +1,553 b''
1
1
2 // tables.less
2 // tables.less
3 // For use in RhodeCode application tables;
3 // For use in RhodeCode application tables;
4 // see style guide documentation for guidelines.
4 // see style guide documentation for guidelines.
5
5
6 // TABLES
6 // TABLES
7
7
8 .rctable,
8 .rctable,
9 table.rctable,
9 table.rctable,
10 table.dataTable {
10 table.dataTable {
11 clear:both;
11 clear:both;
12 width: 100%;
12 width: 100%;
13 margin: 0 auto @padding;
13 margin: 0 auto @padding;
14 padding: 0;
14 padding: 0;
15 vertical-align: baseline;
15 vertical-align: baseline;
16 line-height:1.5em;
16 line-height:1.5em;
17 border: none;
17 border: none;
18 outline: none;
18 outline: none;
19 border-collapse: collapse;
19 border-collapse: collapse;
20 border-spacing: 0;
20 border-spacing: 0;
21 color: @grey2;
21 color: @grey2;
22
22
23 b {
23 b {
24 font-weight: normal;
24 font-weight: normal;
25 }
25 }
26
26
27 em {
27 em {
28 font-weight: bold;
28 font-weight: bold;
29 font-style: normal;
29 font-style: normal;
30 }
30 }
31
31
32 .td-user {
32 .td-user {
33 .rc-user {
33 .rc-user {
34 white-space: nowrap;
34 white-space: nowrap;
35 }
35 }
36 }
36 }
37
37
38 .td-email {
38 .td-email {
39 white-space: nowrap;
39 white-space: nowrap;
40 }
40 }
41
41
42 th,
42 th,
43 td {
43 td {
44 height: auto;
44 height: auto;
45 max-width: 20%;
45 max-width: 20%;
46 padding: .65em 0 .65em 1em;
46 padding: .65em 0 .65em 1em;
47 vertical-align: middle;
47 vertical-align: middle;
48 border-bottom: @border-thickness solid @grey5;
48 border-bottom: @border-thickness solid @grey5;
49 white-space: normal;
49 white-space: normal;
50
50
51 &.td-radio,
51 &.td-radio,
52 &.td-checkbox {
52 &.td-checkbox {
53 padding-right: 0;
53 padding-right: 0;
54 text-align: center;
54 text-align: center;
55
55
56 input {
56 input {
57 margin: 0 1em;
57 margin: 0 1em;
58 }
58 }
59 }
59 }
60
60
61 &.truncate-wrap {
61 &.truncate-wrap {
62 white-space: nowrap !important;
62 white-space: nowrap !important;
63 }
63 }
64
64
65 pre {
65 pre {
66 margin: 0;
66 margin: 0;
67 }
67 }
68
68
69 .show_more {
69 .show_more {
70 height: inherit;
70 height: inherit;
71 }
71 }
72 }
72 }
73
73
74 .expired td {
74 .expired td {
75 background-color: @grey7;
75 background-color: @grey7;
76 }
76 }
77 .inactive td {
77 .inactive td {
78 background-color: @grey6;
78 background-color: @grey6;
79 }
79 }
80 th {
80 th {
81 text-align: left;
81 text-align: left;
82 font-weight: @text-semibold-weight;
82 font-weight: @text-semibold-weight;
83 font-family: @text-semibold;
83 font-family: @text-semibold;
84 }
84 }
85
85
86 .hl {
86 .hl {
87 td {
87 td {
88 background-color: lighten(@alert4,25%);
88 background-color: lighten(@alert4,25%);
89 }
89 }
90 }
90 }
91
91
92 // Special Data Cell Types
92 // Special Data Cell Types
93 // See style guide for desciptions and examples.
93 // See style guide for desciptions and examples.
94
94
95 td {
95 td {
96
96
97 &.user {
97 &.user {
98 padding-left: 1em;
98 padding-left: 1em;
99 }
99 }
100
100
101 &.td-rss {
101 &.td-rss {
102 width: 20px;
102 width: 20px;
103 min-width: 0;
103 min-width: 0;
104 margin: 0;
104 margin: 0;
105 }
105 }
106
106
107 &.quick_repo_menu {
107 &.quick_repo_menu {
108 width: 15px;
108 width: 15px;
109 text-align: center;
109 text-align: center;
110
110
111 &:hover {
111 &:hover {
112 background-color: @grey5;
112 background-color: @grey5;
113 }
113 }
114 }
114 }
115
115
116 &.td-icon {
116 &.td-icon {
117 min-width: 20px;
117 min-width: 20px;
118 width: 20px;
118 width: 20px;
119 }
119 }
120
120
121 &.td-hash {
121 &.td-hash {
122 min-width: 80px;
122 min-width: 80px;
123 width: 200px;
123 width: 200px;
124
124
125 .obsolete {
125 .obsolete {
126 text-decoration: line-through;
126 text-decoration: line-through;
127 color: lighten(@grey2,25%);
127 color: lighten(@grey2,25%);
128 }
128 }
129 }
129 }
130
130
131 &.td-sha {
131 &.td-sha {
132 white-space: nowrap;
132 white-space: nowrap;
133 }
133 }
134
134
135 &.td-graphbox {
135 &.td-graphbox {
136 width: 100px;
136 width: 100px;
137 max-width: 100px;
137 max-width: 100px;
138 min-width: 100px;
138 min-width: 100px;
139 }
139 }
140
140
141 &.td-time {
141 &.td-time {
142 width: 160px;
142 width: 160px;
143 white-space: nowrap;
143 white-space: nowrap;
144 }
144 }
145
145
146 &.annotate{
146 &.annotate{
147 padding-right: 0;
147 padding-right: 0;
148
148
149 div.annotatediv{
149 div.annotatediv{
150 margin: 0 0.7em;
150 margin: 0 0.7em;
151 }
151 }
152 }
152 }
153
153
154 &.tags-col {
154 &.tags-col {
155 padding-right: 0;
155 padding-right: 0;
156 }
156 }
157
157
158 &.td-description {
158 &.td-description {
159 min-width: 350px;
159 min-width: 350px;
160
160
161 &.truncate, .truncate-wrap {
161 &.truncate, .truncate-wrap {
162 white-space: nowrap;
162 white-space: nowrap;
163 overflow: hidden;
163 overflow: hidden;
164 text-overflow: ellipsis;
164 text-overflow: ellipsis;
165 max-width: 350px;
165 max-width: 350px;
166 }
166 }
167 }
167 }
168
168
169 &.td-grid-name {
169 &.td-grid-name {
170 white-space: nowrap;
170 white-space: nowrap;
171 min-width: 300px;
171 min-width: 300px;
172 }
172 }
173
173
174 &.td-componentname {
174 &.td-componentname {
175 white-space: nowrap;
175 white-space: nowrap;
176 }
176 }
177
177
178 &.td-name {
178 &.td-name {
179
179
180 }
180 }
181
181
182 &.td-journalaction {
182 &.td-journalaction {
183 min-width: 300px;
183 min-width: 300px;
184
184
185 .journal_action_params {
185 .journal_action_params {
186 // waiting for feedback
186 // waiting for feedback
187 }
187 }
188 }
188 }
189
189
190 &.td-active {
190 &.td-active {
191 padding-left: .65em;
191 padding-left: .65em;
192 }
192 }
193
193
194 &.td-issue-tracker-name {
194 &.td-issue-tracker-name {
195 width: 180px;
195 width: 180px;
196 input {
196 input {
197 width: 180px;
197 width: 180px;
198 }
198 }
199
199
200 }
200 }
201
201
202 &.td-issue-tracker-regex {
202 &.td-issue-tracker-regex {
203 white-space: nowrap;
203 white-space: nowrap;
204
204
205 min-width: 300px;
205 min-width: 300px;
206 input {
206 input {
207 min-width: 300px;
207 min-width: 300px;
208 }
208 }
209
209
210 }
210 }
211
211
212 &.td-url {
212 &.td-url {
213 white-space: nowrap;
213 white-space: nowrap;
214 }
214 }
215
215
216 &.td-comments {
216 &.td-comments {
217 min-width: 3em;
217 min-width: 3em;
218 }
218 }
219
219
220 &.td-buttons {
220 &.td-buttons {
221 padding: .3em 0;
221 padding: .3em 0;
222 }
222 }
223 &.td-align-top {
223 &.td-align-top {
224 vertical-align: text-top
224 vertical-align: text-top
225 }
225 }
226 &.td-action {
226 &.td-action {
227 // this is for the remove/delete/edit buttons
227 // this is for the remove/delete/edit buttons
228 padding-right: 0;
228 padding-right: 0;
229 min-width: 95px;
229 min-width: 95px;
230 text-transform: capitalize;
230 text-transform: capitalize;
231
231
232 i {
232 i {
233 display: none;
233 display: none;
234 }
234 }
235 }
235 }
236
236
237 // TODO: lisa: this needs to be cleaned up with the buttons
237 // TODO: lisa: this needs to be cleaned up with the buttons
238 .grid_edit,
238 .grid_edit,
239 .grid_delete {
239 .grid_delete {
240 display: inline-block;
240 display: inline-block;
241 margin: 0 @padding/3 0 0;
241 margin: 0 @padding/3 0 0;
242 font-family: @text-light;
242 font-family: @text-light;
243
243
244 i {
244 i {
245 display: none;
245 display: none;
246 }
246 }
247 }
247 }
248
248
249 .grid_edit + .grid_delete {
249 .grid_edit + .grid_delete {
250 border-left: @border-thickness solid @grey5;
250 border-left: @border-thickness solid @grey5;
251 padding-left: @padding/2;
251 padding-left: @padding/2;
252 }
252 }
253
253
254 &.td-compare {
254 &.td-compare {
255
255
256 input {
256 input {
257 margin-right: 1em;
257 margin-right: 1em;
258 }
258 }
259
259
260 .compare-radio-button {
260 .compare-radio-button {
261 margin: 0 1em 0 0;
261 margin: 0 1em 0 0;
262 }
262 }
263
263
264
264
265 }
265 }
266
266
267 &.td-tags {
267 &.td-tags {
268 padding: .5em 1em .5em 0;
268 padding: .5em 1em .5em 0;
269 width: 140px;
269 width: 140px;
270
270
271 .tag {
271 .tag {
272 margin: 1px;
272 margin: 1px;
273 float: left;
273 float: left;
274 }
274 }
275 }
275 }
276
276
277 .icon-svn, .icon-hg, .icon-git {
277 .icon-svn, .icon-hg, .icon-git {
278 font-size: 1.4em;
278 font-size: 1.4em;
279 }
279 }
280
280
281 &.collapse_commit,
281 &.collapse_commit,
282 &.expand_commit {
282 &.expand_commit {
283 padding-right: 0;
283 padding-right: 0;
284 padding-left: 1em;
284 padding-left: 1em;
285 cursor: pointer;
285 cursor: pointer;
286 width: 20px;
286 width: 20px;
287 }
287 }
288 }
288 }
289
289
290 .perm_admin_row {
290 .perm_admin_row {
291 color: @grey4;
291 color: @grey4;
292 background-color: @grey6;
292 background-color: @grey6;
293 }
293 }
294
294
295 .noborder {
295 .noborder {
296 border: none;
296 border: none;
297
297
298 td {
298 td {
299 border: none;
299 border: none;
300 }
300 }
301 }
301 }
302 }
302 }
303 .rctable.audit-log {
303 .rctable.audit-log {
304 td {
304 td {
305 vertical-align: top;
305 vertical-align: top;
306 }
306 }
307 }
307 }
308
308
309 // TRUNCATING
309 // TRUNCATING
310 // TODO: lisaq: should this possibly be moved out of tables.less?
310 // TODO: lisaq: should this possibly be moved out of tables.less?
311 // for truncated text
311 // for truncated text
312 // used inside of table cells and in code block headers
312 // used inside of table cells and in code block headers
313 .truncate-wrap {
313 .truncate-wrap {
314 white-space: nowrap !important;
314 white-space: nowrap !important;
315
315
316 //truncated text
316 //truncated text
317 .truncate {
317 .truncate {
318 max-width: 450px;
318 max-width: 450px;
319 width: 300px;
319 width: 300px;
320 overflow: hidden;
320 overflow: hidden;
321 text-overflow: ellipsis;
321 text-overflow: ellipsis;
322 -o-text-overflow: ellipsis;
322 -o-text-overflow: ellipsis;
323 -ms-text-overflow: ellipsis;
323 -ms-text-overflow: ellipsis;
324
324
325 &.autoexpand {
325 &.autoexpand {
326 width: 120px;
326 width: 120px;
327 margin-right: 200px;
327 margin-right: 200px;
328 }
328 }
329 }
329 }
330 &:hover .truncate.autoexpand {
330 &:hover .truncate.autoexpand {
331 overflow: visible;
331 overflow: visible;
332 }
332 }
333
333
334 .tags-truncate {
334 .tags-truncate {
335 width: 150px;
335 width: 150px;
336 height: 22px;
336 height: 22px;
337 overflow: hidden;
337 overflow: hidden;
338
338
339 .tag {
339 .tag {
340 display: inline-block;
340 display: inline-block;
341 }
341 }
342
342
343 &.truncate {
343 &.truncate {
344 height: 22px;
344 height: 22px;
345 max-height:2em;
345 max-height:2em;
346 width: 140px;
346 width: 140px;
347 }
347 }
348 }
348 }
349 }
349 }
350
350
351 .apikeys_wrap {
351 .apikeys_wrap {
352 margin-bottom: @padding;
352 margin-bottom: @padding;
353
353
354 table.rctable td:first-child {
354 table.rctable td:first-child {
355 width: 340px;
355 width: 340px;
356 }
356 }
357 }
357 }
358
358
359
359
360
360
361 // SPECIAL CASES
361 // SPECIAL CASES
362
362
363 // Repository Followers
363 // Repository Followers
364 table.rctable.followers_data {
364 table.rctable.followers_data {
365 width: 75%;
365 width: 75%;
366 margin: 0;
366 margin: 0;
367 }
367 }
368
368
369 // Repository List
369 // Repository List
370 // Group Members List
370 // Group Members List
371 table.rctable.group_members,
371 table.rctable.group_members,
372 table#repo_list_table {
372 table#repo_list_table {
373 min-width: 600px;
373 min-width: 600px;
374 }
374 }
375
375
376 #no_grid_data {
377 text-align: center;
378 }
379
380 #grid_data_loading {
381 text-align: center;
382 font-weight: 600;
383 font-size: 16px;
384 padding: 80px 20px;
385 }
386
376 // Keyboard mappings
387 // Keyboard mappings
377 table.keyboard-mappings {
388 table.keyboard-mappings {
378 th {
389 th {
379 text-align: left;
390 text-align: left;
380 font-weight: @text-semibold-weight;
391 font-weight: @text-semibold-weight;
381 font-family: @text-semibold;
392 font-family: @text-semibold;
382 }
393 }
383 }
394 }
384
395
385 // Branches, Tags, and Bookmarks
396 // Branches, Tags, and Bookmarks
386 #obj_list_table.dataTable {
397 #obj_list_table.dataTable {
387 td.td-time {
398 td.td-time {
388 padding-right: 1em;
399 padding-right: 1em;
389 }
400 }
390 }
401 }
391
402
392 // User Admin
403 // User Admin
393 .rctable.useremails,
404 .rctable.useremails,
394 .rctable.account_emails {
405 .rctable.account_emails {
395 .tag,
406 .tag,
396 .btn {
407 .btn {
397 float: right;
408 float: right;
398 }
409 }
399 .btn { //to line up with tags
410 .btn { //to line up with tags
400 margin-right: 1.65em;
411 margin-right: 1.65em;
401 }
412 }
402 }
413 }
403
414
404 // User List
415 // User List
405 #user_list_table {
416 #user_list_table {
406
417
407 td.td-user {
418 td.td-user {
408 min-width: 100px;
419 min-width: 100px;
409 }
420 }
410 }
421 }
411
422
412 // Pull Request List Table
423 // Pull Request List Table
413 #pull_request_list_table.dataTable {
424 #pull_request_list_table.dataTable {
414
425
415 //TODO: lisa: This needs to be removed once the description is adjusted
426 //TODO: lisa: This needs to be removed once the description is adjusted
416 // for using an expand_commit button (see issue 765)
427 // for using an expand_commit button (see issue 765)
417 td {
428 td {
418 vertical-align: middle;
429 vertical-align: middle;
419 }
430 }
420 }
431 }
421
432
422 // Settings (no border)
433 // Settings (no border)
423 table.rctable.dl-settings {
434 table.rctable.dl-settings {
424 td {
435 td {
425 border: none;
436 border: none;
426 vertical-align: baseline;
437 vertical-align: baseline;
427 }
438 }
428 }
439 }
429
440
430
441
431 // Statistics
442 // Statistics
432 table.trending_language_tbl {
443 table.trending_language_tbl {
433 width: 100%;
444 width: 100%;
434 line-height: 1em;
445 line-height: 1em;
435
446
436 td div {
447 td div {
437 overflow: visible;
448 overflow: visible;
438 }
449 }
439 }
450 }
440
451
441 .trending_language_tbl, .trending_language_tbl td {
452 .trending_language_tbl, .trending_language_tbl td {
442 border: 0;
453 border: 0;
443 margin: 0;
454 margin: 0;
444 padding: 0;
455 padding: 0;
445 background: transparent;
456 background: transparent;
446 }
457 }
447
458
448 .trending_language_tbl, .trending_language_tbl tr {
459 .trending_language_tbl, .trending_language_tbl tr {
449 border-spacing: 0 3px;
460 border-spacing: 0 3px;
450 }
461 }
451
462
452 .trending_language {
463 .trending_language {
453 position: relative;
464 position: relative;
454 overflow: hidden;
465 overflow: hidden;
455 color: @text-color;
466 color: @text-color;
456 width: 400px;
467 width: 400px;
457
468
458 .lang-bar {
469 .lang-bar {
459 z-index: 1;
470 z-index: 1;
460 overflow: hidden;
471 overflow: hidden;
461 background-color: @rcblue;
472 background-color: @rcblue;
462 color: #FFF;
473 color: #FFF;
463 text-decoration: none;
474 text-decoration: none;
464 }
475 }
465
476
466 }
477 }
467
478
468 // Changesets
479 // Changesets
469 #changesets.rctable {
480 #changesets.rctable {
470 th {
481 th {
471 padding: 0 1em 0.65em 0;
482 padding: 0 1em 0.65em 0;
472 }
483 }
473
484
474 // td must be fixed height for graph
485 // td must be fixed height for graph
475 td {
486 td {
476 height: 32px;
487 height: 32px;
477 padding: 0 1em 0 0;
488 padding: 0 1em 0 0;
478 vertical-align: middle;
489 vertical-align: middle;
479 white-space: nowrap;
490 white-space: nowrap;
480
491
481 &.td-description {
492 &.td-description {
482 white-space: normal;
493 white-space: normal;
483 }
494 }
484
495
485 &.expand_commit {
496 &.expand_commit {
486 padding-right: 0;
497 padding-right: 0;
487 cursor: pointer;
498 cursor: pointer;
488 width: 20px;
499 width: 20px;
489 }
500 }
490 }
501 }
491 }
502 }
492
503
493 // Compare
504 // Compare
494 table.compare_view_commits {
505 table.compare_view_commits {
495 margin-top: @space;
506 margin-top: @space;
496
507
497 td.td-time {
508 td.td-time {
498 padding-left: .5em;
509 padding-left: .5em;
499 }
510 }
500
511
501 // special case to not show hover actions on hidden indicator
512 // special case to not show hover actions on hidden indicator
502 tr.compare_select_hidden:hover {
513 tr.compare_select_hidden:hover {
503 cursor: inherit;
514 cursor: inherit;
504
515
505 td {
516 td {
506 background-color: inherit;
517 background-color: inherit;
507 }
518 }
508 }
519 }
509
520
510 tr:hover {
521 tr:hover {
511 cursor: pointer;
522 cursor: pointer;
512
523
513 td {
524 td {
514 background-color: lighten(@alert4,25%);
525 background-color: lighten(@alert4,25%);
515 }
526 }
516 }
527 }
517
528
518
529
519 }
530 }
520
531
521 .file_history {
532 .file_history {
522 td.td-actions {
533 td.td-actions {
523 text-align: right;
534 text-align: right;
524 }
535 }
525 }
536 }
526
537
527
538
528 // Gist List
539 // Gist List
529 #gist_list_table {
540 #gist_list_table {
530 td {
541 td {
531 vertical-align: middle;
542 vertical-align: middle;
532
543
533 div{
544 div{
534 display: inline-block;
545 display: inline-block;
535 vertical-align: middle;
546 vertical-align: middle;
536 }
547 }
537
548
538 img{
549 img{
539 vertical-align: middle;
550 vertical-align: middle;
540 }
551 }
541 }
552 }
542 }
553 }
@@ -1,223 +1,231 b''
1 <%inherit file="/base/base.mako"/>
1 <%inherit file="/base/base.mako"/>
2
2
3
3
4 <%def name="menu_bar_subnav()">
4 <%def name="menu_bar_subnav()">
5 % if c.repo_group:
5 % if c.repo_group:
6 ${self.repo_group_menu(active='home')}
6 ${self.repo_group_menu(active='home')}
7 % endif
7 % endif
8 </%def>
8 </%def>
9
9
10
10
11 <%def name="main()">
11 <%def name="main()">
12 <div class="box">
12 <div class="box">
13 <!-- box / title -->
13 <!-- box / title -->
14 <div class="title">
14 <div class="title">
15
15
16 </div>
16 </div>
17
17 <!-- end box / title -->
18 <!-- end box / title -->
18 <div id="no_grid_data" class="table" style="display: none">
19 <div id="no_grid_data" class="table" style="display: none">
19 <h2 class="no-object-border">
20 <h2>
20 ${_('No repositories or repositories groups exists here.')}
21 ${_('No repositories or repositories groups exists here.')}
21 </h2>
22 </h2>
22 </div>
23 </div>
23
24
25 <div id="grid_data_loading" class="table" style="display: none">
26 <i class="icon-spin animate-spin"></i>
27 ${_('loading...')}
28 </div>
29
24 <div class="table">
30 <div class="table">
25 <div id="groups_list_wrap" style="min-height: 200px;">
31 <div id="groups_list_wrap" style="min-height: 200px;display: none">
26 <table id="group_list_table" class="display" style="width: 100%;"></table>
32 <table id="group_list_table" class="display" style="width: 100%;"></table>
27 </div>
33 </div>
28 </div>
34 </div>
29
35
30 <div class="table">
36 <div class="table">
31 <div id="repos_list_wrap" style="min-height: 200px;">
37 <div id="repos_list_wrap" style="min-height: 200px;display: none">
32 <table id="repo_list_table" class="display" style="width: 100%;"></table>
38 <table id="repo_list_table" class="display" style="width: 100%;"></table>
33 </div>
39 </div>
34 </div>
40 </div>
35
41
36 </div>
42 </div>
43
37 <script>
44 <script>
38 $(document).ready(function () {
45 $(document).ready(function () {
46 var noRepoData = null;
47 var noGroupData = null;
48 var $gridDataLoading = $('#grid_data_loading');
39
49
40 // repo group list
50 // global show loading of hidden grids
51 $(document).on('preInit.dt', function (e, settings) {
52 $gridDataLoading.show();
53 });
54
55 ## repo group list
41 var $groupListTable = $('#group_list_table');
56 var $groupListTable = $('#group_list_table');
42
57
58 $groupListTable.on('xhr.dt', function (e, settings, json, xhr) {
59 $gridDataLoading.hide();
60 });
43 $groupListTable.DataTable({
61 $groupListTable.DataTable({
44 processing: true,
62 processing: true,
45 serverSide: true,
63 serverSide: true,
46 ajax: {
64 ajax: {
47 "url": "${h.route_path('main_page_repo_groups_data')}",
65 "url": "${h.route_path('main_page_repo_groups_data')}",
48 "data": function (d) {
66 "data": function (d) {
49 % if c.repo_group:
67 % if c.repo_group:
50 d.repo_group_id = ${c.repo_group.group_id}
68 d.repo_group_id = ${c.repo_group.group_id}
51 % endif
69 % endif
52 }
70 }
53 },
71 },
54 dom: 'rtp',
72 dom: 'rtp',
55 pageLength: ${c.visual.dashboard_items},
73 pageLength: ${c.visual.dashboard_items},
56 order: [[0, "asc"]],
74 order: [[0, "asc"]],
57 columns: [
75 columns: [
58 {
76 {
59 data: {
77 data: {
60 "_": "name",
78 "_": "name",
61 "sort": "name"
79 "sort": "name"
62 }, title: "${_('Name')}", className: "truncate-wrap td-grid-name"
80 }, title: "${_('Name')}", className: "truncate-wrap td-grid-name"
63 },
81 },
64 {
82 {
65 data: 'menu', "bSortable": false, className: "quick_repo_menu"
83 data: 'menu', "bSortable": false, className: "quick_repo_menu"
66 },
84 },
67 {
85 {
68 data: {
86 data: {
69 "_": "desc",
87 "_": "desc",
70 "sort": "desc"
88 "sort": "desc"
71 }, title: "${_('Description')}", className: "td-description"
89 }, title: "${_('Description')}", className: "td-description"
72 },
90 },
73 {
91 {
74 data: {
92 data: {
75 "_": "last_change",
93 "_": "last_change",
76 "sort": "last_change",
94 "sort": "last_change",
77 "type": Number
95 "type": Number
78 }, title: "${_('Last Change')}", className: "td-time"
96 }, title: "${_('Last Change')}", className: "td-time"
79 },
97 },
80 {
98 {
81 data: {
99 data: {
82 "_": "last_changeset",
100 "_": "last_changeset",
83 "sort": "last_changeset_raw",
101 "sort": "last_changeset_raw",
84 "type": Number
102 "type": Number
85 }, title: "", className: "td-hash", orderable: false
103 }, title: "", className: "td-hash", orderable: false
86 },
104 },
87 {
105 {
88 data: {
106 data: {
89 "_": "owner",
107 "_": "owner",
90 "sort": "owner"
108 "sort": "owner"
91 }, title: "${_('Owner')}", className: "td-user"
109 }, title: "${_('Owner')}", className: "td-user"
92 }
110 }
93 ],
111 ],
94 language: {
112 language: {
95 paginate: DEFAULT_GRID_PAGINATION,
113 paginate: DEFAULT_GRID_PAGINATION,
96 sProcessing: _gettext('loading...'),
114 sProcessing: _gettext('loading...'),
97 emptyTable: _gettext("No repository groups present.")
115 emptyTable: _gettext("No repository groups present.")
98 },
116 },
99 "drawCallback": function (settings, json) {
117 "drawCallback": function (settings, json) {
118
100 // hide grid if it's empty
119 // hide grid if it's empty
101 if (settings.fnRecordsDisplay() === 0) {
120 if (settings.fnRecordsDisplay() === 0) {
102 $('#groups_list_wrap').hide();
121 noGroupData = true;
103 // both hidden, show no-data
122 // both hidden, show no-data
104 if ($('#repos_list_wrap').is(':hidden')) {
123 if (noRepoData === true) {
105 $('#no_grid_data').show();
124 $('#no_grid_data').show();
106 }
125 }
107 } else {
126 } else {
108 $('#groups_list_wrap').show();
127 $('#groups_list_wrap').show();
109 }
128 }
110
129
111 timeagoActivate();
130 timeagoActivate();
112 tooltipActivate();
131 tooltipActivate();
113 quick_repo_menu();
132 quick_repo_menu();
114 // hide pagination for single page
133 // hide pagination for single page
115 if (settings._iDisplayLength >= settings.fnRecordsDisplay()) {
134 if (settings._iDisplayLength >= settings.fnRecordsDisplay()) {
116 $(settings.nTableWrapper).find('.dataTables_paginate').hide();
135 $(settings.nTableWrapper).find('.dataTables_paginate').hide();
117 }
136 }
118
137
119 },
138 },
120 });
139 });
121
140
122 $groupListTable.on('xhr.dt', function (e, settings, json, xhr) {
123 $groupListTable.css('opacity', 1);
124 });
125
141
126 $groupListTable.on('preXhr.dt', function (e, settings, data) {
142 ## repo list
127 $groupListTable.css('opacity', 0.3);
128 });
129
130
131 ## // repo list
132 var $repoListTable = $('#repo_list_table');
143 var $repoListTable = $('#repo_list_table');
133
144
145 $repoListTable.on('xhr.dt', function (e, settings, json, xhr) {
146 $gridDataLoading.hide();
147 });
134 $repoListTable.DataTable({
148 $repoListTable.DataTable({
135 processing: true,
149 processing: true,
136 serverSide: true,
150 serverSide: true,
137 ajax: {
151 ajax: {
138 "url": "${h.route_path('main_page_repos_data')}",
152 "url": "${h.route_path('main_page_repos_data')}",
139 "data": function (d) {
153 "data": function (d) {
140 % if c.repo_group:
154 % if c.repo_group:
141 d.repo_group_id = ${c.repo_group.group_id}
155 d.repo_group_id = ${c.repo_group.group_id}
142 % endif
156 % endif
143 }
157 }
144 },
158 },
145 order: [[0, "asc"]],
159 order: [[0, "asc"]],
146 dom: 'rtp',
160 dom: 'rtp',
147 pageLength: ${c.visual.dashboard_items},
161 pageLength: ${c.visual.dashboard_items},
148 columns: [
162 columns: [
149 {
163 {
150 data: {
164 data: {
151 "_": "name",
165 "_": "name",
152 "sort": "name"
166 "sort": "name"
153 }, title: "${_('Name')}", className: "truncate-wrap td-grid-name"
167 }, title: "${_('Name')}", className: "truncate-wrap td-grid-name"
154 },
168 },
155 {
169 {
156 data: 'menu', "bSortable": false, className: "quick_repo_menu"
170 data: 'menu', "bSortable": false, className: "quick_repo_menu"
157 },
171 },
158 {
172 {
159 data: {
173 data: {
160 "_": "desc",
174 "_": "desc",
161 "sort": "desc"
175 "sort": "desc"
162 }, title: "${_('Description')}", className: "td-description"
176 }, title: "${_('Description')}", className: "td-description"
163 },
177 },
164 {
178 {
165 data: {
179 data: {
166 "_": "last_change",
180 "_": "last_change",
167 "sort": "last_change",
181 "sort": "last_change",
168 "type": Number
182 "type": Number
169 }, title: "${_('Last Change')}", className: "td-time"
183 }, title: "${_('Last Change')}", className: "td-time"
170 },
184 },
171 {
185 {
172 data: {
186 data: {
173 "_": "last_changeset",
187 "_": "last_changeset",
174 "sort": "last_changeset_raw",
188 "sort": "last_changeset_raw",
175 "type": Number
189 "type": Number
176 }, title: "${_('Commit')}", className: "td-hash", orderable: false
190 }, title: "${_('Commit')}", className: "td-hash", orderable: false
177 },
191 },
178 {
192 {
179 data: {
193 data: {
180 "_": "owner",
194 "_": "owner",
181 "sort": "owner"
195 "sort": "owner"
182 }, title: "${_('Owner')}", className: "td-user"
196 }, title: "${_('Owner')}", className: "td-user"
183 }
197 }
184 ],
198 ],
185 language: {
199 language: {
186 paginate: DEFAULT_GRID_PAGINATION,
200 paginate: DEFAULT_GRID_PAGINATION,
187 sProcessing: _gettext('loading...'),
201 sProcessing: _gettext('loading...'),
188 emptyTable: _gettext("No repositories present.")
202 emptyTable: _gettext("No repositories present.")
189 },
203 },
190 "drawCallback": function (settings, json) {
204 "drawCallback": function (settings, json) {
205
191 // hide grid if it's empty
206 // hide grid if it's empty
192 if (settings.fnRecordsDisplay() == 0) {
207 if (settings.fnRecordsDisplay() == 0) {
193 $('#repos_list_wrap').hide()
208 noRepoData = true;
209
194 // both hidden, show no-data
210 // both hidden, show no-data
195 if ($('#groups_list_wrap').is(':hidden')) {
211 if (noGroupData === true) {
196 $('#no_grid_data').show()
212 $('#no_grid_data').show()
197 }
213 }
198 } else {
214 } else {
199 $('#repos_list_wrap').show()
215 $('#repos_list_wrap').show()
200 }
216 }
201
217
202 timeagoActivate();
218 timeagoActivate();
203 tooltipActivate();
219 tooltipActivate();
204 quick_repo_menu();
220 quick_repo_menu();
205 // hide pagination for single page
221 // hide pagination for single page
206 if (settings._iDisplayLength >= settings.fnRecordsDisplay()) {
222 if (settings._iDisplayLength >= settings.fnRecordsDisplay()) {
207 $(settings.nTableWrapper).find('.dataTables_paginate').hide();
223 $(settings.nTableWrapper).find('.dataTables_paginate').hide();
208 }
224 }
209
225
210 },
226 },
211 });
227 });
212
228
213 $repoListTable.on('xhr.dt', function (e, settings, json, xhr) {
214 $repoListTable.css('opacity', 1);
215 });
216
217 $repoListTable.on('preXhr.dt', function (e, settings, data) {
218 $repoListTable.css('opacity', 0.3);
219 });
220
221 });
229 });
222 </script>
230 </script>
223 </%def>
231 </%def>
General Comments 0
You need to be logged in to leave comments. Login now