nx-primeng-sakai-v17/src/app/app.menu.component.ts

144 lines
6.6 KiB
TypeScript
Raw Normal View History

2021-12-29 06:28:51 +00:00
import { Component, OnInit } from '@angular/core';
import { AppComponent } from './app.component';
2021-12-09 14:24:42 +00:00
@Component({
selector: 'app-menu',
template: `
<div class="layout-menu-container">
2021-12-31 11:58:49 +00:00
<ul class="layout-menu" role="menu">
<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>
<a href="https://www.primefaces.org/primeblocks-ng/#/">
2021-12-09 14:24:42 +00:00
<img src="assets/layout/images/{{app.darkMode ? 'banner-primeblocks-dark' : 'banner-primeblocks'}}.png" alt="Prime Blocks" class="w-full mt-3"/>
</a>
</ul>
</div>
`
})
export class AppMenuComponent implements OnInit {
model: any[];
2021-12-21 08:04:01 +00:00
2021-12-09 14:24:42 +00:00
constructor(public app: AppComponent){}
ngOnInit() {
2021-12-21 08:04:01 +00:00
2021-12-09 14:24:42 +00:00
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
},
{
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']},
{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
]
},
{
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'},
]
},
{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']},
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: [
{
label: 'Submenu 1', icon: 'pi pi-fw pi-bookmark',
2021-12-09 14:24:42 +00:00
items: [
{
label: 'Submenu 1.1', icon: 'pi pi-fw pi-bookmark',
2021-12-09 14:24:42 +00:00
items: [
{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
]
},
{
label: 'Submenu 1.2', icon: 'pi pi-fw pi-bookmark',
2021-12-09 14:24:42 +00:00
items: [
{label: 'Submenu 1.2.1', icon: 'pi pi-fw pi-bookmark'}
2021-12-09 14:24:42 +00:00
]
},
]
},
{
label: 'Submenu 2', icon: 'pi pi-fw pi-bookmark',
2021-12-09 14:24:42 +00:00
items: [
{
label: 'Submenu 2.1', icon: 'pi pi-fw pi-bookmark',
2021-12-09 14:24:42 +00:00
items: [
{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
]
},
{
label: 'Submenu 2.2', icon: 'pi pi-fw pi-bookmark',
2021-12-09 14:24:42 +00:00
items: [
{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);
if (event.key === 'Enter' || event.key === ' '){
event.preventDefault();
}
if (event.key === ' ') {
nodeElement.click();
}
}
2021-12-21 08:04:01 +00:00
}