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-08-31 21:09:40 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-08-31 21:09:40 +0300
commite33402e375d7c05441d1ba6ac5030efb8a9c9537 (patch)
tree7367bd7ddcedea4d2f08294b6e6a80261fe75062 /app/assets/javascripts/deprecated_jquery_dropdown
parent532c924885ebec865e0c87f484eadaf2828910e2 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/deprecated_jquery_dropdown')
-rw-r--r--app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown.js8
-rw-r--r--app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown_filter.js2
-rw-r--r--app/assets/javascripts/deprecated_jquery_dropdown/index.js5
3 files changed, 13 insertions, 2 deletions
diff --git a/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown.js b/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown.js
index a7dad506e6d..3f14a8a8a26 100644
--- a/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown.js
+++ b/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown.js
@@ -94,6 +94,7 @@ export class GitLabDropdown {
dataType: this.options.dataType,
beforeSend: this.toggleLoading.bind(this),
success: (data) => {
+ this.dropdown.trigger('done.remote.loading.gl.dropdown');
this.fullData = data;
this.parseData(this.fullData);
this.focusTextInput();
@@ -220,7 +221,12 @@ export class GitLabDropdown {
}
toggleLoading() {
- return $('.dropdown-menu', this.dropdown).toggleClass(LOADING_CLASS);
+ const menu = this.dropdown[0].querySelector('.dropdown-menu');
+ const isLoading = menu.classList.contains(LOADING_CLASS);
+
+ this.dropdown.trigger(`toggle.${isLoading ? 'off' : 'on'}.loading.gl.dropdown`);
+
+ menu.classList.toggle(LOADING_CLASS);
}
togglePage() {
diff --git a/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown_filter.js b/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown_filter.js
index 2cb9e9a56a3..271347feebd 100644
--- a/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown_filter.js
+++ b/app/assets/javascripts/deprecated_jquery_dropdown/gl_dropdown_filter.js
@@ -17,9 +17,11 @@ export class GitLabDropdownFilter {
const $inputContainer = this.input.parent();
const $clearButton = $inputContainer.find('.js-dropdown-input-clear');
const filterRemoteDebounced = debounce(() => {
+ options.instance.dropdown.trigger('filtering.gl.dropdown');
$inputContainer.parent().addClass('is-loading');
return this.options.query(this.input.val(), (data) => {
+ options.instance.dropdown.trigger('done.filtering.gl.dropdown');
$inputContainer.parent().removeClass('is-loading');
return this.options.callback(data);
});
diff --git a/app/assets/javascripts/deprecated_jquery_dropdown/index.js b/app/assets/javascripts/deprecated_jquery_dropdown/index.js
index 6a3d2026192..38236707e06 100644
--- a/app/assets/javascripts/deprecated_jquery_dropdown/index.js
+++ b/app/assets/javascripts/deprecated_jquery_dropdown/index.js
@@ -5,7 +5,10 @@ export default function initDeprecatedJQueryDropdown($el, opts) {
// eslint-disable-next-line func-names
return $el.each(function () {
if (!$.data(this, 'deprecatedJQueryDropdown')) {
- $.data(this, 'deprecatedJQueryDropdown', new GitLabDropdown(this, opts));
+ const instance = new GitLabDropdown(this, opts);
+
+ $.data(this, 'deprecatedJQueryDropdown', instance);
+ this.GitLabDropdownInstance = instance;
}
});
}