Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-12-19 14:01:45 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-19 14:01:45 +0300
commit9297025d0b7ddf095eb618dfaaab2ff8f2018d8b (patch)
tree865198c01d1824a9b098127baa3ab980c9cd2c06 /app/views/shared
parent6372471f43ee03c05a7c1f8b0c6ac6b8a7431dbe (diff)
Add latest changes from gitlab-org/gitlab@16-7-stable-eev16.7.0-rc42
Diffstat (limited to 'app/views/shared')
-rw-r--r--app/views/shared/_allow_request_access.html.haml2
-rw-r--r--app/views/shared/_auto_devops_callout.html.haml4
-rw-r--r--app/views/shared/_clone_panel.html.haml4
-rw-r--r--app/views/shared/_event_filter.html.haml2
-rw-r--r--app/views/shared/_groups_projects_more_actions_dropdown.html.haml16
-rw-r--r--app/views/shared/_help_dropdown_forum_link.html.haml2
-rw-r--r--app/views/shared/_ide_root.html.haml2
-rw-r--r--app/views/shared/_mobile_clone_panel.html.haml4
-rw-r--r--app/views/shared/_sidebar_toggle_button.html.haml7
-rw-r--r--app/views/shared/_user_dropdown_contributing_link.html.haml2
-rw-r--r--app/views/shared/_user_dropdown_instance_review.html.haml6
-rw-r--r--app/views/shared/_web_ide_button.html.haml3
-rw-r--r--app/views/shared/access_tokens/_form.html.haml4
-rw-r--r--app/views/shared/boards/_show.html.haml1
-rw-r--r--app/views/shared/deploy_keys/_form.html.haml12
-rw-r--r--app/views/shared/doorkeeper/applications/_index.html.haml5
-rw-r--r--app/views/shared/groups/_group.html.haml10
-rw-r--r--app/views/shared/groups/_search_form.html.haml2
-rw-r--r--app/views/shared/icons/_caret_down.svg1
-rw-r--r--app/views/shared/issuable/_search_bar.html.haml40
-rw-r--r--app/views/shared/issuable/_sidebar.html.haml4
-rw-r--r--app/views/shared/members/_access_request_links.html.haml18
-rw-r--r--app/views/shared/nav/_admin_scope_header.html.haml6
-rw-r--r--app/views/shared/nav/_explore_scope_header.html.haml6
-rw-r--r--app/views/shared/nav/_scope_menu.html.haml6
-rw-r--r--app/views/shared/nav/_sidebar.html.haml16
-rw-r--r--app/views/shared/nav/_sidebar_hidden_menu_item.html.haml3
-rw-r--r--app/views/shared/nav/_sidebar_menu.html.haml19
-rw-r--r--app/views/shared/nav/_sidebar_menu_item.html.haml11
-rw-r--r--app/views/shared/nav/_sidebar_submenu.html.haml12
-rw-r--r--app/views/shared/nav/_user_settings_scope_header.html.haml4
-rw-r--r--app/views/shared/nav/_your_work_scope_header.html.haml6
-rw-r--r--app/views/shared/notes/_edit_form.html.haml1
-rw-r--r--app/views/shared/projects/_project.html.haml2
-rw-r--r--app/views/shared/projects/_topics.html.haml5
-rw-r--r--app/views/shared/runners/_runner_description.html.haml2
-rw-r--r--app/views/shared/snippets/_snippet.html.haml3
-rw-r--r--app/views/shared/wikis/_main_links.html.haml2
-rw-r--r--app/views/shared/wikis/_sidebar_wiki_page.html.haml2
-rw-r--r--app/views/shared/wikis/_wiki_directory.html.haml4
-rw-r--r--app/views/shared/wikis/diff.html.haml2
-rw-r--r--app/views/shared/wikis/edit.html.haml4
-rw-r--r--app/views/shared/wikis/history.html.haml2
-rw-r--r--app/views/shared/wikis/show.html.haml14
44 files changed, 93 insertions, 190 deletions
diff --git a/app/views/shared/_allow_request_access.html.haml b/app/views/shared/_allow_request_access.html.haml
index ab5f2fb1772..c7df9354b11 100644
--- a/app/views/shared/_allow_request_access.html.haml
+++ b/app/views/shared/_allow_request_access.html.haml
@@ -1,3 +1,3 @@
= form.gitlab_ui_checkbox_component :request_access_enabled,
_('Users can request access (if visibility is public or internal)'),
- checkbox_options: { data: { qa_selector: 'request_access_checkbox' } }
+ checkbox_options: { data: { testid: 'request-access-checkbox' } }
diff --git a/app/views/shared/_auto_devops_callout.html.haml b/app/views/shared/_auto_devops_callout.html.haml
index 3f613a1b383..af09b62c229 100644
--- a/app/views/shared/_auto_devops_callout.html.haml
+++ b/app/views/shared/_auto_devops_callout.html.haml
@@ -1,6 +1,4 @@
-- container = @no_top_bar_container ? 'container-fluid' : container_class
-
-%div{ class: [container, @content_class, 'gl-pt-5!'] }
+%div{ class: [container_class, @content_class, 'gl-pt-5!'] }
= render Pajamas::BannerComponent.new(button_text: s_('AutoDevOps|Enable in settings'),
button_link: project_settings_ci_cd_path(@project, anchor: 'autodevops-settings'),
svg_path: 'illustrations/autodevops.svg',
diff --git a/app/views/shared/_clone_panel.html.haml b/app/views/shared/_clone_panel.html.haml
index 4b39ec52837..7dce8737eb4 100644
--- a/app/views/shared/_clone_panel.html.haml
+++ b/app/views/shared/_clone_panel.html.haml
@@ -10,9 +10,9 @@
= default_clone_protocol.upcase
= sprite_icon('chevron-down', css_class: 'gl-icon')
%ul.dropdown-menu.dropdown-menu-selectable.clone-options-dropdown{ data: { testid: 'clone-dropdown-content' } }
- %li
+ %li.js-clone-links
= ssh_clone_button(container)
- %li
+ %li.js-clone-links
= http_clone_button(container)
= render_if_exists 'shared/kerberos_clone_button', container: container
diff --git a/app/views/shared/_event_filter.html.haml b/app/views/shared/_event_filter.html.haml
index 82b4a314b59..9d55db102f9 100644
--- a/app/views/shared/_event_filter.html.haml
+++ b/app/views/shared/_event_filter.html.haml
@@ -1,6 +1,6 @@
- show_group_events = local_assigns.fetch(:show_group_events, false)
-.scrolling-tabs-container.inner-page-scroll-tabs.is-smaller.flex-fill
+.scrolling-tabs-container.inner-page-scroll-tabs.gl-flex-grow-1.gl-min-w-0.gl-w-full
%button.fade-left{ type: 'button', title: _('Scroll left'), 'aria-label': _('Scroll left') }
= sprite_icon('chevron-lg-left', size: 12)
%button.fade-right{ type: 'button', title: _('Scroll right'), 'aria-label': _('Scroll right') }
diff --git a/app/views/shared/_groups_projects_more_actions_dropdown.html.haml b/app/views/shared/_groups_projects_more_actions_dropdown.html.haml
new file mode 100644
index 00000000000..5189dc54f0c
--- /dev/null
+++ b/app/views/shared/_groups_projects_more_actions_dropdown.html.haml
@@ -0,0 +1,16 @@
+- dropdown_data = groups_projects_more_actions_dropdown_data(source)
+
+- if dropdown_data[:is_group] && can?(current_user, :read_group, @group)
+ - id = @group.id
+
+ %span.gl-sr-only{ itemprop: 'identifier', data: { testid: 'group-id-content' } }
+ = s_('GroupPage|Group ID: %{id}') % { id: id }
+
+- elsif can?(current_user, :read_project, @project)
+ - id = @project.id
+
+ %span.gl-sr-only{ itemprop: 'identifier', data: { testid: 'project-id-content' } }
+ = s_('ProjectPage|Project ID: %{id}') % { id: id }
+
+- if id || current_user
+ .js-groups-projects-more-actions-dropdown{ data: dropdown_data }
diff --git a/app/views/shared/_help_dropdown_forum_link.html.haml b/app/views/shared/_help_dropdown_forum_link.html.haml
deleted file mode 100644
index 6d65f2e61bd..00000000000
--- a/app/views/shared/_help_dropdown_forum_link.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-= link_to _("Community forum"), ApplicationHelper.community_forum, target: '_blank', class: 'text-nowrap',
- rel: 'noopener noreferrer', data: { 'track_action': 'click_link', 'track_label': 'community_forum', 'track_property': 'navigation_top' }
diff --git a/app/views/shared/_ide_root.html.haml b/app/views/shared/_ide_root.html.haml
index db3e76e188c..173b081d693 100644
--- a/app/views/shared/_ide_root.html.haml
+++ b/app/views/shared/_ide_root.html.haml
@@ -5,6 +5,6 @@
-# 100vh because of the presence of the bottom bar
#ide.gl-h-full{ data: data }
- .web-ide-loader.gl-display-flex.gl-justify-content-center.gl-align-items-center.gl-flex-direction-column.gl-h-full.gl-mr-auto.gl-ml-auto
+ .web-ide-loader.gl-display-flex.gl-justify-content-center.gl-align-items-center.gl-flex-direction-column.gl-h-full.gl-mx-auto
= brand_header_logo
%h3.clblack.gl-mt-6= loading_text
diff --git a/app/views/shared/_mobile_clone_panel.html.haml b/app/views/shared/_mobile_clone_panel.html.haml
index c594cee326e..2f7fb348c17 100644
--- a/app/views/shared/_mobile_clone_panel.html.haml
+++ b/app/views/shared/_mobile_clone_panel.html.haml
@@ -8,9 +8,9 @@
= sprite_icon("chevron-down", css_class: "dropdown-btn-icon icon")
%ul.dropdown-menu.dropdown-menu-selectable.dropdown-menu-right.clone-options-dropdown{ data: { dropdown: true } }
- if ssh_enabled?
- %li
+ %li.js-clone-links
= dropdown_item_with_description(ssh_copy_label, ssh_clone_url_to_repo(project), href: ssh_clone_url_to_repo(project), data: { clone_type: 'ssh' }, default: true)
- if http_enabled?
- %li
+ %li.js-clone-links
= dropdown_item_with_description(http_copy_label, http_clone_url_to_repo(project), href: http_clone_url_to_repo(project), data: { clone_type: 'http' })
= render_if_exists 'shared/mobile_kerberos_clone'
diff --git a/app/views/shared/_sidebar_toggle_button.html.haml b/app/views/shared/_sidebar_toggle_button.html.haml
deleted file mode 100644
index 4cdf1340d64..00000000000
--- a/app/views/shared/_sidebar_toggle_button.html.haml
+++ /dev/null
@@ -1,7 +0,0 @@
-%a.toggle-sidebar-button.js-toggle-sidebar.rspec-toggle-sidebar{ role: "button", type: "button", title: "Toggle sidebar" }
- = sprite_icon('chevron-double-lg-left', size: 12, css_class: 'icon-chevron-double-lg-left')
- %span.collapse-text.gl-ml-3= _("Collapse sidebar")
-
-= button_tag class: 'close-nav-button', type: 'button' do
- = sprite_icon('close')
- %span.collapse-text.gl-ml-3= _("Close sidebar")
diff --git a/app/views/shared/_user_dropdown_contributing_link.html.haml b/app/views/shared/_user_dropdown_contributing_link.html.haml
deleted file mode 100644
index 70d9db998fc..00000000000
--- a/app/views/shared/_user_dropdown_contributing_link.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-= link_to "https://about.gitlab.com/contributing", target: '_blank', class: 'text-nowrap', data: {track_action: 'click_link', track_label: 'contribute_to_gitlab', track_property: 'navigation_top'} do
- = _("Contribute to GitLab")
diff --git a/app/views/shared/_user_dropdown_instance_review.html.haml b/app/views/shared/_user_dropdown_instance_review.html.haml
deleted file mode 100644
index 1a02f9958b0..00000000000
--- a/app/views/shared/_user_dropdown_instance_review.html.haml
+++ /dev/null
@@ -1,6 +0,0 @@
-- return unless instance_review_permitted?
-
-%li.divider
-%li
- = link_to admin_instance_review_path, target: '_blank', class: 'text-nowrap', data: {track_action: 'click_link', track_label: 'instance_review', track_property: 'navigation_top'} do
- = _("Get a free instance review")
diff --git a/app/views/shared/_web_ide_button.html.haml b/app/views/shared/_web_ide_button.html.haml
index 803f6f9efce..5f281946d3c 100644
--- a/app/views/shared/_web_ide_button.html.haml
+++ b/app/views/shared/_web_ide_button.html.haml
@@ -1,5 +1,6 @@
- type = blob ? 'blob' : 'tree'
- button_data = web_ide_button_data({ blob: blob })
- fork_options = fork_modal_options(@project, blob)
+- css_classes = false unless local_assigns[:css_classes]
-.gl-display-inline-block{ data: { options: button_data.merge(fork_options).to_json, web_ide_promo_popover_img: image_path('web-ide-promo-popover.svg') }, id: "js-#{type}-web-ide-link" }
+.gl-display-inline-block{ data: { options: button_data.merge(fork_options).to_json, web_ide_promo_popover_img: image_path('web-ide-promo-popover.svg'), css_classes: css_classes }, id: "js-#{type}-web-ide-link" }
diff --git a/app/views/shared/access_tokens/_form.html.haml b/app/views/shared/access_tokens/_form.html.haml
index 3bf85da83b1..79c4bfca630 100644
--- a/app/views/shared/access_tokens/_form.html.haml
+++ b/app/views/shared/access_tokens/_form.html.haml
@@ -15,7 +15,7 @@
.form-group
= f.label :name, s_('AccessTokens|Token name'), class: 'label-bold'
- = f.text_field :name, class: 'form-control gl-form-input gl-form-input-xl', required: true, data: { qa_selector: 'access_token_name_field' }, :'aria-describedby' => 'access_token_help_text'
+ = f.text_field :name, class: 'form-control gl-form-input gl-form-input-xl', required: true, data: { testid: 'access-token-name-field' }, :'aria-describedby' => 'access_token_help_text'
%span.form-text.text-muted#access_token_help_text
- if resource
- resource_type = resource.is_a?(Group) ? "group" : "project"
@@ -42,6 +42,6 @@
= render 'shared/tokens/scopes_form', prefix: prefix, description_prefix: description_prefix, token: token, scopes: scopes, f: f
.gl-mt-3
- = f.submit s_('AccessTokens|Create %{type}') % { type: type }, data: { qa_selector: 'create_token_button' }, pajamas_button: true
+ = f.submit s_('AccessTokens|Create %{type}') % { type: type }, data: { testid: 'create-token-button' }, pajamas_button: true
= render Pajamas::ButtonComponent.new(button_options: { type: 'reset', class: 'gl-ml-2 js-toggle-button' }) do
= _('Cancel')
diff --git a/app/views/shared/boards/_show.html.haml b/app/views/shared/boards/_show.html.haml
index 882730f536d..7ea2062eea1 100644
--- a/app/views/shared/boards/_show.html.haml
+++ b/app/views/shared/boards/_show.html.haml
@@ -1,5 +1,4 @@
- board = local_assigns.fetch(:board, nil)
-- @no_top_bar_container = true
- @no_container = true
- @content_wrapper_class = "#{@content_wrapper_class} gl-relative gl-pb-0"
- @content_class = "issue-boards-content js-focus-mode-board"
diff --git a/app/views/shared/deploy_keys/_form.html.haml b/app/views/shared/deploy_keys/_form.html.haml
index bbaf5bf9627..f36de252c01 100644
--- a/app/views/shared/deploy_keys/_form.html.haml
+++ b/app/views/shared/deploy_keys/_form.html.haml
@@ -17,6 +17,10 @@
- link_end = '</a>'
= _('Paste a public key here. %{link_start}How do I generate it?%{link_end}').html_safe % { link_start: link_start, link_end: link_end.html_safe }
= form.text_area :key, class: 'form-control gl-form-input thin_area', rows: 5, data: { testid: 'deploy-key-field' }
+
+ .form-group
+ = form.label :expires_at, _('Expiration date (optional)'), class: 'label-bold'
+ = form.gitlab_ui_datepicker :expires_at
- else
- if deploy_key.fingerprint_sha256.present?
.form-group
@@ -26,10 +30,10 @@
.form-group
= form.label :fingerprint, _('Fingerprint (MD5)')
= form.text_field :fingerprint, class: 'form-control gl-form-input', readonly: 'readonly'
-
-.form-group
- = form.label :expires_at, _('Expiration date (optional)'), class: 'label-bold'
- = form.text_field :expires_at, class: 'form-control gl-form-input', readonly: 'readonly'
+ - if deploy_key.expires_at.present?
+ .form-group
+ = form.label :expires_at, _('Expiration date'), class: 'label-bold'
+ = form.gitlab_ui_datepicker :expires_at, class: 'form-control gl-form-input', readonly: 'readonly'
- if deploy_keys_project.present?
= form.fields_for :deploy_keys_projects, deploy_keys_project do |deploy_keys_project_form|
diff --git a/app/views/shared/doorkeeper/applications/_index.html.haml b/app/views/shared/doorkeeper/applications/_index.html.haml
index f28cc64b969..c1aeff9acee 100644
--- a/app/views/shared/doorkeeper/applications/_index.html.haml
+++ b/app/views/shared/doorkeeper/applications/_index.html.haml
@@ -61,8 +61,9 @@
= _("You don't have any applications.")
- else
- .bs-callout.bs-callout-disabled
- = _('Adding new applications is disabled in your GitLab instance. Please contact your GitLab administrator to get the permission.')
+ = render Pajamas::AlertComponent.new(variant: :warning, dismissible: false, alert_options: { class: 'gl-mb-5' }) do |c|
+ - c.with_body do
+ = s_('Adding new applications is disabled in your GitLab instance. Please contact your GitLab administrator to get the permission.')
- if oauth_authorized_applications_enabled
= render Pajamas::CardComponent.new(card_options: { class: 'gl-new-card oauth-authorized-applications' }, header_options: { class: 'gl-new-card-header' }, body_options: { class: 'gl-new-card-body gl-px-0' }) do |c|
diff --git a/app/views/shared/groups/_group.html.haml b/app/views/shared/groups/_group.html.haml
index f8304d5e44e..375e10de065 100644
--- a/app/views/shared/groups/_group.html.haml
+++ b/app/views/shared/groups/_group.html.haml
@@ -2,9 +2,9 @@
- access = user&.max_member_access_for_group(group.id)
%li.group-row.py-3.gl-align-items-center{ class: "gl-display-flex!" }
- .avatar-container.rect-avatar.s40.gl-flex-shrink-0
+ .avatar-container.rect-avatar.s48.gl-flex-shrink-0
= link_to group do
- = group_icon(group, class: "avatar s40")
+ = render Pajamas::AvatarComponent.new(group, alt: group.name, size: 48)
.gl-min-w-0.gl-flex-grow-1
.title
= link_to group.full_name, group, class: 'group-name'
@@ -17,11 +17,11 @@
= markdown_field(group, :description)
.stats.gl-text-gray-500.gl-flex-shrink-0
- %span.gl-ml-5
- = sprite_icon('bookmark', css_class: 'gl-vertical-align-text-bottom')
+ %span.gl-ml-5.has-tooltip{ title: _('Projects') }
+ = sprite_icon('project', css_class: 'gl-vertical-align-text-bottom')
= number_with_delimiter(group.projects.non_archived.count)
- %span.gl-ml-5
+ %span.gl-ml-5.has-tooltip{ title: _('Users') }
= sprite_icon('users', css_class: 'gl-vertical-align-text-bottom')
= number_with_delimiter(group.users.count)
diff --git a/app/views/shared/groups/_search_form.html.haml b/app/views/shared/groups/_search_form.html.haml
index 2afac0ad733..f8e400ab688 100644
--- a/app/views/shared/groups/_search_form.html.haml
+++ b/app/views/shared/groups/_search_form.html.haml
@@ -1,2 +1,2 @@
= form_tag request.path, method: :get, class: "group-filter-form js-group-filter-form", id: 'group-filter-form' do |f|
- = search_field_tag :filter, params[:filter], placeholder: s_('GroupsTree|Search by name'), class: 'group-filter-form-field form-control js-groups-list-filter', data: { qa_selector: 'groups_filter_field' }, spellcheck: false, id: 'group-filter-form-field'
+ = search_field_tag :filter, params[:filter], placeholder: s_('GroupsTree|Search by name'), class: 'group-filter-form-field form-control js-groups-list-filter', data: { testid: 'groups-filter-field' }, spellcheck: false, id: 'group-filter-form-field'
diff --git a/app/views/shared/icons/_caret_down.svg b/app/views/shared/icons/_caret_down.svg
deleted file mode 100644
index fd80fd0f651..00000000000
--- a/app/views/shared/icons/_caret_down.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="caret-down" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8 10.243l-4.95-4.95a1 1 0 0 0-1.414 1.414l5.657 5.657a.997.997 0 0 0 1.414 0l5.657-5.657a1 1 0 0 0-1.414-1.414L8 10.243z"/></svg>
diff --git a/app/views/shared/issuable/_search_bar.html.haml b/app/views/shared/issuable/_search_bar.html.haml
index 52c8a4d4123..8db7f7345f4 100644
--- a/app/views/shared/issuable/_search_bar.html.haml
+++ b/app/views/shared/issuable/_search_bar.html.haml
@@ -1,6 +1,8 @@
- type = local_assigns.fetch(:type)
- show_sorting_dropdown = local_assigns.fetch(:show_sorting_dropdown, true)
- disable_target_branch = local_assigns.fetch(:disable_target_branch, false)
+- disable_releases = local_assigns.fetch(:disable_releases, false)
+- disable_environments = local_assigns.fetch(:disable_environments, false)
- placeholder = local_assigns[:placeholder] || _('Search or filter results…')
- block_css_class = type != :productivity_analytics ? 'row-content-block second-block' : ''
@@ -111,19 +113,20 @@
%button.btn.btn-link.js-data-value{ type: 'button' }
{{title}}
= render_if_exists 'shared/issuable/filter_iteration', type: type
- #js-dropdown-release.filtered-search-input-dropdown-menu.dropdown-menu
- %ul{ data: { dropdown: true } }
- %li.filter-dropdown-item{ data: { value: 'None' } }
- %button.btn.btn-link{ type: 'button' }
- = _('None')
- %li.filter-dropdown-item{ data: { value: 'Any' } }
- %button.btn.btn-link{ type: 'button' }
- = _('Any')
- %li.divider.droplab-item-ignore
- %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }
- %li.filter-dropdown-item
- %button.btn.btn-link.js-data-value{ type: 'button' }
- {{title}}
+ - unless disable_releases
+ #js-dropdown-release.filtered-search-input-dropdown-menu.dropdown-menu
+ %ul{ data: { dropdown: true } }
+ %li.filter-dropdown-item{ data: { value: 'None' } }
+ %button.btn.btn-link{ type: 'button' }
+ = _('None')
+ %li.filter-dropdown-item{ data: { value: 'Any' } }
+ %button.btn.btn-link{ type: 'button' }
+ = _('Any')
+ %li.divider.droplab-item-ignore
+ %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }
+ %li.filter-dropdown-item
+ %button.btn.btn-link.js-data-value{ type: 'button' }
+ {{title}}
#js-dropdown-label.filtered-search-input-dropdown-menu.dropdown-menu
%ul{ data: { dropdown: true } }
%li.filter-dropdown-item{ data: { value: 'None' } }
@@ -190,11 +193,12 @@
%li.filter-dropdown-item
%button.btn.btn-link.js-data-value.monospace
{{title}}
- #js-dropdown-environment.filtered-search-input-dropdown-menu.dropdown-menu
- %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }
- %li.filter-dropdown-item
- %button.btn.btn-link.js-data-value{ type: 'button' }
- {{title}}
+ - unless disable_environments
+ #js-dropdown-environment.filtered-search-input-dropdown-menu.dropdown-menu
+ %ul.filter-dropdown{ data: { dynamic: true, dropdown: true } }
+ %li.filter-dropdown-item
+ %button.btn.btn-link.js-data-value{ type: 'button' }
+ {{title}}
= render_if_exists 'shared/issuable/filter_weight', type: type
diff --git a/app/views/shared/issuable/_sidebar.html.haml b/app/views/shared/issuable/_sidebar.html.haml
index f018e4f122e..9477d36c9b9 100644
--- a/app/views/shared/issuable/_sidebar.html.haml
+++ b/app/views/shared/issuable/_sidebar.html.haml
@@ -15,7 +15,7 @@
%aside.right-sidebar.js-right-sidebar.js-issuable-sidebar{ data: { always_show_toggle: true, signed: { in: signed_in }, issuable_type: issuable_type }, class: "#{sidebar_gutter_collapsed_class(is_merge_request_with_flag)} #{'right-sidebar-merge-requests' if is_merge_request_with_flag}", 'aria-live' => 'polite', 'aria-label': issuable_type }
.issuable-sidebar{ class: "#{'is-merge-request' if is_merge_request_with_flag}" }
- .issuable-sidebar-header{ class: "gl-pb-4! #{'gl-pb-2! gl-md-display-flex gl-justify-content-end gl-lg-display-none!' if is_merge_request_with_flag}" }
+ .issuable-sidebar-header{ class: "#{'gl-pb-2! gl-md-display-flex gl-justify-content-end gl-lg-display-none!' if is_merge_request_with_flag}" }
= render Pajamas::ButtonComponent.new(button_options: { class: "gutter-toggle float-right js-sidebar-toggle has-tooltip gl-shadow-none! #{'gl-display-block' if moved_sidebar_enabled} #{'gl-mt-2' if notifications_todos_buttons_enabled?}" , type: 'button', 'aria-label' => _('Toggle sidebar'), title: sidebar_gutter_tooltip_text, data: { container: 'body', placement: 'left', boundary: 'viewport' } }) do
= sidebar_gutter_toggle_icon
- if signed_in
@@ -51,7 +51,7 @@
- if in_group_context_with_iterations
.block.gl-collapse-empty{ data: { testid: 'iteration-container' } }<
- = 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
+ = 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, issue_id: issuable_sidebar[:id]
- if issuable_sidebar[:show_crm_contacts]
.block.contact
diff --git a/app/views/shared/members/_access_request_links.html.haml b/app/views/shared/members/_access_request_links.html.haml
deleted file mode 100644
index 0d692ee753a..00000000000
--- a/app/views/shared/members/_access_request_links.html.haml
+++ /dev/null
@@ -1,18 +0,0 @@
-- model_name = source.model_name.to_s.downcase
-
-- if can?(current_user, :"destroy_#{model_name}_member", source.members.find_by(user_id: current_user.id)) # rubocop: disable CodeReuse/ActiveRecord
- - link_text = source.is_a?(Group) ? _('Leave group') : _('Leave project')
- = link_to link_text, polymorphic_path([:leave, source, :members]),
- method: :delete,
- aria: { label: link_text },
- data: { confirm: leave_confirmation_message(source), confirm_btn_variant: 'danger', qa_selector: 'leave_group_link' },
- class: 'js-leave-link'
-- elsif requester = source.requesters.find_by(user_id: current_user.id) # rubocop: disable CodeReuse/ActiveRecord
- - if can?(current_user, :withdraw_member_access_request, requester)
- = link_to _('Withdraw Access Request'), polymorphic_path([:leave, source, :members]),
- method: :delete,
- data: { confirm: remove_member_message(requester) }
-- elsif source.request_access_enabled && can?(current_user, :request_access, source)
- = link_to _('Request Access'), polymorphic_path([:request_access, source, :members]),
- method: :post,
- data: { testid: 'request-access-link' }
diff --git a/app/views/shared/nav/_admin_scope_header.html.haml b/app/views/shared/nav/_admin_scope_header.html.haml
deleted file mode 100644
index 3a18b3660d4..00000000000
--- a/app/views/shared/nav/_admin_scope_header.html.haml
+++ /dev/null
@@ -1,6 +0,0 @@
-%li.context-header
- = link_to admin_root_path, title: _('Admin Area'), class: 'has-tooltip', data: { container: 'body', placement: 'right' } do
- %span.avatar-container.icon-avatar.rect-avatar.s32
- = sprite_icon('admin', size: 18)
- %span.sidebar-context-title
- = _('Admin Area')
diff --git a/app/views/shared/nav/_explore_scope_header.html.haml b/app/views/shared/nav/_explore_scope_header.html.haml
deleted file mode 100644
index da22d6dbcf2..00000000000
--- a/app/views/shared/nav/_explore_scope_header.html.haml
+++ /dev/null
@@ -1,6 +0,0 @@
-%li.context-header
- = link_to explore_root_url, title: _('Explore'), class: 'has-tooltip', data: { container: 'body', placement: 'right' } do
- %span.avatar-container.icon-avatar.rect-avatar.s32
- = sprite_icon('compass', size: 18)
- %span.sidebar-context-title
- = _('Explore')
diff --git a/app/views/shared/nav/_scope_menu.html.haml b/app/views/shared/nav/_scope_menu.html.haml
deleted file mode 100644
index 4e570086bf8..00000000000
--- a/app/views/shared/nav/_scope_menu.html.haml
+++ /dev/null
@@ -1,6 +0,0 @@
-= nav_link(**scope_menu.active_routes, html_options: scope_menu.nav_link_html_options) do
- = link_to scope_menu.link, **scope_menu.link_html_options, data: { qa_selector: 'sidebar_menu_link', qa_menu_item: scope_qa_menu_item(scope_menu.container) } do
- %span{ class: scope_avatar_classes(scope_menu.container) }
- = source_icon(scope_menu.container, alt: scope_menu.title, class: ['avatar', 'avatar-tile', 's32'], width: 32, height: 32)
- %span.sidebar-context-title
- = scope_menu.title
diff --git a/app/views/shared/nav/_sidebar.html.haml b/app/views/shared/nav/_sidebar.html.haml
deleted file mode 100644
index 91b0582e04a..00000000000
--- a/app/views/shared/nav/_sidebar.html.haml
+++ /dev/null
@@ -1,16 +0,0 @@
-%aside.nav-sidebar{ class: ('sidebar-collapsed-desktop' if collapsed_sidebar?), **sidebar_tracking_attributes_by_object(sidebar.container), 'aria-label': sidebar.aria_label }
- .nav-sidebar-inner-scroll
- %ul.sidebar-top-level-items{ data: { testid: sidebar_qa_selector(sidebar.container) } }
- - if sidebar.render_raw_scope_menu_partial
- = render sidebar.render_raw_scope_menu_partial
- - elsif sidebar.scope_menu
- = render partial: 'shared/nav/scope_menu', object: sidebar.scope_menu
-
- - if sidebar.renderable_menus.any?
- = render partial: 'shared/nav/sidebar_menu', collection: sidebar.renderable_menus
-
- - if sidebar.render_raw_menus_partial
- = render sidebar.render_raw_menus_partial
-
- = render partial: 'shared/nav/sidebar_hidden_menu_item', collection: sidebar.hidden_menu&.renderable_items
- = render 'shared/sidebar_toggle_button'
diff --git a/app/views/shared/nav/_sidebar_hidden_menu_item.html.haml b/app/views/shared/nav/_sidebar_hidden_menu_item.html.haml
deleted file mode 100644
index d0ae5e99707..00000000000
--- a/app/views/shared/nav/_sidebar_hidden_menu_item.html.haml
+++ /dev/null
@@ -1,3 +0,0 @@
-%li.hidden
- = link_to sidebar_hidden_menu_item.link, **sidebar_hidden_menu_item.link_html_options do
- = sidebar_hidden_menu_item.title
diff --git a/app/views/shared/nav/_sidebar_menu.html.haml b/app/views/shared/nav/_sidebar_menu.html.haml
deleted file mode 100644
index 27f77ed4813..00000000000
--- a/app/views/shared/nav/_sidebar_menu.html.haml
+++ /dev/null
@@ -1,19 +0,0 @@
-= nav_link(**sidebar_menu.all_active_routes, html_options: sidebar_menu.nav_link_html_options) do
- - if sidebar_menu.menu_with_partial?
- = render_if_exists sidebar_menu.menu_partial, **sidebar_menu.menu_partial_options
- - else
- = link_to sidebar_menu.link, **sidebar_menu.link_html_options, data: { testid: 'sidebar_menu_link', qa_menu_item: sidebar_menu.title } do
- - if sidebar_menu.icon_or_image?
- %span.nav-icon-container
- - if sidebar_menu.image_path
- = image_tag(sidebar_menu.image_path, **sidebar_menu.image_html_options)
- - elsif sidebar_menu.sprite_icon
- = sprite_icon(sidebar_menu.sprite_icon, **sidebar_menu.sprite_icon_html_options)
-
- %span.nav-item-name{ **sidebar_menu.title_html_options }
- = sidebar_menu.title
- - if sidebar_menu.has_pill?
- = gl_badge_tag({ variant: :info, size: :sm }, { class: "count #{sidebar_menu.pill_html_options[:class]}" }) do
- = number_with_delimiter(sidebar_menu.pill_count)
-
- = render partial: 'shared/nav/sidebar_submenu', locals: { sidebar_menu: sidebar_menu }
diff --git a/app/views/shared/nav/_sidebar_menu_item.html.haml b/app/views/shared/nav/_sidebar_menu_item.html.haml
deleted file mode 100644
index ef488d06e87..00000000000
--- a/app/views/shared/nav/_sidebar_menu_item.html.haml
+++ /dev/null
@@ -1,11 +0,0 @@
-= nav_link(**sidebar_menu_item.active_routes, html_options: sidebar_menu_item.nav_link_html_options) do
- = link_to sidebar_menu_item.link, **sidebar_menu_item.link_html_options, data: { testid: 'sidebar_menu_item_link', qa_menu_item: sidebar_menu_item.title } do
- %span.gl-flex-grow-1
- = sidebar_menu_item.title
- - if sidebar_menu_item.sprite_icon
- = sprite_icon(sidebar_menu_item.sprite_icon, **sidebar_menu_item.sprite_icon_html_options)
- - if sidebar_menu_item.has_pill?
- = gl_badge_tag({ size: :sm, variant: :neutral }, { class: "count fly-out-badge gl-ml-3" }) do
- = number_with_delimiter(sidebar_menu_item.pill_count)
- - if sidebar_menu_item.show_hint?
- .js-feature-highlight{ **sidebar_menu_item.hint_html_options }
diff --git a/app/views/shared/nav/_sidebar_submenu.html.haml b/app/views/shared/nav/_sidebar_submenu.html.haml
deleted file mode 100644
index 33b48470020..00000000000
--- a/app/views/shared/nav/_sidebar_submenu.html.haml
+++ /dev/null
@@ -1,12 +0,0 @@
-%ul.sidebar-sub-level-items{ class: ('is-fly-out-only' unless sidebar_menu.has_renderable_items?) }
- = nav_link(**sidebar_menu.all_active_routes, html_options: { class: 'fly-out-top-item' }) do
- %span.fly-out-top-item-container
- %strong.fly-out-top-item-name
- = sidebar_menu.title
- - if sidebar_menu.has_pill?
- = gl_badge_tag({ variant: :info, size: :sm }, { class: "count fly-out-badge #{sidebar_menu.pill_html_options[:class]}" }) do
- = number_with_delimiter(sidebar_menu.pill_count)
-
- - if sidebar_menu.has_renderable_items?
- %li.divider.fly-out-top-item
- = render partial: 'shared/nav/sidebar_menu_item', collection: sidebar_menu.renderable_items
diff --git a/app/views/shared/nav/_user_settings_scope_header.html.haml b/app/views/shared/nav/_user_settings_scope_header.html.haml
deleted file mode 100644
index c1601822736..00000000000
--- a/app/views/shared/nav/_user_settings_scope_header.html.haml
+++ /dev/null
@@ -1,4 +0,0 @@
-%li.context-header
- = link_to profile_path, title: _('User Settings'), class: 'has-tooltip', data: { container: 'body', placement: 'right' } do
- = render Pajamas::AvatarComponent.new(current_user, size: 32, alt: current_user.name, class: 'gl-mr-3 js-sidebar-user-avatar', avatar_options: { data: { testid: 'sidebar-user-avatar' } })
- %span.sidebar-context-title= _('User Settings')
diff --git a/app/views/shared/nav/_your_work_scope_header.html.haml b/app/views/shared/nav/_your_work_scope_header.html.haml
deleted file mode 100644
index cdd0be3c682..00000000000
--- a/app/views/shared/nav/_your_work_scope_header.html.haml
+++ /dev/null
@@ -1,6 +0,0 @@
-%li.context-header
- = link_to root_path, title: _('Your work'), class: 'has-tooltip', data: { container: 'body', placement: 'right' } do
- %span.avatar-container.icon-avatar.rect-avatar.s32
- = sprite_icon('work', size: 18)
- %span.sidebar-context-title
- = _('Your work')
diff --git a/app/views/shared/notes/_edit_form.html.haml b/app/views/shared/notes/_edit_form.html.haml
index d4dec49c367..76737ff99c5 100644
--- a/app/views/shared/notes/_edit_form.html.haml
+++ b/app/views/shared/notes/_edit_form.html.haml
@@ -1,3 +1,4 @@
+.js-snippets-note-edit-form-holder
.snippets.note-edit-form
= form_tag '#', method: :put, class: 'edit-note common-note-form js-quick-submit' do
= hidden_field_tag :target_id, '', class: 'js-form-target-id'
diff --git a/app/views/shared/projects/_project.html.haml b/app/views/shared/projects/_project.html.haml
index e65dcd68f66..5bb15c2f5ca 100644
--- a/app/views/shared/projects/_project.html.haml
+++ b/app/views/shared/projects/_project.html.haml
@@ -38,7 +38,7 @@
= visibility_level_content(project, css_class: 'gl-mr-2')
- if project.catalog_resource
- = render partial: 'shared/ci_catalog_badge', locals: { href: project_ci_catalog_resource_path(project, project.catalog_resource), css_class: 'gl-mr-2' }
+ = render partial: 'shared/ci_catalog_badge', locals: { href: explore_catalog_path(project.catalog_resource), css_class: 'gl-mr-2' }
- if explore_projects_tab? && project_license_name(project)
%span.gl-display-inline-flex.gl-align-items-center.gl-mr-3
diff --git a/app/views/shared/projects/_topics.html.haml b/app/views/shared/projects/_topics.html.haml
index c4524125a21..33e4ac58fa5 100644
--- a/app/views/shared/projects/_topics.html.haml
+++ b/app/views/shared/projects/_topics.html.haml
@@ -2,8 +2,9 @@
- if project.topics.present?
.gl-w-full.gl-display-inline-flex.gl-flex-wrap.gl-font-base.gl-font-weight-normal.gl-align-items-center.gl-mx-n2.gl-my-n2{ 'data-testid': 'project_topic_list' }
- %span.gl-p-2.gl-text-gray-500
- = _('Topics') + ':'
+ - if Feature.disabled?(:project_overview_reorg)
+ %span.gl-p-2.gl-text-gray-500
+ = _('Topics') + ':'
- project.topics_to_show.each do |topic|
- explore_project_topic_path = topic_explore_projects_cleaned_path(topic_name: topic[:name])
- if topic[:title].length > max_project_topic_length
diff --git a/app/views/shared/runners/_runner_description.html.haml b/app/views/shared/runners/_runner_description.html.haml
index dc689303f77..6f918ae8103 100644
--- a/app/views/shared/runners/_runner_description.html.haml
+++ b/app/views/shared/runners/_runner_description.html.haml
@@ -19,4 +19,4 @@
%p
= s_("Runners|Tags control which type of jobs a runner can handle. By tagging a runner, you make sure shared runners only handle the jobs they are equipped to run.")
- = link_to _("Learn more."), help_page_path("ci/runners/configure_runners", anchor: "use-tags-to-control-which-jobs-a-runner-can-run"), target: '_blank'
+ = link_to _("Learn more."), help_page_path("ci/runners/configure_runners", anchor: "how-the-runner-uses-tags"), target: '_blank'
diff --git a/app/views/shared/snippets/_snippet.html.haml b/app/views/shared/snippets/_snippet.html.haml
index 9767f7929d0..56cdc30e760 100644
--- a/app/views/shared/snippets/_snippet.html.haml
+++ b/app/views/shared/snippets/_snippet.html.haml
@@ -6,6 +6,9 @@
= link_to gitlab_snippet_path(snippet), class: "title" do
= snippet.title
+ - if snippet.hidden_due_to_author_ban?
+ %span{ class: 'has-tooltip gl-bg-orange-50 gl-text-orange-600 border-radius-default gl-p-2', title: s_("Snippets|This snippet is hidden because its author has been banned") }
+ = sprite_icon('spam', size: '16')
%ul.controls{ data: { testid: 'snippet-file-count-content', qa_snippet_files: snippet.statistics&.file_count } }
%li
diff --git a/app/views/shared/wikis/_main_links.html.haml b/app/views/shared/wikis/_main_links.html.haml
index 9a76069e8f6..2b9a64d6d04 100644
--- a/app/views/shared/wikis/_main_links.html.haml
+++ b/app/views/shared/wikis/_main_links.html.haml
@@ -1,6 +1,4 @@
- if @page&.persisted?
- = link_button_to wiki_page_path(@wiki, @page, action: :history), role: "button", data: { testid: 'page-history-button' } do
- = s_("Wiki|Page history")
- if can?(current_user, :create_wiki, @wiki.container)
= link_button_to wiki_path(@wiki, action: :new), role: "button", data: { testid: 'new-page-button' }, variant: :confirm, category: :secondary do
= s_("Wiki|New page")
diff --git a/app/views/shared/wikis/_sidebar_wiki_page.html.haml b/app/views/shared/wikis/_sidebar_wiki_page.html.haml
index 710ecf6196e..afb26cf1d67 100644
--- a/app/views/shared/wikis/_sidebar_wiki_page.html.haml
+++ b/app/views/shared/wikis/_sidebar_wiki_page.html.haml
@@ -2,6 +2,6 @@
%li{ class: active_when(params[:id] == wiki_page.slug) }
.gl-relative.gl-display-flex.gl-align-items-center.js-wiki-list-toggle.wiki-list{ data: { testid: 'wiki-list' } }
- = render Pajamas::ButtonComponent.new(icon: 'plus', href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-3' })
+ = render Pajamas::ButtonComponent.new(icon: 'plus', size: :small, href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-2' })
= link_to wiki_path, data: { testid: 'wiki-page-link', qa_page_name: wiki_page.human_title } do
= wiki_page.human_title
diff --git a/app/views/shared/wikis/_wiki_directory.html.haml b/app/views/shared/wikis/_wiki_directory.html.haml
index 8b0b6dbd8f7..d939208811a 100644
--- a/app/views/shared/wikis/_wiki_directory.html.haml
+++ b/app/views/shared/wikis/_wiki_directory.html.haml
@@ -1,10 +1,10 @@
- wiki_path = wiki_page_path(@wiki, wiki_directory)
-%li{ class: ['wiki-directory', active_when(params[:id] == wiki_directory.slug)], data: { testid: 'wiki-directory-content' } }
+%li{ data: { testid: 'wiki-directory-content' } }
.gl-relative.gl-display-flex.gl-align-items-center.js-wiki-list-toggle.wiki-list{ data: { testid: 'wiki-list' } }<
= sprite_icon('chevron-right', css_class: 'js-wiki-list-expand-button wiki-list-expand-button gl-mr-2 gl-cursor-pointer')
= sprite_icon('chevron-down', css_class: 'js-wiki-list-collapse-button wiki-list-collapse-button gl-mr-2 gl-cursor-pointer')
- = render Pajamas::ButtonComponent.new(icon: 'plus', href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-3' })
+ = render Pajamas::ButtonComponent.new(icon: 'plus', size: :small, href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-2' })
= link_to wiki_path, data: { testid: 'wiki-dir-page-link', qa_page_name: wiki_directory.title } do
= wiki_directory.title
%ul.gl-pl-8
diff --git a/app/views/shared/wikis/diff.html.haml b/app/views/shared/wikis/diff.html.haml
index 67772ec40c1..700d8a903a4 100644
--- a/app/views/shared/wikis/diff.html.haml
+++ b/app/views/shared/wikis/diff.html.haml
@@ -12,7 +12,7 @@
= _('Changes')
.nav-controls.pb-md-3.pb-lg-0
- = link_button_to wiki_page_path(@wiki, @page, action: :history), role: 'button', data: { qa_selector: 'page_history_button' } do
+ = link_button_to wiki_page_path(@wiki, @page, action: :history), role: 'button', data: { testid: 'page-history-button' } do
= s_('Wiki|Page history')
.page-content-header
diff --git a/app/views/shared/wikis/edit.html.haml b/app/views/shared/wikis/edit.html.haml
index fc56a191cad..ce8c7782c7f 100644
--- a/app/views/shared/wikis/edit.html.haml
+++ b/app/views/shared/wikis/edit.html.haml
@@ -6,13 +6,13 @@
- if @error
#js-wiki-error{ data: { error: @error, wiki_page_path: wiki_page_path(@wiki, @page) } }
-.js-wiki-edit-page.wiki-page-header.top-area.has-sidebar-toggle.flex-column.flex-lg-row
+.js-wiki-edit-page.wiki-page-header.has-sidebar-toggle.flex-column.flex-lg-row
= wiki_sidebar_toggle_button
%h1.page-title.gl-font-size-h-display.gl-flex-grow-1
- if @page.persisted?
= link_to_wiki_page @page
- %span.light
+ %span.gl-text-secondary
&middot;
= s_("Wiki|Edit Page")
- else
diff --git a/app/views/shared/wikis/history.html.haml b/app/views/shared/wikis/history.html.haml
index 052bbb3b410..4560f374fdf 100644
--- a/app/views/shared/wikis/history.html.haml
+++ b/app/views/shared/wikis/history.html.haml
@@ -11,7 +11,7 @@
= _('History')
.prepend-top-default.gl-mb-3
- .table-holder
+ .table-holder{ data: { testid: 'wiki-history-table' } }
%table.table.wiki-history
%thead
%tr
diff --git a/app/views/shared/wikis/show.html.haml b/app/views/shared/wikis/show.html.haml
index 2cd03c20080..a896aa29f52 100644
--- a/app/views/shared/wikis/show.html.haml
+++ b/app/views/shared/wikis/show.html.haml
@@ -1,7 +1,8 @@
- wiki_page_title @page
- add_page_specific_style 'page_bundles/wiki'
+- page_history = @page&.persisted? ? wiki_page_path(@wiki, @page, action: :history) : ''
-.wiki-page-header.top-area.has-sidebar-toggle.flex-column.flex-lg-row
+.wiki-page-header.top-area.has-sidebar-toggle.flex-column.flex-lg-row.gl-border-b-0
= wiki_sidebar_toggle_button
.nav-text.flex-fill
@@ -11,8 +12,12 @@
= time_ago_with_tooltip(@page.last_version.authored_date)
.nav-controls.pb-md-3.pb-lg-0
+ - if can?(current_user, :create_wiki, @wiki.container) && @page.latest? && @valid_encoding
+ = render Pajamas::ButtonComponent.new(href: wiki_page_path(@wiki, @page, action: :edit), button_options: { class: 'js-wiki-edit', data: { testid: 'wiki-edit-button' }}) do
+ = _('Edit')
= render 'shared/wikis/main_links'
- #js-export-actions{ data: { options: { target: '.js-wiki-page-content', title: @page.human_title, stylesheet: [stylesheet_path('application')] }.to_json } }
+
+ #js-export-actions{ data: { options: { history: page_history, print: { target: '.js-wiki-page-content', title: @page.human_title, stylesheet: [stylesheet_path('application')] } }.to_json } }
- if @page.historical?
= render Pajamas::AlertComponent.new(variant: :warning,
@@ -26,12 +31,9 @@
= render Pajamas::ButtonComponent.new(href: wiki_page_path(@wiki, @page, action: :history)) do
= s_('WikiHistoricalPage|Browse history')
-.gl-mt-5.gl-mb-3
+.gl-mb-3
.gl-display-flex.gl-justify-content-space-between
%h2.gl-mt-0.gl-mb-5{ data: { testid: 'wiki-page-title' } }= @page.human_title
- %div
- - if can?(current_user, :create_wiki, @wiki.container) && @page.latest? && @valid_encoding
- = render Pajamas::ButtonComponent.new(href: wiki_page_path(@wiki, @page, action: :edit), icon: 'pencil', button_options: { class: 'js-wiki-edit', title: "Edit", data: { testid: 'wiki-edit-button' }})
.js-async-wiki-page-content.md.gl-pt-2{ data: { qa_selector: 'wiki_page_content', testid: 'wiki-page-content', tracking_context: wiki_page_tracking_context(@page).to_json, get_wiki_content_url: wiki_page_render_api_endpoint(@page) } }