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

124 lines
8.7 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]
2022-07-16 23:28:13 +05:30
- is_merge_request = issuable_type === 'merge_request'
- moved_sidebar_enabled = moved_mr_sidebar_enabled? && is_merge_request
2021-01-03 14:25:43 +05:30
2022-07-16 23:28:13 +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} #{'right-sidebar-merge-requests' if moved_sidebar_enabled}", 'aria-live' => 'polite', 'aria-label': issuable_type }
.issuable-sidebar{ class: "#{'is-merge-request' if moved_sidebar_enabled}" }
.issuable-sidebar-header{ class: "#{'gl-pb-2! gl-md-display-flex gl-justify-content-end gl-md-display-none!' if moved_sidebar_enabled}" }
%a.gutter-toggle.float-right.js-sidebar-toggle.has-tooltip{ role: "button", class: "#{'gl-display-block' if moved_sidebar_enabled}", href: "#", "aria-label" => _('Toggle sidebar'), title: sidebar_gutter_tooltip_text, data: { container: 'body', placement: 'left', boundary: 'viewport' } }
2021-01-03 14:25:43 +05:30
= sidebar_gutter_toggle_icon
2022-07-16 23:28:13 +05:30
- if signed_in && !moved_sidebar_enabled
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|
2022-07-16 23:28:13 +05:30
- if signed_in && moved_sidebar_enabled
.block.to-do
.title.hide-collapsed.gl-font-weight-bold.gl-display-flex.gl-align-items-center.gl-justify-content-space-between.gl-mt-2{ class: 'gl-mb-0!' }
= _('To-Do')
.js-issuable-todo{ data: { project_path: issuable_sidebar[:project_full_path], iid: issuable_sidebar[:iid], id: issuable_sidebar[:id] } }
.block.assignee.qa-assignee-block{ class: "#{'gl-mt-3' if !signed_in && moved_sidebar_enabled}" }
2021-01-03 14:25:43 +05:30
= 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
2022-04-04 11:22:00 +05:30
- if issuable_sidebar[:supports_escalation]
.block.escalation-status{ data: { testid: 'escalation_status_container' } }
2022-05-07 20:08:51 +05:30
#js-escalation-status{ data: { can_update: issuable_sidebar.dig(:current_user, :can_update_escalation_status).to_s, project_path: issuable_sidebar[:project_full_path], issue_iid: issuable_sidebar[:iid] } }
2022-04-04 11:22:00 +05:30
= render_if_exists 'shared/issuable/sidebar_escalation_policy', issuable_sidebar: issuable_sidebar
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
2022-07-16 23:28:13 +05:30
.js-sidebar-labels{ data: sidebar_labels_data(issuable_sidebar, @project) }
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-05-07 20:08:51 +05:30
- if issuable_sidebar[:show_crm_contacts]
2022-01-26 12:08:38 +05:30
.block.contact
2022-07-16 23:28:13 +05:30
#js-issue-crm-contacts{ data: { issue_id: issuable_sidebar[:id], group_issues_path: issues_group_path(@project.group) } }
= 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]
- if issuable_sidebar.has_key?(:due_date)
#js-due-date-entry-point
2022-01-26 12:08:38 +05:30
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')
2022-05-07 20:08:51 +05:30
= gl_loading_icon(inline: true)
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
2022-07-16 23:28:13 +05:30
- if !moved_sidebar_enabled
#js-lock-entry-point
- if signed_in
.js-sidebar-subscriptions-entry-point
2021-01-03 14:25:43 +05:30
.js-sidebar-participants-entry-point
.block.with-sub-blocks
2021-04-17 20:07:23 +05:30
#js-reference-entry-point
2022-07-16 23:28:13 +05:30
- if issuable_type == 'merge_request' && !moved_sidebar_enabled
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
2022-07-16 23:28:13 +05:30
= clipboard_button(text: source_branch, title: _('Copy branch name'), placement: "left", boundary: 'viewport', class: 'btn-clipboard gl-button btn-default-tertiary btn-icon btn-sm js-source-branch-copy')
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) }
2022-07-16 23:28:13 +05:30
= clipboard_button(text: source_branch, title: _('Copy branch name'), placement: "left", boundary: 'viewport', class: 'btn-clipboard gl-button btn-default-tertiary btn-icon btn-sm js-source-branch-copy')
2021-01-03 14:25:43 +05:30
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') }
2022-06-21 17:19:12 +05:30
= sprite_icon('long-arrow')
2021-01-03 14:25:43 +05:30
.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 }
2022-05-07 20:08:51 +05:30
= gl_loading_icon(inline: true, css_class: 'sidebar-move-issue-confirmation-loading-icon gl-mr-2')
2021-01-03 14:25:43 +05:30
= _('Move')
-# haml-lint:disable InlineJavaScript
%script.js-sidebar-options{ type: "application/json" }= issuable_sidebar_options(issuable_sidebar).to_json.html_safe