mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
	
	
		
			40 lines
		
	
	
		
			741 B
		
	
	
	
		
			TypeScript
		
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			741 B
		
	
	
	
		
			TypeScript
		
	
	
	
|  | import { NavModel, NavModelItem, NavIndex } from 'app/types'; | ||
|  | 
 | ||
|  | function getNotFoundModel(): NavModel { | ||
|  |   var node: NavModelItem = { | ||
|  |     id: 'not-found', | ||
|  |     text: 'Page not found', | ||
|  |     icon: 'fa fa-fw fa-warning', | ||
|  |     subTitle: '404 Error', | ||
|  |     url: 'not-found', | ||
|  |   }; | ||
|  | 
 | ||
|  |   return { | ||
|  |     node: node, | ||
|  |     main: node, | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | export function selectNavNode(navIndex: NavIndex, id: string): NavModel { | ||
|  |   if (navIndex[id]) { | ||
|  |     const node = navIndex[id]; | ||
|  |     const main = { | ||
|  |       ...node.parentItem, | ||
|  |     }; | ||
|  | 
 | ||
|  |     main.children = main.children.map(item => { | ||
|  |       return { | ||
|  |         ...item, | ||
|  |         active: item.url === node.url, | ||
|  |       }; | ||
|  |     }); | ||
|  | 
 | ||
|  |     return { | ||
|  |       node: node, | ||
|  |       main: main, | ||
|  |     }; | ||
|  |   } else { | ||
|  |     return getNotFoundModel(); | ||
|  |   } | ||
|  | } |