mirror of https://github.com/abpframework/abp.git
2 changed files with 24 additions and 1 deletions
@ -1,3 +1,4 @@ |
|||||
export * from './widget-utils'; |
|
||||
export * from './date-parser-formatter'; |
export * from './date-parser-formatter'; |
||||
|
export * from './nav-items'; |
||||
export * from './validation-utils'; |
export * from './validation-utils'; |
||||
|
export * from './widget-utils'; |
||||
|
|||||
@ -0,0 +1,22 @@ |
|||||
|
import { Type } from '@angular/core'; |
||||
|
import { ReplaySubject } from 'rxjs'; |
||||
|
|
||||
|
export interface NavItem { |
||||
|
component?: Type<any>; |
||||
|
html?: string; |
||||
|
action?: () => void; |
||||
|
order?: number; |
||||
|
permission?: string; |
||||
|
} |
||||
|
|
||||
|
const navItems: NavItem[] = []; |
||||
|
const navItems$ = new ReplaySubject<NavItem[]>(1); |
||||
|
|
||||
|
export function addNavItem(item: NavItem) { |
||||
|
navItems.push(item); |
||||
|
navItems$.next(navItems.sort((a, b) => (a.order ? a.order - b.order : 1))); |
||||
|
} |
||||
|
|
||||
|
export function getNavItems() { |
||||
|
return navItems$; |
||||
|
} |
||||
Loading…
Reference in new issue