Restyle issue/mr top filters for list
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
67798492bc
commit
9b5728057e
|
@ -112,6 +112,7 @@ pre.well-pre {
|
|||
.dropdown-menu > li > a:hover,
|
||||
.dropdown-menu > li > a:focus {
|
||||
background: #29b;
|
||||
color: #FFF
|
||||
}
|
||||
|
||||
.breadcrumb > li + li:before {
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
|
||||
.issue-check {
|
||||
float: left;
|
||||
padding: 8px 0;
|
||||
padding-right: 8px;
|
||||
margin-bottom: 10px;
|
||||
min-width: 15px;
|
||||
}
|
||||
|
||||
|
@ -38,13 +38,21 @@
|
|||
}
|
||||
}
|
||||
|
||||
input.check_all_issues {
|
||||
.check-all-holder {
|
||||
height: 32px;
|
||||
float: left;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
margin-right: 10px;
|
||||
position: relative;
|
||||
top: 13px;
|
||||
margin-right: 12px;
|
||||
padding: 6px 10px;
|
||||
border: 1px solid #ccc;
|
||||
@include border-radius(4px);
|
||||
|
||||
|
||||
input.check_all_issues {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
top: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
.issues_content {
|
||||
|
@ -91,6 +99,13 @@ input.check_all_issues {
|
|||
.update_selected_issues {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.select2-container .select2-choice {
|
||||
height: 32px;
|
||||
line-height: 28px;
|
||||
color: #444 !important;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -70,11 +70,11 @@ module IssuesHelper
|
|||
end
|
||||
|
||||
def bulk_update_milestone_options
|
||||
options_for_select(["None (backlog)", nil]) + options_from_collection_for_select(project_active_milestones, "id", "title", params[:milestone_id])
|
||||
options_for_select(["None (backlog)"]) + options_from_collection_for_select(project_active_milestones, "id", "title", params[:milestone_id])
|
||||
end
|
||||
|
||||
def bulk_update_assignee_options
|
||||
options_for_select(["None (unassigned)", nil]) + options_from_collection_for_select(@project.team.members, "id", "name", params[:assignee_id])
|
||||
options_for_select(["None (unassigned)"]) + options_from_collection_for_select(@project.team.members, "id", "name", params[:assignee_id])
|
||||
end
|
||||
|
||||
def assignee_options object
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
|
||||
%li.pull-right
|
||||
.pull-right
|
||||
= form_tag project_issues_path(@project), method: :get, id: "issue_search_form", class: 'inline issue-search-form' do
|
||||
= form_tag project_issues_path(@project), method: :get, id: "issue_search_form", class: 'pull-left issue-search-form' do
|
||||
.append-right-10.hidden-xs.hidden-sm
|
||||
= search_field_tag :issue_search, nil, { placeholder: 'Filter by title or description', class: 'form-control issue_search search-text-input input-mn-300' }
|
||||
- if can? current_user, :write_issue, @project
|
||||
= 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
|
||||
= 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
|
||||
%i.icon-plus
|
||||
New Issue
|
||||
|
|
|
@ -1,87 +1,86 @@
|
|||
.ui-box
|
||||
.title
|
||||
.append-bottom-10
|
||||
.check-all-holder
|
||||
= check_box_tag "check_all_issues", nil, false, class: "check_all_issues left"
|
||||
.clearfix
|
||||
.issues_bulk_update.hide
|
||||
= form_tag bulk_update_project_issues_path(@project), method: :post do
|
||||
%span Update selected issues with
|
||||
= select_tag('update[status]', options_for_select(['open', 'closed']), prompt: "Status")
|
||||
= project_users_select_tag('update[assignee_id]', placeholder: 'Assignee')
|
||||
= select_tag('update[milestone_id]', bulk_update_milestone_options, prompt: "Milestone")
|
||||
= hidden_field_tag 'update[issues_ids]', []
|
||||
= hidden_field_tag :status, params[:status]
|
||||
= button_tag "Save", class: "btn update_selected_issues btn-small btn-save"
|
||||
.issues-filters
|
||||
%span Filter by
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-tags
|
||||
%span.light labels:
|
||||
- if params[:label_name].present?
|
||||
%strong= params[:label_name]
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(label_name: nil) do
|
||||
Any
|
||||
- issue_label_names.each do |label_name|
|
||||
%li
|
||||
= link_to project_filter_path(label_name: label_name) do
|
||||
%span{class: "label #{label_css_class(label_name)}"}
|
||||
%i.icon-tag
|
||||
= label_name
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-user
|
||||
%span.light assignee:
|
||||
- if @assignee.present?
|
||||
%strong= @assignee.name
|
||||
- elsif params[:assignee_id] == "0"
|
||||
Unassigned
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(assignee_id: 0) do
|
||||
Unassigned
|
||||
- @assignees.sort_by(&:name).each do |user|
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: user.id) do
|
||||
= image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
|
||||
= user.name
|
||||
.issues-filters
|
||||
.dropdown.inline
|
||||
%a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-tags
|
||||
%span.light labels:
|
||||
- if params[:label_name].present?
|
||||
%strong= params[:label_name]
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(label_name: nil) do
|
||||
Any
|
||||
- issue_label_names.each do |label_name|
|
||||
%li
|
||||
= link_to project_filter_path(label_name: label_name) do
|
||||
%span{class: "label #{label_css_class(label_name)}"}
|
||||
%i.icon-tag
|
||||
= label_name
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-user
|
||||
%span.light assignee:
|
||||
- if @assignee.present?
|
||||
%strong= @assignee.name
|
||||
- elsif params[:assignee_id] == "0"
|
||||
Unassigned
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(assignee_id: 0) do
|
||||
Unassigned
|
||||
- @assignees.sort_by(&:name).each do |user|
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: user.id) do
|
||||
= image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
|
||||
= user.name
|
||||
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-time
|
||||
%span.light milestone:
|
||||
- if @milestone.present?
|
||||
%strong= @milestone.title
|
||||
- elsif params[:milestone_id] == "0"
|
||||
None (backlog)
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(milestone_id: 0) do
|
||||
None (backlog)
|
||||
- project_active_milestones.each do |milestone|
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: milestone.id) do
|
||||
%strong= milestone.title
|
||||
%small.light= milestone.expires_at
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-time
|
||||
%span.light milestone:
|
||||
- if @milestone.present?
|
||||
%strong= @milestone.title
|
||||
- elsif params[:milestone_id] == "0"
|
||||
None (backlog)
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(milestone_id: 0) do
|
||||
None (backlog)
|
||||
- project_active_milestones.each do |milestone|
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: milestone.id) do
|
||||
%strong= milestone.title
|
||||
%small.light= milestone.expires_at
|
||||
|
||||
.pull-right
|
||||
= render 'shared/sort_dropdown'
|
||||
.pull-right
|
||||
= render 'shared/sort_dropdown'
|
||||
|
||||
.clearfix
|
||||
.issues_bulk_update.hide
|
||||
= form_tag bulk_update_project_issues_path(@project), method: :post do
|
||||
= select_tag('update[status]', options_for_select(['Open', 'Closed']), prompt: "Status")
|
||||
= project_users_select_tag('update[assignee_id]', placeholder: 'Assignee')
|
||||
= select_tag('update[milestone_id]', bulk_update_milestone_options, prompt: "Milestone")
|
||||
= hidden_field_tag 'update[issues_ids]', []
|
||||
= hidden_field_tag :status, params[:status]
|
||||
= button_tag "Update issues", class: "btn update_selected_issues btn-save"
|
||||
|
||||
.ui-box
|
||||
%ul.well-list.issues-list
|
||||
= render @issues
|
||||
- if @issues.blank?
|
||||
|
|
|
@ -10,59 +10,57 @@
|
|||
.col-md-3
|
||||
= render 'shared/project_filter', project_entities_path: project_merge_requests_path(@project)
|
||||
.col-md-9
|
||||
.mr-filters.append-bottom-10
|
||||
.dropdown.inline
|
||||
%a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-user
|
||||
%span.light assignee:
|
||||
- if @assignee.present?
|
||||
%strong= @assignee.name
|
||||
- elsif params[:assignee_id] == "0"
|
||||
Unassigned
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(assignee_id: 0) do
|
||||
Unassigned
|
||||
- @assignees.sort_by(&:name).each do |user|
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: user.id) do
|
||||
= image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
|
||||
= user.name
|
||||
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-time
|
||||
%span.light milestone:
|
||||
- if @milestone.present?
|
||||
%strong= @milestone.title
|
||||
- elsif params[:milestone_id] == "0"
|
||||
None (backlog)
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(milestone_id: 0) do
|
||||
None (backlog)
|
||||
- project_active_milestones.each do |milestone|
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: milestone.id) do
|
||||
%strong= milestone.title
|
||||
%small.light= milestone.expires_at
|
||||
|
||||
.pull-right
|
||||
= render 'shared/sort_dropdown'
|
||||
|
||||
.ui-box
|
||||
.title
|
||||
.mr-filters
|
||||
%span Filter by
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-user
|
||||
%span.light assignee:
|
||||
- if @assignee.present?
|
||||
%strong= @assignee.name
|
||||
- elsif params[:assignee_id] == "0"
|
||||
Unassigned
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(assignee_id: 0) do
|
||||
Unassigned
|
||||
- @assignees.sort_by(&:name).each do |user|
|
||||
%li
|
||||
= link_to project_filter_path(assignee_id: user.id) do
|
||||
= image_tag avatar_icon(user.email), class: "avatar s16", alt: ''
|
||||
= user.name
|
||||
|
||||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
|
||||
%i.icon-time
|
||||
%span.light milestone:
|
||||
- if @milestone.present?
|
||||
%strong= @milestone.title
|
||||
- elsif params[:milestone_id] == "0"
|
||||
None (backlog)
|
||||
- else
|
||||
Any
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: nil) do
|
||||
Any
|
||||
= link_to project_filter_path(milestone_id: 0) do
|
||||
None (backlog)
|
||||
- project_active_milestones.each do |milestone|
|
||||
%li
|
||||
= link_to project_filter_path(milestone_id: milestone.id) do
|
||||
%strong= milestone.title
|
||||
%small.light= milestone.expires_at
|
||||
|
||||
.pull-right
|
||||
= render 'shared/sort_dropdown'
|
||||
|
||||
%ul.well-list.mr-list
|
||||
= render @merge_requests
|
||||
- if @merge_requests.blank?
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.dropdown.inline.prepend-left-10
|
||||
%a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"}
|
||||
%a.dropdown-toggle.btn{href: '#', "data-toggle" => "dropdown"}
|
||||
%span.light sort:
|
||||
- if @sort.present?
|
||||
= @sort
|
||||
|
|
Loading…
Reference in New Issue