App.js
3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/
import React, {Component} from 'react';
import {
UIManager,
View,
StatusBar
} from 'react-native';
import {StackNavigator,} from 'react-navigation'
import CardStackStyleInterpolator from "react-navigation/src/views/CardStack/CardStackStyleInterpolator"
import {fromBottom, fromRight, fromBottomLikeAndroid} from "./src/utils/navigationUtil";
import Home from './src/pages/Home'
import Write from './src/pages/Write'
import TaskList from './src/pages/TaskList'
import TaskDetail from './src/pages/TaskDetail'
import AddChildrenTask from './src/pages/AddChildrenTask'
import AddWorkers from './src/pages/AddWorkers'
import OptionChoose from './src/pages/OptionChoose'
import AddList from './src/pages/AddList'
import ImageView from './src/pages/ImageView'
import UserList from './src/pages/UserList'
import {updateFocus} from 'react-navigation-is-focused-hoc';
import ActivePage from './src/components/ActivePage'
import {isAndroid} from "./src/components/SearchBar";
import {getIdentityId, getPassportId, identityId, passportId, ownerUserId} from "./src/service/rpc";
import {HeaderLeft} from "./src/pages/Home";
import {observable} from 'mobx'
export const _listId=observable(null)
export const _title=observable(null)
export const _objectType=observable(null)
export const _taskId=observable(null)
const Normal = StackNavigator({
Home: {screen: Home},
TaskList: {screen: TaskList},
TaskDetail: {screen: TaskDetail},
AddWorkers: {screen: AddWorkers},
AddList: {screen: AddList},
UserList: {screen: UserList},
}, {
transitionConfig: () => ({
screenInterpolator: CardStackStyleInterpolator.forHorizontal,
}),
cardStyle: {
backgroundColor: 'white',
},
navigationOptions: (navigation) => {
return {
headerStyle: {backgroundColor: '#38383d'},
headerTitleStyle: {color: 'white', fontSize: 18, textAlign: 'center', alignSelf: 'center',fontWeight:"600",paddingHorizontal:20},
}
}
})
const Main = StackNavigator({
Normal: {screen: Normal},
Write: {screen: Write},
AddChildrenTask: {screen: AddChildrenTask},
OptionChoose: {screen: OptionChoose},
ImageView: {screen: ImageView}
}, {
mode: 'modal',
headerMode: 'none',
transitionConfig: () => ({screenInterpolator: fromBottomLikeAndroid}),
cardStyle: {
backgroundColor: 'rgba(0,0,0,0)',
},
})
class App extends React.Component {
async componentWillMount() {
const {jj,title,objectType,taskId}=this.props
if(taskId){
_taskId.set(taskId)
}
if(jj){
console.log(this.props)
_listId.set(jj)
_title.set(title)
_objectType.set(objectType)
}
UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true);
await Promise.all([getPassportId(), getIdentityId()])
if (!!identityId && !!passportId && !!ownerUserId) {
this.forceUpdate()
}
}
render() {
if (!!identityId && !!passportId && !!ownerUserId) {
return (
<Main
onNavigationStateChange={(prevState, currentState) => {
updateFocus(currentState)
}}
/>)
}
return <ActivePage/>
}
}
export default App