11import * as angular from "angular" ;
22import { provide , ElementRef , Component , Inject , ComponentMetadata } from "angular2/core" ;
33import {
4- UiView , UIRouter , TransitionService , StateService , UIRouterGlobals , UIROUTER_DIRECTIVES , forEach ,
5- UrlRouter , ViewService , StateRegistry , UrlMatcherFactory
4+ UiView , UIRouter , TransitionService , StateService , UIRouterGlobals , UIROUTER_DIRECTIVES , forEach , extend ,
5+ UrlRouter , ViewService , StateRegistry , UrlMatcherFactory , Ng2ViewDeclaration , Ng2ViewConfig , Node
66} from "ui-router-ng2" ;
77import { CORE_DIRECTIVES } from "angular2/common" ;
88import { UpgradeAdapter } from "angular2/upgrade" ;
9+ import { Ng1ViewConfig } from "angular-ui-router" ;
910
1011export let upgradeModule = angular . module ( 'ui.router.upgrade' , [ 'ui.router' ] ) ;
1112
@@ -93,6 +94,7 @@ upgradeModule.config([ '$stateProvider', $stateProvider => {
9394 // Update the view config.
9495 // Override default ng1 `component:` behavior (of defining a templateProvider)
9596 // with a <ui-view-ng-upgrade> adapter directive template
97+ viewDecl . $type = "ng1-to-ng2" ;
9698 viewDecl . templateProvider = null ;
9799 viewDecl . template = "<ui-view-ng-upgrade></ui-view-ng-upgrade>" ;
98100 }
@@ -101,3 +103,13 @@ upgradeModule.config([ '$stateProvider', $stateProvider => {
101103 } )
102104} ] ) ;
103105
106+ upgradeModule . run ( [ '$view' , $view => {
107+ $view . viewConfigFactory ( 'ng2' , ( node : Node , config : Ng2ViewDeclaration ) => new Ng2ViewConfig ( node , config ) ) ;
108+
109+ $view . viewConfigFactory ( 'ng1-to-ng2' , ( node : Node , config : Ng2ViewDeclaration ) => {
110+ var ng1ViewConfig = new Ng1ViewConfig ( < any > node , < any > Object . assign ( { } , config , { $type : 'ng1' } ) ) ;
111+ var ng2ViewConfig = new Ng2ViewConfig ( < any > node , < any > Object . assign ( { } , config , { $type : 'ng2' } ) ) ;
112+
113+ return [ ng2ViewConfig , ng1ViewConfig ] ;
114+ } ) ;
115+ } ] ) ;
0 commit comments