Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
d635114b
Commit
d635114b
authored
Jun 29, 2017
by
Annabel Dunstone Gray
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'issueable-list-cleanup' into 'master'
Clean up issuable lists Closes #26818 See merge request !11991
parents
dba76332
55c6be2f
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
145 additions
and
74 deletions
+145
-74
app/assets/stylesheets/pages/issuable.scss
app/assets/stylesheets/pages/issuable.scss
+55
-0
app/assets/stylesheets/pages/labels.scss
app/assets/stylesheets/pages/labels.scss
+5
-1
app/views/projects/issues/_issue.html.haml
app/views/projects/issues/_issue.html.haml
+36
-30
app/views/projects/merge_requests/_merge_request.html.haml
app/views/projects/merge_requests/_merge_request.html.haml
+39
-37
app/views/shared/_issuable_meta_data.html.haml
app/views/shared/_issuable_meta_data.html.haml
+4
-4
changelogs/unreleased/issueable-list-cleanup.yml
changelogs/unreleased/issueable-list-cleanup.yml
+4
-0
features/steps/project/merge_requests.rb
features/steps/project/merge_requests.rb
+1
-1
spec/features/issues/filtered_search/filter_issues_spec.rb
spec/features/issues/filtered_search/filter_issues_spec.rb
+1
-1
No files found.
app/assets/stylesheets/pages/issuable.scss
View file @
d635114b
...
@@ -597,7 +597,38 @@
...
@@ -597,7 +597,38 @@
.issue-info-container
{
.issue-info-container
{
-webkit-flex
:
1
;
-webkit-flex
:
1
;
flex
:
1
;
flex
:
1
;
display
:
flex
;
padding-right
:
$gl-padding
;
padding-right
:
$gl-padding
;
.issue-main-info
{
flex
:
1
auto
;
margin-right
:
10px
;
}
.issuable-meta
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
flex-end
;
flex
:
1
0
auto
;
.controls
{
margin-bottom
:
2px
;
line-height
:
20px
;
padding
:
0
;
}
.issue-updated-at
{
line-height
:
20px
;
}
}
@media
(
max-width
:
$screen-xs-max
)
{
.issuable-meta
{
.controls
li
{
margin-right
:
0
;
}
}
}
}
}
.issue-check
{
.issue-check
{
...
@@ -609,6 +640,30 @@
...
@@ -609,6 +640,30 @@
vertical-align
:
text-top
;
vertical-align
:
text-top
;
}
}
}
}
.issuable-milestone
,
.issuable-info
,
.task-status
,
.issuable-updated-at
{
font-weight
:
normal
;
color
:
$gl-text-color-secondary
;
a
{
color
:
$gl-text-color
;
.fa
{
color
:
$gl-text-color-secondary
;
}
}
}
@media
(
max-width
:
$screen-md-max
)
{
.task-status
,
.issuable-due-date
,
.project-ref-path
{
display
:
none
;
}
}
}
}
}
}
...
...
app/assets/stylesheets/pages/labels.scss
View file @
d635114b
...
@@ -279,5 +279,9 @@
...
@@ -279,5 +279,9 @@
.label-link
{
.label-link
{
display
:
inline-block
;
display
:
inline-block
;
vertical-align
:
text-top
;
vertical-align
:
top
;
.label
{
vertical-align
:
inherit
;
}
}
}
app/views/projects/issues/_issue.html.haml
View file @
d635114b
...
@@ -4,43 +4,49 @@
...
@@ -4,43 +4,49 @@
.issue-check.hidden
.issue-check.hidden
=
check_box_tag
dom_id
(
issue
,
"selected"
),
nil
,
false
,
'data-id'
=>
issue
.
id
,
class:
"selected_issue"
=
check_box_tag
dom_id
(
issue
,
"selected"
),
nil
,
false
,
'data-id'
=>
issue
.
id
,
class:
"selected_issue"
.issue-info-container
.issue-info-container
.issue-title.title
.issue-main-info
%span
.issue-title-text
.issue-title.title
=
confidential_icon
(
issue
)
%span
.issue-title-text
=
link_to
issue
.
title
,
issue_path
(
issue
)
=
confidential_icon
(
issue
)
=
link_to
issue
.
title
,
issue_path
(
issue
)
-
if
issue
.
tasks?
%span
.task-status.hidden-xs
=
issue
.
task_status
.issuable-info
%span
.issuable-reference
#{
issuable_reference
(
issue
)
}
%span
.issuable-authored.hidden-xs
·
opened
#{
time_ago_with_tooltip
(
issue
.
created_at
,
placement:
'bottom'
)
}
by
#{
link_to_member
(
@project
,
issue
.
author
,
avatar:
false
)
}
-
if
issue
.
milestone
%span
.issuable-milestone.hidden-xs
=
link_to
namespace_project_issues_path
(
issue
.
project
.
namespace
,
issue
.
project
,
milestone_title:
issue
.
milestone
.
title
)
do
=
icon
(
'clock-o'
)
=
issue
.
milestone
.
title
-
if
issue
.
due_date
%span
.issuable-due-date.hidden-xs
{
class:
"#{'cred' if issue.overdue?}"
}
=
icon
(
'calendar'
)
=
issue
.
due_date
.
to_s
(
:medium
)
-
if
issue
.
labels
.
any?
-
issue
.
labels
.
each
do
|
label
|
=
link_to_label
(
label
,
subject:
issue
.
project
,
css_class:
'label-link'
)
.issuable-meta
%ul
.controls
%ul
.controls
-
if
issue
.
closed?
-
if
issue
.
closed?
%li
%li
.issuable-status
CLOSED
CLOSED
-
if
issue
.
assignees
.
any?
-
if
issue
.
assignees
.
any?
%li
%li
=
render
'shared/issuable/assignees'
,
project:
@project
,
issue:
issue
=
render
'shared/issuable/assignees'
,
project:
@project
,
issue:
issue
=
render
'shared/issuable_meta_data'
,
issuable:
issue
=
render
'shared/issuable_meta_data'
,
issuable:
issue
.issue-info
.pull-right.issuable-updated-at.hidden-xs
#{
issuable_reference
(
issue
)
}
·
opened
#{
time_ago_with_tooltip
(
issue
.
created_at
,
placement:
'bottom'
)
}
by
#{
link_to_member
(
@project
,
issue
.
author
,
avatar:
false
)
}
-
if
issue
.
milestone
=
link_to
namespace_project_issues_path
(
issue
.
project
.
namespace
,
issue
.
project
,
milestone_title:
issue
.
milestone
.
title
)
do
=
icon
(
'clock-o'
)
=
issue
.
milestone
.
title
-
if
issue
.
due_date
%span
{
class:
"#{'cred' if issue.overdue?}"
}
=
icon
(
'calendar'
)
=
issue
.
due_date
.
to_s
(
:medium
)
-
if
issue
.
labels
.
any?
-
issue
.
labels
.
each
do
|
label
|
=
link_to_label
(
label
,
subject:
issue
.
project
,
css_class:
'label-link'
)
-
if
issue
.
tasks?
%span
.task-status
=
issue
.
task_status
.pull-right.issue-updated-at
%span
updated
#{
time_ago_with_tooltip
(
issue
.
updated_at
,
placement:
'bottom'
,
html_class:
'issue_update_ago'
)
}
%span
updated
#{
time_ago_with_tooltip
(
issue
.
updated_at
,
placement:
'bottom'
,
html_class:
'issue_update_ago'
)
}
app/views/projects/merge_requests/_merge_request.html.haml
View file @
d635114b
...
@@ -4,58 +4,60 @@
...
@@ -4,58 +4,60 @@
=
check_box_tag
dom_id
(
merge_request
,
"selected"
),
nil
,
false
,
'data-id'
=>
merge_request
.
id
,
class:
"selected_issue"
=
check_box_tag
dom_id
(
merge_request
,
"selected"
),
nil
,
false
,
'data-id'
=>
merge_request
.
id
,
class:
"selected_issue"
.issue-info-container
.issue-info-container
.merge-request-title.title
.issue-main-info
%span
.merge-request-title-text
.merge-request-title.title
=
link_to
merge_request
.
title
,
merge_request_path
(
merge_request
)
%span
.merge-request-title-text
=
link_to
merge_request
.
title
,
merge_request_path
(
merge_request
)
-
if
merge_request
.
tasks?
%span
.task-status.hidden-xs
=
merge_request
.
task_status
.issuable-info
%span
.issuable-reference
#{
issuable_reference
(
merge_request
)
}
%span
.issuable-authored.hidden-xs
·
opened
#{
time_ago_with_tooltip
(
merge_request
.
created_at
,
placement:
'bottom'
)
}
by
#{
link_to_member
(
@project
,
merge_request
.
author
,
avatar:
false
)
}
-
if
merge_request
.
milestone
%span
.issuable-milestone.hidden-xs
=
link_to
namespace_project_merge_requests_path
(
merge_request
.
project
.
namespace
,
merge_request
.
project
,
milestone_title:
merge_request
.
milestone
.
title
)
do
=
icon
(
'clock-o'
)
=
merge_request
.
milestone
.
title
-
if
merge_request
.
target_project
.
default_branch
!=
merge_request
.
target_branch
%span
.project-ref-path
=
link_to
project_ref_path
(
merge_request
.
project
,
merge_request
.
target_branch
),
class:
'ref-name'
do
=
icon
(
'code-fork'
)
=
merge_request
.
target_branch
-
if
merge_request
.
labels
.
any?
-
merge_request
.
labels
.
each
do
|
label
|
=
link_to_label
(
label
,
subject:
merge_request
.
project
,
type: :merge_request
,
css_class:
'label-link'
)
.issuable-meta
%ul
.controls
%ul
.controls
-
if
merge_request
.
merged?
-
if
merge_request
.
merged?
%li
%li
.issuable-status.hidden-xs
MERGED
MERGED
-
elsif
merge_request
.
closed?
-
elsif
merge_request
.
closed?
%li
%li
.issuable-status.hidden-xs
=
icon
(
'ban'
)
=
icon
(
'ban'
)
CLOSED
CLOSED
-
if
merge_request
.
head_pipeline
-
if
merge_request
.
head_pipeline
%li
%li
.issuable-pipeline-status.hidden-xs
=
render_pipeline_status
(
merge_request
.
head_pipeline
)
=
render_pipeline_status
(
merge_request
.
head_pipeline
)
-
if
merge_request
.
open?
&&
merge_request
.
broken?
-
if
merge_request
.
open?
&&
merge_request
.
broken?
%li
%li
.issuable-pipeline-broken.hidden-xs
=
link_to
merge_request_path
(
merge_request
),
class:
"has-tooltip"
,
title:
"Cannot be merged automatically"
,
data:
{
container:
'body'
}
do
=
link_to
merge_request_path
(
merge_request
),
class:
"has-tooltip"
,
title:
"Cannot be merged automatically"
,
data:
{
container:
'body'
}
do
=
icon
(
'exclamation-triangle'
)
=
icon
(
'exclamation-triangle'
)
-
if
merge_request
.
assignee
-
if
merge_request
.
assignee
%li
%li
=
link_to_member
(
merge_request
.
source_project
,
merge_request
.
assignee
,
name:
false
,
title:
"Assigned to :name"
)
=
link_to_member
(
merge_request
.
source_project
,
merge_request
.
assignee
,
name:
false
,
title:
"Assigned to :name"
)
=
render
'shared/issuable_meta_data'
,
issuable:
merge_request
=
render
'shared/issuable_meta_data'
,
issuable:
merge_request
.merge-request-info
.pull-right.issuable-updated-at.hidden-xs
#{
issuable_reference
(
merge_request
)
}
·
opened
#{
time_ago_with_tooltip
(
merge_request
.
created_at
,
placement:
'bottom'
)
}
by
#{
link_to_member
(
@project
,
merge_request
.
author
,
avatar:
false
)
}
-
if
merge_request
.
target_project
.
default_branch
!=
merge_request
.
target_branch
=
link_to
project_ref_path
(
merge_request
.
project
,
merge_request
.
target_branch
),
class:
'ref-name'
do
=
icon
(
'code-fork'
)
=
merge_request
.
target_branch
-
if
merge_request
.
milestone
=
link_to
namespace_project_merge_requests_path
(
merge_request
.
project
.
namespace
,
merge_request
.
project
,
milestone_title:
merge_request
.
milestone
.
title
)
do
=
icon
(
'clock-o'
)
=
merge_request
.
milestone
.
title
-
if
merge_request
.
labels
.
any?
-
merge_request
.
labels
.
each
do
|
label
|
=
link_to_label
(
label
,
subject:
merge_request
.
project
,
type: :merge_request
,
css_class:
'label-link'
)
-
if
merge_request
.
tasks?
%span
.task-status
=
merge_request
.
task_status
.pull-right.hidden-xs
%span
updated
#{
time_ago_with_tooltip
(
merge_request
.
updated_at
,
placement:
'bottom'
,
html_class:
'merge_request_updated_ago'
)
}
%span
updated
#{
time_ago_with_tooltip
(
merge_request
.
updated_at
,
placement:
'bottom'
,
html_class:
'merge_request_updated_ago'
)
}
app/views/shared/_issuable_meta_data.html.haml
View file @
d635114b
...
@@ -5,21 +5,21 @@
...
@@ -5,21 +5,21 @@
-
issuable_mr
=
@issuable_meta_data
[
issuable
.
id
].
merge_requests_count
-
issuable_mr
=
@issuable_meta_data
[
issuable
.
id
].
merge_requests_count
-
if
issuable_mr
>
0
-
if
issuable_mr
>
0
%li
%li
.issuable-mr.hidden-xs
=
image_tag
(
'icon-merge-request-unmerged.svg'
,
class:
'icon-merge-request-unmerged'
)
=
image_tag
(
'icon-merge-request-unmerged.svg'
,
class:
'icon-merge-request-unmerged'
)
=
issuable_mr
=
issuable_mr
-
if
upvotes
>
0
-
if
upvotes
>
0
%li
%li
.issuable-upvotes.hidden-xs
=
icon
(
'thumbs-up'
)
=
icon
(
'thumbs-up'
)
=
upvotes
=
upvotes
-
if
downvotes
>
0
-
if
downvotes
>
0
%li
%li
.issuable-downvotes.hidden-xs
=
icon
(
'thumbs-down'
)
=
icon
(
'thumbs-down'
)
=
downvotes
=
downvotes
%li
%li
.issuable-comments.hidden-xs
=
link_to
issuable_url
,
class:
(
'no-comments'
if
note_count
.
zero?
)
do
=
link_to
issuable_url
,
class:
(
'no-comments'
if
note_count
.
zero?
)
do
=
icon
(
'comments'
)
=
icon
(
'comments'
)
=
note_count
=
note_count
changelogs/unreleased/issueable-list-cleanup.yml
0 → 100644
View file @
d635114b
---
title
:
Clean up UI of issuable lists and make more responsive
merge_request
:
author
:
features/steps/project/merge_requests.rb
View file @
d635114b
...
@@ -65,7 +65,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -65,7 +65,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
end
end
step
'I should not see "master" branch'
do
step
'I should not see "master" branch'
do
expect
(
find
(
'.
merge-request
-info'
)).
not_to
have_content
"master"
expect
(
find
(
'.
issuable
-info'
)).
not_to
have_content
"master"
end
end
step
'I should see "feature_conflict" branch'
do
step
'I should see "feature_conflict" branch'
do
...
...
spec/features/issues/filtered_search/filter_issues_spec.rb
View file @
d635114b
...
@@ -459,7 +459,7 @@ describe 'Filter issues', js: true, feature: true do
...
@@ -459,7 +459,7 @@ describe 'Filter issues', js: true, feature: true do
context
'issue label clicked'
do
context
'issue label clicked'
do
before
do
before
do
find
(
'.issues-list .issue .issue-info a .label'
,
text:
multiple_words_label
.
title
).
click
find
(
'.issues-list .issue .issue-
main-info .issuable-
info a .label'
,
text:
multiple_words_label
.
title
).
click
end
end
it
'filters'
do
it
'filters'
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment