|
@@ -1,19 +1,14 @@
|
|
import React from 'react'
|
|
import React from 'react'
|
|
-import Expo from 'expo'
|
|
|
|
import {
|
|
import {
|
|
- // StyleSheet,
|
|
|
|
|
|
+ StyleSheet,
|
|
Modal,
|
|
Modal,
|
|
Text,
|
|
Text,
|
|
- // View,
|
|
|
|
ScrollView,
|
|
ScrollView,
|
|
- // Button,
|
|
|
|
- // Image
|
|
|
|
TouchableOpacity } from 'react-native'
|
|
TouchableOpacity } from 'react-native'
|
|
import takePicture from './takePicture'
|
|
import takePicture from './takePicture'
|
|
import selectImage from './selectImage'
|
|
import selectImage from './selectImage'
|
|
import selectDocument from './selectDocument'
|
|
import selectDocument from './selectDocument'
|
|
import Provider from './provider'
|
|
import Provider from './provider'
|
|
-// import ProviderGrid from './provider-grid'
|
|
|
|
|
|
|
|
export default class UppyReactNativeFilePicker extends React.Component {
|
|
export default class UppyReactNativeFilePicker extends React.Component {
|
|
constructor () {
|
|
constructor () {
|
|
@@ -38,11 +33,6 @@ export default class UppyReactNativeFilePicker extends React.Component {
|
|
|
|
|
|
componentDidMount () {
|
|
componentDidMount () {
|
|
this.uppy = this.props.uppy
|
|
this.uppy = this.props.uppy
|
|
-
|
|
|
|
- this.uppy.on('info-visible', () => {
|
|
|
|
- const info = this.uppy.getState().info
|
|
|
|
- console.log('uppy-info', info)
|
|
|
|
- })
|
|
|
|
}
|
|
}
|
|
|
|
|
|
takePicture () {
|
|
takePicture () {
|
|
@@ -90,14 +80,14 @@ export default class UppyReactNativeFilePicker extends React.Component {
|
|
}
|
|
}
|
|
|
|
|
|
openProvider (id) {
|
|
openProvider (id) {
|
|
- console.log('OPEN PROVIDER:', id)
|
|
|
|
|
|
+ console.log('Open provider:', id)
|
|
this.setState({
|
|
this.setState({
|
|
openProvider: id
|
|
openProvider: id
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
chooseProvider (id) {
|
|
chooseProvider (id) {
|
|
- console.log('PROVIDER SELECTED:', id)
|
|
|
|
|
|
+ console.log('Provider selected:', id)
|
|
|
|
|
|
switch (id) {
|
|
switch (id) {
|
|
case 'LocalImages':
|
|
case 'LocalImages':
|
|
@@ -117,42 +107,21 @@ export default class UppyReactNativeFilePicker extends React.Component {
|
|
renderSourceList () {
|
|
renderSourceList () {
|
|
return (
|
|
return (
|
|
<ScrollView
|
|
<ScrollView
|
|
- contentContainerStyle={{
|
|
|
|
- flex: '1',
|
|
|
|
- marginTop: 22,
|
|
|
|
- justifyContent: 'center'
|
|
|
|
- }}>
|
|
|
|
|
|
+ contentContainerStyle={styles.providerList}>
|
|
{this.state.providers.map((item, index) => {
|
|
{this.state.providers.map((item, index) => {
|
|
return (
|
|
return (
|
|
<TouchableOpacity
|
|
<TouchableOpacity
|
|
- style={{
|
|
|
|
- alignItems: 'center',
|
|
|
|
- backgroundColor: '#0077cc',
|
|
|
|
- marginBottom: 15,
|
|
|
|
- marginLeft: 50,
|
|
|
|
- marginRight: 50,
|
|
|
|
- padding: 10,
|
|
|
|
- borderRadius: 5
|
|
|
|
- }}
|
|
|
|
|
|
+ style={styles.providerButton}
|
|
key={index}
|
|
key={index}
|
|
onPress={ev => this.chooseProvider(item.id)}>
|
|
onPress={ev => this.chooseProvider(item.id)}>
|
|
- <Text style={{color: '#fff'}}>{item.title}</Text>
|
|
|
|
|
|
+ <Text style={styles.providerButtonText}>{item.title}</Text>
|
|
</TouchableOpacity>
|
|
</TouchableOpacity>
|
|
)
|
|
)
|
|
})}
|
|
})}
|
|
<TouchableOpacity
|
|
<TouchableOpacity
|
|
- style={{
|
|
|
|
- alignItems: 'center',
|
|
|
|
- borderWidth: 1,
|
|
|
|
- borderColor: '#0077cc',
|
|
|
|
- marginBottom: 15,
|
|
|
|
- marginLeft: 50,
|
|
|
|
- marginRight: 50,
|
|
|
|
- padding: 10,
|
|
|
|
- borderRadius: 5
|
|
|
|
- }}
|
|
|
|
|
|
+ style={styles.cancelButton}
|
|
onPress={ev => this.props.onRequestClose()}>
|
|
onPress={ev => this.props.onRequestClose()}>
|
|
- <Text style={{color: '#0077cc'}}>Cancel</Text>
|
|
|
|
|
|
+ <Text style={styles.cancelButtonText}>Cancel</Text>
|
|
</TouchableOpacity>
|
|
</TouchableOpacity>
|
|
</ScrollView>
|
|
</ScrollView>
|
|
)
|
|
)
|
|
@@ -165,15 +134,12 @@ export default class UppyReactNativeFilePicker extends React.Component {
|
|
transparent={false}
|
|
transparent={false}
|
|
visible={this.props.show}
|
|
visible={this.props.show}
|
|
supportedOrientations={['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']}
|
|
supportedOrientations={['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']}
|
|
- onRequestClose={() => {
|
|
|
|
- Expo.Alert.alert('Modal has been closed.')
|
|
|
|
- this.props.onRequestClose()
|
|
|
|
- }}>
|
|
|
|
|
|
+ onRequestClose={this.props.onRequestClose}>
|
|
{this.state.openProvider
|
|
{this.state.openProvider
|
|
? <Provider
|
|
? <Provider
|
|
providerID={this.state.openProvider}
|
|
providerID={this.state.openProvider}
|
|
uppy={this.uppy}
|
|
uppy={this.uppy}
|
|
- onSuccess={() => {
|
|
|
|
|
|
+ onDone={() => {
|
|
this.setState({
|
|
this.setState({
|
|
openProvider: null
|
|
openProvider: null
|
|
})
|
|
})
|
|
@@ -186,3 +152,36 @@ export default class UppyReactNativeFilePicker extends React.Component {
|
|
)
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+const styles = StyleSheet.create({
|
|
|
|
+ providerList: {
|
|
|
|
+ flex: 1,
|
|
|
|
+ marginTop: 22,
|
|
|
|
+ justifyContent: 'center'
|
|
|
|
+ },
|
|
|
|
+ providerButton: {
|
|
|
|
+ alignItems: 'center',
|
|
|
|
+ backgroundColor: '#0077cc',
|
|
|
|
+ marginBottom: 15,
|
|
|
|
+ marginLeft: 50,
|
|
|
|
+ marginRight: 50,
|
|
|
|
+ padding: 10,
|
|
|
|
+ borderRadius: 5
|
|
|
|
+ },
|
|
|
|
+ providerButtonText: {
|
|
|
|
+ color: '#fff'
|
|
|
|
+ },
|
|
|
|
+ cancelButton: {
|
|
|
|
+ alignItems: 'center',
|
|
|
|
+ borderWidth: 1,
|
|
|
|
+ borderColor: '#0077cc',
|
|
|
|
+ marginBottom: 15,
|
|
|
|
+ marginLeft: 50,
|
|
|
|
+ marginRight: 50,
|
|
|
|
+ padding: 10,
|
|
|
|
+ borderRadius: 5
|
|
|
|
+ },
|
|
|
|
+ cancelButtonText: {
|
|
|
|
+ color: '#0077cc'
|
|
|
|
+ }
|
|
|
|
+})
|