-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathreacttmpl.js
More file actions
88 lines (72 loc) · 1.48 KB
/
reacttmpl.js
File metadata and controls
88 lines (72 loc) · 1.48 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
'use strict';
<%
var typeToComponent = [
getText,
getImage,
getButton,
getTextInput,
getDropdown,
getDatePicker,
getTabs,
getView
];
function getText(){
return "<View style={styles.labelView}><Text style={styles.label}>Dummy Text</Text></View>";
}
function getImage(){
return "<View style={styles.imageView}><Image style={styles.image}></Image></View>";
}
function getDatePicker(){
return "<DatePickerIOS date={this.state.date} mode='date'/>";
}
function getTabs(){
return "<TabBarIOS></TabBarIOS>";
}
function getTextInput(){
return "<TextInput value={this.state.text}/>";
}
function getView(children){
return "<View>"+( children ? children : '' ) +"</View>";
}
function getButton(){
return "<View>Button</View>";
}
function getDropdown(){
return "<View>Dropdown</View>";
}
function convertTree(node){
var childs = "";
for (var i = 0; i < node.children.length; i++) {
childs += convertTree(node.children[i]);
}
if(node.type === "root"){
return getView(childs);
}
else{
return typeToComponent[node.data[4]](childs);
}
}%>
var React = require('react-native');
var {
StyleSheet,
View,
TabBarIOS,
Image,
Text,
TextInput,
DatePickerIOS
} = React;
var <%= componentName %> = React.createClass({
render: function() {
return (
<%=convertTree(tree)%>
);
}
});
var styles = StyleSheet.create({
labelView : {
},
label : {
}
});
module.exports = <%= componentName %>;