From 41fe97390ceddf945f3d967b8fdb3de4c66b7dea Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 18 Mar 2022 20:02:30 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-9-stable-ee --- app/assets/javascripts/deprecated_notes.js | 33 ++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'app/assets/javascripts/deprecated_notes.js') diff --git a/app/assets/javascripts/deprecated_notes.js b/app/assets/javascripts/deprecated_notes.js index 82bbbe891e2..0707ae02872 100644 --- a/app/assets/javascripts/deprecated_notes.js +++ b/app/assets/javascripts/deprecated_notes.js @@ -1,6 +1,6 @@ /* eslint-disable no-restricted-properties, babel/camelcase, no-unused-expressions, default-case, -consistent-return, no-alert, no-param-reassign, +consistent-return, no-param-reassign, no-shadow, no-useless-escape, class-methods-use-this */ @@ -17,9 +17,11 @@ import { escape, uniqueId } from 'lodash'; import Vue from 'vue'; import '~/lib/utils/jquery_at_who'; import AjaxCache from '~/lib/utils/ajax_cache'; +import { loadingIconForLegacyJS } from '~/loading_icon_for_legacy_js'; import syntaxHighlight from '~/syntax_highlight'; import CommentTypeDropdown from '~/notes/components/comment_type_dropdown.vue'; import * as constants from '~/notes/constants'; +import { confirmAction } from '~/lib/utils/confirm_via_gl_modal/confirm_via_gl_modal'; import Autosave from './autosave'; import loadAwardsHandler from './awards_handler'; import createFlash from './flash'; @@ -243,7 +245,7 @@ export default class Notes { }); } - keydownNoteText(e) { + async keydownNoteText(e) { let discussionNoteForm; let editNote; let myLastNote; @@ -276,9 +278,11 @@ export default class Notes { discussionNoteForm = $textarea.closest('.js-discussion-note-form'); if (discussionNoteForm.length) { if ($textarea.val() !== '') { - if (!window.confirm(__('Your comment will be discarded.'))) { - return; - } + const confirmed = await confirmAction(__('Your comment will be discarded.'), { + primaryBtnVariant: 'danger', + primaryBtnText: __('Discard'), + }); + if (!confirmed) return; } this.removeDiscussionNoteForm(discussionNoteForm); return; @@ -288,9 +292,14 @@ export default class Notes { originalText = $textarea.closest('form').data('originalNote'); newText = $textarea.val(); if (originalText !== newText) { - if (!window.confirm(__('Are you sure you want to discard this comment?'))) { - return; - } + const confirmed = await confirmAction( + __('Are you sure you want to discard this comment?'), + { + primaryBtnVariant: 'danger', + primaryBtnText: __('Discard'), + }, + ); + if (!confirmed) return; } return this.removeNoteEditForm(editNote); } @@ -1753,9 +1762,11 @@ export default class Notes { // Show updated comment content temporarily $noteBodyText.html(formContent); $editingNote.removeClass('is-editing fade-in-full').addClass('being-posted fade-in-half'); - $editingNote - .find('.note-headline-meta a') - .html(''); + + const $timeAgo = $editingNote.find('.note-headline-meta a'); + + $timeAgo.empty(); + $timeAgo.append(loadingIconForLegacyJS({ inline: true, size: 'sm' })); // Make request to update comment on server axios -- cgit v1.2.1