From ffe0fff3043d8955d73709f543d588b1f3a7b762 Mon Sep 17 00:00:00 2001 From: chandu0101 Date: Thu, 27 Apr 2017 05:01:52 +0530 Subject: [PATCH] update to react-navigation beta9 --- README.md | 2 +- .../scala/sri/navigation/TypeDefinition.scala | 19 ++++++++++ src/main/scala/sri/navigation/Views.scala | 9 +++-- .../sri/navigation/navigators/package.scala | 35 +++++++++---------- 4 files changed, 40 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index f87f5c1..69c0d5e 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# TODO \ No newline at end of file +# Navigation \ No newline at end of file diff --git a/src/main/scala/sri/navigation/TypeDefinition.scala b/src/main/scala/sri/navigation/TypeDefinition.scala index 3e07c81..1a53b30 100644 --- a/src/main/scala/sri/navigation/TypeDefinition.scala +++ b/src/main/scala/sri/navigation/TypeDefinition.scala @@ -85,6 +85,9 @@ trait NavigationStackScreenOptions extends NavigationScreenOptions object NavigationStackScreenOptions { @inline def apply(title: OP[String] = NoValue, + header: OP[ReactElement] = NoValue, + @rename("header") headerDyanmic: OP[HeaderProps => ReactElement] = + NoValue, headerTitle: OP[String | ReactElement] = NoValue, headerTitleStyle: OP[js.Any] = NoValue, headerStyle: OP[js.Any] = NoValue, @@ -591,3 +594,19 @@ object DrawerViewConfig { p.asInstanceOf[DrawerViewConfig] } } + +@ScalaJSDefined +trait NavigationScreenDetails[T <: js.Object] extends js.Object { + val options: T + val state: NavigationRoute[js.Object] + val navigation: Navigation[js.Object] +} + +@ScalaJSDefined +trait HeaderProps extends NavigationTransitionProps { + val mode: HeaderMode + val router: NavigationRouter + val getScreenDetails: js.Function1[ + NavigationScene, + NavigationScreenDetails[NavigationStackScreenOptions]] +} diff --git a/src/main/scala/sri/navigation/Views.scala b/src/main/scala/sri/navigation/Views.scala index 4efc7f1..b04f2aa 100644 --- a/src/main/scala/sri/navigation/Views.scala +++ b/src/main/scala/sri/navigation/Views.scala @@ -6,12 +6,11 @@ import scala.scalajs.js import scala.scalajs.js.annotation.JSImport @js.native -@JSImport("react-navigation", "DrawerView.Items") -object DrawerViewItemsComponent extends JSComponent[js.Object] +@JSImport("react-navigation", "DrawerItems") +object DrawerItemsComponent extends JSComponent[js.Object] -object DrawerViewItems { +object DrawerItems { @inline def apply(props: Navigation[_]) = - CreateElementJS[DrawerViewItemsComponent.type](DrawerViewItemsComponent, - props) + CreateElementJS[DrawerItemsComponent.type](DrawerItemsComponent, props) } diff --git a/src/main/scala/sri/navigation/navigators/package.scala b/src/main/scala/sri/navigation/navigators/package.scala index dd9b753..fb84501 100644 --- a/src/main/scala/sri/navigation/navigators/package.scala +++ b/src/main/scala/sri/navigation/navigators/package.scala @@ -21,9 +21,7 @@ package object navigators { object StackNavigatorConfig { @inline - def apply(containerOptions: OptionalParam[NavigationContainerOptions] = - OptDefault, - mode: OptionalParam[NavigationStackViewConfigMode] = OptDefault, + def apply(mode: OptionalParam[NavigationStackViewConfigMode] = OptDefault, headerMode: OptionalParam[HeaderMode] = OptDefault, cardStyle: OptionalParam[js.Any] = OptDefault, onTransitionStart: OptionalParam[() => _] = OptDefault, @@ -68,6 +66,7 @@ package object navigators { @inline def apply( initialRouteName: OptionalParam[String] = OptDefault, + iconStyle: OptionalParam[js.Any] = OptDefault, paths: OptionalParam[NavigationPathsConfig] = OptDefault, navigationOptions: OptionalParam[NavigationTabScreenOptions] = OptDefault, @@ -77,9 +76,7 @@ package object navigators { tabBarOptions: OptionalParam[js.Object] = OptDefault, swipeEnabled: OptionalParam[Boolean] = OptDefault, animationEnabled: OptionalParam[Boolean] = OptDefault, - containerOptions: OptionalParam[NavigationContainerOptions] = - OptDefault, - lazyLoad: OptionalParam[Boolean] = OptDefault): TabNavigatorConfig = { + `lazy`: OptionalParam[Boolean] = OptDefault): TabNavigatorConfig = { val p = FunctionObjectMacro() p.asInstanceOf[TabNavigatorConfig] } @@ -112,19 +109,19 @@ package object navigators { object DrawerNavigatorConfig { @inline - def apply(initialRouteName: OptionalParam[String] = OptDefault, - paths: OptionalParam[NavigationPathsConfig] = OptDefault, - navigationOptions: OptionalParam[NavigationDrawerScreenOptions] = - OptDefault, - order: OptionalParam[js.Array[String]] = OptDefault, - drawerWidth: OptionalParam[Double] = OptDefault, - drawerPosition: OptionalParam[DrawerPosition] = OptDefault, - contentComponent: OptionalParam[Navigation[_] => ReactElement] = - OptDefault, - contentOptions: OptionalParam[js.Object] = OptDefault, - style: OptionalParam[js.Any] = OptDefault, - containerOptions: OptionalParam[NavigationContainerOptions] = - OptDefault): DrawerNavigatorConfig = { + def apply( + initialRouteName: OptionalParam[String] = OptDefault, + labelStyle: OptionalParam[js.Any] = OptDefault, + paths: OptionalParam[NavigationPathsConfig] = OptDefault, + navigationOptions: OptionalParam[NavigationDrawerScreenOptions] = + OptDefault, + order: OptionalParam[js.Array[String]] = OptDefault, + drawerWidth: OptionalParam[Double] = OptDefault, + drawerPosition: OptionalParam[DrawerPosition] = OptDefault, + contentComponent: OptionalParam[Navigation[_] => ReactElement] = + OptDefault, + contentOptions: OptionalParam[js.Object] = OptDefault, + style: OptionalParam[js.Any] = OptDefault): DrawerNavigatorConfig = { val p = FunctionObjectMacro() p.asInstanceOf[DrawerNavigatorConfig] }