From ee3d296d333733539952a42b4fc2d328e3b84470 Mon Sep 17 00:00:00 2001 From: Jamon Holmgren Date: Mon, 30 Jul 2018 22:34:16 -0700 Subject: [PATCH] WIP: iOS working --- index.js | 4 +-- src/js/WebView.android.js | 32 +++++++++++---------- src/js/WebView.ios.js | 58 +++++++++++++++++++++++++-------------- src/js/WebViewShared.js | 2 +- 4 files changed, 59 insertions(+), 37 deletions(-) diff --git a/index.js b/index.js index 48731e2..89300e7 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,3 @@ -import IRWebView from './src/js/IRWebView'; +import WebView from './src/js/WebView'; -export default IRWebView; +export { WebView }; diff --git a/src/js/WebView.android.js b/src/js/WebView.android.js index cdf7593..5564492 100644 --- a/src/js/WebView.android.js +++ b/src/js/WebView.android.js @@ -9,21 +9,25 @@ 'use strict'; -const EdgeInsetsPropType = require('EdgeInsetsPropType'); -const ActivityIndicator = require('ActivityIndicator'); -const React = require('React'); -const PropTypes = require('prop-types'); -const ReactNative = require('ReactNative'); -const StyleSheet = require('StyleSheet'); -const UIManager = require('UIManager'); -const View = require('View'); -const ViewPropTypes = require('ViewPropTypes'); -const WebViewShared = require('WebViewShared'); +import React from 'React'; +import PropTypes from 'prop-types'; -const deprecatedPropType = require('deprecatedPropType'); -const keyMirror = require('fbjs/lib/keyMirror'); -const requireNativeComponent = require('requireNativeComponent'); -const resolveAssetSource = require('resolveAssetSource'); +import ReactNative from 'react-native'; +import { + ActivityIndicator, + EdgeInsetsPropType, + StyleSheet, + UIManager, + View, + ViewPropTypes, + requireNativeComponent, + resolveAssetSource +} from 'react-native'; + +import deprecatedPropType from 'deprecated-prop-type'; +import keyMirror from 'fbjs/lib/keyMirror'; + +import WebViewShared from './WebViewShared'; const RCT_WEBVIEW_REF = 'webview'; diff --git a/src/js/WebView.ios.js b/src/js/WebView.ios.js index 8935108..acb28f9 100644 --- a/src/js/WebView.ios.js +++ b/src/js/WebView.ios.js @@ -10,28 +10,46 @@ 'use strict'; -const ActivityIndicator = require('ActivityIndicator'); -const EdgeInsetsPropType = require('EdgeInsetsPropType'); -const Linking = require('Linking'); -const PropTypes = require('prop-types'); -const React = require('React'); -const ReactNative = require('ReactNative'); -const ScrollView = require('ScrollView'); -const StyleSheet = require('StyleSheet'); -const Text = require('Text'); -const UIManager = require('UIManager'); -const View = require('View'); -const ViewPropTypes = require('ViewPropTypes'); -const WebViewShared = require('WebViewShared'); +import React from 'react'; +import PropTypes from 'prop-types'; -const deprecatedPropType = require('deprecatedPropType'); -const invariant = require('fbjs/lib/invariant'); -const keyMirror = require('fbjs/lib/keyMirror'); -const processDecelerationRate = require('processDecelerationRate'); -const requireNativeComponent = require('requireNativeComponent'); -const resolveAssetSource = require('resolveAssetSource'); +import ReactNative from 'react-native' +import { + ActivityIndicator, + EdgeInsetsPropType, + Linking, + ScrollView, + StyleSheet, + Text, + UIManager, + View, + ViewPropTypes, + requireNativeComponent, + NativeModules, + Image +} from 'react-native'; -const RCTWebViewManager = require('NativeModules').WebViewManager; +import invariant from 'fbjs/lib/invariant'; +import keyMirror from 'fbjs/lib/keyMirror'; + +import deprecatedPropType from 'deprecated-prop-type'; + +import WebViewShared from './WebViewShared'; + +const resolveAssetSource = Image.resolveAssetSource; + +// Imported from https://github.com/facebook/react-native/blob/master/Libraries/Components/ScrollView/processDecelerationRate.js +function processDecelerationRate(decelerationRate) { + if (decelerationRate === 'normal') { + decelerationRate = 0.998; + } else if (decelerationRate === 'fast') { + decelerationRate = 0.99; + } + return decelerationRate; +} + + +const RCTWebViewManager = NativeModules.WebViewManager; const BGWASH = 'rgba(255,255,255,0.8)'; const RCT_WEBVIEW_REF = 'webview'; diff --git a/src/js/WebViewShared.js b/src/js/WebViewShared.js index 1f36544..e513d5f 100644 --- a/src/js/WebViewShared.js +++ b/src/js/WebViewShared.js @@ -23,4 +23,4 @@ const WebViewShared = { }, }; -module.exports = WebViewShared; +export default WebViewShared;