summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorTim Zallmann <tzallmann@gitlab.com>2019-01-16 19:51:21 +0100
committerTim Zallmann <tzallmann@gitlab.com>2019-01-16 19:51:21 +0100
commit07f6c1b8741b6968bc278db855af4883ad68a31d (patch)
treecc7432d9e0b55cb678266a7a125c4919d958ecb5 /app
parent267ce96e36ecec169b02410bfea85e6d31715910 (diff)
downloadgitlab-ce-07f6c1b8741b6968bc278db855af4883ad68a31d.tar.gz
Moves the Initialisation of the frequent Item Dropdowns to Idle Callback
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/frequent_items/components/app.vue5
-rw-r--r--app/assets/javascripts/frequent_items/index.js6
2 files changed, 10 insertions, 1 deletions
diff --git a/app/assets/javascripts/frequent_items/components/app.vue b/app/assets/javascripts/frequent_items/components/app.vue
index 63531f1f246..3b8f7ca9e07 100644
--- a/app/assets/javascripts/frequent_items/components/app.vue
+++ b/app/assets/javascripts/frequent_items/components/app.vue
@@ -47,6 +47,11 @@ export default {
}
eventHub.$on(`${this.namespace}-dropdownOpen`, this.dropdownOpenHandler);
+
+ // As we init it through requestIdleCallback it could be that the dropdown is already open
+ if (document.getElementById(`nav-${this.namespace}-dropdown`).classList.contains('show')) {
+ this.dropdownOpenHandler();
+ }
},
beforeDestroy() {
eventHub.$off(`${this.namespace}-dropdownOpen`, this.dropdownOpenHandler);
diff --git a/app/assets/javascripts/frequent_items/index.js b/app/assets/javascripts/frequent_items/index.js
index 5157ff211dc..7f90f673a82 100644
--- a/app/assets/javascripts/frequent_items/index.js
+++ b/app/assets/javascripts/frequent_items/index.js
@@ -17,7 +17,7 @@ const frequentItemDropdowns = [
},
];
-document.addEventListener('DOMContentLoaded', () => {
+function initFrequentItemDropdowns() {
frequentItemDropdowns.forEach(dropdown => {
const { namespace, key } = dropdown;
const el = document.getElementById(`js-${namespace}-dropdown`);
@@ -66,4 +66,8 @@ document.addEventListener('DOMContentLoaded', () => {
},
});
});
+}
+
+document.addEventListener('DOMContentLoaded', () => {
+ requestIdleCallback(initFrequentItemDropdowns);
});