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
33741956
Commit
33741956
authored
Oct 07, 2019
by
Kushal Pandya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add Vue issuable sidebar app mount-point
parent
0301d0f3
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
167 additions
and
163 deletions
+167
-163
app/views/shared/issuable/_sidebar.html.haml
app/views/shared/issuable/_sidebar.html.haml
+167
-163
No files found.
app/views/shared/issuable/_sidebar.html.haml
View file @
33741956
...
...
@@ -5,174 +5,178 @@
-
signed_in
=
!!
issuable_sidebar
.
dig
(
:current_user
,
:id
)
-
can_edit_issuable
=
issuable_sidebar
.
dig
(
:current_user
,
:can_edit
)
%aside
.right-sidebar.js-right-sidebar.js-issuable-sidebar
{
data:
{
signed:
{
in:
signed_in
}
},
class:
sidebar_gutter_collapsed_class
,
'aria-live'
=>
'polite'
}
.issuable-sidebar
.block.issuable-sidebar-header
-
if
signed_in
%span
.issuable-header-text.hide-collapsed.float-left
=
_
(
'To Do'
)
%a
.gutter-toggle.float-right.js-sidebar-toggle.has-tooltip
{
role:
"button"
,
href:
"#"
,
"aria-label"
=>
"Toggle sidebar"
,
title:
sidebar_gutter_tooltip_text
,
data:
{
container:
'body'
,
placement:
'left'
,
boundary:
'viewport'
}
}
=
sidebar_gutter_toggle_icon
-
if
signed_in
=
render
"shared/issuable/sidebar_todo"
,
issuable_sidebar:
issuable_sidebar
=
form_for
issuable_type
,
url:
issuable_sidebar
[
:issuable_json_path
],
remote:
true
,
html:
{
class:
'issuable-context-form inline-update js-issuable-update'
}
do
|
f
|
-
if
signed_in
.block.todo.hide-expanded
=
render
"shared/issuable/sidebar_todo"
,
issuable_sidebar:
issuable_sidebar
,
is_collapsed:
true
.block.assignee.qa-assignee-block
=
render
"shared/issuable/sidebar_assignees"
,
issuable_sidebar:
issuable_sidebar
,
assignees:
assignees
=
render_if_exists
'shared/issuable/sidebar_item_epic'
,
issuable_sidebar:
issuable_sidebar
-
milestone
=
issuable_sidebar
[
:milestone
]
||
{}
.block.milestone
.sidebar-collapsed-icon.has-tooltip
{
title:
sidebar_milestone_tooltip_label
(
milestone
),
data:
{
container:
'body'
,
html:
'true'
,
placement:
'left'
,
boundary:
'viewport'
}
}
=
icon
(
'clock-o'
,
'aria-hidden'
:
'true'
)
%span
.milestone-title.collapse-truncated-title
-
if
milestone
.
present?
=
milestone
[
:title
]
-
else
=
_
(
'None'
)
.title.hide-collapsed
=
_
(
'Milestone'
)
=
icon
(
'spinner spin'
,
class:
'hidden block-loading'
,
'aria-hidden'
:
'true'
)
-
if
can_edit_issuable
=
link_to
_
(
'Edit'
),
'#'
,
class:
'js-sidebar-dropdown-toggle edit-link float-right'
,
data:
{
track_label:
"right_sidebar"
,
track_property:
"milestone"
,
track_event:
"click_edit_button"
,
track_value:
""
}
.value.hide-collapsed
-
if
milestone
.
present?
=
link_to
milestone
[
:title
],
milestone
[
:web_url
],
class:
"bold has-tooltip"
,
title:
sidebar_milestone_remaining_days
(
milestone
),
data:
{
container:
"body"
,
html:
'true'
,
boundary:
'viewport'
,
qa_selector:
'milestone_link'
}
-
else
%span
.no-value
=
_
(
'None'
)
.selectbox.hide-collapsed
=
f
.
hidden_field
'milestone_id'
,
value:
milestone
[
:id
],
id:
nil
=
dropdown_tag
(
'Milestone'
,
options:
{
title:
_
(
'Assign milestone'
),
toggle_class:
'js-milestone-select js-extra-options'
,
filter:
true
,
dropdown_class:
'dropdown-menu-selectable'
,
placeholder:
_
(
'Search milestones'
),
data:
{
show_no:
true
,
field_name:
"
#{
issuable_type
}
[milestone_id]"
,
project_id:
issuable_sidebar
[
:project_id
],
issuable_id:
issuable_sidebar
[
:id
],
milestones:
issuable_sidebar
[
:project_milestones_path
],
ability_name:
issuable_type
,
issue_update:
issuable_sidebar
[
:issuable_json_path
],
use_id:
true
,
default_no:
true
,
selected:
milestone
[
:title
],
null_default:
true
,
display:
'static'
}})
#issuable-time-tracker
.block
// Fallback while content is loading
.title.hide-collapsed
=
_
(
'Time tracking'
)
=
icon
(
'spinner spin'
,
'aria-hidden'
:
'true'
)
-
if
issuable_sidebar
.
has_key?
(
:due_date
)
.block.due_date
.sidebar-collapsed-icon.has-tooltip
{
data:
{
placement:
'left'
,
container:
'body'
,
html:
'true'
,
boundary:
'viewport'
},
title:
sidebar_due_date_tooltip_label
(
issuable_sidebar
[
:due_date
])
}
=
icon
(
'calendar'
,
'aria-hidden'
:
'true'
)
%span
.js-due-date-sidebar-value
=
issuable_sidebar
[
:due_date
].
try
(
:to_s
,
:medium
)
||
'None'
-
if
Feature
.
enabled?
(
:vue_issuable_sidebar
,
@project
.
group
)
%aside
#js-vue-issuable-sidebar
{
data:
{
signed_in:
signed_in
,
sidebar_status_class:
sidebar_gutter_collapsed_class
}
}
-
else
%aside
.right-sidebar.js-right-sidebar.js-issuable-sidebar
{
data:
{
signed:
{
in:
signed_in
}
},
class:
sidebar_gutter_collapsed_class
,
'aria-live'
=>
'polite'
}
.issuable-sidebar
.block.issuable-sidebar-header
-
if
signed_in
%span
.issuable-header-text.hide-collapsed.float-left
=
_
(
'To Do'
)
%a
.gutter-toggle.float-right.js-sidebar-toggle.has-tooltip
{
role:
"button"
,
href:
"#"
,
"aria-label"
=>
"Toggle sidebar"
,
title:
sidebar_gutter_tooltip_text
,
data:
{
container:
'body'
,
placement:
'left'
,
boundary:
'viewport'
}
}
=
sidebar_gutter_toggle_icon
-
if
signed_in
=
render
"shared/issuable/sidebar_todo"
,
issuable_sidebar:
issuable_sidebar
=
form_for
issuable_type
,
url:
issuable_sidebar
[
:issuable_json_path
],
remote:
true
,
html:
{
class:
'issuable-context-form inline-update js-issuable-update'
}
do
|
f
|
-
if
signed_in
.block.todo.hide-expanded
=
render
"shared/issuable/sidebar_todo"
,
issuable_sidebar:
issuable_sidebar
,
is_collapsed:
true
.block.assignee.qa-assignee-block
=
render
"shared/issuable/sidebar_assignees"
,
issuable_sidebar:
issuable_sidebar
,
assignees:
assignees
=
render_if_exists
'shared/issuable/sidebar_item_epic'
,
issuable_sidebar:
issuable_sidebar
-
milestone
=
issuable_sidebar
[
:milestone
]
||
{}
.block.milestone
.sidebar-collapsed-icon.has-tooltip
{
title:
sidebar_milestone_tooltip_label
(
milestone
),
data:
{
container:
'body'
,
html:
'true'
,
placement:
'left'
,
boundary:
'viewport'
}
}
=
icon
(
'clock-o'
,
'aria-hidden'
:
'true'
)
%span
.milestone-title.collapse-truncated-title
-
if
milestone
.
present?
=
milestone
[
:title
]
-
else
=
_
(
'None'
)
.title.hide-collapsed
=
_
(
'
Due dat
e'
)
=
_
(
'
Mileston
e'
)
=
icon
(
'spinner spin'
,
class:
'hidden block-loading'
,
'aria-hidden'
:
'true'
)
-
if
can_edit_issuable
=
link_to
_
(
'Edit'
),
'#'
,
class:
'js-sidebar-dropdown-toggle edit-link float-right'
,
data:
{
track_label:
"right_sidebar"
,
track_property:
"
due_dat
e"
,
track_event:
"click_edit_button"
,
track_value:
""
}
=
link_to
_
(
'Edit'
),
'#'
,
class:
'js-sidebar-dropdown-toggle edit-link float-right'
,
data:
{
track_label:
"right_sidebar"
,
track_property:
"
mileston
e"
,
track_event:
"click_edit_button"
,
track_value:
""
}
.value.hide-collapsed
%span
.value-content
-
if
issuable_sidebar
[
:due_date
]
%span
.bold
=
issuable_sidebar
[
:due_date
].
to_s
(
:medium
)
-
else
%span
.no-value
=
_
(
'None'
)
-
if
milestone
.
present?
=
link_to
milestone
[
:title
],
milestone
[
:web_url
],
class:
"bold has-tooltip"
,
title:
sidebar_milestone_remaining_days
(
milestone
),
data:
{
container:
"body"
,
html:
'true'
,
boundary:
'viewport'
,
qa_selector:
'milestone_link'
}
-
else
%span
.no-value
=
_
(
'None'
)
.selectbox.hide-collapsed
=
f
.
hidden_field
'milestone_id'
,
value:
milestone
[
:id
],
id:
nil
=
dropdown_tag
(
'Milestone'
,
options:
{
title:
_
(
'Assign milestone'
),
toggle_class:
'js-milestone-select js-extra-options'
,
filter:
true
,
dropdown_class:
'dropdown-menu-selectable'
,
placeholder:
_
(
'Search milestones'
),
data:
{
show_no:
true
,
field_name:
"
#{
issuable_type
}
[milestone_id]"
,
project_id:
issuable_sidebar
[
:project_id
],
issuable_id:
issuable_sidebar
[
:id
],
milestones:
issuable_sidebar
[
:project_milestones_path
],
ability_name:
issuable_type
,
issue_update:
issuable_sidebar
[
:issuable_json_path
],
use_id:
true
,
default_no:
true
,
selected:
milestone
[
:title
],
null_default:
true
,
display:
'static'
}})
#issuable-time-tracker
.block
// Fallback while content is loading
.title.hide-collapsed
=
_
(
'Time tracking'
)
=
icon
(
'spinner spin'
,
'aria-hidden'
:
'true'
)
-
if
issuable_sidebar
.
has_key?
(
:due_date
)
.block.due_date
.sidebar-collapsed-icon.has-tooltip
{
data:
{
placement:
'left'
,
container:
'body'
,
html:
'true'
,
boundary:
'viewport'
},
title:
sidebar_due_date_tooltip_label
(
issuable_sidebar
[
:due_date
])
}
=
icon
(
'calendar'
,
'aria-hidden'
:
'true'
)
%span
.js-due-date-sidebar-value
=
issuable_sidebar
[
:due_date
].
try
(
:to_s
,
:medium
)
||
'None'
.title.hide-collapsed
=
_
(
'Due date'
)
=
icon
(
'spinner spin'
,
class:
'hidden block-loading'
,
'aria-hidden'
:
'true'
)
-
if
can_edit_issuable
=
link_to
_
(
'Edit'
),
'#'
,
class:
'js-sidebar-dropdown-toggle edit-link float-right'
,
data:
{
track_label:
"right_sidebar"
,
track_property:
"due_date"
,
track_event:
"click_edit_button"
,
track_value:
""
}
.value.hide-collapsed
%span
.value-content
-
if
issuable_sidebar
[
:due_date
]
%span
.bold
=
issuable_sidebar
[
:due_date
].
to_s
(
:medium
)
-
else
%span
.no-value
=
_
(
'None'
)
-
if
can_edit_issuable
%span
.no-value.js-remove-due-date-holder
{
class:
(
"hidden"
if
issuable_sidebar
[
:due_date
].
nil?
)
}
\-
%a
.js-remove-due-date
{
href:
"#"
,
role:
"button"
}
=
_
(
'remove due date'
)
-
if
can_edit_issuable
%span
.no-value.js-remove-due-date-holder
{
class:
(
"hidden"
if
issuable_sidebar
[
:due_date
].
nil?
)
}
\-
%a
.js-remove-due-date
{
href:
"#"
,
role:
"button"
}
=
_
(
'remove due date'
)
-
if
can_edit_issuable
.selectbox.hide-collapsed
=
f
.
hidden_field
:due_date
,
value:
issuable_sidebar
[
:due_date
].
try
(
:strftime
,
'yy-mm-dd'
)
.dropdown
%button
.dropdown-menu-toggle.js-due-date-select
{
type:
'button'
,
data:
{
toggle:
'dropdown'
,
field_name:
"#{issuable_type}[due_date]"
,
ability_name:
issuable_type
,
issue_update:
issuable_sidebar
[
:issuable_json_path
],
display:
'static'
}
}
%span
.dropdown-toggle-text
=
_
(
'Due date'
)
=
icon
(
'chevron-down'
,
'aria-hidden'
:
'true'
)
.dropdown-menu.dropdown-menu-due-date
=
dropdown_title
(
_
(
'Due date'
))
=
dropdown_content
do
.js-due-date-calendar
-
selected_labels
=
issuable_sidebar
[
:labels
]
.block.labels
.sidebar-collapsed-icon.js-sidebar-labels-tooltip
{
title:
issuable_labels_tooltip
(
selected_labels
),
data:
{
placement:
"left"
,
container:
"body"
,
boundary:
'viewport'
}
}
=
icon
(
'tags'
,
'aria-hidden'
:
'true'
)
%span
=
selected_labels
.
size
.title.hide-collapsed
=
_
(
'Labels'
)
=
icon
(
'spinner spin'
,
class:
'hidden block-loading'
,
'aria-hidden'
:
'true'
)
-
if
can_edit_issuable
=
link_to
_
(
'Edit'
),
'#'
,
class:
'js-sidebar-dropdown-toggle edit-link qa-edit-link-labels float-right'
,
data:
{
track_label:
"right_sidebar"
,
track_property:
"labels"
,
track_event:
"click_edit_button"
,
track_value:
""
}
.value.issuable-show-labels.dont-hide.hide-collapsed.qa-labels-block
{
class:
(
"has-labels"
if
selected_labels
.
any?
)
}
-
if
selected_labels
.
any?
-
selected_labels
.
each
do
|
label_hash
|
=
render_label
(
label_from_hash
(
label_hash
).
present
(
issuable_subject:
nil
),
link:
sidebar_label_filter_path
(
issuable_sidebar
[
:project_issuables_path
],
label_hash
[
:title
]))
-
else
%span
.no-value
=
_
(
'None'
)
.selectbox.hide-collapsed
-
selected_labels
.
each
do
|
label
|
=
hidden_field_tag
"
#{
issuable_type
}
[label_names][]"
,
label
[
:id
],
id:
nil
.dropdown
%button
.dropdown-menu-toggle.js-label-select.js-multiselect.js-label-sidebar-dropdown
{
type:
"button"
,
data:
sidebar_label_dropdown_data
(
issuable_type
,
issuable_sidebar
)
}
%span
.dropdown-toggle-text
{
class:
(
"is-default"
if
selected_labels
.
empty?
)
}
=
multi_label_name
(
selected_labels
,
"Labels"
)
=
icon
(
'chevron-down'
,
'aria-hidden'
:
'true'
)
.dropdown-menu.dropdown-select.dropdown-menu-paging.qa-dropdown-menu-labels.dropdown-menu-labels.dropdown-menu-selectable.dropdown-extended-height
=
render
partial:
"shared/issuable/label_page_default"
-
if
issuable_sidebar
.
dig
(
:current_user
,
:can_admin_label
)
=
render
partial:
"shared/issuable/label_page_create"
=
render_if_exists
'shared/issuable/sidebar_weight'
,
issuable_sidebar:
issuable_sidebar
-
if
issuable_sidebar
.
has_key?
(
:confidential
)
.selectbox.hide-collapsed
=
f
.
hidden_field
:due_date
,
value:
issuable_sidebar
[
:due_date
].
try
(
:strftime
,
'yy-mm-dd'
)
.dropdown
%button
.dropdown-menu-toggle.js-due-date-select
{
type:
'button'
,
data:
{
toggle:
'dropdown'
,
field_name:
"#{issuable_type}[due_date]"
,
ability_name:
issuable_type
,
issue_update:
issuable_sidebar
[
:issuable_json_path
],
display:
'static'
}
}
%span
.dropdown-toggle-text
=
_
(
'Due date'
)
=
icon
(
'chevron-down'
,
'aria-hidden'
:
'true'
)
.dropdown-menu.dropdown-menu-due-date
=
dropdown_title
(
_
(
'Due date'
))
=
dropdown_content
do
.js-due-date-calendar
-
selected_labels
=
issuable_sidebar
[
:labels
]
.block.labels
.sidebar-collapsed-icon.js-sidebar-labels-tooltip
{
title:
issuable_labels_tooltip
(
selected_labels
),
data:
{
placement:
"left"
,
container:
"body"
,
boundary:
'viewport'
}
}
=
icon
(
'tags'
,
'aria-hidden'
:
'true'
)
%span
=
selected_labels
.
size
.title.hide-collapsed
=
_
(
'Labels'
)
=
icon
(
'spinner spin'
,
class:
'hidden block-loading'
,
'aria-hidden'
:
'true'
)
-
if
can_edit_issuable
=
link_to
_
(
'Edit'
),
'#'
,
class:
'js-sidebar-dropdown-toggle edit-link qa-edit-link-labels float-right'
,
data:
{
track_label:
"right_sidebar"
,
track_property:
"labels"
,
track_event:
"click_edit_button"
,
track_value:
""
}
.value.issuable-show-labels.dont-hide.hide-collapsed.qa-labels-block
{
class:
(
"has-labels"
if
selected_labels
.
any?
)
}
-
if
selected_labels
.
any?
-
selected_labels
.
each
do
|
label_hash
|
=
render_label
(
label_from_hash
(
label_hash
).
present
(
issuable_subject:
nil
),
link:
sidebar_label_filter_path
(
issuable_sidebar
[
:project_issuables_path
],
label_hash
[
:title
]))
-
else
%span
.no-value
=
_
(
'None'
)
.selectbox.hide-collapsed
-
selected_labels
.
each
do
|
label
|
=
hidden_field_tag
"
#{
issuable_type
}
[label_names][]"
,
label
[
:id
],
id:
nil
.dropdown
%button
.dropdown-menu-toggle.js-label-select.js-multiselect.js-label-sidebar-dropdown
{
type:
"button"
,
data:
sidebar_label_dropdown_data
(
issuable_type
,
issuable_sidebar
)
}
%span
.dropdown-toggle-text
{
class:
(
"is-default"
if
selected_labels
.
empty?
)
}
=
multi_label_name
(
selected_labels
,
"Labels"
)
=
icon
(
'chevron-down'
,
'aria-hidden'
:
'true'
)
.dropdown-menu.dropdown-select.dropdown-menu-paging.qa-dropdown-menu-labels.dropdown-menu-labels.dropdown-menu-selectable.dropdown-extended-height
=
render
partial:
"shared/issuable/label_page_default"
-
if
issuable_sidebar
.
dig
(
:current_user
,
:can_admin_label
)
=
render
partial:
"shared/issuable/label_page_create"
=
render_if_exists
'shared/issuable/sidebar_weight'
,
issuable_sidebar:
issuable_sidebar
-
if
issuable_sidebar
.
has_key?
(
:confidential
)
-# haml-lint:disable InlineJavaScript
%script
#js-confidential-issue-data
{
type:
"application/json"
}=
{
is_confidential:
issuable_sidebar
[
:confidential
],
is_editable:
can_edit_issuable
}.
to_json
.
html_safe
#js-confidential-entry-point
-# haml-lint:disable InlineJavaScript
%script
#js-confidential-issue-data
{
type:
"application/json"
}=
{
is_confidential:
issuable_sidebar
[
:confidential
],
is_editable:
can_edit_issuable
}.
to_json
.
html_safe
#js-confidential-entry-point
%script
#js-lock-issue-data
{
type:
"application/json"
}=
{
is_locked:
!!
issuable_sidebar
[
:discussion_locked
],
is_editable:
can_edit_issuable
}.
to_json
.
html_safe
#js-lock-entry-point
.js-sidebar-participants-entry-point
-
if
signed_in
-
if
issuable_sidebar
[
:project_emails_disabled
]
.block.js-emails-disabled
.sidebar-collapsed-icon.has-tooltip
{
title:
notification_description
(
:owner_disabled
),
data:
{
placement:
"left"
,
container:
"body"
,
boundary:
'viewport'
}
}
=
notification_setting_icon
.hide-collapsed
=
notification_description
(
:owner_disabled
)
-
else
.js-sidebar-subscriptions-entry-point
-
project_ref
=
issuable_sidebar
[
:reference
]
.block.project-reference
.sidebar-collapsed-icon.dont-change-state
=
clipboard_button
(
text:
project_ref
,
title:
_
(
'Copy reference'
),
placement:
"left"
,
boundary:
'viewport'
)
.cross-project-reference.hide-collapsed
%span
=
_
(
'Reference:'
)
%cite
{
title:
project_ref
}
=
project_ref
=
clipboard_button
(
text:
project_ref
,
title:
_
(
'Copy reference'
),
placement:
"left"
,
boundary:
'viewport'
)
-
if
issuable_sidebar
.
dig
(
:current_user
,
:can_move
)
.block.js-sidebar-move-issue-block
.sidebar-collapsed-icon
{
data:
{
toggle:
'tooltip'
,
placement:
'left'
,
container:
'body'
,
boundary:
'viewport'
},
title:
_
(
'Move issue'
)
}
=
custom_icon
(
'icon_arrow_right'
)
.dropdown.sidebar-move-issue-dropdown.hide-collapsed
%button
.btn.btn-default.btn-block.js-sidebar-dropdown-toggle.js-move-issue
{
type:
'button'
,
data:
{
toggle:
'dropdown'
,
display:
'static'
,
track_label:
"right_sidebar"
,
track_property:
"move_issue"
,
track_event:
"click_button"
,
track_value:
""
}
}
=
_
(
'Move issue'
)
.dropdown-menu.dropdown-menu-selectable.dropdown-extended-height
=
dropdown_title
(
_
(
'Move issue'
))
=
dropdown_filter
(
_
(
'Search project'
),
search_id:
'sidebar-move-issue-dropdown-search'
)
=
dropdown_content
=
dropdown_loading
=
dropdown_footer
add_content_class:
true
do
%button
.btn.btn-success.sidebar-move-issue-confirmation-button.js-move-issue-confirmation-button
{
type:
'button'
,
disabled:
true
}
=
_
(
'Move'
)
=
icon
(
'spinner spin'
,
class:
'sidebar-move-issue-confirmation-loading-icon'
)
-# haml-lint:disable InlineJavaScript
%script
#js-lock-issue-data
{
type:
"application/json"
}=
{
is_locked:
!!
issuable_sidebar
[
:discussion_locked
],
is_editable:
can_edit_issuable
}.
to_json
.
html_safe
#js-lock-entry-point
.js-sidebar-participants-entry-point
-
if
signed_in
-
if
issuable_sidebar
[
:project_emails_disabled
]
.block.js-emails-disabled
.sidebar-collapsed-icon.has-tooltip
{
title:
notification_description
(
:owner_disabled
),
data:
{
placement:
"left"
,
container:
"body"
,
boundary:
'viewport'
}
}
=
notification_setting_icon
.hide-collapsed
=
notification_description
(
:owner_disabled
)
-
else
.js-sidebar-subscriptions-entry-point
-
project_ref
=
issuable_sidebar
[
:reference
]
.block.project-reference
.sidebar-collapsed-icon.dont-change-state
=
clipboard_button
(
text:
project_ref
,
title:
_
(
'Copy reference'
),
placement:
"left"
,
boundary:
'viewport'
)
.cross-project-reference.hide-collapsed
%span
=
_
(
'Reference:'
)
%cite
{
title:
project_ref
}
=
project_ref
=
clipboard_button
(
text:
project_ref
,
title:
_
(
'Copy reference'
),
placement:
"left"
,
boundary:
'viewport'
)
-
if
issuable_sidebar
.
dig
(
:current_user
,
:can_move
)
.block.js-sidebar-move-issue-block
.sidebar-collapsed-icon
{
data:
{
toggle:
'tooltip'
,
placement:
'left'
,
container:
'body'
,
boundary:
'viewport'
},
title:
_
(
'Move issue'
)
}
=
custom_icon
(
'icon_arrow_right'
)
.dropdown.sidebar-move-issue-dropdown.hide-collapsed
%button
.btn.btn-default.btn-block.js-sidebar-dropdown-toggle.js-move-issue
{
type:
'button'
,
data:
{
toggle:
'dropdown'
,
display:
'static'
,
track_label:
"right_sidebar"
,
track_property:
"move_issue"
,
track_event:
"click_button"
,
track_value:
""
}
}
=
_
(
'Move issue'
)
.dropdown-menu.dropdown-menu-selectable.dropdown-extended-height
=
dropdown_title
(
_
(
'Move issue'
))
=
dropdown_filter
(
_
(
'Search project'
),
search_id:
'sidebar-move-issue-dropdown-search'
)
=
dropdown_content
=
dropdown_loading
=
dropdown_footer
add_content_class:
true
do
%button
.btn.btn-success.sidebar-move-issue-confirmation-button.js-move-issue-confirmation-button
{
type:
'button'
,
disabled:
true
}
=
_
(
'Move'
)
=
icon
(
'spinner spin'
,
class:
'sidebar-move-issue-confirmation-loading-icon'
)
-# haml-lint:disable InlineJavaScript
%script
.js-sidebar-options
{
type:
"application/json"
}=
issuable_sidebar_options
(
issuable_sidebar
).
to_json
.
html_safe
%script
.js-sidebar-options
{
type:
"application/json"
}=
issuable_sidebar_options
(
issuable_sidebar
).
to_json
.
html_safe
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