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