debian-mirror-gitlab/app/views/shared/issuable/_sidebar.html.haml

112 lines
7.3 KiB
Text
Raw Normal View History

2019-02-15 15:39:39 +05:30
-# `assignees` is being passed in for populating selected assignee values in the select box and rendering the assignee link
This should be removed when this sidebar is converted to Vue since assignee data is also available in the `issuable_sidebar` hash
2017-08-17 22:00:37 +05:30
2019-02-15 15:39:39 +05:30
- issuable_type = issuable_sidebar[:type]
2021-03-08 18:12:59 +05:30
- show_forwarding_email = !issuable_sidebar[:create_note_email].nil?
2019-02-15 15:39:39 +05:30
- signed_in = !!issuable_sidebar.dig(:current_user, :id)
- can_edit_issuable = issuable_sidebar.dig(:current_user, :can_edit)
2020-11-24 15:15:51 +05:30
- add_page_startup_api_call "#{issuable_sidebar[:issuable_json_path]}?serializer=sidebar_extras"
2021-01-03 14:25:43 +05:30
- reviewers = local_assigns.fetch(:reviewers, nil)
2021-11-18 22:05:49 +05:30
- in_group_context_with_iterations = @project.group.present? && issuable_sidebar[:supports_iterations]
2021-01-03 14:25:43 +05:30
2021-03-11 19:13:27 +05:30
%aside.right-sidebar.js-right-sidebar.js-issuable-sidebar{ data: { signed: { in: signed_in }, issuable_type: issuable_type }, class: sidebar_gutter_collapsed_class, 'aria-live' => 'polite', 'aria-label': issuable_type }
2021-01-03 14:25:43 +05:30
.issuable-sidebar
2021-09-30 23:02:18 +05:30
.issuable-sidebar-header.gl-py-3
2021-01-03 14:25:43 +05:30
%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
2021-09-30 23:02:18 +05:30
.js-issuable-todo{ data: { project_path: issuable_sidebar[:project_full_path], iid: issuable_sidebar[:iid], id: issuable_sidebar[:id] } }
2021-01-03 14:25:43 +05:30
= form_for issuable_type, url: issuable_sidebar[:issuable_json_path], remote: true, html: { class: 'issuable-context-form inline-update js-issuable-update' } do |f|
.block.assignee.qa-assignee-block
= render "shared/issuable/sidebar_assignees", issuable_sidebar: issuable_sidebar, assignees: assignees, signed_in: signed_in
2021-03-11 19:13:27 +05:30
- if reviewers
2021-01-03 14:25:43 +05:30
.block.reviewer.qa-reviewer-block
= render "shared/issuable/sidebar_reviewers", issuable_sidebar: issuable_sidebar, reviewers: reviewers, signed_in: signed_in
2021-09-04 01:27:46 +05:30
- if @project.group.present?
= render_if_exists 'shared/issuable/sidebar_item_epic', issuable_sidebar: issuable_sidebar, group_path: @project.group.full_path, project_path: issuable_sidebar[:project_full_path], issue_iid: issuable_sidebar[:iid], issuable_type: issuable_type
2021-01-03 14:25:43 +05:30
- if issuable_sidebar[:supports_milestone]
2022-01-26 12:08:38 +05:30
.block.milestone{ :class => ("gl-border-b-0!" if in_group_context_with_iterations), data: { qa_selector: 'milestone_block', testid: 'sidebar-milestones' } }
2021-09-30 23:02:18 +05:30
.js-milestone-select{ data: { can_edit: can_edit_issuable.to_s, project_path: issuable_sidebar[:project_full_path], issue_iid: issuable_sidebar[:iid] } }
2021-04-17 20:07:23 +05:30
2021-11-18 22:05:49 +05:30
- if in_group_context_with_iterations
.block{ class: 'gl-pt-0! gl-collapse-empty', data: { qa_selector: 'iteration_container', testid: 'iteration_container' } }<
2021-04-17 20:07:23 +05:30
= render_if_exists 'shared/issuable/iteration_select', can_edit: can_edit_issuable.to_s, group_path: @project.group.full_path, project_path: issuable_sidebar[:project_full_path], issue_iid: issuable_sidebar[:iid], issuable_type: issuable_type
2021-01-03 14:25:43 +05:30
2022-01-26 12:08:38 +05:30
- if @show_crm_contacts
.block.contact
#js-issue-crm-contacts{ data: { issue_id: issuable_sidebar[:id] } }
2021-01-03 14:25:43 +05:30
- if issuable_sidebar[:supports_time_tracking]
#issuable-time-tracker.block
// Fallback while content is loading
.title.hide-collapsed
= _('Time tracking')
2021-03-08 18:12:59 +05:30
= loading_icon(css_class: 'gl-vertical-align-text-bottom')
2021-01-03 14:25:43 +05:30
- if issuable_sidebar.has_key?(:due_date)
2021-04-29 21:17:54 +05:30
#js-due-date-entry-point
2021-01-03 14:25:43 +05:30
2021-01-29 00:20:46 +05:30
.js-sidebar-labels{ data: sidebar_labels_data(issuable_sidebar, @project) }
2021-01-03 14:25:43 +05:30
2021-09-30 23:02:18 +05:30
= render_if_exists 'shared/issuable/sidebar_weight', issuable_sidebar: issuable_sidebar, can_edit: can_edit_issuable.to_s, project_path: issuable_sidebar[:project_full_path], issue_iid: issuable_sidebar[:iid]
2021-01-03 14:25:43 +05:30
- if issuable_sidebar[:supports_severity]
#js-severity
- if issuable_sidebar.dig(:features_available, :health_status)
2021-09-30 23:02:18 +05:30
.js-sidebar-status-entry-point{ data: sidebar_status_data(issuable_sidebar, @project) }
2021-01-03 14:25:43 +05:30
- if issuable_sidebar.has_key?(:confidential)
2021-11-18 22:05:49 +05:30
-# haml-lint:disable InlineJavaScript
2021-01-03 14:25:43 +05:30
%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
2021-04-17 20:07:23 +05:30
= render_if_exists 'shared/issuable/sidebar_cve_id_request', issuable_sidebar: issuable_sidebar
2021-11-18 22:05:49 +05:30
-# haml-lint:disable InlineJavaScript
2021-01-03 14:25:43 +05:30
%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
.js-sidebar-subscriptions-entry-point
.block.with-sub-blocks
2021-04-17 20:07:23 +05:30
#js-reference-entry-point
2021-01-03 14:25:43 +05:30
- if issuable_type == 'merge_request'
2021-04-29 21:17:54 +05:30
.sub-block.js-sidebar-source-branch
2021-11-18 22:05:49 +05:30
.sidebar-collapsed-icon.js-dont-change-state
2021-01-03 14:25:43 +05:30
= clipboard_button(text: source_branch, title: _('Copy branch name'), placement: "left", boundary: 'viewport')
2021-04-29 21:17:54 +05:30
.gl-display-flex.gl-align-items-center.gl-justify-content-space-between.gl-mb-2.hide-collapsed
%span.gl-overflow-hidden.gl-text-overflow-ellipsis.gl-white-space-nowrap
= _('Source branch: %{source_branch_open}%{source_branch}%{source_branch_close}').html_safe % { source_branch_open: "<span class='gl-font-monospace' data-testid='ref-name' title='#{html_escape(source_branch)}'>".html_safe, source_branch_close: "</span>".html_safe, source_branch: html_escape(source_branch) }
2021-01-03 14:25:43 +05:30
= clipboard_button(text: source_branch, title: _('Copy branch name'), placement: "left", boundary: 'viewport')
2021-03-08 18:12:59 +05:30
- if show_forwarding_email
.block
#issuable-copy-email
2021-01-03 14:25:43 +05:30
- 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
2021-03-08 18:12:59 +05:30
%button.gl-button.btn.btn-default.btn-block.js-sidebar-dropdown-toggle.js-move-issue{ type: 'button',
2021-11-11 11:23:49 +05:30
data: { toggle: 'dropdown', display: 'static', track_label: "right_sidebar", track_property: "move_issue", track_action: "click_button", track_value: "" } }
2021-01-03 14:25:43 +05:30
= _('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
2021-04-17 20:07:23 +05:30
%button.gl-button.btn.btn-confirm.sidebar-move-issue-confirmation-button.js-move-issue-confirmation-button{ type: 'button', disabled: true }
2021-01-03 14:25:43 +05:30
= _('Move')
= loading_icon(css_class: 'gl-vertical-align-text-bottom 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