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

64 lines
2.7 KiB
Text
Raw Normal View History

2019-02-15 15:39:39 +05:30
- issuable_type = issuable_sidebar[:type]
2020-05-24 23:13:21 +05:30
#js-vue-sidebar-assignees{ data: { field: issuable_type, signed_in: signed_in } }
2017-08-17 22:00:37 +05:30
.title.hide-collapsed
2018-03-17 18:26:18 +05:30
= _('Assignee')
2020-11-24 15:15:51 +05:30
= loading_icon(css_class: 'gl-vertical-align-text-bottom')
2017-08-17 22:00:37 +05:30
2021-03-11 19:13:27 +05:30
.js-sidebar-assignee-data.selectbox.hide-collapsed
2019-02-15 15:39:39 +05:30
- if assignees.none?
= hidden_field_tag "#{issuable_type}[assignee_ids][]", 0, id: nil
- else
- assignees.each do |assignee|
2019-12-04 20:38:33 +05:30
= hidden_field_tag "#{issuable_type}[assignee_ids][]", assignee.id, id: nil, data: assignee_sidebar_data(assignee, merge_request: @merge_request)
2017-08-17 22:00:37 +05:30
2019-02-15 15:39:39 +05:30
- options = { toggle_class: 'js-user-search js-author-search',
title: _('Assign to'),
filter: true,
dropdown_class: 'dropdown-menu-user dropdown-menu-selectable dropdown-menu-author',
placeholder: _('Search users'),
data: { first_user: issuable_sidebar.dig(:current_user, :username),
current_user: true,
2019-12-04 20:38:33 +05:30
iid: issuable_sidebar[:iid],
issuable_type: issuable_type,
2019-02-15 15:39:39 +05:30
project_id: issuable_sidebar[:project_id],
author_id: issuable_sidebar[:author_id],
field_name: "#{issuable_type}[assignee_ids][]",
issue_update: issuable_sidebar[:issuable_json_path],
ability_name: issuable_type,
null_user: true,
display: 'static' } }
2017-08-17 22:00:37 +05:30
2019-07-31 22:56:46 +05:30
- dropdown_options = assignees_dropdown_options(issuable_type)
- title = dropdown_options[:title]
- options[:toggle_class] += ' js-multiselect js-save-user-data'
- data = { field_name: "#{issuable_type}[assignee_ids][]" }
- data[:multi_select] = true
- data['dropdown-title'] = title
- data['dropdown-header'] = dropdown_options[:data][:'dropdown-header']
- data['max-select'] = dropdown_options[:data][:'max-select'] if dropdown_options[:data][:'max-select']
- options[:data].merge!(data)
2017-08-17 22:00:37 +05:30
2021-01-03 14:25:43 +05:30
- if directly_invite_members? || indirectly_invite_members?
2020-06-23 00:09:42 +05:30
- options[:dropdown_class] += ' dropdown-extended-height'
- options[:footer_content] = true
- options[:wrapper_class] = 'js-sidebar-assignee-dropdown'
2021-01-03 14:25:43 +05:30
- invite_text = _('Invite Members')
- track_label = 'edit_assignee'
2020-06-23 00:09:42 +05:30
= dropdown_tag(title, options: options) do
%ul.dropdown-footer-list
%li
2021-01-03 14:25:43 +05:30
- if directly_invite_members?
= link_to invite_text,
project_project_members_path(@project),
title: invite_text,
data: { 'is-link': true, 'track-event': 'click_invite_members', 'track-label': track_label }
- else
.js-invite-member-trigger{ data: { display_text: invite_text, event: 'click_invite_members_version_b', label: track_label } }
2020-06-23 00:09:42 +05:30
- else
= dropdown_tag(title, options: options)
2021-01-03 14:25:43 +05:30
- if indirectly_invite_members?
.js-invite-member-modal{ data: { members_path: project_project_members_path(@project, sort: :access_level_desc) } }