diff --git a/build.sbt b/build.sbt index a9fb736..95376b0 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,6 @@ name := "navigation" -version := "2017.4.0-SNAPSHOT" +//version := "2017.4.0-SNAPSHOT" enablePlugins(ScalaJSPlugin) diff --git a/src/main/scala/sri/navigation/navigators/package.scala b/src/main/scala/sri/navigation/navigators/package.scala index 613450d..fb84501 100644 --- a/src/main/scala/sri/navigation/navigators/package.scala +++ b/src/main/scala/sri/navigation/navigators/package.scala @@ -48,12 +48,12 @@ package object navigators { } @inline - def StackNavigator(routes: (String, NavigationScreenRouteConfig)*) = + def StackNavigator(routes: (String, NavigationStackScreenRouteConfig)*) = StackNavigatorJS(js.Dictionary(routes: _*)) @inline def StackNavigator(stackConfig: StackNavigatorConfig, - routes: (String, NavigationScreenRouteConfig)*) = + routes: (String, NavigationStackScreenRouteConfig)*) = StackNavigatorJS(js.Dictionary(routes: _*), stackConfig) @ScalaJSDefined @@ -93,12 +93,12 @@ package object navigators { } @inline - def TabNavigator(routes: (String, NavigationScreenRouteConfig)*) = + def TabNavigator(routes: (String, NavigationTabScreenRouteConfig)*) = TabNavigatorJS(js.Dictionary(routes: _*)) @inline def TabNavigator(tabConfig: TabNavigatorConfig, - routes: (String, NavigationScreenRouteConfig)*) = + routes: (String, NavigationTabScreenRouteConfig)*) = TabNavigatorJS(js.Dictionary(routes: _*), tabConfig) @ScalaJSDefined @@ -138,11 +138,11 @@ package object navigators { } @inline - def DrawerNavigator(routes: (String, NavigationScreenRouteConfig)*) = + def DrawerNavigator(routes: (String, NavigationDrawerScreenRouteConfig)*) = DrawerNavigatorJS(js.Dictionary(routes: _*)) @inline def DrawerNavigator(tabConfig: DrawerNavigatorConfig, - routes: (String, NavigationScreenRouteConfig)*) = + routes: (String, NavigationDrawerScreenRouteConfig)*) = DrawerNavigatorJS(js.Dictionary(routes: _*), tabConfig) } diff --git a/src/main/scala/sri/navigation/package.scala b/src/main/scala/sri/navigation/package.scala index f61cafa..22ba04b 100644 --- a/src/main/scala/sri/navigation/package.scala +++ b/src/main/scala/sri/navigation/package.scala @@ -113,16 +113,43 @@ package object navigation { } @inline - def registerNavigator( + def registerNavigatorAsDrawerScreen( name: String, navigator: NavigationNavigatorConstructor, path: OptionalParam[String] = OptDefault, - navigationOptions: OptionalParam[NavigationScreenOptions] = OptDefault) - : (String, NavigationRouteConfig) = + navigationOptions: OptionalParam[NavigationDrawerScreenOptions] = + OptDefault): (String, NavigationDrawerScreenRouteConfig) = + registerRoute(name, + comp = navigator, + path = path, + navigationOptions = navigationOptions) + .asInstanceOf[(String, NavigationDrawerScreenRouteConfig)] + + @inline + def registerNavigatorAsTabScreen( + name: String, + navigator: NavigationNavigatorConstructor, + path: OptionalParam[String] = OptDefault, + navigationOptions: OptionalParam[NavigationTabScreenOptions] = OptDefault) + : (String, NavigationTabScreenRouteConfig) = registerRoute(name, comp = navigator, path = path, navigationOptions = navigationOptions) + .asInstanceOf[(String, NavigationTabScreenRouteConfig)] + + @inline + def registerNavigatorAsStackScreen( + name: String, + navigator: NavigationNavigatorConstructor, + path: OptionalParam[String] = OptDefault, + navigationOptions: OptionalParam[NavigationDrawerScreenOptions] = + OptDefault): (String, NavigationStackScreenRouteConfig) = + registerRoute(name, + comp = navigator, + path = path, + navigationOptions = navigationOptions) + .asInstanceOf[(String, NavigationStackScreenRouteConfig)] @inline private def registerRoute[T <: NavigationScreenOptions, C <: ScreenClass](