From fc4faf47ac4e5f1ddc40640c42c32405c38c9455 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 25 May 2023 12:07:22 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../vue_shared/components/markdown/markdown_editor.vue | 15 ++++++++++++--- .../components/markdown/mount_markdown_editor.js | 10 ++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'app/assets/javascripts/vue_shared') diff --git a/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue b/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue index d9d4056e997..9fd606d775d 100644 --- a/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue +++ b/app/assets/javascripts/vue_shared/components/markdown/markdown_editor.vue @@ -95,6 +95,11 @@ export default { required: false, default: false, }, + disableAttachments: { + type: Boolean, + required: false, + default: false, + }, }, data() { return { @@ -111,6 +116,9 @@ export default { // Match textarea focus behavior return this.autofocus && !this.autofocused ? 'end' : false; }, + markdownFieldRestrictedToolBarItems() { + return this.disableAttachments ? ['attach-file'] : []; + }, }, watch: { value(val) { @@ -231,7 +239,7 @@ export default { v-bind="$attrs" data-testid="markdown-field" :markdown-preview-path="renderMarkdownPath" - can-attach-file + :can-attach-file="!disableAttachments" :textarea-value="markdown" :uploads-path="uploadsPath" :enable-autocomplete="enableAutocomplete" @@ -240,6 +248,7 @@ export default { :quick-actions-docs-path="quickActionsDocsPath" :show-content-editor-switcher="enableContentEditor" :drawio-enabled="drawioEnabled" + :restricted-tool-bar-items="markdownFieldRestrictedToolBarItems" :remove-border="true" @enableContentEditor="onEditingModeChange('contentEditor')" @handleSuggestDismissed="() => $emit('handleSuggestDismissed')" @@ -256,8 +265,7 @@ export default { :disabled="disabled" @input="updateMarkdownFromMarkdownField" @keydown="$emit('keydown', $event)" - > - + >
@@ -273,6 +281,7 @@ export default { :enable-autocomplete="enableAutocomplete" :autocomplete-data-sources="autocompleteDataSources" :editable="!disabled" + :disable-attachments="disableAttachments" @initialized="setEditorAsAutofocused" @change="updateMarkdownFromContentEditor" @keydown="$emit('keydown', $event)" diff --git a/app/assets/javascripts/vue_shared/components/markdown/mount_markdown_editor.js b/app/assets/javascripts/vue_shared/components/markdown/mount_markdown_editor.js index ac4f06a665d..8ff14220eab 100644 --- a/app/assets/javascripts/vue_shared/components/markdown/mount_markdown_editor.js +++ b/app/assets/javascripts/vue_shared/components/markdown/mount_markdown_editor.js @@ -1,5 +1,6 @@ import Vue from 'vue'; import { queryToObject, objectToQuery } from '~/lib/utils/url_utility'; +import { parseBoolean } from '~/lib/utils/common_utils'; import { CLEAR_AUTOSAVE_ENTRY_EVENT } from '../../constants'; import MarkdownEditor from './markdown_editor.vue'; import eventHub from './eventhub'; @@ -67,6 +68,9 @@ export function mountMarkdownEditor() { newIssuePath, } = el.dataset; + const supportsQuickActions = parseBoolean(el.dataset.supportsQuickActions ?? true); + const enableAutocomplete = parseBoolean(el.dataset.enableAutocomplete ?? true); + const disableAttachments = parseBoolean(el.dataset.disableAttachments ?? false); const hiddenInput = el.querySelector('input[type="hidden"]'); const formFieldName = hiddenInput.getAttribute('name'); const formFieldId = hiddenInput.getAttribute('id'); @@ -102,9 +106,11 @@ export function mountMarkdownEditor() { 'data-qa-selector': qaSelector, }, autosaveKey, - enableAutocomplete: true, + enableAutocomplete, autocompleteDataSources: gl.GfmAutoComplete?.dataSources, - supportsQuickActions: true, + supportsQuickActions, + disableAttachments, + autofocus: true, }, }); }, -- cgit v1.2.3