-
Notifications
You must be signed in to change notification settings - Fork 13
/
main.js
71 lines (60 loc) · 1.58 KB
/
main.js
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
import React from 'react';
import ReactDOM from 'react-dom';
import ons from 'onsenui';
import {
Page,
Tabbar,
Tab,
Navigator
} from 'react-onsenui';
import Home from './components/Home';
import Dialogs from './components/Dialogs';
import Forms from './components/Forms';
import Animations from './components/Animations';
class Tabs extends React.Component {
renderTabs() {
return [
{
content: <Home key="home" navigator={this.props.navigator} />,
tab: <Tab key="home" label="Home" icon="ion-ios-home-outline" />
},
{
content: <Dialogs key="dialogs" navigator={this.props.navigator} />,
tab: <Tab key="dialogs" label="Dialogs" icon="ion-ios-albums-outline" />
},
{
content: <Forms key="forms" />,
tab: <Tab key="forms" label="Forms" icon="ion-edit" />
},
{
content: <Animations key="animations" navigator={this.props.navigator} />,
tab: <Tab key="animations" label="Animations" icon="ion-film-marker" />
}
];
}
render() {
return (
<Page>
<Tabbar
renderTabs={this.renderTabs.bind(this)}
/>
</Page>
);
}
}
class App extends React.Component {
renderPage(route, navigator) {
route.props = route.props || {};
route.props.navigator = navigator;
return React.createElement(route.comp, route.props);
}
render() {
return (
<Navigator
initialRoute={{comp: Tabs, props: { key: 'tabs' }}}
renderPage={this.renderPage}
/>
);
}
}
ReactDOM.render(<App />, document.getElementById('app'));