| 
									
										
										
										
											2018-09-03 01:36:36 +08:00
										 |  |  | import { NavModel, NavModelItem, NavIndex } from 'app/types'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function getNotFoundModel(): NavModel { | 
					
						
							| 
									
										
										
										
											2018-09-07 23:55:38 +08:00
										 |  |  |   const node: NavModelItem = { | 
					
						
							| 
									
										
										
										
											2018-09-03 01:36:36 +08:00
										 |  |  |     id: 'not-found', | 
					
						
							|  |  |  |     text: 'Page not found', | 
					
						
							|  |  |  |     icon: 'fa fa-fw fa-warning', | 
					
						
							|  |  |  |     subTitle: '404 Error', | 
					
						
							|  |  |  |     url: 'not-found', | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return { | 
					
						
							|  |  |  |     node: node, | 
					
						
							|  |  |  |     main: node, | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-03 02:36:03 +08:00
										 |  |  | export function getNavModel(navIndex: NavIndex, id: string): NavModel { | 
					
						
							| 
									
										
										
										
											2018-09-03 01:36:36 +08:00
										 |  |  |   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(); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |