diff --git a/src/app/navigation/nav-collapse/nav-collapse.component.ts b/src/app/navigation/nav-collapse/nav-collapse.component.ts
index 8c3d2d8d..b80cf57f 100644
--- a/src/app/navigation/nav-collapse/nav-collapse.component.ts
+++ b/src/app/navigation/nav-collapse/nav-collapse.component.ts
@@ -1,5 +1,6 @@
-import {Component, HostBinding, HostListener, Input, OnInit} from '@angular/core';
+import {Component, HostBinding, Input, OnInit} from '@angular/core';
import {NavigationService} from '../navigation.service';
+import {NavigationEnd, Router} from '@angular/router';
@Component({
selector : 'fuse-nav-collapse',
@@ -10,36 +11,127 @@ export class NavCollapseComponent implements OnInit
{
@Input() item: any;
@HostBinding('class') classes = 'nav-collapse nav-item';
- @HostBinding('class.open') public isOpen = false;
+ @HostBinding('class.open') private isOpen = false;
- constructor(private navigationService: NavigationService)
+ constructor(private navigationService: NavigationService, private router: Router)
{
- this.navigationService.navItemClicked.subscribe(
- (instance) =>
+ /**
+ * When navigation changed
+ */
+ router.events.subscribe(
+ (event) =>
{
- // console.warn('navItemClicked', instance);
-
- if ( !instance.includes(this.item.url) && this.isOpen )
+ if ( event instanceof NavigationEnd )
{
- this.isOpen = !this.isOpen;
+ /**
+ * Check if the url is child of the collapse
+ */
+ if ( this.isUrlInChildren(this.item, event.urlAfterRedirects) )
+ {
+ this.expand();
+ }
+ else
+ {
+ this.collapse();
+ }
}
- console.warn(this.item.url, instance);
- if ( instance.includes(this.item.url) && !this.isOpen )
+ }
+ );
+
+ /**
+ * Whenever a navigaiton collapse item toggled
+ */
+ this.navigationService.onNavCollapseToggled.subscribe(
+ (clickedItem) =>
+ {
+ if ( clickedItem.children )
{
- this.isOpen = !this.isOpen;
+ /**
+ * if clicked collapse is child of this collapse
+ * return
+ */
+ if ( this.item.children.indexOf(clickedItem) !== -1 )
+ {
+ return;
+ }
+ /**
+ * If collapsed item is not related with this collapse
+ * collapse
+ */
+ if ( this.item !== clickedItem )
+ {
+ this.collapse();
+ }
}
}
);
}
- toggleOpen(event)
+ /**
+ * Toggle Collapse
+ * @param ev
+ */
+ toggleOpen(ev)
{
- event.preventDefault();
+ ev.preventDefault();
this.isOpen = !this.isOpen;
- this.navigationService.navItemClicked.emit(this.item.url);
+ // this.navigationService.onNavItemClicked.emit(this.item);
+ this.navigationService.onNavCollapseToggled.emit(this.item);
console.log('toggleOpen');
}
+ /**
+ * Expand
+ */
+ expand()
+ {
+ if ( this.isOpen )
+ {
+ return;
+ }
+ this.isOpen = true;
+ }
+
+ /**
+ * Collapse
+ */
+ collapse()
+ {
+ if ( !this.isOpen )
+ {
+ return;
+ }
+ this.isOpen = false;
+ }
+
+ /**
+ * Checking the url is in children
+ * @param arr
+ * @param url
+ * @returns {any}
+ */
+ isUrlInChildren(arr, url)
+ {
+ if ( !arr.children )
+ {
+ return false;
+ }
+ for ( let i = 0; i < arr.children.length; i++ )
+ {
+ if ( arr.children[i].children )
+ {
+ return this.isUrlInChildren(arr.children[i], url)
+ }
+ else
+ {
+ if ( arr.children[i].url === url )
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
ngOnInit()
{
diff --git a/src/app/navigation/nav-item/nav-item.component.html b/src/app/navigation/nav-item/nav-item.component.html
index fe1ea9df..2b8ac9e2 100644
--- a/src/app/navigation/nav-item/nav-item.component.html
+++ b/src/app/navigation/nav-item/nav-item.component.html
@@ -1,6 +1,5 @@
+ [routerLink]="[item.url]" routerLinkActive="active">
{{item.icon}}
{{item.title}}
diff --git a/src/app/navigation/nav-item/nav-item.component.ts b/src/app/navigation/nav-item/nav-item.component.ts
index daf4af8a..43418d33 100644
--- a/src/app/navigation/nav-item/nav-item.component.ts
+++ b/src/app/navigation/nav-item/nav-item.component.ts
@@ -1,5 +1,4 @@
-import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';
-import {NavigationService} from '../navigation.service';
+import {Component, HostBinding, Input, OnInit} from '@angular/core';
@Component({
selector : 'fuse-nav-item',
@@ -11,17 +10,11 @@ export class NavItemComponent implements OnInit
@HostBinding('class') classes = 'nav-item';
@Input() item: any;
- constructor(private navigationService: NavigationService)
+ constructor()
{
}
ngOnInit()
{
}
-
- onClick()
- {
- console.log('clicked');
- this.navigationService.navItemClicked.emit(this.item.url);
- }
}
diff --git a/src/app/navigation/navigation.model.ts b/src/app/navigation/navigation.model.ts
index 3ea15a0d..499529e5 100644
--- a/src/app/navigation/navigation.model.ts
+++ b/src/app/navigation/navigation.model.ts
@@ -1,415 +1,410 @@
export class FuseNavigation
{
- items = [
- {
- 'title': 'APPS',
- 'type' : 'subheader'
- },
- {
- 'title' : 'Dashboards',
- 'type' : 'nav-collapse',
- 'icon' : 'dashboard',
- 'url' : '/apps/dashboards',
- 'children': [
- {
- 'type' : 'nav-item',
- 'title': 'Project',
- 'url' : '/apps/dashboards/project'
- },
- {
- 'type' : 'nav-item',
- 'title': 'Server',
- 'url' : '/apps/dashboards/server'
- }
- ]
- },
- {
- 'title': 'Calendar',
- 'type' : 'nav-item',
- 'icon' : 'today',
- 'url' : '/apps/calendar'
- },
- {
- 'title' : 'Ecommerce',
- 'type' : 'nav-collapse',
- 'icon' : 'shopping_cart',
- 'url' : '/apps/e-commerce',
- 'children': [
- {
- 'title': 'Products',
- 'type' : 'nav-item',
- 'url' : '/apps/e-commerce/products'
- },
- {
- 'title': 'Product',
- 'type' : 'nav-item',
- 'url' : '/apps/e-commerce/product'
- },
- {
- 'title': 'Orders',
- 'type' : 'nav-item',
- 'url' : '/apps/e-commerce/orders'
- }
- ]
- },
- {
- 'title': 'Mail',
- 'type' : 'nav-item',
- 'icon' : 'email',
- 'url' : '/apps/mail'
- },
- {
- 'title': 'Chat',
- 'type' : 'nav-item',
- 'icon' : 'chat',
- 'url' : '/apps/chat'
- },
- {
- 'title': 'File Manager',
- 'type' : 'nav-item',
- 'icon' : 'folder',
- 'url' : '/apps/file-manager'
- },
- {
- 'title': 'Contacts',
- 'type' : 'nav-item',
- 'icon' : 'account_box',
- 'url' : '/apps/contacts'
- },
- {
- 'title': 'To-Do',
- 'type' : 'nav-item',
- 'icon' : 'checkbox_cricle',
- 'url' : '/apps/todo'
- },
- {
- 'title': 'PAGES',
- 'type' : 'subheader'
- },
- {
- 'title' : 'Authentication',
- 'type' : 'nav-collapse',
- 'icon' : 'lock',
- 'url' : '/pages/auth',
- 'children': [
- {
- 'title': 'Login',
- 'type' : 'nav-item',
- 'url' : '/pages/auth/login'
- },
- {
- 'title': 'Login v2',
- 'type' : 'nav-item',
- 'url' : '/pages/auth/login-v2'
- },
- {
- 'title': 'Register',
- 'type' : 'nav-item',
- 'url' : '/pages/auth/register'
- },
- {
- 'title': 'Register v2',
- 'type' : 'nav-item',
- 'url' : '/pages/auth/register-v2'
- },
- {
- 'title': 'Forgot Password',
- 'type' : 'nav-item',
- 'url' : '/pages/auth/forgot-password'
- },
- {
- 'title': 'Reset Password',
- 'type' : 'nav-item',
- 'url' : '/pages/auth/reset-password'
- },
- {
- 'title': 'Lock Screen',
- 'type' : 'nav-item',
- 'url' : '/pages/auth/lock-screen'
- }
- ]
- },
- {
- 'title': 'Coming Soon',
- 'type' : 'nav-item',
- 'icon' : 'alarm',
- 'url' : '/pages/coming-soon'
- },
- {
- 'title' : 'Errors',
- 'type' : 'nav-collapse',
- 'icon' : 'error',
- 'url' : '/pages/errors',
- 'children': [
- {
- 'title': '404',
- 'type' : 'nav-item',
- 'url' : '/pages/errors/404'
- },
- {
- 'title': '500',
- 'type' : 'nav-item',
- 'url' : '/pages/errors/500'
- }
- ]
- },
- {
- 'title': 'Maintenance',
- 'type' : 'nav-item',
- 'icon' : 'build',
- 'url' : '/pages/maintenance'
- },
- {
- 'title': 'Profile',
- 'type' : 'nav-item',
- 'icon' : 'account',
- 'url' : '/pages/profile'
- },
- {
- 'title': 'Search',
- 'type' : 'nav-item',
- 'icon' : 'search',
- 'url' : '/pages/search'
- },
- {
- 'title': 'USER INTERFACE',
- 'type' : 'subheader'
- },
- {
- 'title' : 'Elements',
- 'type' : 'nav-collapse',
- 'icon' : 'layers',
- 'url' : '/user-interface/elements',
- 'children': [
- {
- 'title': 'Alerts',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/alerts'
- },
- {
- 'title': 'Badges',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/badges'
- },
- {
- 'title': 'Breadcrumb',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/breadcrumb'
- },
- {
- 'title': 'Buttons',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/buttons'
- },
- {
- 'title': 'Button Group',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/button-group'
- },
- {
- 'title': 'Cards',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/cards'
- },
- {
- 'title': 'Dropdowns',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/dropdowns'
- },
- {
- 'title': 'Forms',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/forms'
- },
- {
- 'title': 'Input Group',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/input-group'
- },
- {
- 'title': 'Jumbotron',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/jumbotron'
- },
- {
- 'title': 'List Group',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/list-group'
- },
- {
- 'title': 'Navs',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/navs'
- },
- {
- 'title': 'Navbar',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/navbar'
- },
- {
- 'title': 'Pagination',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/pagination'
- },
- {
- 'title': 'Progress',
- 'type' : 'nav-item',
- 'url' : '/user-interface/elements/progress'
- }
- ]
- },
- {
- 'title' : 'Tables',
- 'type' : 'nav-collapse',
- 'icon' : 'border_all',
- 'url' : '/user-interface/tables',
- 'children': [
- {
- 'title': 'Simple Table',
- 'type' : 'nav-item',
- 'url' : '/user-interface/tables/simple-table'
- },
- {
- 'title': 'Data Table',
- 'type' : 'nav-item',
- 'url' : '/user-interface/tables/data-table'
- }
- ]
- },
- {
- 'title' : 'Page Layouts',
- 'type' : 'nav-collapse',
- 'icon' : 'view_quilt',
- 'url' : 'page-layouts',
- 'children': [
- {
- 'title' : 'Carded',
- 'type' : 'nav-collapse',
- 'url' : '/user-interface/page-layouts/carded',
- 'children': [
- {
- 'title': 'Full Width',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/carded/full-width'
- },
- {
- 'title': 'Left Sidebar',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/carded/left-sidebar'
- },
- {
- 'title': 'Right Sidebar',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/carded/right-sidebar'
- }
- ]
- },
- {
- 'title' : 'Simple',
- 'type' : 'nav-collapse',
- 'url' : '/user-interface/page-layouts/simple',
- 'children': [
- {
- 'title': 'Full Width',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/full-width'
- },
- {
- 'title': 'Left Sidebar',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/left-sidebar'
- },
- {
- 'title': 'Left Sidebar Inner',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/left-sidebar-inner'
- },
- {
- 'title': 'Left Sidebar Floating',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/left-sidebar-floating'
- },
- {
- 'title': 'Right Sidebar',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/right-sidebar'
- },
- {
- 'title': 'Right Sidebar Inner',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/sidebar-inner'
- },
- {
- 'title': 'Right Sidebar Floating',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/right-sidebar-floating'
- },
- {
- 'title': 'Tabbed',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/simple/tabbed'
- }
- ]
- },
- {
- 'title': 'Blank',
- 'type' : 'nav-item',
- 'url' : '/user-interface/page-layouts/blank'
- }
- ]
- },
- {
- 'title': 'Colors',
- 'type' : 'nav-item',
- 'icon' : 'color_lens',
- 'url' : '/user-interface/colors'
- },
- {
- 'title': 'COMPONENTS',
- 'type' : 'subheader'
- },
- {
- 'title' : 'Charts',
- 'type' : 'nav-collapse',
- 'url' : '/components/charts',
- 'icon' : 'poll',
- 'children': [
- {
- 'title': 'nvD3',
- 'type' : 'nav-item',
- 'url' : '/components/charts/nvd3'
- }
- ]
- },
- {
- 'title': 'Collapse',
- 'type' : 'nav-item',
- 'icon' : 'add_box',
- 'url' : '/components/collapse'
- },
- {
- 'title': 'Modal',
- 'type' : 'nav-item',
- 'icon' : 'picture_in_picture',
- 'url' : '/components/modal'
- },
- {
- 'title': 'Popovers',
- 'type' : 'nav-item',
- 'icon' : 'chat_buble',
- 'url' : '/components/popovers'
- },
- {
- 'title': 'Snackbar',
- 'type' : 'nav-item',
- 'icon' : 'call_to_action',
- 'url' : '/components/snackbar'
- },
- {
- 'title': 'Tooltips',
- 'type' : 'nav-item',
- 'icon' : 'live_help',
- 'url' : '/components/tooltips'
- }
- ];
+ public items: any[];
+
+ constructor()
+ {
+ this.items = [
+ {
+ 'title': 'APPS',
+ 'type' : 'subheader'
+ },
+ {
+ 'title' : 'Dashboards',
+ 'type' : 'nav-collapse',
+ 'icon' : 'dashboard',
+ 'children': [
+ {
+ 'type' : 'nav-item',
+ 'title': 'Project',
+ 'url' : '/apps/dashboards/project'
+ },
+ {
+ 'type' : 'nav-item',
+ 'title': 'Server',
+ 'url' : '/apps/dashboards/server'
+ }
+ ]
+ },
+ {
+ 'title': 'Calendar',
+ 'type' : 'nav-item',
+ 'icon' : 'today',
+ 'url' : '/apps/calendar'
+ },
+ {
+ 'title' : 'Ecommerce',
+ 'type' : 'nav-collapse',
+ 'icon' : 'shopping_cart',
+ 'children': [
+ {
+ 'title': 'Products',
+ 'type' : 'nav-item',
+ 'url' : '/apps/e-commerce/products'
+ },
+ {
+ 'title': 'Product',
+ 'type' : 'nav-item',
+ 'url' : '/apps/e-commerce/product'
+ },
+ {
+ 'title': 'Orders',
+ 'type' : 'nav-item',
+ 'url' : '/apps/e-commerce/orders'
+ }
+ ]
+ },
+ {
+ 'title': 'Mail',
+ 'type' : 'nav-item',
+ 'icon' : 'email',
+ 'url' : '/apps/mail'
+ },
+ {
+ 'title': 'Chat',
+ 'type' : 'nav-item',
+ 'icon' : 'chat',
+ 'url' : '/apps/chat'
+ },
+ {
+ 'title': 'File Manager',
+ 'type' : 'nav-item',
+ 'icon' : 'folder',
+ 'url' : '/apps/file-manager'
+ },
+ {
+ 'title': 'Contacts',
+ 'type' : 'nav-item',
+ 'icon' : 'account_box',
+ 'url' : '/apps/contacts'
+ },
+ {
+ 'title': 'To-Do',
+ 'type' : 'nav-item',
+ 'icon' : 'checkbox_cricle',
+ 'url' : '/apps/todo'
+ },
+ {
+ 'title': 'PAGES',
+ 'type' : 'subheader'
+ },
+ {
+ 'title' : 'Authentication',
+ 'type' : 'nav-collapse',
+ 'icon' : 'lock',
+ 'children': [
+ {
+ 'title': 'Login',
+ 'type' : 'nav-item',
+ 'url' : '/pages/auth/login'
+ },
+ {
+ 'title': 'Login v2',
+ 'type' : 'nav-item',
+ 'url' : '/pages/auth/login-v2'
+ },
+ {
+ 'title': 'Register',
+ 'type' : 'nav-item',
+ 'url' : '/pages/auth/register'
+ },
+ {
+ 'title': 'Register v2',
+ 'type' : 'nav-item',
+ 'url' : '/pages/auth/register-v2'
+ },
+ {
+ 'title': 'Forgot Password',
+ 'type' : 'nav-item',
+ 'url' : '/pages/auth/forgot-password'
+ },
+ {
+ 'title': 'Reset Password',
+ 'type' : 'nav-item',
+ 'url' : '/pages/auth/reset-password'
+ },
+ {
+ 'title': 'Lock Screen',
+ 'type' : 'nav-item',
+ 'url' : '/pages/auth/lock-screen'
+ }
+ ]
+ },
+ {
+ 'title': 'Coming Soon',
+ 'type' : 'nav-item',
+ 'icon' : 'alarm',
+ 'url' : '/pages/coming-soon'
+ },
+ {
+ 'title' : 'Errors',
+ 'type' : 'nav-collapse',
+ 'icon' : 'error',
+ 'children': [
+ {
+ 'title': '404',
+ 'type' : 'nav-item',
+ 'url' : '/pages/errors/404'
+ },
+ {
+ 'title': '500',
+ 'type' : 'nav-item',
+ 'url' : '/pages/errors/500'
+ }
+ ]
+ },
+ {
+ 'title': 'Maintenance',
+ 'type' : 'nav-item',
+ 'icon' : 'build',
+ 'url' : '/pages/maintenance'
+ },
+ {
+ 'title': 'Profile',
+ 'type' : 'nav-item',
+ 'icon' : 'account',
+ 'url' : '/pages/profile'
+ },
+ {
+ 'title': 'Search',
+ 'type' : 'nav-item',
+ 'icon' : 'search',
+ 'url' : '/pages/search'
+ },
+ {
+ 'title': 'USER INTERFACE',
+ 'type' : 'subheader'
+ },
+ {
+ 'title' : 'Elements',
+ 'type' : 'nav-collapse',
+ 'icon' : 'layers',
+ 'children': [
+ {
+ 'title': 'Alerts',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/alerts'
+ },
+ {
+ 'title': 'Badges',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/badges'
+ },
+ {
+ 'title': 'Breadcrumb',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/breadcrumb'
+ },
+ {
+ 'title': 'Buttons',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/buttons'
+ },
+ {
+ 'title': 'Button Group',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/button-group'
+ },
+ {
+ 'title': 'Cards',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/cards'
+ },
+ {
+ 'title': 'Dropdowns',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/dropdowns'
+ },
+ {
+ 'title': 'Forms',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/forms'
+ },
+ {
+ 'title': 'Input Group',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/input-group'
+ },
+ {
+ 'title': 'Jumbotron',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/jumbotron'
+ },
+ {
+ 'title': 'List Group',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/list-group'
+ },
+ {
+ 'title': 'Navs',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/navs'
+ },
+ {
+ 'title': 'Navbar',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/navbar'
+ },
+ {
+ 'title': 'Pagination',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/pagination'
+ },
+ {
+ 'title': 'Progress',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/elements/progress'
+ }
+ ]
+ },
+ {
+ 'title' : 'Tables',
+ 'type' : 'nav-collapse',
+ 'icon' : 'border_all',
+ 'children': [
+ {
+ 'title': 'Simple Table',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/tables/simple-table'
+ },
+ {
+ 'title': 'Data Table',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/tables/data-table'
+ }
+ ]
+ },
+ {
+ 'title' : 'Page Layouts',
+ 'type' : 'nav-collapse',
+ 'icon' : 'view_quilt',
+ 'children': [
+ {
+ 'title' : 'Carded',
+ 'type' : 'nav-collapse',
+ 'children': [
+ {
+ 'title': 'Full Width',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/carded/full-width'
+ },
+ {
+ 'title': 'Left Sidebar',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/carded/left-sidebar'
+ },
+ {
+ 'title': 'Right Sidebar',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/carded/right-sidebar'
+ }
+ ]
+ },
+ {
+ 'title' : 'Simple',
+ 'type' : 'nav-collapse',
+ 'children': [
+ {
+ 'title': 'Full Width',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/full-width'
+ },
+ {
+ 'title': 'Left Sidebar',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/left-sidebar'
+ },
+ {
+ 'title': 'Left Sidebar Inner',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/left-sidebar-inner'
+ },
+ {
+ 'title': 'Left Sidebar Floating',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/left-sidebar-floating'
+ },
+ {
+ 'title': 'Right Sidebar',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/right-sidebar'
+ },
+ {
+ 'title': 'Right Sidebar Inner',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/sidebar-inner'
+ },
+ {
+ 'title': 'Right Sidebar Floating',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/right-sidebar-floating'
+ },
+ {
+ 'title': 'Tabbed',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/simple/tabbed'
+ }
+ ]
+ },
+ {
+ 'title': 'Blank',
+ 'type' : 'nav-item',
+ 'url' : '/user-interface/page-layouts/blank'
+ }
+ ]
+ },
+ {
+ 'title': 'Colors',
+ 'type' : 'nav-item',
+ 'icon' : 'color_lens',
+ 'url' : '/user-interface/colors'
+ },
+ {
+ 'title': 'COMPONENTS',
+ 'type' : 'subheader'
+ },
+ {
+ 'title' : 'Charts',
+ 'type' : 'nav-collapse',
+ 'icon' : 'poll',
+ 'children': [
+ {
+ 'title': 'nvD3',
+ 'type' : 'nav-item',
+ 'url' : '/components/charts/nvd3'
+ }
+ ]
+ },
+ {
+ 'title': 'Collapse',
+ 'type' : 'nav-item',
+ 'icon' : 'add_box',
+ 'url' : '/components/collapse'
+ },
+ {
+ 'title': 'Modal',
+ 'type' : 'nav-item',
+ 'icon' : 'picture_in_picture',
+ 'url' : '/components/modal'
+ },
+ {
+ 'title': 'Popovers',
+ 'type' : 'nav-item',
+ 'icon' : 'chat_buble',
+ 'url' : '/components/popovers'
+ },
+ {
+ 'title': 'Snackbar',
+ 'type' : 'nav-item',
+ 'icon' : 'call_to_action',
+ 'url' : '/components/snackbar'
+ },
+ {
+ 'title': 'Tooltips',
+ 'type' : 'nav-item',
+ 'icon' : 'live_help',
+ 'url' : '/components/tooltips'
+ }
+ ];
+ }
}
diff --git a/src/app/navigation/navigation.service.ts b/src/app/navigation/navigation.service.ts
index e6e2f8f8..12e4bd0c 100644
--- a/src/app/navigation/navigation.service.ts
+++ b/src/app/navigation/navigation.service.ts
@@ -1,34 +1,15 @@
import {EventEmitter, Injectable} from '@angular/core';
-import {NavigationEnd, NavigationStart, Router} from '@angular/router';
import {FuseNavigation} from './navigation.model';
@Injectable()
export class NavigationService
{
- navItemClicked = new EventEmitter();
- clickedItemUrl: string;
+ onNavCollapseToggled = new EventEmitter();
navigation: object[];
- constructor(private router: Router)
+ constructor()
{
this.navigation = new FuseNavigation().items;
- router.events.subscribe(
- (event) =>
- {
- if ( event instanceof NavigationEnd )
- {
- console.warn('event', event);
- this.navItemClicked.emit(event.urlAfterRedirects);
- }
- }
- );
- this.navItemClicked.subscribe(
- (instance) =>
- {
- console.log('instance', instance);
- this.clickedItemUrl = instance;
- }
- );
}
getNavigation()