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,7 +12,7 @@ function initIssuesSearch() { | ||
| 12 | 12 | ||
| 13 | if (terms.length >= 2 || terms.length == 0) { | 13 | if (terms.length >= 2 || terms.length == 0) { |
| 14 | $.get(href, { 'status': status, 'terms': terms, 'milestone_id': milestone_id }, function(response) { | 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,13 +69,6 @@ fieldset legend { font-size: 17px; } | ||
| 69 | 69 | ||
| 70 | /** PAGINATION **/ | 70 | /** PAGINATION **/ |
| 71 | .gitlab_pagination { | 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 | .tab-content { | 74 | .tab-content { |
app/assets/stylesheets/sections/issues.scss
| @@ -77,7 +77,7 @@ input.check_all_issues { | @@ -77,7 +77,7 @@ input.check_all_issues { | ||
| 77 | @media (min-width: 800px) { .issues_bulk_update select { width: 120px; } } | 77 | @media (min-width: 800px) { .issues_bulk_update select { width: 120px; } } |
| 78 | @media (min-width: 1200px) { .issues_bulk_update select { width: 160px; } } | 78 | @media (min-width: 1200px) { .issues_bulk_update select { width: 160px; } } |
| 79 | 79 | ||
| 80 | -#issues-table-holder { | 80 | +.issues-holder { |
| 81 | .issues_filters { | 81 | .issues_filters { |
| 82 | } | 82 | } |
| 83 | 83 |
app/views/admin/groups/index.html.haml
| @@ -34,4 +34,4 @@ | @@ -34,4 +34,4 @@ | ||
| 34 | %td.bgred | 34 | %td.bgred |
| 35 | = link_to 'Edit', edit_admin_group_path(group), id: "edit_#{dom_id(group)}", class: "btn btn-small" | 35 | = link_to 'Edit', edit_admin_group_path(group), id: "edit_#{dom_id(group)}", class: "btn btn-small" |
| 36 | = link_to 'Destroy', [:admin, group], confirm: "REMOVE #{group.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" | 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,6 +56,4 @@ | ||
| 56 | = link_to 'Destroy', [project], confirm: "REMOVE #{project.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" | 56 | = link_to 'Destroy', [project], confirm: "REMOVE #{project.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" |
| 57 | - if @projects.blank? | 57 | - if @projects.blank? |
| 58 | %p.nothing_here_message 0 projects matches | 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,4 +40,4 @@ | ||
| 40 | = link_to 'Edit', edit_admin_team_path(team), id: "edit_#{dom_id(team)}", class: "btn btn-small" | 40 | = link_to 'Edit', edit_admin_team_path(team), id: "edit_#{dom_id(team)}", class: "btn btn-small" |
| 41 | = link_to 'Destroy', admin_team_path(team), confirm: "REMOVE #{team.name}? Are you sure?", method: :delete, class: "btn btn-small btn-remove" | 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,5 +58,4 @@ | ||
| 58 | - else | 58 | - else |
| 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" | 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 | = link_to 'Destroy', [:admin, user], confirm: "USER #{user.name} WILL BE REMOVED! Are you sure?", method: :delete, class: "btn btn-small btn-remove" | 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 | - if @issues.present? | 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,30 +19,8 @@ | ||
| 19 | .row | 19 | .row |
| 20 | .span3 | 20 | .span3 |
| 21 | = render 'filter', entity: 'issue' | 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 | :javascript | 25 | :javascript |
| 48 | $(function(){ | 26 | $(function(){ |
app/views/issues/index.js.haml
app/views/kaminari/admin/_first_page.html.haml
| @@ -1,9 +0,0 @@ | @@ -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,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,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,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,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,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,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
| @@ -4,5 +4,6 @@ | @@ -4,5 +4,6 @@ | ||
| 4 | -# num_pages: total number of pages | 4 | -# num_pages: total number of pages |
| 5 | -# per_page: number of items to fetch per page | 5 | -# per_page: number of items to fetch per page |
| 6 | -# remote: data-remote | 6 | -# remote: data-remote |
| 7 | -%span.page.gap | ||
| 8 | - = raw(t 'views.pagination.truncate') | 7 | +%li{class: "page"} |
| 8 | + %span.page.gap | ||
| 9 | + = raw(t 'views.pagination.truncate') |
app/views/kaminari/gitlab/_next_page.html.haml
| @@ -5,5 +5,5 @@ | @@ -5,5 +5,5 @@ | ||
| 5 | -# num_pages: total number of pages | 5 | -# num_pages: total number of pages |
| 6 | -# per_page: number of items to fetch per page | 6 | -# per_page: number of items to fetch per page |
| 7 | -# remote: data-remote | 7 | -# remote: data-remote |
| 8 | -%span.next | 8 | +%li.next |
| 9 | = link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, rel: 'next', remote: remote | 9 | = link_to_unless current_page.last?, raw(t 'views.pagination.next'), url, rel: 'next', remote: remote |
app/views/kaminari/gitlab/_page.html.haml
| @@ -6,5 +6,5 @@ | @@ -6,5 +6,5 @@ | ||
| 6 | -# num_pages: total number of pages | 6 | -# num_pages: total number of pages |
| 7 | -# per_page: number of items to fetch per page | 7 | -# per_page: number of items to fetch per page |
| 8 | -# remote: data-remote | 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,11 +6,12 @@ | ||
| 6 | -# remote: data-remote | 6 | -# remote: data-remote |
| 7 | -# paginator: the paginator that renders the pagination tags inside | 7 | -# paginator: the paginator that renders the pagination tags inside |
| 8 | = paginator.render do | 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
| @@ -5,5 +5,5 @@ | @@ -5,5 +5,5 @@ | ||
| 5 | -# num_pages: total number of pages | 5 | -# num_pages: total number of pages |
| 6 | -# per_page: number of items to fetch per page | 6 | -# per_page: number of items to fetch per page |
| 7 | -# remote: data-remote | 7 | -# remote: data-remote |
| 8 | -%span.prev | 8 | +%li{class: "prev" } |
| 9 | = link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote | 9 | = link_to_unless current_page.first?, raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote |
app/views/merge_requests/index.html.haml
| @@ -25,11 +25,11 @@ | @@ -25,11 +25,11 @@ | ||
| 25 | - if @merge_requests.blank? | 25 | - if @merge_requests.blank? |
| 26 | %li | 26 | %li |
| 27 | %h4.nothing_here_message Nothing to show here | 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 | :javascript | 34 | :javascript |
| 35 | $(merge_requestsPage); | 35 | $(merge_requestsPage); |
app/views/public/projects/index.html.haml