summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pages/admin/labels/index/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/pages/admin/labels/index/index.js')
-rw-r--r--app/assets/javascripts/pages/admin/labels/index/index.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/assets/javascripts/pages/admin/labels/index/index.js b/app/assets/javascripts/pages/admin/labels/index/index.js
index e5ab5d43bbf..17ee7c03ed6 100644
--- a/app/assets/javascripts/pages/admin/labels/index/index.js
+++ b/app/assets/javascripts/pages/admin/labels/index/index.js
@@ -1,3 +1,21 @@
-import initDeprecatedRemoveRowBehavior from '~/behaviors/deprecated_remove_row_behavior';
+document.addEventListener('DOMContentLoaded', () => {
+ const pagination = document.querySelector('.labels .gl-pagination');
+ const emptyState = document.querySelector('.labels .nothing-here-block.hidden');
-document.addEventListener('DOMContentLoaded', initDeprecatedRemoveRowBehavior);
+ function removeLabelSuccessCallback() {
+ this.closest('li').classList.add('gl-display-none!');
+
+ const labelsCount = document.querySelectorAll(
+ 'ul.manage-labels-list li:not(.gl-display-none\\!)',
+ ).length;
+
+ // display the empty state if there are no more labels
+ if (labelsCount < 1 && !pagination && emptyState) {
+ emptyState.classList.remove('hidden');
+ }
+ }
+
+ document.querySelectorAll('.js-remove-label').forEach((row) => {
+ row.addEventListener('ajax:success', removeLabelSuccessCallback);
+ });
+});