diff options
author | Tim Zallmann <tzallmann@gitlab.com> | 2019-01-16 19:51:21 +0100 |
---|---|---|
committer | Tim Zallmann <tzallmann@gitlab.com> | 2019-01-16 19:51:21 +0100 |
commit | 07f6c1b8741b6968bc278db855af4883ad68a31d (patch) | |
tree | cc7432d9e0b55cb678266a7a125c4919d958ecb5 /app | |
parent | 267ce96e36ecec169b02410bfea85e6d31715910 (diff) | |
download | gitlab-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.vue | 5 | ||||
-rw-r--r-- | app/assets/javascripts/frequent_items/index.js | 6 |
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); }); |