@@ -21,19 +21,15 @@ export class Router<ItemType extends HistoryItem = HistoryItem> {
2121
2222 private _navigationView : NavigationView ;
2323 private _routes : ListLike < RouterConfig > ;
24-
2524 private _routerHistoryObserver : RouterHistory ;
2625 private _routerMatcher : RouterMatcher ;
2726
28- constructor ( { navigationView, routers , defaultRoute , history} : RouterProperties ) {
27+ constructor ( { navigationView, history} : RouterProperties ) {
2928 this . _navigationView = navigationView ;
30- this . routes = routers || [ ] ;
3129 this . _routerHistoryObserver = new RouterHistory ( this . _handleHistoryChange ) ;
32- this . history = history || [ ] ;
3330 this . _routerMatcher = new RouterMatcher ( this ) ;
34- if ( defaultRoute ) {
35- this . goTo ( defaultRoute as ItemType ) ;
36- }
31+ this . history = history || [ ] ;
32+ // this._routes = this._findRoutes();
3733 this . _navigationView . onRemoveChild ( this . _syncHistoryWithNavigationView . bind ( this ) ) ;
3834 }
3935
@@ -42,29 +38,18 @@ export class Router<ItemType extends HistoryItem = HistoryItem> {
4238 }
4339
4440 back ( ) {
45- if ( this . _routerHistoryObserver . source . length === 0 ) {
41+ if ( this . _routerHistoryObserver . history . length === 0 ) {
4642 throw new Error ( "Could not call back on empty history stack" ) ;
4743 }
4844 this . _routerHistoryObserver . pop ( ) ;
4945 }
5046
5147 set history ( value : ListLike < HistoryItem > ) {
52- if ( this . _routerHistoryObserver . source === value ) {
53- return ;
54- }
55- this . _routerHistoryObserver . source = value ;
48+ this . _routerHistoryObserver . history = value ;
5649 }
5750
5851 get history ( ) {
59- return this . _routerHistoryObserver . source ;
60- }
61-
62- set routes ( value : ListLike < RouterConfig > ) {
63- if ( this . _routes === value ) {
64- return ;
65- }
66- this . _routes = value ;
67- this . _routerMatcher = new RouterMatcher ( this ) ;
52+ return this . _routerHistoryObserver . history ;
6853 }
6954
7055 get routes ( ) {
@@ -97,13 +82,15 @@ export class Router<ItemType extends HistoryItem = HistoryItem> {
9782 } ) ;
9883 }
9984
100- private _appendRoute ( route : Route , payload ?: any ) {
101- if ( route . page . onPayload && typeof route . page . onPayload === 'function' ) {
102- route . page . onPayload ( payload ) ;
85+ private _appendRoute ( route : Route , payload ?: object ) {
86+ if ( payload ) {
87+ for ( const key of Object . keys ( payload ) ) {
88+ if ( route . page [ key ] ) {
89+ route . page [ key ] = payload [ key ] ;
90+ }
91+ }
10392 }
10493 this . _navigationView . append ( route . page ) ;
105- this . _navigationView . drawerActionVisible = route . options . enableDrawer ;
106- this . _navigationView . toolbarVisible = route . options . toolbarVisible ;
10794 }
10895
10996 private _syncHistoryWithNavigationView ( ) {
0 commit comments