Redesign issues, mr lists

This commit is contained in:
Dmitriy Zaporozhets 2013-04-06 15:10:24 +03:00
parent 39f4604653
commit 37eeeb9fca
21 changed files with 180 additions and 99 deletions

View file

@ -279,7 +279,7 @@ li.note {
cursor: pointer;
}
.merge_request,
.merge-request,
.issue {
&.today{
background: #EFE;

View file

@ -0,0 +1,48 @@
.dashboard {
@extend .row;
.activities {
}
.side {
@extend .pull-right;
.ui-box {
margin: 3px;
> .title {
padding: 2px 15px;
}
.nav-projects-tabs li { padding: 0; }
.well-list {
li { padding: 15px; }
.arrow {
float: right;
padding: 10px;
margin: 0;
}
.last_activity {
padding-top: 5px;
display: block;
span, strong {
font-size: 12px;
color: #666;
}
}
}
@extend .ui-box;
}
}
}
.dashboard-search-filter {
padding:5px;
.search-text-input {
float:left;
@extend .span2;
}
.btn {
margin-left: 5px;
float:left;
}
}

View file

@ -1,22 +1,39 @@
.issues_table {
.issues-list {
.issue {
padding: 10px;
position: relative;
.issue_check {
.issue-title {
margin-bottom: 5px;
font-size: 14px;
}
.issue-info {
color: #999;
}
.issue-check {
float: left;
padding: 8px 0;
padding-right: 8px;
min-width: 15px;
}
p {
padding-top: 0;
padding-bottom: 2px;
.issue-labels {
display: inline-block;
}
img.avatar {
width: 32px;
margin-top: 1px;
.issue-actions {
display: none;
position: absolute;
top: 10px;
right: 2px;
}
&:hover {
.issue-actions {
display: block;
}
}
}
}

View file

@ -53,18 +53,6 @@
}
}
li.merge_request {
padding: 10px;
img.avatar {
width: 32px;
margin-top: 1px;
}
p {
padding: 0px;
padding-bottom: 2px;
}
}
.merge-in-progress {
@extend .padded;
@extend .append-bottom-10;
@ -97,3 +85,31 @@ li.merge_request {
.mr_direction_tip {
margin-top:40px
}
.label-branch {
@include border-radius(4px);
padding: 2px 4px;
border: none;
font-size: 14px;
background: #474D57;
color: #fff;
font-family: $monospace_font;
text-shadow: 0 1px 1px #111;
font-weight: normal;
}
.mr-list {
.merge-request {
padding: 10px;
position: relative;
.merge-request-title {
margin-bottom: 5px;
font-size: 14px;
}
.merge-request-info {
color: #999;
}
}
}

View file

@ -35,9 +35,4 @@
.votes-inline {
display: inline-block;
margin: 0 8px;
.progress {
display: inline-block;
padding: 0 0 2px;
width: 45px;
}
}

View file

@ -11,7 +11,7 @@ module MergeRequestsHelper
end
def mr_css_classes mr
classes = "merge_request"
classes = "merge-request"
classes << " closed" if mr.closed?
classes << " merged" if mr.merged?
classes

View file

@ -25,7 +25,7 @@ module ProjectsHelper
author_html = ""
# Build avatar image tag
author_html << image_tag(gravatar_icon(author.try(:email)), width: 16, class: "lil_av") if opts[:avatar]
author_html << image_tag(gravatar_icon(author.try(:email)), width: 16, class: "avatar avatar-inline s16") if opts[:avatar]
# Build name span tag
author_html << content_tag(:span, sanitize(author.name), class: 'author')

View file

@ -15,7 +15,7 @@
- project = group[0]
%h5.title
= link_to_project project
%ul.well-list.issues_table
%ul.well-list.issues-list
- group[1].each do |issue|
= render issue
%hr

View file

@ -28,7 +28,7 @@
= button_tag type: 'submit', class: 'btn' do
%i.icon-search
%ul.well-list
%ul.bordered-list
- @projects.each do |project|
%li.clearfix
.clearfix

View file

@ -1,5 +1,5 @@
- if @has_authorized_projects
.projects
.dashboard
.activities.span8
= render 'activities'
.side.span4

View file

@ -14,7 +14,7 @@
- project = group[0]
%h5.title
= link_to_project project
%ul.well-list.issues_table
%ul.well-list.issues-list
- group[1].each do |issue|
= render issue
%hr

View file

@ -1,4 +1,4 @@
.projects
.dashboard
.activities.span8
= render "events/event_last_push", event: @last_push
= link_to dashboard_path, class: 'btn btn-tiny' do
@ -13,7 +13,7 @@
.loading.hide
.side.span4
- if @group.description.present?
.description.well.light
.description.well.well-small.light
= @group.description
= render "projects", projects: @projects
.prepend-top-20

View file

@ -1,12 +1,37 @@
%li{ id: dom_id(issue), class: issue_css_classes(issue), url: project_issue_path(issue.project, issue) }
- if controller.controller_name == 'issues'
.issue_check
.issue-check
= check_box_tag dom_id(issue,"selected"), nil, false, 'data-id' => issue.id, class: "selected_issue", disabled: !can?(current_user, :modify_issue, issue)
.pull-right
.issue-title
%span.light= "##{issue.id}"
= link_to_gfm truncate(issue.title, length: 100), project_issue_path(issue.project, issue), class: "row_title"
.issue-info
- if issue.assignee
assigned to #{link_to_member(@project, issue.assignee)}
- else
unassigned
- if issue.votes_count > 0
= render 'votes/votes_inline', votable: issue
- if issue.notes.any?
%span.btn.btn-small.disabled.grouped
%i.icon-comment
%span
%i.icon-comments
= issue.notes.count
- if issue.milestone_id?
%span
%i.icon-time
= issue.milestone.title
.pull-right
%small updated #{time_ago_in_words(issue.updated_at)} ago
.issue-labels
- issue.labels.each do |label|
%span.label.label-info
%i.icon-tag
= label.name
.issue-actions
- if can? current_user, :modify_issue, issue
- if issue.closed?
= link_to 'Reopen', project_issue_path(issue.project, issue, issue: {state_event: :reopen }, status_only: true), method: :put, class: "btn btn-small grouped reopen_issue", remote: true
@ -16,24 +41,4 @@
%i.icon-edit
Edit
- if issue.assignee
= image_tag gravatar_icon(issue.assignee_email), class: "avatar"
- else
= image_tag "no_avatar.png", class: "avatar"
%p= link_to_gfm truncate(issue.title, length: 100), project_issue_path(issue.project, issue), class: "row_title"
%span.update-author
%span.cdark= "##{issue.id}"
- if issue.assignee
assigned to #{issue.assignee_name}
- else
&nbsp;
- if issue.votes_count > 0
= render 'votes/votes_inline', votable: issue
%span
- issue.labels.each do |label|
%span.label.label-info
%i.icon-tag
= label.name

View file

@ -12,7 +12,7 @@
= form_tag search_project_issues_path(@project), method: :get, remote: true, id: "issue_search_form", class: 'pull-right' do
= hidden_field_tag :project_id, @project.id, { id: 'project_id' }
= hidden_field_tag :status, params[:status]
= search_field_tag :issue_search, nil, { placeholder: 'Search', class: 'issue_search span3 pull-right neib search-text-input' }
= search_field_tag :issue_search, nil, { placeholder: 'Search', class: 'issue_search input-xlarge append-right-10 search-text-input' }
.clearfix
@ -41,7 +41,7 @@
= select_tag(:milestone_id, options_from_collection_for_select([unassigned_filter] + issues_active_milestones, "id", "title", params[:milestone_id]), prompt: "Milestone")
= hidden_field_tag :status, params[:status]
%ul#issues-table.well-list.issues_table
%ul#issues-table.well-list.issues-list
= render "issues"
:javascript

View file

@ -1,32 +1,29 @@
%li{ class: mr_css_classes(merge_request) }
.pull-right
.left
- if merge_request.merged?
%span.btn.btn-small.disabled.grouped
%strong
%i.icon-ok
= "MERGED"
- if merge_request.notes.any?
%span.btn.btn-small.disabled.grouped
%i.icon-comment
= merge_request.mr_and_commit_notes.count
- if merge_request.milestone_id?
%span.btn.btn-small.disabled.grouped
%i.icon-time
= merge_request.milestone.title
%span.btn.btn-small.disabled.grouped
= merge_request.source_branch
&rarr;
.merge-request-title
%span.light= "##{merge_request.id}"
= link_to_gfm truncate(merge_request.title, length: 80), project_merge_request_path(merge_request.project, merge_request), class: "row_title"
- if merge_request.merged?
%small.pull-right
%i.icon-ok
= "MERGED"
- else
%span.pull-right
%i.icon-angle-right
= merge_request.target_branch
= image_tag gravatar_icon(merge_request.author_email), class: "avatar"
%p= link_to_gfm truncate(merge_request.title, length: 80), project_merge_request_path(merge_request.project, merge_request), class: "row_title"
%span.update-author
%small.cdark= "##{merge_request.id}"
authored by #{merge_request.author_name}
= time_ago_in_words(merge_request.created_at)
ago
.merge-request-info
- if merge_request.author
authored by #{link_to_member(@project, merge_request.author)}
- if merge_request.votes_count > 0
= render 'votes/votes_inline', votable: merge_request
- if merge_request.notes.any?
%span
%i.icon-comments
= merge_request.mr_and_commit_notes.count
- if merge_request.milestone_id?
%span
%i.icon-time
= merge_request.milestone.title
.pull-right
%small updated #{time_ago_in_words(merge_request.updated_at)} ago

View file

@ -20,7 +20,7 @@
= hidden_field_tag :f, params[:f]
.clearfix
%ul.well-list
%ul.well-list.mr-list
= render @merge_requests
- if @merge_requests.blank?
%li

View file

@ -87,7 +87,7 @@
%h6 Participants:
%div
- @users.each do |user|
= link_to user, class: 'float-link' do
= link_to user do
= link_to_member(@project, user)
.clearfix

View file

@ -14,7 +14,7 @@
%span.light
= time_ago_in_words(commit.committed_date)
ago
%div.prepend-left
%div.prepend-left-20
= link_to commit.short_id(8), project_commit_path(@project, commit), class: "monospace"
&ndash;
= link_to_gfm truncate(commit.title, length: 70), project_commit_path(@project, commit.id), class: "cdark"

View file

@ -14,7 +14,7 @@
- @project = group[0]
%h5.title
= link_to_project @project
%ul.well-list.issues_table
%ul.well-list.issues-list
- group[1].each do |issue|
= render issue
%hr

View file

@ -1,4 +1,4 @@
.projects
.dashboard
.activities.span8
= link_to dashboard_path, class: 'btn btn-tiny' do
&larr; To dashboard
@ -12,7 +12,7 @@
.loading.hide
.side.span4
- if @team.description.present?
.description.well.light
.description.well.well-small.light
= @team.description
= render "projects", projects: @projects
.prepend-top-20

View file

@ -1,6 +1,9 @@
.votes.votes-inline
.upvotes= votable.upvotes
.progress
.bar.bar-success{style: "width: #{votable.upvotes_in_percent}%;"}
.bar.bar-danger{style: "width: #{votable.downvotes_in_percent}%;"}
.downvotes= votable.downvotes
- unless votable.upvotes.zero?
.upvotes
+ #{votable.upvotes}
- unless votable.downvotes.zero?
\/
- unless votable.downvotes.zero?
.downvotes
\- #{votable.downvotes}