Commit 9b5728057e1d0a47fd2923c3b2fa2248edebafac

Authored by Dmitriy Zaporozhets
1 parent 67798492

Restyle issue/mr top filters for list

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/assets/stylesheets/generic/common.scss
... ... @@ -112,6 +112,7 @@ pre.well-pre {
112 112 .dropdown-menu > li > a:hover,
113 113 .dropdown-menu > li > a:focus {
114 114 background: #29b;
  115 + color: #FFF
115 116 }
116 117  
117 118 .breadcrumb > li + li:before {
... ...
app/assets/stylesheets/sections/issues.scss
... ... @@ -14,8 +14,8 @@
14 14  
15 15 .issue-check {
16 16 float: left;
17   - padding: 8px 0;
18 17 padding-right: 8px;
  18 + margin-bottom: 10px;
19 19 min-width: 15px;
20 20 }
21 21  
... ... @@ -38,13 +38,21 @@
38 38 }
39 39 }
40 40  
41   -input.check_all_issues {
  41 +.check-all-holder {
  42 + height: 32px;
42 43 float: left;
43   - padding: 0;
44   - margin: 0;
45   - margin-right: 10px;
46   - position: relative;
47   - top: 13px;
  44 + margin-right: 12px;
  45 + padding: 6px 10px;
  46 + border: 1px solid #ccc;
  47 + @include border-radius(4px);
  48 +
  49 +
  50 + input.check_all_issues {
  51 + padding: 0;
  52 + margin: 0;
  53 + position: relative;
  54 + top: 3px;
  55 + }
48 56 }
49 57  
50 58 .issues_content {
... ... @@ -91,6 +99,13 @@ input.check_all_issues {
91 99 .update_selected_issues {
92 100 margin-left: 4px;
93 101 }
  102 +
  103 + .select2-container .select2-choice {
  104 + height: 32px;
  105 + line-height: 28px;
  106 + color: #444 !important;
  107 + font-weight: 500;
  108 + }
94 109 }
95 110 }
96 111  
... ...
app/helpers/issues_helper.rb
... ... @@ -70,11 +70,11 @@ module IssuesHelper
70 70 end
71 71  
72 72 def bulk_update_milestone_options
73   - options_for_select(["None (backlog)", nil]) + options_from_collection_for_select(project_active_milestones, "id", "title", params[:milestone_id])
  73 + options_for_select(["None (backlog)"]) + options_from_collection_for_select(project_active_milestones, "id", "title", params[:milestone_id])
74 74 end
75 75  
76 76 def bulk_update_assignee_options
77   - options_for_select(["None (unassigned)", nil]) + options_from_collection_for_select(@project.team.members, "id", "name", params[:assignee_id])
  77 + options_for_select(["None (unassigned)"]) + options_from_collection_for_select(@project.team.members, "id", "name", params[:assignee_id])
78 78 end
79 79  
80 80 def assignee_options object
... ...
app/views/projects/issues/_head.html.haml
... ... @@ -17,10 +17,10 @@
17 17  
18 18 %li.pull-right
19 19 .pull-right
20   - = form_tag project_issues_path(@project), method: :get, id: "issue_search_form", class: 'inline issue-search-form' do
  20 + = form_tag project_issues_path(@project), method: :get, id: "issue_search_form", class: 'pull-left issue-search-form' do
21 21 .append-right-10.hidden-xs.hidden-sm
22 22 = search_field_tag :issue_search, nil, { placeholder: 'Filter by title or description', class: 'form-control issue_search search-text-input input-mn-300' }
23 23 - if can? current_user, :write_issue, @project
24   - = link_to new_project_issue_path(@project, issue: { assignee_id: params[:assignee_id], milestone_id: params[:milestone_id]}), class: "btn btn-new", title: "New Issue", id: "new_issue_link" do
  24 + = link_to new_project_issue_path(@project, issue: { assignee_id: params[:assignee_id], milestone_id: params[:milestone_id]}), class: "btn btn-new pull-left", title: "New Issue", id: "new_issue_link" do
25 25 %i.icon-plus
26 26 New Issue
... ...
app/views/projects/issues/_issues.html.haml
1   -.ui-box
2   - .title
  1 +.append-bottom-10
  2 + .check-all-holder
3 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 selected issues with &nbsp;
8   - = select_tag('update[status]', options_for_select(['open', 'closed']), prompt: "Status")
9   - = project_users_select_tag('update[assignee_id]', placeholder: 'Assignee')
10   - = select_tag('update[milestone_id]', bulk_update_milestone_options, prompt: "Milestone")
11   - = hidden_field_tag 'update[issues_ids]', []
12   - = hidden_field_tag :status, params[:status]
13   - = button_tag "Save", class: "btn update_selected_issues btn-small btn-save"
14   - .issues-filters
15   - %span Filter by
16   - .dropdown.inline.prepend-left-10
17   - %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
18   - %i.icon-tags
19   - %span.light labels:
20   - - if params[:label_name].present?
21   - %strong= params[:label_name]
22   - - else
23   - Any
24   - %b.caret
25   - %ul.dropdown-menu
26   - %li
27   - = link_to project_filter_path(label_name: nil) do
28   - Any
29   - - issue_label_names.each do |label_name|
30   - %li
31   - = link_to project_filter_path(label_name: label_name) do
32   - %span{class: "label #{label_css_class(label_name)}"}
33   - %i.icon-tag
34   - = label_name
35   - .dropdown.inline.prepend-left-10
36   - %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
37   - %i.icon-user
38   - %span.light assignee:
39   - - if @assignee.present?
40   - %strong= @assignee.name
41   - - elsif params[:assignee_id] == "0"
42   - Unassigned
43   - - else
44   - Any
45   - %b.caret
46   - %ul.dropdown-menu
47   - %li
48   - = link_to project_filter_path(assignee_id: nil) do
49   - Any
50   - = link_to project_filter_path(assignee_id: 0) do
51   - Unassigned
52   - - @assignees.sort_by(&:name).each do |user|
53   - %li
54   - = link_to project_filter_path(assignee_id: user.id) do
55   - = image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
56   - = user.name
  4 + .issues-filters
  5 + .dropdown.inline
  6 + %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
  7 + %i.icon-tags
  8 + %span.light labels:
  9 + - if params[:label_name].present?
  10 + %strong= params[:label_name]
  11 + - else
  12 + Any
  13 + %b.caret
  14 + %ul.dropdown-menu
  15 + %li
  16 + = link_to project_filter_path(label_name: nil) do
  17 + Any
  18 + - issue_label_names.each do |label_name|
  19 + %li
  20 + = link_to project_filter_path(label_name: label_name) do
  21 + %span{class: "label #{label_css_class(label_name)}"}
  22 + %i.icon-tag
  23 + = label_name
  24 + .dropdown.inline.prepend-left-10
  25 + %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
  26 + %i.icon-user
  27 + %span.light assignee:
  28 + - if @assignee.present?
  29 + %strong= @assignee.name
  30 + - elsif params[:assignee_id] == "0"
  31 + Unassigned
  32 + - else
  33 + Any
  34 + %b.caret
  35 + %ul.dropdown-menu
  36 + %li
  37 + = link_to project_filter_path(assignee_id: nil) do
  38 + Any
  39 + = link_to project_filter_path(assignee_id: 0) do
  40 + Unassigned
  41 + - @assignees.sort_by(&:name).each do |user|
  42 + %li
  43 + = link_to project_filter_path(assignee_id: user.id) do
  44 + = image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
  45 + = user.name
57 46  
58   - .dropdown.inline.prepend-left-10
59   - %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
60   - %i.icon-time
61   - %span.light milestone:
62   - - if @milestone.present?
63   - %strong= @milestone.title
64   - - elsif params[:milestone_id] == "0"
65   - None (backlog)
66   - - else
67   - Any
68   - %b.caret
69   - %ul.dropdown-menu
70   - %li
71   - = link_to project_filter_path(milestone_id: nil) do
72   - Any
73   - = link_to project_filter_path(milestone_id: 0) do
74   - None (backlog)
75   - - project_active_milestones.each do |milestone|
76   - %li
77   - = link_to project_filter_path(milestone_id: milestone.id) do
78   - %strong= milestone.title
79   - %small.light= milestone.expires_at
  47 + .dropdown.inline.prepend-left-10
  48 + %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
  49 + %i.icon-time
  50 + %span.light milestone:
  51 + - if @milestone.present?
  52 + %strong= @milestone.title
  53 + - elsif params[:milestone_id] == "0"
  54 + None (backlog)
  55 + - else
  56 + Any
  57 + %b.caret
  58 + %ul.dropdown-menu
  59 + %li
  60 + = link_to project_filter_path(milestone_id: nil) do
  61 + Any
  62 + = link_to project_filter_path(milestone_id: 0) do
  63 + None (backlog)
  64 + - project_active_milestones.each do |milestone|
  65 + %li
  66 + = link_to project_filter_path(milestone_id: milestone.id) do
  67 + %strong= milestone.title
  68 + %small.light= milestone.expires_at
80 69  
81   - .pull-right
82   - = render 'shared/sort_dropdown'
  70 + .pull-right
  71 + = render 'shared/sort_dropdown'
83 72  
  73 + .clearfix
  74 + .issues_bulk_update.hide
  75 + = form_tag bulk_update_project_issues_path(@project), method: :post do
  76 + = select_tag('update[status]', options_for_select(['Open', 'Closed']), prompt: "Status")
  77 + = project_users_select_tag('update[assignee_id]', placeholder: 'Assignee')
  78 + = select_tag('update[milestone_id]', bulk_update_milestone_options, prompt: "Milestone")
  79 + = hidden_field_tag 'update[issues_ids]', []
  80 + = hidden_field_tag :status, params[:status]
  81 + = button_tag "Update issues", class: "btn update_selected_issues btn-save"
84 82  
  83 +.ui-box
85 84 %ul.well-list.issues-list
86 85 = render @issues
87 86 - if @issues.blank?
... ...
app/views/projects/merge_requests/index.html.haml
... ... @@ -10,59 +10,57 @@
10 10 .col-md-3
11 11 = render 'shared/project_filter', project_entities_path: project_merge_requests_path(@project)
12 12 .col-md-9
13   - .ui-box
14   - .title
15   - .mr-filters
16   - %span Filter by
17   - .dropdown.inline.prepend-left-10
18   - %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
19   - %i.icon-user
20   - %span.light assignee:
21   - - if @assignee.present?
22   - %strong= @assignee.name
23   - - elsif params[:assignee_id] == "0"
24   - Unassigned
25   - - else
26   - Any
27   - %b.caret
28   - %ul.dropdown-menu
29   - %li
30   - = link_to project_filter_path(assignee_id: nil) do
31   - Any
32   - = link_to project_filter_path(assignee_id: 0) do
33   - Unassigned
34   - - @assignees.sort_by(&:name).each do |user|
35   - %li
36   - = link_to project_filter_path(assignee_id: user.id) do
37   - = image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
38   - = user.name
  13 + .mr-filters.append-bottom-10
  14 + .dropdown.inline
  15 + %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
  16 + %i.icon-user
  17 + %span.light assignee:
  18 + - if @assignee.present?
  19 + %strong= @assignee.name
  20 + - elsif params[:assignee_id] == "0"
  21 + Unassigned
  22 + - else
  23 + Any
  24 + %b.caret
  25 + %ul.dropdown-menu
  26 + %li
  27 + = link_to project_filter_path(assignee_id: nil) do
  28 + Any
  29 + = link_to project_filter_path(assignee_id: 0) do
  30 + Unassigned
  31 + - @assignees.sort_by(&:name).each do |user|
  32 + %li
  33 + = link_to project_filter_path(assignee_id: user.id) do
  34 + = image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
  35 + = user.name
39 36  
40   - .dropdown.inline.prepend-left-10
41   - %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
42   - %i.icon-time
43   - %span.light milestone:
44   - - if @milestone.present?
45   - %strong= @milestone.title
46   - - elsif params[:milestone_id] == "0"
47   - None (backlog)
48   - - else
49   - Any
50   - %b.caret
51   - %ul.dropdown-menu
52   - %li
53   - = link_to project_filter_path(milestone_id: nil) do
54   - Any
55   - = link_to project_filter_path(milestone_id: 0) do
56   - None (backlog)
57   - - project_active_milestones.each do |milestone|
58   - %li
59   - = link_to project_filter_path(milestone_id: milestone.id) do
60   - %strong= milestone.title
61   - %small.light= milestone.expires_at
  37 + .dropdown.inline.prepend-left-10
  38 + %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
  39 + %i.icon-time
  40 + %span.light milestone:
  41 + - if @milestone.present?
  42 + %strong= @milestone.title
  43 + - elsif params[:milestone_id] == "0"
  44 + None (backlog)
  45 + - else
  46 + Any
  47 + %b.caret
  48 + %ul.dropdown-menu
  49 + %li
  50 + = link_to project_filter_path(milestone_id: nil) do
  51 + Any
  52 + = link_to project_filter_path(milestone_id: 0) do
  53 + None (backlog)
  54 + - project_active_milestones.each do |milestone|
  55 + %li
  56 + = link_to project_filter_path(milestone_id: milestone.id) do
  57 + %strong= milestone.title
  58 + %small.light= milestone.expires_at
62 59  
63   - .pull-right
64   - = render 'shared/sort_dropdown'
  60 + .pull-right
  61 + = render 'shared/sort_dropdown'
65 62  
  63 + .ui-box
66 64 %ul.well-list.mr-list
67 65 = render @merge_requests
68 66 - if @merge_requests.blank?
... ...
app/views/shared/_sort_dropdown.html.haml
1 1 .dropdown.inline.prepend-left-10
2   - %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
  2 + %a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
3 3 %span.light sort:
4 4 - if @sort.present?
5 5 = @sort
... ...