2021-12-29 06:28:51 +00:00
|
|
|
import { Component, OnInit } from '@angular/core';
|
2022-01-07 12:40:43 +00:00
|
|
|
import { AppMainComponent } from './app.main.component';
|
2021-12-09 14:24:42 +00:00
|
|
|
|
|
|
|
@Component({
|
|
|
|
selector: 'app-menu',
|
|
|
|
template: `
|
|
|
|
<div class="layout-menu-container">
|
2021-12-31 12:33:33 +00:00
|
|
|
<ul class="layout-menu" role="menu" (keydown)="onKeydown($event)">
|
2021-12-31 11:58:49 +00:00
|
|
|
<li app-menu class="layout-menuitem-category" *ngFor="let item of model; let i = index;" [item]="item" [index]="i" [root]="true" role="none">
|
|
|
|
<div class="layout-menuitem-root-text" [attr.aria-label]="item.label">{{item.label}}</div>
|
|
|
|
<ul role="menu">
|
|
|
|
<li app-menuitem *ngFor="let child of item.items" [item]="child" [index]="i" role="none"></li>
|
2021-12-09 14:24:42 +00:00
|
|
|
</ul>
|
|
|
|
</li>
|
2021-12-14 13:31:40 +00:00
|
|
|
<a href="https://www.primefaces.org/primeblocks-ng/#/">
|
2022-01-07 12:40:43 +00:00
|
|
|
<img src="assets/layout/images/{{appMain.config.dark ? 'banner-primeblocks-dark' : 'banner-primeblocks'}}.png" alt="Prime Blocks" class="w-full mt-3"/>
|
2021-12-09 14:24:42 +00:00
|
|
|
</a>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
`
|
|
|
|
})
|
|
|
|
export class AppMenuComponent implements OnInit {
|
|
|
|
|
|
|
|
model: any[];
|
2021-12-21 08:04:01 +00:00
|
|
|
|
2022-01-07 12:40:43 +00:00
|
|
|
constructor(public appMain: AppMainComponent) { }
|
2021-12-09 14:24:42 +00:00
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
this.model = [
|
|
|
|
{
|
|
|
|
label: 'Home',
|
2021-12-24 14:29:51 +00:00
|
|
|
items:[
|
|
|
|
{label: 'Dashboard',icon: 'pi pi-fw pi-home', routerLink: ['/']}
|
|
|
|
]
|
2021-12-09 14:24:42 +00:00
|
|
|
},
|
|
|
|
{
|
2021-12-20 15:06:23 +00:00
|
|
|
label: 'UI Components',
|
2021-12-09 14:24:42 +00:00
|
|
|
items: [
|
|
|
|
{label: 'Form Layout', icon: 'pi pi-fw pi-id-card', routerLink: ['/uikit/formlayout']},
|
|
|
|
{label: 'Input', icon: 'pi pi-fw pi-check-square', routerLink: ['/uikit/input']},
|
|
|
|
{label: 'Float Label', icon: 'pi pi-fw pi-bookmark', routerLink: ['/uikit/floatlabel']},
|
2021-12-14 13:31:40 +00:00
|
|
|
{label: 'Invalid State', icon: 'pi pi-fw pi-exclamation-circle', routerLink: ['/uikit/invalidstate']},
|
2021-12-09 14:24:42 +00:00
|
|
|
{label: 'Button', icon: 'pi pi-fw pi-mobile', routerLink: ['/uikit/button'], class: 'rotated-icon'},
|
|
|
|
{label: 'Table', icon: 'pi pi-fw pi-table', routerLink: ['/uikit/table']},
|
|
|
|
{label: 'List', icon: 'pi pi-fw pi-list', routerLink: ['/uikit/list']},
|
|
|
|
{label: 'Tree', icon: 'pi pi-fw pi-share-alt', routerLink: ['/uikit/tree']},
|
|
|
|
{label: 'Panel', icon: 'pi pi-fw pi-tablet', routerLink: ['/uikit/panel']},
|
|
|
|
{label: 'Overlay', icon: 'pi pi-fw pi-clone', routerLink: ['/uikit/overlay']},
|
2021-12-23 12:20:07 +00:00
|
|
|
{label: 'Media', icon: 'pi pi-fw pi-image', routerLink: ['/uikit/media']},
|
2021-12-09 14:24:42 +00:00
|
|
|
{label: 'Menu', icon: 'pi pi-fw pi-bars', routerLink: ['/uikit/menu']},
|
|
|
|
{label: 'Message', icon: 'pi pi-fw pi-comment', routerLink: ['/uikit/message']},
|
|
|
|
{label: 'File', icon: 'pi pi-fw pi-file', routerLink: ['/uikit/file']},
|
|
|
|
{label: 'Chart', icon: 'pi pi-fw pi-chart-bar', routerLink: ['/uikit/charts']},
|
2021-12-21 08:04:01 +00:00
|
|
|
{label: 'Misc', icon: 'pi pi-fw pi-circle', routerLink: ['/uikit/misc']}
|
2021-12-09 14:24:42 +00:00
|
|
|
]
|
|
|
|
},
|
2021-12-20 15:06:23 +00:00
|
|
|
{
|
|
|
|
label:'UI Blocks',
|
|
|
|
items:[
|
2021-12-22 13:06:49 +00:00
|
|
|
{label: 'Free Blocks', icon: 'pi pi-fw pi-eye', routerLink: ['/blocks'], badge: 'NEW'},
|
2021-12-31 09:41:47 +00:00
|
|
|
{label: 'All Blocks', icon: 'pi pi-fw pi-globe', url: ['https://www.primefaces.org/primeblocks-ng'], target: '_blank'},
|
2021-12-20 15:06:23 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{label:'Icons',
|
|
|
|
items:[
|
|
|
|
{label: 'PrimeIcons', icon: 'pi pi-fw pi-prime', routerLink: ['/icons']},
|
|
|
|
]
|
|
|
|
},
|
2021-12-09 14:24:42 +00:00
|
|
|
{
|
|
|
|
label: 'Pages',
|
|
|
|
items: [
|
|
|
|
{label: 'Crud', icon: 'pi pi-fw pi-user-edit', routerLink: ['/pages/crud']},
|
|
|
|
{label: 'Timeline', icon: 'pi pi-fw pi-calendar', routerLink: ['/pages/timeline']},
|
2022-01-14 12:54:36 +00:00
|
|
|
{label: 'Landing', icon: 'pi pi-fw pi-globe', routerLink: ['pages/landing']},
|
|
|
|
{label: 'Login', icon: 'pi pi-fw pi-sign-in', routerLink: ['pages/login']},
|
2022-01-14 16:19:36 +00:00
|
|
|
{label: 'Error', icon: 'pi pi-fw pi-times-circle', routerLink: ['pages/error']},
|
2021-12-21 08:04:01 +00:00
|
|
|
{label: 'Empty', icon: 'pi pi-fw pi-circle', routerLink: ['/pages/empty']}
|
2021-12-09 14:24:42 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: 'Hierarchy',
|
|
|
|
items: [
|
|
|
|
{
|
2021-12-14 13:31:40 +00:00
|
|
|
label: 'Submenu 1', icon: 'pi pi-fw pi-bookmark',
|
2021-12-09 14:24:42 +00:00
|
|
|
items: [
|
|
|
|
{
|
2021-12-14 13:31:40 +00:00
|
|
|
label: 'Submenu 1.1', icon: 'pi pi-fw pi-bookmark',
|
2021-12-09 14:24:42 +00:00
|
|
|
items: [
|
2021-12-14 13:31:40 +00:00
|
|
|
{label: 'Submenu 1.1.1', icon: 'pi pi-fw pi-bookmark'},
|
|
|
|
{label: 'Submenu 1.1.2', icon: 'pi pi-fw pi-bookmark'},
|
|
|
|
{label: 'Submenu 1.1.3', icon: 'pi pi-fw pi-bookmark'},
|
2021-12-09 14:24:42 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
2021-12-14 13:31:40 +00:00
|
|
|
label: 'Submenu 1.2', icon: 'pi pi-fw pi-bookmark',
|
2021-12-09 14:24:42 +00:00
|
|
|
items: [
|
2021-12-14 13:31:40 +00:00
|
|
|
{label: 'Submenu 1.2.1', icon: 'pi pi-fw pi-bookmark'}
|
2021-12-09 14:24:42 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
2021-12-14 13:31:40 +00:00
|
|
|
label: 'Submenu 2', icon: 'pi pi-fw pi-bookmark',
|
2021-12-09 14:24:42 +00:00
|
|
|
items: [
|
|
|
|
{
|
2021-12-14 13:31:40 +00:00
|
|
|
label: 'Submenu 2.1', icon: 'pi pi-fw pi-bookmark',
|
2021-12-09 14:24:42 +00:00
|
|
|
items: [
|
2021-12-14 13:31:40 +00:00
|
|
|
{label: 'Submenu 2.1.1', icon: 'pi pi-fw pi-bookmark'},
|
|
|
|
{label: 'Submenu 2.1.2', icon: 'pi pi-fw pi-bookmark'},
|
2021-12-09 14:24:42 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
2021-12-14 13:31:40 +00:00
|
|
|
label: 'Submenu 2.2', icon: 'pi pi-fw pi-bookmark',
|
2021-12-09 14:24:42 +00:00
|
|
|
items: [
|
2021-12-14 13:31:40 +00:00
|
|
|
{label: 'Submenu 2.2.1', icon: 'pi pi-fw pi-bookmark'},
|
2021-12-09 14:24:42 +00:00
|
|
|
]
|
|
|
|
},
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label:'Get Started',
|
|
|
|
items:[
|
|
|
|
{
|
|
|
|
label: 'Documentation', icon: 'pi pi-fw pi-question', routerLink: ['/documentation']
|
|
|
|
},
|
|
|
|
{
|
2021-12-31 09:41:47 +00:00
|
|
|
label: 'View Source', icon: 'pi pi-fw pi-search', url: ['https://github.com/primefaces/sakai-ng'], target: '_blank'
|
2021-12-09 14:24:42 +00:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
];
|
|
|
|
}
|
2021-12-31 09:41:47 +00:00
|
|
|
|
|
|
|
onKeydown(event: KeyboardEvent) {
|
|
|
|
const nodeElement = (<HTMLDivElement> event.target);
|
2022-01-04 11:33:48 +00:00
|
|
|
if (event.code === 'Enter' || event.code === 'Space') {
|
2021-12-31 09:41:47 +00:00
|
|
|
nodeElement.click();
|
2022-01-04 11:33:48 +00:00
|
|
|
event.preventDefault();
|
2021-12-31 09:41:47 +00:00
|
|
|
}
|
|
|
|
}
|
2021-12-21 08:04:01 +00:00
|
|
|
}
|