From c3f35c57d0d5ee6fd1ff68a757a75605be16f314 Mon Sep 17 00:00:00 2001 From: Jonah Tan <47470981+jonahtanjz@users.noreply.github.com> Date: Tue, 7 Dec 2021 16:03:24 +0800 Subject: [PATCH 01/10] Redesign top nav to two rows --- packages/vue-components/src/Navbar.vue | 105 +++++++++++++++++-------- 1 file changed, 71 insertions(+), 34 deletions(-) diff --git a/packages/vue-components/src/Navbar.vue b/packages/vue-components/src/Navbar.vue index b55ca9d4d7..632632792b 100644 --- a/packages/vue-components/src/Navbar.vue +++ b/packages/vue-components/src/Navbar.vue @@ -5,26 +5,15 @@ - - -
+ + +
['foo','bar','index.html'] splitUrl(url) { @@ -167,7 +151,8 @@ export default { }, highlightLink(url) { const defHlMode = this.defaultHighlightOn; - const navLis = Array.from(this.$el.querySelector('.navbar-nav').children); + const navLis = []; + this.$el.querySelectorAll('.navbar-nav').forEach(nav => navLis.push(...Array.from(nav.children))); // attempt an exact match first for (let i = 0; i < navLis.length; i += 1) { const li = navLis[i]; @@ -254,13 +239,6 @@ export default { if (!content.contains(e.target)) content.classList.remove('open'); }); }); - $(this.$el).on('click', 'li:not(.dropdown)>a', (e) => { - if (e.target.classList.contains('submenu-toggle')) { return; } - setTimeout(() => { this.collapsed = true; }, 200); - }).onBlur((e) => { - if (!this.$el.contains(e.target)) { this.collapsed = true; } - }); - if (this.slots.collapse) $('[data-toggle="collapse"]', this.$el).on('click', e => this.toggleCollapse(e)); // highlight current nav link this.highlightLink(window.location.href); @@ -270,7 +248,6 @@ export default { }, beforeDestroy() { $('.dropdown', this.$el).off('click').offBlur(); - if (this.slots.collapse) $('[data-toggle="collapse"]', this.$el).off('click'); $(window).off('resize', this.toggleLowerNavbar); }, }; @@ -278,10 +255,58 @@ export default { diff --git a/packages/vue-components/src/__tests__/__snapshots__/Navbar.spec.js.snap b/packages/vue-components/src/__tests__/__snapshots__/Navbar.spec.js.snap index 4c4a7ca1f2..0658a93736 100644 --- a/packages/vue-components/src/__tests__/__snapshots__/Navbar.spec.js.snap +++ b/packages/vue-components/src/__tests__/__snapshots__/Navbar.spec.js.snap @@ -9,7 +9,7 @@ exports[`Navbar and secondary navbar navbar with page nav button 1`] = ` class="container-fluid" >