diff --git a/README.md b/README.md index c95e4d1..bb7ae62 100644 --- a/README.md +++ b/README.md @@ -177,7 +177,7 @@ app :: forall p. ReactClass {|p} app = statelessComponent render where render _ = text_ "Hello World" - + main :: Effect Unit main = do registerComponent "HelloWorld" app @@ -212,7 +212,6 @@ The plan is to initially support a subset of the components fully, and provide u |`Image` |[x]| |`RefreshControl` | [x]| |`Button` |[x]| -|`NavigatorIOS` |[x] *| |`DrawerLayoutAndroid` |[x]| |`ToolbarAndroid` |[x]| |`Modal`|[x]| diff --git a/src/ReactNative/Components/NavigatorIOS.js b/src/ReactNative/Components/NavigatorIOS.js deleted file mode 100644 index f114dd4..0000000 --- a/src/ReactNative/Components/NavigatorIOS.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -const RN = require('react-native'); - -exports.push = function(this_) { - return function (route) { - return function() { - this_.push(route); - } - } -} - -exports.pop = function(this_) { - return function() { - this_.pop(); - } -} diff --git a/src/ReactNative/Components/NavigatorIOS.purs b/src/ReactNative/Components/NavigatorIOS.purs deleted file mode 100644 index bc337eb..0000000 --- a/src/ReactNative/Components/NavigatorIOS.purs +++ /dev/null @@ -1,80 +0,0 @@ --- | See [NavigatorIOS](https://facebook.github.io/react-native/docs/navigatorios.html) -module ReactNative.Components.NavigatorIOS ( - NavigatorIOS, navigatorIOS', NavigatorIOSProps - , push, pop, Route, RouteM, RouteO, RouteDefaults, mkRoute -) where - -import Prelude -import Effect (Effect) -import ReactNative.Optional (class Optional) -import React (ReactElement, ReactThis) -import ReactNative.Events (UnitEventHandler) -import ReactNative.PropTypes (ImageSource, RefType) -import ReactNative.PropTypes.Color (Color) -import ReactNative.Styles (Styles) -import ReactNative.Unsafe.ApplyProps (unsafeApplyProps) -import ReactNative.Unsafe.Components (navigatorIOSU) -import Unsafe.Coerce (unsafeCoerce) - -newtype NavigatorIOS = NavigatorIOS (forall props state. ReactThis props state) - -type RouteDefaults r = ( - barTintColor :: Color - , navigationBarHidden :: Boolean - , shadowHidden :: Boolean - , tintColor :: Color - , titleTextColor :: Color - , translucent :: Boolean - | r -) - -foreign import data Route :: Type - -type RouteM props o = { - title :: String - , component :: { navigator :: NavigatorIOS | props } -> ReactElement - , passProps :: {|props} - | o -} - -type RouteO = RouteDefaults ( - titleImage :: ImageSource - , backButtonIcon :: ImageSource - , backButtonTitle :: String - , leftButtonIcon :: ImageSource - , leftButtonTitle :: String - , leftButtonSystemIcon :: String -- Object.keys(SystemIcons) - , onLeftButtonPress :: UnitEventHandler - , rightButtonIcon :: ImageSource - , rightButtonTitle :: String - , rightButtonSystemIcon :: String -- Object.keys(SystemIcons) - , onRightButtonPress :: UnitEventHandler - , wrapperStyle :: Styles -) - -type NavigatorIOSProps o = { - initialRoute :: Route - | o -} - -type NavigatorIOSPropsO = RouteDefaults ( - ref :: RefType NavigatorIOS - , interactivePopGestureEnabled :: Boolean - , itemWrapperStyle :: Styles - , style :: Styles -) - -mkRoute :: forall props o - . Optional o RouteO - => RouteM props o -> Route -mkRoute = unsafeCoerce - --- | Create a NavigatorIOS with the given props and initialRoute -navigatorIOS' :: forall o - . Optional o NavigatorIOSPropsO - => NavigatorIOSProps o -> ReactElement -navigatorIOS' = navigatorIOSU <<< unsafeApplyProps - -foreign import push :: NavigatorIOS -> Route -> Effect Unit - -foreign import pop :: NavigatorIOS -> Effect Unit diff --git a/src/ReactNative/Unsafe/Components.js b/src/ReactNative/Unsafe/Components.js index 6029bbe..06ace52 100644 --- a/src/ReactNative/Unsafe/Components.js +++ b/src/ReactNative/Unsafe/Components.js @@ -11,7 +11,6 @@ exports.keyboardAvoidingViewClass = RN.KeyboardAvoidingView; exports.listViewClass = RN.ListView; exports.mapViewClass = RN.MapView; exports.modalClass = RN.Modal; -exports.navigatorIOSClass = RN.NavigatorIOS; exports.pickerClass = RN.Picker; exports.pickerItemClass = RN.Picker.Item; exports.progressBarAndroidClass = RN.ProgressBarAndroid; diff --git a/src/ReactNative/Unsafe/Components.purs b/src/ReactNative/Unsafe/Components.purs index 7172a24..18183dc 100644 --- a/src/ReactNative/Unsafe/Components.purs +++ b/src/ReactNative/Unsafe/Components.purs @@ -18,7 +18,6 @@ module ReactNative.Unsafe.Components ( , pickerU , pickerItemU , sliderU -, navigatorIOSU , textInputU , datePickerIOSU , keyboardAvoidingViewU @@ -46,7 +45,6 @@ foreign import keyboardAvoidingViewClass :: forall props. ReactClass {|props foreign import listViewClass :: forall props. ReactClass {|props} foreign import mapViewClass :: forall props. ReactClass {|props} foreign import modalClass :: forall props. ReactClass {|props} -foreign import navigatorIOSClass :: forall props. ReactClass {|props} foreign import pickerClass :: forall props. ReactClass {|props} foreign import pickerItemClass :: forall props. ReactClass {|props} foreign import progressBarAndroidClass :: forall props. ReactClass {|props} @@ -148,10 +146,6 @@ pickerItemU = unsafeCreateLeafElement pickerItemClass sliderU :: forall props. {|props} -> ReactElement sliderU = unsafeCreateLeafElement sliderClass --- | Create a [NavigatorIOS](https://facebook.github.io/react-native/docs/navigatorios.html) component unsafely -navigatorIOSU :: forall props. {|props} -> ReactElement -navigatorIOSU = unsafeCreateLeafElement navigatorIOSClass - -- | Create a [TextInput](https://facebook.github.io/react-native/docs/textinput.html) component unsafely textInputU :: forall props. {|props} -> ReactElement textInputU = unsafeCreateLeafElement textInputClass