sgh-navbar 0.0.57 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +186 -10
- package/fesm2022/sgh-navbar.mjs +55 -55
- package/fesm2022/sgh-navbar.mjs.map +1 -1
- package/index.d.ts +0 -0
- package/lib/breadcrumb/breadcrumb.component.d.ts +0 -0
- package/lib/breadcrumb/breadcrumb.service.d.ts +0 -0
- package/lib/configs/default-sidenav.config.d.ts +0 -0
- package/lib/configs/default-toolbar.config.d.ts +0 -0
- package/lib/sgh-navbar.component.d.ts +0 -0
- package/lib/sgh-navbar.module.d.ts +0 -0
- package/lib/sgh-navbar.service.d.ts +0 -0
- package/lib/sidenav/helper.d.ts +0 -0
- package/lib/sidenav/menu-list-item/menu-list-item.component.d.ts +0 -0
- package/lib/sidenav/nav-data.d.ts +0 -0
- package/lib/sidenav/sidenav-data.d.ts +0 -0
- package/lib/sidenav/sidenav.component.d.ts +0 -0
- package/lib/sidenav/sublevel-menu.component.d.ts +0 -0
- package/lib/toolbar/notification-list/notification-list.component.d.ts +0 -0
- package/lib/toolbar/search.pipe.d.ts +0 -0
- package/lib/toolbar/sub-client-dialog/sub-client-dialog.component.d.ts +0 -0
- package/lib/toolbar/toolbar-data.d.ts +0 -0
- package/lib/toolbar/toolbar.component.d.ts +0 -0
- package/package.json +32 -1
- package/public-api.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/configs/default-sidenav.config.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/configs/default-toolbar.config.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.service.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.component.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { ClientListItem, SubClientListItem } from './toolbar/toolbar-data';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded: boolean = false;\r\n client = new BehaviorSubject<ClientListItem | null>(null);\r\n subClient = new BehaviorSubject<SubClientListItem | null>(null);\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded(): boolean {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client: ClientListItem): void {\r\n this.client.next(client);\r\n }\r\n\r\n getClient(): Observable<ClientListItem | null> {\r\n return this.client.asObservable();\r\n }\r\n\r\n setSubclient(subclient: SubClientListItem): void {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient(): Observable<SubClientListItem | null> {\r\n return this.subClient.asObservable();\r\n }\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\",\r\n \"visible\": true,\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\",\r\n \"visible\": true\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\",\r\n \"visible\": true,\r\n },\r\n];\r\n","import { SidenavData } from '../sidenav/sidenav-data';\r\nimport { navbarData } from '../sidenav/nav-data';\r\n\r\nexport const DEFAULT_SIDENAV_CONFIG: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n};","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'sgh-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean = false;\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: INavbarData[] = [];\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link {{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar/toolbar-data\";\r\nimport {INavbarData} from \"./helper\";\r\nimport {DEFAULT_SIDENAV_CONFIG} from \"../configs/default-sidenav.config\";\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'sgh-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('inOutAnimation', [\r\n transition(':enter', [\r\n style({ height: 0, opacity: 0 }),\r\n animate('500ms ease-out', style({ height: '*', opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 1 }),\r\n animate('500ms ease-in', style({ height: 0, opacity: 0 }))\r\n ])\r\n ]),\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms', keyframes([\r\n style({ transform: 'rotate(0deg)', offset: '0' }),\r\n style({ transform: 'rotate(2turn)', offset: '1' })\r\n ]))\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({ transform: 'translateX(-100px)' }), animate('.5s ease-out', style({ transform: 'translateX(0%)' }))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded: boolean = false;\r\n @Input() sidenavData: SidenavData = DEFAULT_SIDENAV_CONFIG;\r\n client: ClientListItem | null = null;\r\n subclient: SubClientListItem | null = null;\r\n hasClients: boolean = false;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (client) => {\r\n this.client = client;\r\n },\r\n error: (error) => {\r\n console.error('Error getting client:', error);\r\n }\r\n });\r\n \r\n this.sidebarService.getSubclient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (subclient) => {\r\n this.subclient = subclient;\r\n },\r\n error: (error) => {\r\n console.error('Error getting subclient:', error);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n customLinkCSS?: string;\r\n label: string;\r\n expanded?: boolean;\r\n visible: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss'],\r\n standalone: false\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n","import { ToolbarData } from '../toolbar/toolbar-data';\r\n\r\nexport const DEFAULT_TOOLBAR_CONFIG: ToolbarData = {\r\n themeOptions: [\r\n {\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n },\r\n {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n },\r\n {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }\r\n ],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [\r\n {\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false },\r\n { text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }\r\n ],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n};","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sgh-notification-list',\r\n templateUrl: './notification-list.component.html',\r\n styleUrls: ['./notification-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class NotificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search',\r\n standalone: false\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {DEFAULT_TOOLBAR_CONFIG} from \"../configs/default-toolbar.config\";\r\n\r\n@Component({\r\n selector: 'sgh-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ],\r\n standalone: false\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean = false;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = DEFAULT_TOOLBAR_CONFIG;\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<ClientListItem>();\r\n @Output() subClient = new EventEmitter<SubClientListItem>();\r\n\r\n searchInput: string = \"\";\r\n private prev: string = '';\r\n selected: string = 'sgh-default-theme';\r\n private wasInside: boolean = false;\r\n selectedClient: ClientListItem | null = null;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger!: MatMenuTrigger;\r\n\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n // Toggle the expanded state and emit the new value\r\n const newExpandedState = !this.expanded;\r\n this.toggleSidebarEvent.emit(newExpandedState);\r\n return newExpandedState;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n // Use Promise-based timeout for better error handling\r\n Promise.resolve().then(() => {\r\n try {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem, index: number) => {\r\n // select the first client\r\n if (index === 0) {\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n this.selectedClient = client;\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n } catch (error) {\r\n console.error('Error initializing clients:', error);\r\n }\r\n });\r\n }\r\n\r\n setClass(selected: string): void {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n searchText: string = '';\r\n\r\n onRadioClick(themeValue: string): void {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event: Event, clientItem: ClientListItem): void {\r\n this.selectedClient = clientItem;\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n this.sghNavbarSvc.setClient(clientItem);\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe({\r\n next: (result) => {\r\n if (result && result.data && result.data.selectedSubClient) {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setSubclient(result.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n const selectedObj = clientItem.subClientList?.find((scItem) => \r\n scItem.text === result.data.selectedSubClient.text\r\n );\r\n if (selectedObj) {\r\n selectedObj.checked = true;\r\n }\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error in subclient dialog:', error);\r\n }\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem): void {\r\n client.subClientList?.forEach((subclient: SubClientListItem, index: number) => {\r\n if (index === 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems(): void {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient(): void {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n if (client !== this.selectedClient) {\r\n client.subClientList?.forEach((scItem, index: number) => {\r\n scItem.checked = index === 0;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","<nav class=\"toolbar-main-wrapper\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\">\r\n <div class=\"logo-wrapper\">\r\n <img class=\"logo\" [src]=\"toolbarData.img\"/>\r\n </div>\r\n <div>\r\n <button class=\"toggle-button\" (click)=\"toggleSidebar()\">\r\n <i class=\"fa fa-bars fa-fade\"></i>\r\n </button>\r\n </div>\r\n <div class=\"search\">\r\n <div class=\"form\" *ngIf=\"toolbarData.searchEnable\">\r\n <input type=\"text\" name=\"text\" autocomplete=\"off\" required/>\r\n <label class=\"label-name\">\r\n <span class=\"content-name\">\r\n Search\r\n </span>\r\n </label>\r\n <button class=\"search-wrapper\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"toolbarData.notificationEnable\" class=\"icon\" id=\"bell\" (click)=\"toggleNotificationList()\">\r\n <i class=\"fa fa-bell\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.profileEnable\" class=\"icon\" id=\"bell3\" (click)=\"clickProfile()\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <div *ngIf=\"toolbarData.settingsEnable\" class=\"icon\" id=\"bell2\" [matMenuTriggerFor]=\"settingsMenu\">\r\n <i class=\"fa fa-gear\"></i>\r\n </div>\r\n</nav>\r\n\r\n<div *ngIf=\"toolbarData.profileView\" class=\"notifications\">\r\n <div class=\"notifications-list-wrapper profile-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-list-item\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Settings related menus start-->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"appConfig\" *ngIf=\"toolbarData.applicationConfigurationEnable\">Application Settings</button>\r\n <button mat-menu-item [matMenuTriggerFor]=\"clientConfig\" *ngIf=\"toolbarData.clientConfigurationEnable\" #clientMenuTrigger>Client Settings</button>\r\n</mat-menu>\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\">\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\">\r\n <button mat-menu-item class=\"radio\" (click)=\"onRadioClick(themeoption.value)\">\r\n <input value=\"{{themeoption.value}}\" name=\"radio\" type=\"radio\" checked [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span>{{themeoption.name}}</span>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\">\r\n <div style=\"width: 250px\" class=\"client-menu-wrapper\">\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12\" (click)=\"$event.stopPropagation();\">\r\n <input type=\"text\" class=\"search-input\" placeholder=\"Search Client\" [(ngModel)]=\"searchText\"/>\r\n </div>\r\n <div class=\"col-sm-12\">\r\n <div class=\"mt-2 list-item-container\">\r\n <div class=\"list-item text-truncate\" *ngFor=\"let item of toolbarData.clientList | search : searchText;let i = index\"\r\n [ngClass]=\"{'client-selected': item.selected}\"\r\n (click)=\"toggleSelect($event, item);\" mat-ripple>{{item.text}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<!--Settings related menus end-->\r\n\r\n<sgh-notification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></sgh-notification-list>\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { SidenavData } from './sidenav/sidenav-data';\r\nimport { ToolbarData } from './toolbar/toolbar-data';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <div class=\"sgh-navbar-container\">\r\n <sgh-toolbar \r\n [toolbarData]=\"toolbarData\" \r\n [expanded]=\"expanded\" \r\n (toggleSidebarEvent)=\"onToggleSidebar($event)\"\r\n (searchInputEvent)=\"onSearchInput($event)\"\r\n (client)=\"onClientChange($event)\"\r\n (subClient)=\"onSubClientChange($event)\">\r\n </sgh-toolbar>\r\n \r\n <div class=\"sgh-navbar-layout\">\r\n <sgh-sidenav \r\n [sidenavData]=\"sidenavData\" \r\n [expanded]=\"expanded\"\r\n (onToggleSideNav)=\"onSidenavToggle($event)\">\r\n </sgh-sidenav>\r\n \r\n <div class=\"sgh-navbar-content\" [class.expanded]=\"expanded\">\r\n <div class=\"sgh-breadcrumb-container\" *ngIf=\"showBreadcrumbs\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbs; let last = last\"\r\n [class.active]=\"last\">\r\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\">{{ item.label }}</a>\r\n <span *ngIf=\"last\">{{ item.label }}</span>\r\n </li>\r\n </ol>\r\n </nav>\r\n </div>\r\n \r\n <div class=\"sgh-navbar-main-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./sgh-navbar.component.scss'],\r\n standalone: false\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n @Input() sidenavData: SidenavData;\r\n @Input() toolbarData: ToolbarData;\r\n @Input() expanded: boolean = false;\r\n @Input() showBreadcrumbs: boolean = true;\r\n @Input() breadcrumbs: any[] = [];\r\n \r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() clientChange = new EventEmitter<any>();\r\n @Output() subClientChange = new EventEmitter<any>();\r\n @Output() sidenavToggle = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onToggleSidebar(expanded: boolean) {\r\n this.expanded = expanded;\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n }\r\n\r\n onSearchInput(searchText: string) {\r\n this.searchInputEvent.emit(searchText);\r\n }\r\n\r\n onClientChange(client: any) {\r\n this.clientChange.emit(client);\r\n }\r\n\r\n onSubClientChange(subClient: any) {\r\n this.subClientChange.emit(subClient);\r\n }\r\n\r\n onSidenavToggle(event: any) {\r\n this.sidenavToggle.emit(event);\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'sgh-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0 && item.visible\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"(!item.items || (item.items && item.items.length === 0)) && item.visible\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <sgh-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></sgh-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sublevel-menu.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({ overflow: 'hidden' }),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n visible: true,\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\n\nexport interface BreadcrumbItem {\n label: string;\n routeLink: string;\n icon?: string;\n isActive?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n private breadcrumbsSubject = new BehaviorSubject<BreadcrumbItem[]>([]);\n public breadcrumbs$: Observable<BreadcrumbItem[]> = this.breadcrumbsSubject.asObservable();\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\n this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => this.buildBreadcrumbs(this.activatedRoute.root))\n ).subscribe(breadcrumbs => {\n this.breadcrumbsSubject.next(breadcrumbs);\n });\n }\n\n setBreadcrumbs(breadcrumbs: BreadcrumbItem[]): void {\n this.breadcrumbsSubject.next(breadcrumbs);\n }\n\n addBreadcrumb(breadcrumb: BreadcrumbItem): void {\n const current = this.breadcrumbsSubject.value;\n this.breadcrumbsSubject.next([...current, breadcrumb]);\n }\n\n private buildBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: BreadcrumbItem[] = []): BreadcrumbItem[] {\n const children: ActivatedRoute[] = route.children;\n\n if (children.length === 0) {\n return breadcrumbs;\n }\n\n for (const child of children) {\n const routeURL: string = child.snapshot.url.map(segment => segment.path).join('/');\n if (routeURL !== '') {\n url += `/${routeURL}`;\n }\n\n const label = child.snapshot.data['breadcrumb'];\n if (label) {\n breadcrumbs.push({\n label,\n routeLink: url,\n icon: child.snapshot.data['breadcrumbIcon']\n });\n }\n\n return this.buildBreadcrumbs(child, url, breadcrumbs);\n }\n\n return breadcrumbs;\n }\n}","import { Component, Input, OnInit } from '@angular/core';\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'sgh-breadcrumb',\n template: `\n <nav class=\"sgh-breadcrumb\" aria-label=\"breadcrumb\" *ngIf=\"breadcrumbs$ | async as breadcrumbs\">\n <ol class=\"breadcrumb-list\">\n <li class=\"breadcrumb-item home-item\">\n <a [routerLink]=\"'/'\" class=\"breadcrumb-link\">\n <i class=\"fa fa-home\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Home</span>\n </a>\n </li>\n <li class=\"breadcrumb-item\" \n *ngFor=\"let item of breadcrumbs; let last = last\"\n [class.active]=\"last\">\n <i class=\"fa fa-angle-right breadcrumb-separator\" aria-hidden=\"true\"></i>\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\" class=\"breadcrumb-link\">\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\n {{ item.label }}\n </a>\n <span *ngIf=\"last\" class=\"breadcrumb-current\">\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\n {{ item.label }}\n </span>\n </li>\n </ol>\n </nav>\n `,\n styleUrls: ['./breadcrumb.component.scss'],\n standalone: false\n})\nexport class BreadcrumbComponent implements OnInit {\n @Input() customBreadcrumbs: BreadcrumbItem[] = [];\n \n breadcrumbs$: Observable<BreadcrumbItem[]>;\n\n constructor(private breadcrumbService: BreadcrumbService) {\n this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;\n }\n\n ngOnInit(): void {\n if (this.customBreadcrumbs.length > 0) {\n this.breadcrumbService.setBreadcrumbs(this.customBreadcrumbs);\n }\n }\n}","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NotificationListComponent} from \"./toolbar/notification-list/notification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { BreadcrumbService } from './breadcrumb/breadcrumb.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NotificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent,\r\n BreadcrumbComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent\r\n ],\r\n providers: [SghNavbarService, BreadcrumbService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/sidenav/sidenav-data';\r\nexport * from './lib/sidenav/helper';\r\n\r\nexport * from './lib/toolbar/toolbar.component';\r\nexport * from './lib/toolbar/toolbar-data';\r\n\r\nexport * from './lib/breadcrumb/breadcrumb.component';\r\nexport * from './lib/breadcrumb/breadcrumb.service';\r\n\r\nexport * from './lib/configs/default-toolbar.config';\r\nexport * from './lib/configs/default-sidenav.config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.SghNavbarService","i3","i4.MenuListItemComponent","i1","i4","i7.NotificationListComponent","i8.SearchPipe","i2","i3.SidenavComponent","i4.ToolbarComponent","i1.BreadcrumbService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sgh-navbar.mjs","sources":["../../../projects/sgh-navbar/src/lib/sgh-navbar.service.ts","../../../projects/sgh-navbar/src/lib/sidenav/nav-data.ts","../../../projects/sgh-navbar/src/lib/configs/default-sidenav.config.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/menu-list-item/menu-list-item.component.html","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sidenav.component.html","../../../projects/sgh-navbar/src/lib/sidenav/helper.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/sub-client-dialog/sub-client-dialog.component.html","../../../projects/sgh-navbar/src/lib/configs/default-toolbar.config.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/notification-list/notification-list.component.html","../../../projects/sgh-navbar/src/lib/toolbar/search.pipe.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.ts","../../../projects/sgh-navbar/src/lib/toolbar/toolbar.component.html","../../../projects/sgh-navbar/src/lib/sgh-navbar.component.ts","../../../projects/sgh-navbar/src/lib/sidenav/sublevel-menu.component.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.service.ts","../../../projects/sgh-navbar/src/lib/breadcrumb/breadcrumb.component.ts","../../../projects/sgh-navbar/src/lib/sgh-navbar.module.ts","../../../projects/sgh-navbar/src/public-api.ts","../../../projects/sgh-navbar/src/sgh-navbar.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { ClientListItem, SubClientListItem } from './toolbar/toolbar-data';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SghNavbarService {\r\n expanded: boolean = false;\r\n client = new BehaviorSubject<ClientListItem | null>(null);\r\n subClient = new BehaviorSubject<SubClientListItem | null>(null);\r\n setExpanded(value: boolean) {\r\n this.expanded = value;\r\n }\r\n\r\n getExpanded(): boolean {\r\n return this.expanded;\r\n }\r\n\r\n setClient(client: ClientListItem): void {\r\n this.client.next(client);\r\n }\r\n\r\n getClient(): Observable<ClientListItem | null> {\r\n return this.client.asObservable();\r\n }\r\n\r\n setSubclient(subclient: SubClientListItem): void {\r\n this.subClient.next(subclient);\r\n }\r\n\r\n getSubclient(): Observable<SubClientListItem | null> {\r\n return this.subClient.asObservable();\r\n }\r\n}\r\n","import { INavbarData } from \"./helper\";\r\n\r\nexport const navbarData: INavbarData[] = [\r\n {\r\n \"label\": \"Dashboard\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Cards\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/cards\",\r\n \"visible\": true,\r\n },\r\n {\r\n \"label\": \"Charts\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"dashboard/charts\",\r\n \"visible\": true,\r\n \"items\": [\r\n {\r\n \"label\": \"Vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped horizontal bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-horizontal-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Grouped vertical bar chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/grouped-vertical-bar-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Advanced pie chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/advanced-pie-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Pie grid chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/pie-grid-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Line chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/line-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Number card chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/number-card-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Linear gauge chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/linear-gauge-chart\",\r\n \"visible\": true\r\n },\r\n {\r\n \"label\": \"Combo chart\",\r\n \"icon\": \"\",\r\n \"routeLink\": \"dashboard/charts/pages/combo-chart\",\r\n \"visible\": true\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n \"label\": \"Form elements\",\r\n \"icon\": \"home\",\r\n \"routeLink\": \"main\",\r\n \"visible\": true,\r\n },\r\n];\r\n","import { SidenavData } from '../sidenav/sidenav-data';\r\nimport { navbarData } from '../sidenav/nav-data';\r\n\r\nexport const DEFAULT_SIDENAV_CONFIG: SidenavData = {\r\n navData: navbarData,\r\n bgColor: '#fff',\r\n imgSm: '',\r\n imgLg: ''\r\n};","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {INavbarData} from '../helper';\r\nimport {Router} from '@angular/router';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'sgh-menu-list-item',\r\n templateUrl: './menu-list-item.component.html',\r\n styleUrls: ['./menu-list-item.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class MenuListItemComponent implements OnInit {\r\n expanded: boolean = false;\r\n @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded;\r\n @Input() items: INavbarData[] = [];\r\n\r\n constructor(public router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"sidebar_div\" *ngFor=\"let data of items\">\r\n <a (click)=\"onItemSelected(data)\" class=\"sub-link {{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}} {{data.icon ? '' : 'padding-10'}}\"></i>\r\n <div class=\"text-div\">\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\">\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n</div>\r\n","import {animate, keyframes, state, style, transition, trigger} from '@angular/animations';\r\nimport {\r\n Component,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {navbarData} from './nav-data';\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {SidenavData} from \"./sidenav-data\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar/toolbar-data\";\r\nimport {INavbarData} from \"./helper\";\r\nimport {DEFAULT_SIDENAV_CONFIG} from \"../configs/default-sidenav.config\";\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\ninterface SideNavToggle {\r\n screenWidth: number;\r\n collapsed: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'sgh-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n animations: [\r\n trigger('inOutAnimation', [\r\n transition(':enter', [\r\n style({ height: 0, opacity: 0 }),\r\n animate('500ms ease-out', style({ height: '*', opacity: 1 }))\r\n ]),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 1 }),\r\n animate('500ms ease-in', style({ height: 0, opacity: 0 }))\r\n ])\r\n ]),\r\n trigger('rotate', [\r\n transition(':enter', [\r\n animate('1000ms', keyframes([\r\n style({ transform: 'rotate(0deg)', offset: '0' }),\r\n style({ transform: 'rotate(2turn)', offset: '1' })\r\n ]))\r\n ])\r\n ]),\r\n trigger('indicatorRotate', [\r\n state('collapsed', style({ transform: 'rotate(0deg)' })),\r\n state('expanded', style({ transform: 'rotate(180deg)' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),\r\n ]),\r\n trigger('slideInOut', [\r\n transition(':enter', [style({ transform: 'translateX(-100px)' }), animate('.5s ease-out', style({ transform: 'translateX(0%)' }))]),\r\n transition(':leave', [\r\n style({ transform: 'translateX(0%)' }),\r\n animate('.5s ease-out', style({ transform: 'translateX(-100%)' }))\r\n ])\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n @Output() onToggleSideNav: EventEmitter<SideNavToggle> = new EventEmitter();\r\n @Input() expanded: boolean = false;\r\n @Input() sidenavData: SidenavData = DEFAULT_SIDENAV_CONFIG;\r\n client: ClientListItem | null = null;\r\n subclient: SubClientListItem | null = null;\r\n hasClients: boolean = false;\r\n\r\n constructor(public router: Router, private sidebarService: SghNavbarService) {\r\n this.sidebarService.getClient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (client) => {\r\n this.client = client;\r\n },\r\n error: (error) => {\r\n console.error('Error getting client:', error);\r\n }\r\n });\r\n \r\n this.sidebarService.getSubclient()\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe({\r\n next: (subclient) => {\r\n this.subclient = subclient;\r\n },\r\n error: (error) => {\r\n console.error('Error getting subclient:', error);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n\r\n onItemSelected(item: INavbarData): void {\r\n if (!item.items || !item.items.length) {\r\n if (item.routeLink) {\r\n this.router.navigate([item.routeLink]).catch(error => {\r\n console.error('Navigation error:', error);\r\n });\r\n }\r\n }\r\n if (item.items && item.items.length) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n}\r\n","<div class=\"close sidenav-overlay\" *ngIf=\"expanded\"></div>\r\n<aside class=\"sgh-sidebar\" *ngIf=\"expanded\" [@slideInOut]>\r\n <div class=\"menu-wrapper\">\r\n <div class=\"sidebar_div \" *ngFor=\"let data of sidenavData.navData\">\r\n <a (click)=\"onItemSelected(data)\" class=\"{{data.customLinkCSS}}\"\r\n [routerLink]=\"[data.routeLink]\" routerLinkActive=\"item-active\" *ngIf=\"data.visible\">\r\n <div class=\"text-wrap\">\r\n <div class=\"icon-wrapper\">\r\n <i class=\"fa-size fa fa-{{data.icon}}\"></i>\r\n </div>\r\n <div>\r\n {{data.label}}\r\n </div>\r\n </div>\r\n <i class=\"fa-size fa fa-angle-down\" *ngIf=\"!(data.items == undefined)\"\r\n [@indicatorRotate]=\"data.expanded ? 'expanded': 'collapsed'\"></i>\r\n </a>\r\n <div class=\"sub-link-wrapper\" *ngIf=\"data.expanded\" [@inOutAnimation]>\r\n <sgh-menu-list-item [items]=\"data.items || []\">\r\n </sgh-menu-list-item>\r\n </div>\r\n </div>\r\n <div class=\"auth-info-wrp\" *ngIf=\"hasClients\">\r\n <div *ngIf=\"client && subclient\" class=\"client-info-wrp\">\r\n <div>{{client.text}}</div>\r\n <i class=\"fa fa-angle-right\"></i>\r\n <div>{{subclient.text}}</div>\r\n </div>\r\n <div *ngIf=\"sidenavData.activeRole\" class=\"role-info-wrp\">\r\n <span class=\"role-info-text\">Logged in as </span>\r\n <span class=\"role-info-text role\">{{sidenavData.activeRole}}</span></div>\r\n </div>\r\n </div>\r\n</aside>\r\n","import { animate, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport interface INavbarData {\r\n routeLink: string;\r\n icon?: string;\r\n customLinkCSS?: string;\r\n label: string;\r\n expanded?: boolean;\r\n visible: boolean;\r\n items?: INavbarData[];\r\n}\r\n\r\nexport const fadeInOut = trigger('fadeInOut', [\r\n transition(':enter', [\r\n style({opacity: 0}),\r\n animate('350ms',\r\n style({opacity: 1})\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({opacity: 1}),\r\n animate('350ms',\r\n style({opacity: 0})\r\n )\r\n ])\r\n ])\r\n","import {Component, EventEmitter, Inject, Output} from '@angular/core';\r\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\r\nimport {ClientListItem, SubClientListItem} from \"../toolbar-data\";\r\nimport {SghNavbarService} from \"../../sgh-navbar.service\";\r\n\r\n@Component({\r\n selector: 'lib-subclient-dialog',\r\n templateUrl: './sub-client-dialog.component.html',\r\n styleUrls: ['./sub-client-dialog.component.scss'],\r\n standalone: false\r\n})\r\nexport class SubClientDialogComponent {\r\n client: ClientListItem;\r\n subClientList: SubClientListItem[];\r\n @Output() subClient = new EventEmitter<any>();\r\n selectedSubClient: SubClientListItem;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any, private dialogRef: MatDialogRef<SubClientDialogComponent>, private sghNavbarService: SghNavbarService) {\r\n this.client = data.client;\r\n this.subClientList = data.client.subClientList;\r\n // find the selected sub client\r\n let selectedSubClientIndex = this.subClientList.findIndex((subClient) => subClient.checked == true);\r\n this.selectedSubClient = this.subClientList[selectedSubClientIndex];\r\n }\r\n\r\n onSubClientSelect(item: SubClientListItem) {\r\n\r\n // update the sub client list with newly selected values\r\n this.subClientList.forEach((subClient) => {\r\n if (subClient == item) {\r\n subClient.checked = true\r\n } else {\r\n subClient.checked = false;\r\n }\r\n });\r\n this.selectedSubClient = item;\r\n }\r\n\r\n onSelectBtnClick() {\r\n this.dialogRef.close({data: {selectedSubClient: this.selectedSubClient}});\r\n }\r\n}\r\n","<div class=\"subclientlist-wrapper dialog-wrapper\">\r\n <h4 class=\"subclientlist-header\">Select Sub Client</h4>\r\n <div class=\"subclientlist-body\">\r\n <div>\r\n <mat-radio-group class=\"subclientlist-radiogrp\" aria-label=\"Select an option\">\r\n <mat-radio-button [value]=\"item.value\" *ngFor=\"let item of subClientList;index as i\" (click)=\"onSubClientSelect(item)\" [checked]=\"item.checked\">{{item.text}}</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"subclientlist-btns\">\r\n <button class=\"sgh-btn-primary\" (click)=\"onSelectBtnClick()\">Select</button>\r\n </div>\r\n</div>\r\n\r\n","import { ToolbarData } from '../toolbar/toolbar-data';\r\n\r\nexport const DEFAULT_TOOLBAR_CONFIG: ToolbarData = {\r\n themeOptions: [\r\n {\r\n name: 'Sgh-default-theme',\r\n value: 'sgh-default-theme',\r\n checked: true\r\n },\r\n {\r\n name: 'Sgh-light-theme',\r\n value: 'sgh-light-theme',\r\n checked: false\r\n },\r\n {\r\n name: 'Sgh-blue-theme',\r\n value: 'sgh-blue-theme',\r\n checked: false\r\n }\r\n ],\r\n bgColor: '#fff',\r\n img: '../assets/images/Synergen_Logo-new.svg',\r\n profileView: false,\r\n isNotifNavCollapsed: false,\r\n searchEnable: true,\r\n notificationEnable: true,\r\n profileEnable: true,\r\n settingsEnable: true,\r\n clientList: [\r\n {\r\n text: 'Client 1',\r\n value: 'CLIENT_1',\r\n selected: true,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false },\r\n { text: 'Sub Client 3', value: 'SUB_CLIENT_3', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 2',\r\n value: 'CLIENT_2',\r\n selected: false,\r\n subClientList: [\r\n { text: 'Sub Client 1', value: 'SUB_CLIENT_1', checked: true },\r\n { text: 'Sub Client 2', value: 'SUB_CLIENT_2', checked: false }\r\n ]\r\n },\r\n {\r\n text: 'Client 3',\r\n value: 'CLIENT_3',\r\n selected: false\r\n }\r\n ],\r\n profileContent: '<div>profile content</div>',\r\n clientConfigurationEnable: true,\r\n applicationConfigurationEnable: true,\r\n};","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'sgh-notification-list',\r\n templateUrl: './notification-list.component.html',\r\n styleUrls: ['./notification-list.component.scss'],\r\n standalone: false\r\n})\r\nexport class NotificationListComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","<div class=\"notifications-list-wrapper\">\r\n <div class=\"notifications-list\">\r\n <div class=\"notifications-title\">\r\n <span class=\"title mat-h3\">Notifications</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-list-item\">\r\n <span class=\"item-title mat-h4\">David James</span>\r\n <span class=\"item-description mat-h5\">A notification box show message</span>\r\n </div>\r\n <div class=\"notifications-title\">\r\n <span class=\"see-all mat-h4\">See all</span>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search',\r\n standalone: false\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n\r\n transform(values: any, args?: any): any {\r\n if (!values || args === undefined) {\r\n return values;\r\n }\r\n\r\n return values.filter(value => {\r\n return value.text.toLowerCase().includes(args.toLowerCase());\r\n });\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {fadeInOut} from '../sidenav/helper';\r\nimport {MatDialog} from \"@angular/material/dialog\";\r\nimport {MatMenuTrigger} from \"@angular/material/menu\";\r\nimport {ClientListItem, SubClientListItem, ToolbarData} from \"./toolbar-data\";\r\nimport {SubClientDialogComponent} from \"./sub-client-dialog/sub-client-dialog.component\";\r\nimport {SghNavbarService} from \"../sgh-navbar.service\";\r\nimport {DEFAULT_TOOLBAR_CONFIG} from \"../configs/default-toolbar.config\";\r\n\r\n@Component({\r\n selector: 'sgh-toolbar',\r\n templateUrl: './toolbar.component.html',\r\n styleUrls: ['./toolbar.component.scss'],\r\n animations: [\r\n fadeInOut\r\n ],\r\n standalone: false\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n @Input() expanded: boolean = false;\r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Input() toolbarData: ToolbarData = DEFAULT_TOOLBAR_CONFIG;\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() client = new EventEmitter<ClientListItem>();\r\n @Output() subClient = new EventEmitter<SubClientListItem>();\r\n\r\n searchInput: string = \"\";\r\n private prev: string = '';\r\n selected: string = 'sgh-default-theme';\r\n private wasInside: boolean = false;\r\n selectedClient: ClientListItem | null = null;\r\n\r\n @ViewChild('clientMenuTrigger') clientMenuTrigger!: MatMenuTrigger;\r\n\r\n\r\n @HostListener('click')\r\n clickInside() {\r\n this.wasInside = true;\r\n }\r\n\r\n @HostListener('document:click')\r\n clickOut() {\r\n if (!this.wasInside) {\r\n this.toolbarData.profileView = false;\r\n this.toolbarData.isThemeCollapsed = false;\r\n this.toolbarData.isNotifNavCollapsed = false;\r\n }\r\n this.wasInside = false;\r\n }\r\n\r\n constructor(private dialog: MatDialog, private sghNavbarSvc: SghNavbarService) {\r\n }\r\n\r\n\r\n toggleSidebar(): boolean {\r\n // Toggle the expanded state and emit the new value\r\n const newExpandedState = !this.expanded;\r\n this.toggleSidebarEvent.emit(newExpandedState);\r\n return newExpandedState;\r\n }\r\n\r\n toggleNotificationList() {\r\n this.toolbarData.isNotifNavCollapsed = !this.toolbarData.isNotifNavCollapsed\r\n }\r\n\r\n clickProfile() {\r\n this.toolbarData.profileView = !this.toolbarData.profileView\r\n }\r\n\r\n onSearchInput() {\r\n this.searchInputEvent.emit(this.searchInput);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n // initially set client and subclients\r\n // Use Promise-based timeout for better error handling\r\n Promise.resolve().then(() => {\r\n try {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem, index: number) => {\r\n // select the first client\r\n if (index === 0) {\r\n client.selected = true;\r\n this.sghNavbarSvc.setClient(client);\r\n this.selectedClient = client;\r\n } else {\r\n client.selected = false;\r\n }\r\n this.initSelectedSubClient(client);\r\n });\r\n } catch (error) {\r\n console.error('Error initializing clients:', error);\r\n }\r\n });\r\n }\r\n\r\n setClass(selected: string): void {\r\n this.selected = selected;\r\n window.document.body.classList.remove(this.prev);\r\n window.document.body.classList.add(selected);\r\n this.prev = selected;\r\n }\r\n\r\n searchText: string = '';\r\n\r\n onRadioClick(themeValue: string): void {\r\n this.selected = themeValue;\r\n this.setClass(themeValue);\r\n }\r\n\r\n toggleSelect(event: Event, clientItem: ClientListItem): void {\r\n this.selectedClient = clientItem;\r\n // unselect current selected client\r\n this.unselectClientItems();\r\n // select current client\r\n clientItem.selected = true;\r\n this.sghNavbarSvc.setClient(clientItem);\r\n // at least one subclient should exist\r\n if (clientItem.subClientList && clientItem.subClientList.length > 0) { // if sub clients exist open sub client dialog\r\n const subClientDialogRef = this.dialog.open(SubClientDialogComponent, {\r\n data: {\r\n client: clientItem\r\n },\r\n minWidth: 400,\r\n disableClose: true\r\n });\r\n // select first item of each subclient\r\n this.selectFirstSubclient();\r\n\r\n subClientDialogRef.afterClosed().subscribe({\r\n next: (result) => {\r\n if (result && result.data && result.data.selectedSubClient) {\r\n this.clientMenuTrigger.focus();\r\n this.sghNavbarSvc.setSubclient(result.data.selectedSubClient);\r\n\r\n // set the selected subclient item as checked, search by name comparison\r\n const selectedObj = clientItem.subClientList?.find((scItem) => \r\n scItem.text === result.data.selectedSubClient.text\r\n );\r\n if (selectedObj) {\r\n selectedObj.checked = true;\r\n }\r\n }\r\n },\r\n error: (error) => {\r\n console.error('Error in subclient dialog:', error);\r\n }\r\n });\r\n }\r\n }\r\n\r\n initSelectedSubClient(client: ClientListItem): void {\r\n client.subClientList?.forEach((subclient: SubClientListItem, index: number) => {\r\n if (index === 0) {\r\n subclient.checked = true;\r\n if (client.selected) { // set the first subclient of the first client as selected\r\n this.sghNavbarSvc.setSubclient(subclient);\r\n }\r\n } else { subclient.checked = false; }\r\n\r\n });\r\n }\r\n\r\n unselectClientItems(): void {\r\n this.toolbarData.clientList?.forEach((client: ClientListItem) => {\r\n if (client.selected) {\r\n client.selected = false;\r\n }\r\n });\r\n }\r\n\r\n selectFirstSubclient(): void {\r\n this.toolbarData.clientList?.forEach((client) => {\r\n if (client !== this.selectedClient) {\r\n client.subClientList?.forEach((scItem, index: number) => {\r\n scItem.checked = index === 0;\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","<header class=\"sgh-toolbar\" [style.background-color]=\"toolbarData.bgColor\" id=\"toolBarWrapper\" role=\"banner\">\r\n <nav class=\"toolbar-main-wrapper\">\r\n <!-- Left Section -->\r\n <div class=\"toolbar-left-section\">\r\n <!-- Logo -->\r\n <div class=\"toolbar-logo\">\r\n <img class=\"logo-image\" [src]=\"toolbarData.img\" alt=\"Application Logo\"/>\r\n </div>\r\n\r\n <!-- Menu Toggle -->\r\n <button class=\"toolbar-menu-toggle\"\r\n (click)=\"toggleSidebar()\"\r\n aria-label=\"Toggle navigation menu\"\r\n title=\"Toggle Menu\">\r\n <i class=\"fa fa-bars\"></i>\r\n </button>\r\n\r\n <!-- Search Bar -->\r\n <div class=\"toolbar-search\" *ngIf=\"toolbarData.searchEnable\">\r\n <form class=\"search-form\" (submit)=\"$event.preventDefault()\">\r\n <div class=\"search-input-wrapper\">\r\n <i class=\"fa fa-search search-icon\"></i>\r\n <input type=\"search\"\r\n class=\"search-input\"\r\n placeholder=\"Search...\"\r\n autocomplete=\"off\"\r\n aria-label=\"Search\"/>\r\n <button type=\"submit\" class=\"search-submit\" aria-label=\"Submit search\">\r\n <i class=\"fa fa-arrow-right\"></i>\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n\r\n <!-- Right Section -->\r\n <div class=\"toolbar-right-section\">\r\n <!-- Notification Button -->\r\n <button *ngIf=\"toolbarData.notificationEnable\"\r\n class=\"toolbar-action-btn notification-btn\"\r\n (click)=\"toggleNotificationList()\"\r\n aria-label=\"View notifications\"\r\n title=\"Notifications\">\r\n <i class=\"fa fa-bell\"></i>\r\n <span class=\"notification-badge\" *ngIf=\"true\">3</span>\r\n </button>\r\n\r\n <!-- Settings Button -->\r\n <button *ngIf=\"toolbarData.settingsEnable\"\r\n class=\"toolbar-action-btn settings-btn\"\r\n [matMenuTriggerFor]=\"settingsMenu\"\r\n aria-label=\"Open settings\"\r\n title=\"Settings\">\r\n <i class=\"fa fa-cog\"></i>\r\n </button>\r\n\r\n <!-- User Profile Button -->\r\n <button *ngIf=\"toolbarData.profileEnable\"\r\n class=\"toolbar-action-btn profile-btn\"\r\n (click)=\"clickProfile()\"\r\n aria-label=\"View profile\"\r\n title=\"Profile\">\r\n <i class=\"fa fa-user-circle\"></i>\r\n </button>\r\n </div>\r\n </nav>\r\n</header>\r\n\r\n<!-- Profile Dropdown -->\r\n<div *ngIf=\"toolbarData.profileView\" class=\"toolbar-dropdown profile-dropdown\" @fadeInOut>\r\n <div class=\"dropdown-card\">\r\n <div class=\"dropdown-content\">\r\n <div [innerHTML]=\"toolbarData.profileContent\"></div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Settings Menu -->\r\n<mat-menu #settingsMenu=\"matMenu\" xPosition=\"before\" class=\"sgh-settings-menu\">\r\n <button mat-menu-item\r\n [matMenuTriggerFor]=\"appConfig\"\r\n *ngIf=\"toolbarData.applicationConfigurationEnable\"\r\n class=\"menu-item-with-icon\">\r\n <i class=\"fa fa-paint-brush menu-icon\"></i>\r\n <span>Application Settings</span>\r\n </button>\r\n <button mat-menu-item\r\n [matMenuTriggerFor]=\"clientConfig\"\r\n *ngIf=\"toolbarData.clientConfigurationEnable\"\r\n #clientMenuTrigger\r\n class=\"menu-item-with-icon\">\r\n <i class=\"fa fa-building menu-icon\"></i>\r\n <span>Client Settings</span>\r\n </button>\r\n</mat-menu>\r\n\r\n<!-- Application Configuration Menu -->\r\n<mat-menu #appConfig=\"matMenu\" xPosition=\"after\" class=\"sgh-app-config-menu\">\r\n <div class=\"theme-menu-header\">\r\n <i class=\"fa fa-palette\"></i>\r\n <span>Choose Theme</span>\r\n </div>\r\n <div *ngFor=\"let themeoption of toolbarData.themeOptions\" class=\"theme-option-wrapper\">\r\n <button mat-menu-item class=\"theme-radio-option\" (click)=\"onRadioClick(themeoption.value)\">\r\n <div class=\"radio-button\">\r\n <input value=\"{{themeoption.value}}\"\r\n name=\"radio\"\r\n type=\"radio\"\r\n [checked]=\"selected === themeoption.value\"\r\n [ngModel]=\"selected\"\r\n (ngModelChange)=\"setClass($event)\">\r\n <span class=\"radio-label\">{{themeoption.name}}</span>\r\n </div>\r\n </button>\r\n </div>\r\n</mat-menu>\r\n\r\n<!-- Client Configuration Menu -->\r\n<mat-menu #clientConfig=\"matMenu\" xPosition=\"after\" class=\"sgh-client-config-menu\">\r\n <div class=\"client-menu-container\">\r\n <div class=\"client-menu-header\">\r\n <i class=\"fa fa-building\"></i>\r\n <span>Select Client</span>\r\n </div>\r\n <div class=\"client-search-wrapper\" (click)=\"$event.stopPropagation();\">\r\n <i class=\"fa fa-search search-icon\"></i>\r\n <input type=\"text\"\r\n class=\"client-search-input\"\r\n placeholder=\"Search clients...\"\r\n [(ngModel)]=\"searchText\"\r\n autocomplete=\"off\"/>\r\n </div>\r\n <div class=\"client-list-container\">\r\n <div class=\"client-list-item\"\r\n *ngFor=\"let item of toolbarData.clientList | search : searchText; let i = index\"\r\n [class.selected]=\"item.selected\"\r\n (click)=\"toggleSelect($event, item);\"\r\n mat-ripple>\r\n <i class=\"fa fa-check-circle check-icon\" *ngIf=\"item.selected\"></i>\r\n <span class=\"client-name\">{{item.text}}</span>\r\n </div>\r\n <div class=\"no-results\" *ngIf=\"(toolbarData.clientList | search : searchText)?.length === 0\">\r\n <i class=\"fa fa-search\"></i>\r\n <span>No clients found</span>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n\r\n<sgh-notification-list *ngIf=\"toolbarData.isNotifNavCollapsed\"></sgh-notification-list>\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\nimport { SidenavData } from './sidenav/sidenav-data';\r\nimport { ToolbarData } from './toolbar/toolbar-data';\r\n\r\n@Component({\r\n selector: 'lib-sgh-navbar',\r\n template: `\r\n <div class=\"sgh-navbar-container\">\r\n <sgh-toolbar \r\n [toolbarData]=\"toolbarData\" \r\n [expanded]=\"expanded\" \r\n (toggleSidebarEvent)=\"onToggleSidebar($event)\"\r\n (searchInputEvent)=\"onSearchInput($event)\"\r\n (client)=\"onClientChange($event)\"\r\n (subClient)=\"onSubClientChange($event)\">\r\n </sgh-toolbar>\r\n \r\n <div class=\"sgh-navbar-layout\">\r\n <sgh-sidenav \r\n [sidenavData]=\"sidenavData\" \r\n [expanded]=\"expanded\"\r\n (onToggleSideNav)=\"onSidenavToggle($event)\">\r\n </sgh-sidenav>\r\n \r\n <div class=\"sgh-navbar-content\" [class.expanded]=\"expanded\">\r\n <div class=\"sgh-breadcrumb-container\" *ngIf=\"showBreadcrumbs\">\r\n <nav aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item\" *ngFor=\"let item of breadcrumbs; let last = last\"\r\n [class.active]=\"last\">\r\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\">{{ item.label }}</a>\r\n <span *ngIf=\"last\">{{ item.label }}</span>\r\n </li>\r\n </ol>\r\n </nav>\r\n </div>\r\n \r\n <div class=\"sgh-navbar-main-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./sgh-navbar.component.scss'],\r\n standalone: false\r\n})\r\nexport class SghNavbarComponent implements OnInit {\r\n @Input() sidenavData: SidenavData;\r\n @Input() toolbarData: ToolbarData;\r\n @Input() expanded: boolean = false;\r\n @Input() showBreadcrumbs: boolean = true;\r\n @Input() breadcrumbs: any[] = [];\r\n \r\n @Output() toggleSidebarEvent = new EventEmitter<boolean>();\r\n @Output() searchInputEvent = new EventEmitter<string>();\r\n @Output() clientChange = new EventEmitter<any>();\r\n @Output() subClientChange = new EventEmitter<any>();\r\n @Output() sidenavToggle = new EventEmitter<any>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onToggleSidebar(expanded: boolean) {\r\n this.expanded = expanded;\r\n this.toggleSidebarEvent.emit(this.expanded);\r\n }\r\n\r\n onSearchInput(searchText: string) {\r\n this.searchInputEvent.emit(searchText);\r\n }\r\n\r\n onClientChange(client: any) {\r\n this.clientChange.emit(client);\r\n }\r\n\r\n onSubClientChange(subClient: any) {\r\n this.subClientChange.emit(subClient);\r\n }\r\n\r\n onSidenavToggle(event: any) {\r\n this.sidenavToggle.emit(event);\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { fadeInOut, INavbarData } from './helper';\r\n\r\n@Component({\r\n selector: 'sgh-sublevel-menu',\r\n template: `\r\n <ul *ngIf=\"collapsed && data.items && data.items.length > 0\"\r\n [@submenu]=\"expanded\r\n ? {value: 'visible',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}\r\n : {value: 'hidden',\r\n params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}\"\r\n class=\"sublevel-nav\"\r\n >\r\n <li *ngFor=\"let item of data.items\" class=\"sublevel-nav-item\">\r\n <a class=\"sublevel-nav-link\"\r\n (click)=\"handleClick(item)\"\r\n *ngIf=\"item.items && item.items.length > 0 && item.visible\"\r\n [ngClass]=\"getActiveClass(item)\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n <i *ngIf=\"item.items && collapsed\" class=\"menu-collapse-icon\"\r\n [ngClass]=\"!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'\"\r\n ></i>\r\n </a>\r\n <a class=\"sublevel-nav-link\"\r\n *ngIf=\"(!item.items || (item.items && item.items.length === 0)) && item.visible\"\r\n [routerLink]=\"[item.routeLink]\"\r\n routerLinkActive=\"active-sublevel\"\r\n [routerLinkActiveOptions]=\"{exact: true}\"\r\n >\r\n <i class=\"sublevel-link-icon fa fa-circle\"></i>\r\n <span class=\"sublevel-link-text\" @fadeInOut\r\n *ngIf=\"collapsed\">{{item.label}}</span>\r\n </a>\r\n <div *ngIf=\"item.items && item.items.length > 0\">\r\n <sgh-sublevel-menu\r\n [data]=\"item\"\r\n [collapsed]=\"collapsed\"\r\n [multiple]=\"multiple\"\r\n [expanded]=\"item.expanded\"\r\n ></sgh-sublevel-menu>\r\n </div>\r\n </li>\r\n </ul>\r\n `,\r\n styleUrls: ['./sublevel-menu.component.scss'],\r\n animations: [\r\n fadeInOut,\r\n trigger('submenu', [\r\n state('hidden', style({\r\n height: '0',\r\n overflow: 'hidden'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible <=> hidden', [style({ overflow: 'hidden' }),\r\n animate('{{transitionParams}}')]),\r\n transition('void => *', animate(0))\r\n ])\r\n ],\r\n standalone: false\r\n})\r\nexport class SublevelMenuComponent implements OnInit {\r\n\r\n @Input() data: INavbarData = {\r\n routeLink: '',\r\n icon: '',\r\n label: '',\r\n visible: true,\r\n items: []\r\n }\r\n @Input() collapsed = false;\r\n @Input() animating: boolean | undefined;\r\n @Input() expanded: boolean | undefined;\r\n @Input() multiple: boolean = false;\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(item: any): void {\r\n if (!this.multiple) {\r\n if (this.data.items && this.data.items.length > 0) {\r\n for(let modelItem of this.data.items) {\r\n if (item !==modelItem && modelItem.expanded) {\r\n modelItem.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n item.expanded = !item.expanded;\r\n }\r\n\r\n getActiveClass(item: INavbarData): string {\r\n return item.expanded && this.router.url.includes(item.routeLink)\r\n ? 'active-sublevel'\r\n : '';\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\nexport interface BreadcrumbItem {\r\n label: string;\r\n routeLink: string;\r\n icon?: string;\r\n isActive?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BreadcrumbService {\r\n private breadcrumbsSubject = new BehaviorSubject<BreadcrumbItem[]>([]);\r\n public breadcrumbs$: Observable<BreadcrumbItem[]> = this.breadcrumbsSubject.asObservable();\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\r\n this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd),\r\n map(() => this.buildBreadcrumbs(this.activatedRoute.root))\r\n ).subscribe(breadcrumbs => {\r\n this.breadcrumbsSubject.next(breadcrumbs);\r\n });\r\n }\r\n\r\n setBreadcrumbs(breadcrumbs: BreadcrumbItem[]): void {\r\n this.breadcrumbsSubject.next(breadcrumbs);\r\n }\r\n\r\n addBreadcrumb(breadcrumb: BreadcrumbItem): void {\r\n const current = this.breadcrumbsSubject.value;\r\n this.breadcrumbsSubject.next([...current, breadcrumb]);\r\n }\r\n\r\n private buildBreadcrumbs(route: ActivatedRoute, url: string = '', breadcrumbs: BreadcrumbItem[] = []): BreadcrumbItem[] {\r\n const children: ActivatedRoute[] = route.children;\r\n\r\n if (children.length === 0) {\r\n return breadcrumbs;\r\n }\r\n\r\n for (const child of children) {\r\n const routeURL: string = child.snapshot.url.map(segment => segment.path).join('/');\r\n if (routeURL !== '') {\r\n url += `/${routeURL}`;\r\n }\r\n\r\n const label = child.snapshot.data['breadcrumb'];\r\n if (label) {\r\n breadcrumbs.push({\r\n label,\r\n routeLink: url,\r\n icon: child.snapshot.data['breadcrumbIcon']\r\n });\r\n }\r\n\r\n return this.buildBreadcrumbs(child, url, breadcrumbs);\r\n }\r\n\r\n return breadcrumbs;\r\n }\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'sgh-breadcrumb',\r\n template: `\r\n <nav class=\"sgh-breadcrumb\" aria-label=\"breadcrumb\" *ngIf=\"breadcrumbs$ | async as breadcrumbs\">\r\n <ol class=\"breadcrumb-list\">\r\n <li class=\"breadcrumb-item home-item\">\r\n <a [routerLink]=\"'/'\" class=\"breadcrumb-link\">\r\n <i class=\"fa fa-home\" aria-hidden=\"true\"></i>\r\n <span class=\"sr-only\">Home</span>\r\n </a>\r\n </li>\r\n <li class=\"breadcrumb-item\" \r\n *ngFor=\"let item of breadcrumbs; let last = last\"\r\n [class.active]=\"last\">\r\n <i class=\"fa fa-angle-right breadcrumb-separator\" aria-hidden=\"true\"></i>\r\n <a *ngIf=\"!last\" [routerLink]=\"item.routeLink\" class=\"breadcrumb-link\">\r\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\r\n {{ item.label }}\r\n </a>\r\n <span *ngIf=\"last\" class=\"breadcrumb-current\">\r\n <i *ngIf=\"item.icon\" class=\"fa fa-{{item.icon}}\" aria-hidden=\"true\"></i>\r\n {{ item.label }}\r\n </span>\r\n </li>\r\n </ol>\r\n </nav>\r\n `,\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n standalone: false\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n @Input() customBreadcrumbs: BreadcrumbItem[] = [];\r\n \r\n breadcrumbs$: Observable<BreadcrumbItem[]>;\r\n\r\n constructor(private breadcrumbService: BreadcrumbService) {\r\n this.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.customBreadcrumbs.length > 0) {\r\n this.breadcrumbService.setBreadcrumbs(this.customBreadcrumbs);\r\n }\r\n }\r\n}","import {NgModule} from '@angular/core';\r\nimport {SghNavbarComponent} from './sgh-navbar.component';\r\nimport {SublevelMenuComponent} from './sidenav/sublevel-menu.component';\r\nimport {SidenavComponent} from './sidenav/sidenav.component';\r\nimport {ToolbarComponent} from './toolbar/toolbar.component';\r\nimport {CommonModule} from '@angular/common';\r\nimport {RouterModule} from '@angular/router';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {MenuListItemComponent} from \"./sidenav/menu-list-item/menu-list-item.component\";\r\nimport {SghNavbarService} from \"./sgh-navbar.service\";\r\nimport {NotificationListComponent} from \"./toolbar/notification-list/notification-list.component\";\r\nimport {MatMenuModule} from \"@angular/material/menu\";\r\nimport {SearchPipe} from \"./toolbar/search.pipe\";\r\nimport {MatRippleModule} from \"@angular/material/core\";\r\nimport { SubClientDialogComponent } from './toolbar/sub-client-dialog/sub-client-dialog.component';\r\nimport {MatDialogModule} from \"@angular/material/dialog\";\r\nimport {MatRadioModule} from \"@angular/material/radio\";\r\nimport { BreadcrumbComponent } from './breadcrumb/breadcrumb.component';\r\nimport { BreadcrumbService } from './breadcrumb/breadcrumb.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n MenuListItemComponent,\r\n NotificationListComponent,\r\n SearchPipe,\r\n SubClientDialogComponent,\r\n BreadcrumbComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n MatMenuModule,\r\n MatRippleModule,\r\n MatDialogModule,\r\n MatRadioModule\r\n ],\r\n exports: [\r\n SghNavbarComponent,\r\n SublevelMenuComponent,\r\n SidenavComponent,\r\n ToolbarComponent,\r\n BreadcrumbComponent\r\n ],\r\n providers: [SghNavbarService, BreadcrumbService],\r\n})\r\nexport class SghNavbarModule {\r\n}\r\n","/*\r\n * Public API Surface of sgh-navbar\r\n */\r\n\r\nexport * from './lib/sgh-navbar.service';\r\nexport * from './lib/sgh-navbar.component';\r\nexport * from './lib/sgh-navbar.module';\r\n\r\nexport * from './lib/sidenav/sidenav.component';\r\nexport * from './lib/sidenav/sublevel-menu.component';\r\nexport * from './lib/sidenav/sidenav-data';\r\nexport * from './lib/sidenav/helper';\r\n\r\nexport * from './lib/toolbar/toolbar.component';\r\nexport * from './lib/toolbar/toolbar-data';\r\n\r\nexport * from './lib/breadcrumb/breadcrumb.component';\r\nexport * from './lib/breadcrumb/breadcrumb.service';\r\n\r\nexport * from './lib/configs/default-toolbar.config';\r\nexport * from './lib/configs/default-sidenav.config';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.SghNavbarService","i3","i4.MenuListItemComponent","i1","i4","i7.NotificationListComponent","i8.SearchPipe","i2","i3.SidenavComponent","i4.ToolbarComponent","i1.BreadcrumbService"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/sidenav/helper.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sgh-navbar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.01",
|
|
4
|
+
"description": "A modern, responsive Angular navigation library with sidebar, toolbar, themes, notifications, and client management. Features glassmorphism design, accessibility support, and dark mode.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"angular",
|
|
7
|
+
"angular19",
|
|
8
|
+
"navbar",
|
|
9
|
+
"navigation",
|
|
10
|
+
"toolbar",
|
|
11
|
+
"sidebar",
|
|
12
|
+
"menu",
|
|
13
|
+
"sidenav",
|
|
14
|
+
"responsive",
|
|
15
|
+
"material",
|
|
16
|
+
"theme",
|
|
17
|
+
"dark-mode",
|
|
18
|
+
"accessibility",
|
|
19
|
+
"ui-component"
|
|
20
|
+
],
|
|
21
|
+
"author": "SGH Team",
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://bitbucket.org/sghdev/sgh-ui"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://bitbucket.org/sghdev/sgh-ui#readme",
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://bitbucket.org/sghdev/sgh-ui/issues"
|
|
30
|
+
},
|
|
4
31
|
"peerDependencies": {
|
|
5
32
|
"@angular/common": "^19.2.0",
|
|
6
33
|
"@angular/core": "^19.2.0",
|
|
@@ -13,6 +40,10 @@
|
|
|
13
40
|
"dependencies": {
|
|
14
41
|
"tslib": "^2.3.0"
|
|
15
42
|
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=18.0.0",
|
|
45
|
+
"npm": ">=9.0.0"
|
|
46
|
+
},
|
|
16
47
|
"module": "fesm2022/sgh-navbar.mjs",
|
|
17
48
|
"typings": "index.d.ts",
|
|
18
49
|
"exports": {
|
package/public-api.d.ts
CHANGED
|
File without changes
|