It should:
- (When menu has sub links) Expand current menu if clicked and collapse all other menus that are not in its parent
- When link is visited manually (link pasted in URL), the component should expand to the active link.
- Be able to pass the following for each link and or folder
- - Menu Name (for links with sub links) or Link Name
- - Link URL
See this example [login to view URL]
Notice how when you load that URL, the sidebar expands to the "Customers" and highlights "List Customers" based on the URL. And notice how if you click one element in the sidebar (like orders or products) it expands that menu and collapses the others and when you click on a link it is highlighted.
I already have vue router working properly and my navigation in place highlighting as expected. The only issue is it does not expand/collapse
Ideally I would pass in a object similar to this:
[
{name: 'foo1', url: '/bar1'},
{name: 'foo2', url: '/bar2', children: [
{name: 'foo11', url: '/bar11'},
{name: 'foo22', url: '/bar22', children: [
{name: 'foo111', url: '/bar111'},
{name: 'foo222', url: '/bar222'},
{name: 'foo333', url: '/bar333'},
]},
{name: 'foo33', url: '/bar33'},
]}
{name: 'foo3', url: 'bar1'},
]
The following is a broken structure of the current sidebar navigation html:
<nav class="navigation"><ul class="mainmenu"><li><a href="/ops" class="router-link-active">Dashboard</a></li><li><a href="/ops/returns" class="">Returns List</a></li><li><a href="/ops/discounts" class="router-link-exact-active router-link-active">Discounts</a></li><li><a href="">Charts-Returns</a><ul class="submenu"><li><a href="">chart1</a></li><li><a href="">chart2</a></li><li><a href="">chart3</a></li></ul></li><li><a href="">Charts-Inventory</a><ul class="submenu"><li><a href="">chart1</a></li><li><a href="">chart2</a></li><li><a href="">chart3</a></li></ul></li><li><a href="">Errors</a><ul class="submenu"><li><a href="">Error Types</a></li><li><a href="">Warehouse</a></li><li><a href="">Shipment</a></li><li><a href="">Item</a></li><li><a href="">TST Website</a></li></ul></li><li><a href="">About</a></li><li><a href="">Long Example</a><ul class="submenu"><li><a href="">Tops</a></li><li><a href="">Bottoms</a></li><li><a href="">Footwear</a></li><li><a href="">Tops</a></li><li><a href="">Bottoms</a></li><li><a href="">Footwear</a></li><li><a href="">Tops</a></li><li><a href="">Bottoms</a></li><li><a href="">Footwear</a></li><li><a href="">Tops</a></li><li><a href="">Bottoms</a></li><li><a href="">Footwear</a></li><li><a href="">Tops</a></li><li><a href="">Bottoms</a></li><li><a href="">Footwear</a></li><li><a href="">Tops</a></li><li><a href="">Bottoms</a></li><li><a href="">Footwear</a></li><li><a href="">Tops</a></li><li><a href="">Bottoms</a></li><li><a href="">Footwear Last</a></li></ul></li><li><a href="">Contact us</a></li></ul></nav>
Your finished product should be clean and efficient code.
Code should be commented.
Note: No additional libraries. Should just be your raw vue.js, JS, CSS and HTML
Hi..
How are you?
I saw your description carefully and i 'm very interesting your project.
Owing to my rich experience in nav , i can say i can do this perfectly.
I have many top skills like CSS,HTML ,PHP , BOOTSTRAP,JAVASCRIPT,AJAX and so on.
If you would like to choos me , i do my best.
Thanks.
This is Vibrant Webtech and I was glad to see that you're looking for help for project Build a reusable vertical nav component.. I've delivered more than 400 + projects in the last 5 years and this makes me very confident with your task.I'd like to have more details before proceeding. This way I'll have the chance to elaborate m bid accordingly. I never ask for payments in front. I will only ask you to release the agreed milestones once the task for each one of them is met and you're happy with it. Feel free to visit my personal page on this platform and get an idea of how satisfied my clients are from my work. Don't hesitate to contact me. I'm looking forward to hearing from you soon.I have more than 5 year of experience in CSS, HTML, Javascript, PHP, Software Architecture. Please ping me for more discussion.