Commit 9fddd5b440105376caf913e1c09756ec2aaf4431
1 parent
52ad34fd
Exists in
master
and in
4 other branches
Refactoring & restyle pagination:
- remove admin kaminari theme. Use gitlab theme everywhere - use bootstrap styled for gitlab admin themes - dont reload page when change issue filter
Showing
24 changed files
with
63 additions
and
142 deletions
Show diff stats
app/assets/javascripts/issues.js
... | ... | @@ -12,7 +12,7 @@ function initIssuesSearch() { |
12 | 12 | |
13 | 13 | if (terms.length >= 2 || terms.length == 0) { |
14 | 14 | $.get(href, { 'status': status, 'terms': terms, 'milestone_id': milestone_id }, function(response) { |
15 | - $('#issues-table').html(response); | |
15 | + $('.issues-holder').html(response); | |
16 | 16 | }); |
17 | 17 | } |
18 | 18 | } | ... | ... |
app/assets/stylesheets/gitlab_bootstrap/common.scss
... | ... | @@ -69,13 +69,6 @@ fieldset legend { font-size: 17px; } |
69 | 69 | |
70 | 70 | /** PAGINATION **/ |
71 | 71 | .gitlab_pagination { |
72 | - span a { color: $link_color; } | |
73 | - .prev, .next, .current, .page a { | |
74 | - padding: 10px; | |
75 | - } | |
76 | - .current { | |
77 | - border-bottom: 2px solid $style_color; | |
78 | - } | |
79 | 72 | } |
80 | 73 | |
81 | 74 | .tab-content { | ... | ... |
app/assets/stylesheets/sections/issues.scss
... | ... | @@ -77,7 +77,7 @@ input.check_all_issues { |
77 | 77 | @media (min-width: 800px) { .issues_bulk_update select { width: 120px; } } |
78 | 78 | @media (min-width: 1200px) { .issues_bulk_update select { width: 160px; } } |
79 | 79 | |
80 | -#issues-table-holder { | |
80 | +.issues-holder { | |
81 | 81 | .issues_filters { |
82 | 82 | } |
83 | 83 | ... | ... |
app/views/admin/groups/index.html.haml
... | ... | @@ -34,4 +34,4 @@ |
34 | 34 | %td.bgred |
35 | 35 | = link_to 'Edit', edit_admin_group_path(group), id: "edit_#{dom_id(group)}", class: "btn btn-small" |
36 | 36 | = link_to 'Destroy', [:admin, group], confirm: "REMOVE #{group.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" |
37 | -= paginate @groups, theme: "admin" | |
37 | += paginate @groups, theme: "gitlab" | ... | ... |
app/views/admin/projects/index.html.haml
... | ... | @@ -56,6 +56,4 @@ |
56 | 56 | = link_to 'Destroy', [project], confirm: "REMOVE #{project.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" |
57 | 57 | - if @projects.blank? |
58 | 58 | %p.nothing_here_message 0 projects matches |
59 | - - else | |
60 | - %li.bottom | |
61 | - = paginate @projects, theme: "gitlab" | |
59 | + = paginate @projects, theme: "gitlab" | ... | ... |
app/views/admin/teams/index.html.haml
... | ... | @@ -40,4 +40,4 @@ |
40 | 40 | = link_to 'Edit', edit_admin_team_path(team), id: "edit_#{dom_id(team)}", class: "btn btn-small" |
41 | 41 | = link_to 'Destroy', admin_team_path(team), confirm: "REMOVE #{team.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" |
42 | 42 | |
43 | -= paginate @teams, theme: "admin" | |
43 | += paginate @teams, theme: "gitlab" | ... | ... |
app/views/admin/users/index.html.haml
... | ... | @@ -58,5 +58,4 @@ |
58 | 58 | - else |
59 | 59 | = link_to 'Block', block_admin_user_path(user), confirm: 'USER WILL BE BLOCKED! Are you sure?', method: :put, class: "btn btn-small btn-remove" |
60 | 60 | = link_to 'Destroy', [:admin, user], confirm: "USER #{user.name} WILL BE REMOVED! Are you sure?", method: :delete, class: "btn btn-small btn-remove" |
61 | - %li.bottom | |
62 | - = paginate @admin_users, theme: "gitlab" | |
61 | + = paginate @admin_users, theme: "gitlab" | ... | ... |
app/views/issues/_issues.html.haml
1 | -= render @issues | |
1 | +.ui-box | |
2 | + .title | |
3 | + = check_box_tag "check_all_issues", nil, false, class: "check_all_issues left" | |
4 | + .clearfix | |
5 | + .issues_bulk_update.hide | |
6 | + = form_tag bulk_update_project_issues_path(@project), method: :post do | |
7 | + %span.update_issues_text Update selected issues with | |
8 | + .left | |
9 | + = select_tag('update[status]', options_for_select(['open', 'closed']), prompt: "Status") | |
10 | + = select_tag('update[assignee_id]', options_from_collection_for_select(@project.users.all, "id", "name", params[:assignee_id]), prompt: "Assignee") | |
11 | + = select_tag('update[milestone_id]', options_from_collection_for_select(issues_active_milestones, "id", "title", params[:milestone_id]), prompt: "Milestone") | |
12 | + = hidden_field_tag 'update[issues_ids]', [] | |
13 | + = hidden_field_tag :status, params[:status] | |
14 | + = button_tag "Save", class: "btn update_selected_issues btn-small btn-save" | |
15 | + .issues_filters | |
16 | + = form_tag project_issues_path(@project), method: :get, remote: true do | |
17 | + = select_tag(:label_name, options_for_select(issue_tags, params[:label_name]), prompt: "Labels") | |
18 | + = select_tag(:assignee_id, options_from_collection_for_select([unassigned_filter] + @project.users.all, "id", "name", params[:assignee_id]), prompt: "Assignee") | |
19 | + = select_tag(:milestone_id, options_from_collection_for_select([unassigned_filter] + issues_active_milestones, "id", "title", params[:milestone_id]), prompt: "Milestone") | |
20 | + = hidden_field_tag :status, params[:status] | |
21 | + | |
22 | + %ul.well-list.issues-list | |
23 | + = render @issues | |
24 | + - if @issues.blank? | |
25 | + %li | |
26 | + %h4.nothing_here_message Nothing to show here | |
2 | 27 | |
3 | 28 | - if @issues.present? |
4 | - %li.bottom | |
5 | - .left= paginate @issues, remote: true, theme: "gitlab" | |
6 | - .pull-right | |
7 | - %span.issue_counter #{@issues.total_count} | |
8 | - issues for this filter | |
9 | -- else | |
10 | - %li | |
11 | - %h4.nothing_here_message Nothing to show here | |
29 | + .pull-right | |
30 | + %span.issue_counter #{@issues.total_count} | |
31 | + issues for this filter | |
12 | 32 | |
33 | + = paginate @issues, remote: true, theme: "gitlab" | ... | ... |
app/views/issues/index.html.haml
... | ... | @@ -19,30 +19,8 @@ |
19 | 19 | .row |
20 | 20 | .span3 |
21 | 21 | = render 'filter', entity: 'issue' |
22 | - .span9 | |
23 | - %div#issues-table-holder.ui-box | |
24 | - .title | |
25 | - = check_box_tag "check_all_issues", nil, false, class: "check_all_issues left" | |
26 | - .clearfix | |
27 | - .issues_bulk_update.hide | |
28 | - = form_tag bulk_update_project_issues_path(@project), method: :post do | |
29 | - %span.update_issues_text Update selected issues with | |
30 | - .left | |
31 | - = select_tag('update[status]', options_for_select(['open', 'closed']), prompt: "Status") | |
32 | - = select_tag('update[assignee_id]', options_from_collection_for_select(@project.users.all, "id", "name", params[:assignee_id]), prompt: "Assignee") | |
33 | - = select_tag('update[milestone_id]', options_from_collection_for_select(issues_active_milestones, "id", "title", params[:milestone_id]), prompt: "Milestone") | |
34 | - = hidden_field_tag 'update[issues_ids]', [] | |
35 | - = hidden_field_tag :status, params[:status] | |
36 | - = button_tag "Save", class: "btn update_selected_issues btn-small btn-save" | |
37 | - .issues_filters | |
38 | - = form_tag project_issues_path(@project), method: :get do | |
39 | - = select_tag(:label_name, options_for_select(issue_tags, params[:label_name]), prompt: "Labels") | |
40 | - = select_tag(:assignee_id, options_from_collection_for_select([unassigned_filter] + @project.users.all, "id", "name", params[:assignee_id]), prompt: "Assignee") | |
41 | - = select_tag(:milestone_id, options_from_collection_for_select([unassigned_filter] + issues_active_milestones, "id", "title", params[:milestone_id]), prompt: "Milestone") | |
42 | - = hidden_field_tag :status, params[:status] | |
43 | - | |
44 | - %ul#issues-table.well-list.issues-list | |
45 | - = render "issues" | |
22 | + .span9.issues-holder | |
23 | + = render "issues" | |
46 | 24 | |
47 | 25 | :javascript |
48 | 26 | $(function(){ | ... | ... |
app/views/issues/index.js.haml
app/views/kaminari/admin/_first_page.html.haml
... | ... | @@ -1,9 +0,0 @@ |
1 | --# Link to the "First" page | |
2 | --# available local variables | |
3 | --# url: url to the first page | |
4 | --# current_page: a page object for the currently displayed page | |
5 | --# num_pages: total number of pages | |
6 | --# per_page: number of items to fetch per page | |
7 | --# remote: data-remote | |
8 | -%span.first | |
9 | - = link_to_unless current_page.first?, raw(t 'views.pagination.first'), url, remote: remote |
app/views/kaminari/admin/_gap.html.haml
... | ... | @@ -1,9 +0,0 @@ |
1 | --# Non-link tag that stands for skipped pages... | |
2 | --# available local variables | |
3 | --# current_page: a page object for the currently displayed page | |
4 | --# num_pages: total number of pages | |
5 | --# per_page: number of items to fetch per page | |
6 | --# remote: data-remote | |
7 | -%li{class: "page"} | |
8 | - %span.page.gap | |
9 | - = raw(t 'views.pagination.truncate') |
app/views/kaminari/admin/_last_page.html.haml
... | ... | @@ -1,9 +0,0 @@ |
1 | --# Link to the "Last" page | |
2 | --# available local variables | |
3 | --# url: url to the last page | |
4 | --# current_page: a page object for the currently displayed page | |
5 | --# num_pages: total number of pages | |
6 | --# per_page: number of items to fetch per page | |
7 | --# remote: data-remote | |
8 | -%span.last | |
9 | - = link_to_unless current_page.last?, raw(t 'views.pagination.last'), url, {remote: remote} |
app/views/kaminari/admin/_next_page.html.haml
... | ... | @@ -1,9 +0,0 @@ |
1 | --# Link to the "Next" page | |
2 | --# available local variables | |
3 | --# url: url to the next page | |
4 | --# current_page: a page object for the currently displayed page | |
5 | --# num_pages: total number of pages | |
6 | --# per_page: number of items to fetch per page | |
7 | --# remote: data-remote | |
8 | -%li.next | |
9 | - = link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, rel: 'next', remote: remote |
app/views/kaminari/admin/_page.html.haml
... | ... | @@ -1,10 +0,0 @@ |
1 | --# Link showing page number | |
2 | --# available local variables | |
3 | --# page: a page object for "this" page | |
4 | --# url: url to this page | |
5 | --# current_page: a page object for the currently displayed page | |
6 | --# num_pages: total number of pages | |
7 | --# per_page: number of items to fetch per page | |
8 | --# remote: data-remote | |
9 | -%li{class: "page#{' active' if page.current?}"} | |
10 | - = link_to page, url, {remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil} |
app/views/kaminari/admin/_paginator.html.haml
... | ... | @@ -1,17 +0,0 @@ |
1 | --# The container tag | |
2 | --# available local variables | |
3 | --# current_page: a page object for the currently displayed page | |
4 | --# num_pages: total number of pages | |
5 | --# per_page: number of items to fetch per page | |
6 | --# remote: data-remote | |
7 | --# paginator: the paginator that renders the pagination tags inside | |
8 | -= paginator.render do | |
9 | - %div.pagination | |
10 | - %ul | |
11 | - = prev_page_tag unless current_page.first? | |
12 | - - each_page do |page| | |
13 | - - if page.left_outer? || page.right_outer? || page.inside_window? | |
14 | - = page_tag page | |
15 | - - elsif !page.was_truncated? | |
16 | - = gap_tag | |
17 | - = next_page_tag unless current_page.last? |
app/views/kaminari/admin/_prev_page.html.haml
... | ... | @@ -1,9 +0,0 @@ |
1 | --# Link to the "Previous" page | |
2 | --# available local variables | |
3 | --# url: url to the previous page | |
4 | --# current_page: a page object for the currently displayed page | |
5 | --# num_pages: total number of pages | |
6 | --# per_page: number of items to fetch per page | |
7 | --# remote: data-remote | |
8 | -%li{class: "prev" } | |
9 | - = link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote |
app/views/kaminari/gitlab/_gap.html.haml
app/views/kaminari/gitlab/_next_page.html.haml
app/views/kaminari/gitlab/_page.html.haml
... | ... | @@ -6,5 +6,5 @@ |
6 | 6 | -# num_pages: total number of pages |
7 | 7 | -# per_page: number of items to fetch per page |
8 | 8 | -# remote: data-remote |
9 | -%span{class: "page#{' current' if page.current?}"} | |
10 | - = link_to_unless page.current?, page, url, {remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil} | |
9 | +%li{class: "page#{' active' if page.current?}"} | |
10 | + = link_to page, url, {remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil} | ... | ... |
app/views/kaminari/gitlab/_paginator.html.haml
... | ... | @@ -6,11 +6,12 @@ |
6 | 6 | -# remote: data-remote |
7 | 7 | -# paginator: the paginator that renders the pagination tags inside |
8 | 8 | = paginator.render do |
9 | - %nav.gitlab_pagination | |
10 | - = prev_page_tag | |
11 | - - each_page do |page| | |
12 | - - if page.left_outer? || page.right_outer? || page.inside_window? | |
13 | - = page_tag page | |
14 | - - elsif !page.was_truncated? | |
15 | - = gap_tag | |
16 | - = next_page_tag | |
9 | + %div.pagination | |
10 | + %ul | |
11 | + = prev_page_tag unless current_page.first? | |
12 | + - each_page do |page| | |
13 | + - if page.left_outer? || page.right_outer? || page.inside_window? | |
14 | + = page_tag page | |
15 | + - elsif !page.was_truncated? | |
16 | + = gap_tag | |
17 | + = next_page_tag unless current_page.last? | ... | ... |
app/views/kaminari/gitlab/_prev_page.html.haml
app/views/merge_requests/index.html.haml
... | ... | @@ -25,11 +25,11 @@ |
25 | 25 | - if @merge_requests.blank? |
26 | 26 | %li |
27 | 27 | %h4.nothing_here_message Nothing to show here |
28 | - - if @merge_requests.present? | |
29 | - %li.bottom | |
30 | - .left= paginate @merge_requests, theme: "gitlab" | |
31 | - .pull-right | |
32 | - %span.cgray.pull-right #{@merge_requests.total_count} merge requests for this filter | |
28 | + - if @merge_requests.present? | |
29 | + .pull-right | |
30 | + %span.cgray.pull-right #{@merge_requests.total_count} merge requests for this filter | |
31 | + | |
32 | + = paginate @merge_requests, theme: "gitlab" | |
33 | 33 | |
34 | 34 | :javascript |
35 | 35 | $(merge_requestsPage); | ... | ... |
app/views/public/projects/index.html.haml