Rename .issuable-details to .detail-page (and -header and -description)
This commit is contained in:
parent
41d6b3701e
commit
79c90821ac
22 changed files with 188 additions and 188 deletions
|
@ -10,12 +10,12 @@ class @Issue
|
||||||
@initTaskList()
|
@initTaskList()
|
||||||
|
|
||||||
initTaskList: ->
|
initTaskList: ->
|
||||||
$('.issue-details .js-task-list-container').taskList('enable')
|
$('.detail-page-description .js-task-list-container').taskList('enable')
|
||||||
$(document).on 'tasklist:changed', '.issue-details .js-task-list-container', @updateTaskList
|
$(document).on 'tasklist:changed', '.detail-page-description .js-task-list-container', @updateTaskList
|
||||||
|
|
||||||
disableTaskList: ->
|
disableTaskList: ->
|
||||||
$('.issue-details .js-task-list-container').taskList('disable')
|
$('.detail-page-description .js-task-list-container').taskList('disable')
|
||||||
$(document).off 'tasklist:changed', '.issue-details .js-task-list-container'
|
$(document).off 'tasklist:changed', '.detail-page-description .js-task-list-container'
|
||||||
|
|
||||||
# TODO (rspeicher): Make the issue description inline-editable like a note so
|
# TODO (rspeicher): Make the issue description inline-editable like a note so
|
||||||
# that we can re-use its form here
|
# that we can re-use its form here
|
||||||
|
|
|
@ -40,12 +40,12 @@ class @MergeRequest
|
||||||
this.$('.all-commits').removeClass 'hide'
|
this.$('.all-commits').removeClass 'hide'
|
||||||
|
|
||||||
initTaskList: ->
|
initTaskList: ->
|
||||||
$('.merge-request-details .js-task-list-container').taskList('enable')
|
$('.detail-page-description .js-task-list-container').taskList('enable')
|
||||||
$(document).on 'tasklist:changed', '.merge-request-details .js-task-list-container', @updateTaskList
|
$(document).on 'tasklist:changed', '.detail-page-description .js-task-list-container', @updateTaskList
|
||||||
|
|
||||||
disableTaskList: ->
|
disableTaskList: ->
|
||||||
$('.merge-request-details .js-task-list-container').taskList('disable')
|
$('.detail-page-description .js-task-list-container').taskList('disable')
|
||||||
$(document).off 'tasklist:changed', '.merge-request-details .js-task-list-container'
|
$(document).off 'tasklist:changed', '.detail-page-description .js-task-list-container'
|
||||||
|
|
||||||
# TODO (rspeicher): Make the merge request description inline-editable like a
|
# TODO (rspeicher): Make the merge request description inline-editable like a
|
||||||
# note so that we can re-use its form here
|
# note so that we can re-use its form here
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.issue-box {
|
.status-box {
|
||||||
@include border-radius(2px);
|
@include border-radius(2px);
|
||||||
|
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -14,22 +14,22 @@
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
font-size: $gl-font-size;
|
font-size: $gl-font-size;
|
||||||
|
|
||||||
&.issue-box-closed {
|
&.status-box-closed {
|
||||||
background-color: $gl-danger;
|
background-color: $gl-danger;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.issue-box-merged {
|
&.status-box-merged {
|
||||||
background-color: $gl-primary;
|
background-color: $gl-primary;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.issue-box-open {
|
&.status-box-open {
|
||||||
background-color: #019875;
|
background-color: #019875;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.issue-box-expired {
|
&.status-box-expired {
|
||||||
background: #cea61b;
|
background: #cea61b;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
|
|
||||||
.new_note,
|
.new_note,
|
||||||
.edit_note,
|
.edit_note,
|
||||||
.issuable-description,
|
.detail-page-description,
|
||||||
.milestone-description,
|
.milestone-description,
|
||||||
.wiki-content,
|
.wiki-content,
|
||||||
.merge-request-form {
|
.merge-request-form {
|
||||||
|
|
33
app/assets/stylesheets/pages/detail_page.scss
Normal file
33
app/assets/stylesheets/pages/detail_page.scss
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
.detail-page-header {
|
||||||
|
margin: -$gl-padding;
|
||||||
|
padding: 7px $gl-padding;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
border-bottom: 1px solid $border-color;
|
||||||
|
color: #5c5d5e;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 42px;
|
||||||
|
|
||||||
|
.author {
|
||||||
|
color: #5c5d5e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.identifier {
|
||||||
|
color: #5c5d5e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-page-description {
|
||||||
|
.title {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 23px;
|
||||||
|
color: #313236;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
margin-top: 6px;
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -36,20 +36,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.issuable-details {
|
.issuable-details {
|
||||||
.issue-title {
|
|
||||||
margin: 0;
|
|
||||||
font-size: 23px;
|
|
||||||
color: #313236;
|
|
||||||
}
|
|
||||||
|
|
||||||
.description {
|
|
||||||
margin-top: 6px;
|
|
||||||
|
|
||||||
p:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
section {
|
section {
|
||||||
border-right: 1px solid #ECEEF1;
|
border-right: 1px solid #ECEEF1;
|
||||||
|
|
||||||
|
@ -136,21 +122,3 @@
|
||||||
margin-right: 2px;
|
margin-right: 2px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.issuable-title {
|
|
||||||
margin: -$gl-padding;
|
|
||||||
padding: 7px $gl-padding;
|
|
||||||
margin-bottom: 0px;
|
|
||||||
border-bottom: 1px solid $border-color;
|
|
||||||
color: #5c5d5e;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 42px;
|
|
||||||
|
|
||||||
.author {
|
|
||||||
color: #5c5d5e;
|
|
||||||
}
|
|
||||||
|
|
||||||
.issuable-id {
|
|
||||||
color: #5c5d5e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -57,15 +57,15 @@ module IssuesHelper
|
||||||
options_from_collection_for_select(milestones, 'id', 'title', object.milestone_id)
|
options_from_collection_for_select(milestones, 'id', 'title', object.milestone_id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def issue_box_class(item)
|
def status_box_class(item)
|
||||||
if item.respond_to?(:expired?) && item.expired?
|
if item.respond_to?(:expired?) && item.expired?
|
||||||
'issue-box-expired'
|
'status-box-expired'
|
||||||
elsif item.respond_to?(:merged?) && item.merged?
|
elsif item.respond_to?(:merged?) && item.merged?
|
||||||
'issue-box-merged'
|
'status-box-merged'
|
||||||
elsif item.closed?
|
elsif item.closed?
|
||||||
'issue-box-closed'
|
'status-box-closed'
|
||||||
else
|
else
|
||||||
'issue-box-open'
|
'status-box-open'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
- page_title @milestone.title, "Milestones"
|
- page_title @milestone.title, "Milestones"
|
||||||
- header_title "Milestones", dashboard_milestones_path
|
- header_title "Milestones", dashboard_milestones_path
|
||||||
|
|
||||||
.issuable-details
|
.detail-page-header
|
||||||
.issuable-title
|
.status-box{ class: "status-box-#{@milestone.closed? ? 'closed' : 'open'}" }
|
||||||
.issue-box{ class: "issue-box-#{@milestone.closed? ? 'closed' : 'open'}" }
|
|
||||||
- if @milestone.closed?
|
- if @milestone.closed?
|
||||||
Closed
|
Closed
|
||||||
- else
|
- else
|
||||||
Open
|
Open
|
||||||
%span.issuable-id
|
%span.identifier
|
||||||
Milestone #{@milestone.title}
|
Milestone #{@milestone.title}
|
||||||
|
|
||||||
.gray-content-block.second-block
|
.detail-page-description.gray-content-block.second-block
|
||||||
%h2.issue-title
|
%h2.title
|
||||||
= markdown escape_once(@milestone.title), pipeline: :single_line
|
= markdown escape_once(@milestone.title), pipeline: :single_line
|
||||||
|
|
||||||
- if @milestone.complete? && @milestone.active?
|
- if @milestone.complete? && @milestone.active?
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
- page_title @milestone.title, "Milestones"
|
- page_title @milestone.title, "Milestones"
|
||||||
= render "header_title"
|
= render "header_title"
|
||||||
|
|
||||||
.issuable-details
|
.detail-page-header
|
||||||
.issuable-title
|
.status-box{ class: "status-box-#{@milestone.closed? ? 'closed' : 'open'}" }
|
||||||
.issue-box{ class: "issue-box-#{@milestone.closed? ? 'closed' : 'open'}" }
|
|
||||||
- if @milestone.closed?
|
- if @milestone.closed?
|
||||||
Closed
|
Closed
|
||||||
- else
|
- else
|
||||||
Open
|
Open
|
||||||
%span.issuable-id
|
%span.identifier
|
||||||
Milestone #{@milestone.title}
|
Milestone #{@milestone.title}
|
||||||
.pull-right
|
.pull-right
|
||||||
- if can?(current_user, :admin_milestones, @group)
|
- if can?(current_user, :admin_milestones, @group)
|
||||||
|
@ -17,8 +16,8 @@
|
||||||
- else
|
- else
|
||||||
= link_to 'Reopen Milestone', group_milestone_path(@group, @milestone.safe_title, title: @milestone.title, milestone: {state_event: :activate }), method: :put, class: "btn btn-grouped btn-reopen"
|
= link_to 'Reopen Milestone', group_milestone_path(@group, @milestone.safe_title, title: @milestone.title, milestone: {state_event: :activate }), method: :put, class: "btn btn-grouped btn-reopen"
|
||||||
|
|
||||||
.gray-content-block.second-block
|
.detail-page-description.gray-content-block.second-block
|
||||||
%h2.issue-title
|
%h2.title
|
||||||
= markdown escape_once(@milestone.title), pipeline: :single_line
|
= markdown escape_once(@milestone.title), pipeline: :single_line
|
||||||
|
|
||||||
- if @milestone.complete? && @milestone.active?
|
- if @milestone.complete? && @milestone.active?
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
= render "header_title"
|
= render "header_title"
|
||||||
|
|
||||||
.issue
|
.issue
|
||||||
.issue-details.issuable-details
|
.detail-page-header
|
||||||
.issuable-title
|
.status-box{ class: status_box_class(@issue) }
|
||||||
.issue-box{ class: issue_box_class(@issue) }
|
|
||||||
- if @issue.closed?
|
- if @issue.closed?
|
||||||
Closed
|
Closed
|
||||||
- else
|
- else
|
||||||
Open
|
Open
|
||||||
%span.issuable-id Issue ##{@issue.iid}
|
%span.identifier
|
||||||
|
Issue ##{@issue.iid}
|
||||||
%span.creator
|
%span.creator
|
||||||
·
|
·
|
||||||
opened by #{link_to_member(@project, @issue.author, size: 24)}
|
opened by #{link_to_member(@project, @issue.author, size: 24)}
|
||||||
|
@ -36,10 +36,11 @@
|
||||||
= icon('pencil-square-o')
|
= icon('pencil-square-o')
|
||||||
Edit
|
Edit
|
||||||
|
|
||||||
|
.issue-details.issuable-details
|
||||||
.row
|
.row
|
||||||
%section.col-md-9
|
%section.col-md-9
|
||||||
.gray-content-block
|
.detail-page-description.gray-content-block
|
||||||
%h2.issue-title
|
%h2.title
|
||||||
= markdown escape_once(@issue.title), pipeline: :single_line
|
= markdown escape_once(@issue.title), pipeline: :single_line
|
||||||
%div
|
%div
|
||||||
- if @issue.description.present?
|
- if @issue.description.present?
|
||||||
|
|
|
@ -5,8 +5,9 @@
|
||||||
- fluid_layout true
|
- fluid_layout true
|
||||||
|
|
||||||
.merge-request{'data-url' => merge_request_path(@merge_request)}
|
.merge-request{'data-url' => merge_request_path(@merge_request)}
|
||||||
.merge-request-details.issuable-details
|
|
||||||
= render "projects/merge_requests/show/mr_title"
|
= render "projects/merge_requests/show/mr_title"
|
||||||
|
|
||||||
|
.merge-request-details.issuable-details
|
||||||
.row
|
.row
|
||||||
%section.col-md-9
|
%section.col-md-9
|
||||||
= render "projects/merge_requests/show/mr_box"
|
= render "projects/merge_requests/show/mr_box"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.gray-content-block.middle-block
|
.detail-page-description.gray-content-block.middle-block
|
||||||
%h2.issue-title
|
%h2.title
|
||||||
= markdown escape_once(@merge_request.title), pipeline: :single_line
|
= markdown escape_once(@merge_request.title), pipeline: :single_line
|
||||||
|
|
||||||
%div
|
%div
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
.issuable-title
|
.detail-page-header
|
||||||
.issue-box{ class: issue_box_class(@merge_request) }
|
.status-box{ class: status_box_class(@merge_request) }
|
||||||
= @merge_request.state_human_name
|
= @merge_request.state_human_name
|
||||||
%span.issuable-id Merge Request ##{@merge_request.iid}
|
%span.identifier
|
||||||
|
Merge Request ##{@merge_request.iid}
|
||||||
%span.creator
|
%span.creator
|
||||||
·
|
·
|
||||||
opened by #{link_to_member(@project, @merge_request.author, size: 24)}
|
opened by #{link_to_member(@project, @merge_request.author, size: 24)}
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
- page_title @milestone.title, "Milestones"
|
- page_title @milestone.title, "Milestones"
|
||||||
= render "header_title"
|
= render "header_title"
|
||||||
|
|
||||||
.issuable-details
|
.detail-page-header
|
||||||
.issuable-title
|
.status-box{ class: status_box_class(@milestone) }
|
||||||
.issue-box{ class: issue_box_class(@milestone) }
|
|
||||||
- if @milestone.closed?
|
- if @milestone.closed?
|
||||||
Closed
|
Closed
|
||||||
- elsif @milestone.expired?
|
- elsif @milestone.expired?
|
||||||
Expired
|
Expired
|
||||||
- else
|
- else
|
||||||
Open
|
Open
|
||||||
%span.issuable-id
|
%span.identifier
|
||||||
Milestone ##{@milestone.iid}
|
Milestone ##{@milestone.iid}
|
||||||
- if @milestone.expires_at
|
- if @milestone.expires_at
|
||||||
%span.creator
|
%span.creator
|
||||||
|
@ -31,8 +30,8 @@
|
||||||
%i.fa.fa-pencil-square-o
|
%i.fa.fa-pencil-square-o
|
||||||
Edit
|
Edit
|
||||||
|
|
||||||
.gray-content-block.second-block
|
.detail-page-description.gray-content-block.second-block
|
||||||
%h2.issue-title
|
%h2.title
|
||||||
= markdown escape_once(@milestone.title), pipeline: :single_line
|
= markdown escape_once(@milestone.title), pipeline: :single_line
|
||||||
%div
|
%div
|
||||||
- if @milestone.description.present?
|
- if @milestone.description.present?
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
- else
|
- else
|
||||||
Start the title with <code>[WIP]</code> or <code>WIP:</code> to prevent a
|
Start the title with <code>[WIP]</code> or <code>WIP:</code> to prevent a
|
||||||
<strong>Work In Progress</strong> merge request from being merged before it's ready.
|
<strong>Work In Progress</strong> merge request from being merged before it's ready.
|
||||||
.form-group.issuable-description
|
.form-group.detail-page-description
|
||||||
= f.label :description, 'Description', class: 'control-label'
|
= f.label :description, 'Description', class: 'control-label'
|
||||||
.col-sm-10
|
.col-sm-10
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
.issuable-details
|
.detail-page-header
|
||||||
.issuable-title
|
|
||||||
.snippet-box.has_tooltip{class: visibility_level_color(@snippet.visibility_level), title: snippet_visibility_level_description(@snippet.visibility_level, @snippet), data: { container: 'body' }}
|
.snippet-box.has_tooltip{class: visibility_level_color(@snippet.visibility_level), title: snippet_visibility_level_description(@snippet.visibility_level, @snippet), data: { container: 'body' }}
|
||||||
= visibility_level_icon(@snippet.visibility_level, fw: false)
|
= visibility_level_icon(@snippet.visibility_level, fw: false)
|
||||||
= visibility_level_label(@snippet.visibility_level)
|
= visibility_level_label(@snippet.visibility_level)
|
||||||
%span.issuable-id
|
%span.identifier
|
||||||
Snippet ##{@snippet.id}
|
Snippet ##{@snippet.id}
|
||||||
%span.creator
|
%span.creator
|
||||||
· created by #{link_to_member(@project, @snippet.author, size: 24)}
|
· created by #{link_to_member(@project, @snippet.author, size: 24)}
|
||||||
|
@ -21,6 +20,6 @@
|
||||||
- else
|
- else
|
||||||
= render "snippets/actions"
|
= render "snippets/actions"
|
||||||
|
|
||||||
.gray-content-block.second-block
|
.detail-page-description.gray-content-block.second-block
|
||||||
%h2.issue-title
|
%h2.title
|
||||||
= markdown escape_once(@snippet.title), pipeline: :single_line
|
= markdown escape_once(@snippet.title), pipeline: :single_line
|
||||||
|
|
|
@ -273,7 +273,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
|
||||||
end
|
end
|
||||||
|
|
||||||
step 'I should see merged request' do
|
step 'I should see merged request' do
|
||||||
page.within '.issue-box' do
|
page.within '.status-box' do
|
||||||
expect(page).to have_content "Merged"
|
expect(page).to have_content "Merged"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -283,7 +283,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
|
||||||
end
|
end
|
||||||
|
|
||||||
step 'I should see reopened merge request "Bug NS-04"' do
|
step 'I should see reopened merge request "Bug NS-04"' do
|
||||||
page.within '.issue-box' do
|
page.within '.status-box' do
|
||||||
expect(page).to have_content "Open"
|
expect(page).to have_content "Open"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -42,7 +42,7 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps
|
||||||
end
|
end
|
||||||
|
|
||||||
step 'I click link "Edit"' do
|
step 'I click link "Edit"' do
|
||||||
page.within ".issuable-title" do
|
page.within ".detail-page-header" do
|
||||||
click_link "Edit"
|
click_link "Edit"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -13,7 +13,7 @@ feature 'Issue filtering by Milestone', feature: true do
|
||||||
visit_issues(project)
|
visit_issues(project)
|
||||||
filter_by_milestone(Milestone::None.title)
|
filter_by_milestone(Milestone::None.title)
|
||||||
|
|
||||||
expect(page).to have_css('.issue-title', count: 1)
|
expect(page).to have_css('.title', count: 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'filters by a specific Milestone', js: true do
|
scenario 'filters by a specific Milestone', js: true do
|
||||||
|
@ -23,7 +23,7 @@ feature 'Issue filtering by Milestone', feature: true do
|
||||||
visit_issues(project)
|
visit_issues(project)
|
||||||
filter_by_milestone(milestone.title)
|
filter_by_milestone(milestone.title)
|
||||||
|
|
||||||
expect(page).to have_css('.issue-title', count: 1)
|
expect(page).to have_css('.title', count: 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
def visit_issues(project)
|
def visit_issues(project)
|
||||||
|
|
|
@ -47,7 +47,7 @@ feature 'Task Lists', feature: true do
|
||||||
it 'contains the required selectors' do
|
it 'contains the required selectors' do
|
||||||
visit_issue(project, issue)
|
visit_issue(project, issue)
|
||||||
|
|
||||||
container = '.issue-details .description.js-task-list-container'
|
container = '.detail-page-description .description.js-task-list-container'
|
||||||
|
|
||||||
expect(page).to have_selector(container)
|
expect(page).to have_selector(container)
|
||||||
expect(page).to have_selector("#{container} .wiki .task-list .task-list-item .task-list-item-checkbox")
|
expect(page).to have_selector("#{container} .wiki .task-list .task-list-item .task-list-item-checkbox")
|
||||||
|
@ -123,7 +123,7 @@ feature 'Task Lists', feature: true do
|
||||||
it 'contains the required selectors' do
|
it 'contains the required selectors' do
|
||||||
visit_merge_request(project, merge)
|
visit_merge_request(project, merge)
|
||||||
|
|
||||||
container = '.merge-request-details .description.js-task-list-container'
|
container = '.detail-page-description .description.js-task-list-container'
|
||||||
|
|
||||||
expect(page).to have_selector(container)
|
expect(page).to have_selector(container)
|
||||||
expect(page).to have_selector("#{container} .wiki .task-list .task-list-item .task-list-item-checkbox")
|
expect(page).to have_selector("#{container} .wiki .task-list .task-list-item .task-list-item-checkbox")
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
%a.btn-close
|
%a.btn-close
|
||||||
|
|
||||||
.issue-details
|
.detail-page-description
|
||||||
.description.js-task-list-container
|
.description.js-task-list-container
|
||||||
.wiki
|
.wiki
|
||||||
%ul.task-list
|
%ul.task-list
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
%a.btn-close
|
%a.btn-close
|
||||||
|
|
||||||
.merge-request-details
|
.detail-page-description
|
||||||
.description.js-task-list-container
|
.description.js-task-list-container
|
||||||
.wiki
|
.wiki
|
||||||
%ul.task-list
|
%ul.task-list
|
||||||
|
|
Loading…
Reference in a new issue