1
1
import React , { createElement } from 'react' ;
2
- import { View , Text , Button , txtInput , StyleSheet , Image } from 'react-native' ;
2
+ import { View , Text , Button , TextInput , StyleSheet , Image } from 'react-native' ;
3
3
4
4
let textNode = 1 ,
5
5
elementNode = 2 ,
@@ -46,6 +46,22 @@ export function createHrNode(nodeData) {
46
46
return createViewNode ( nodeData ) ( undefined ) ;
47
47
}
48
48
49
+ export function createLabelNode ( nodeData ) {
50
+ return function ( children ) {
51
+ let props = fromNodeData ( nodeData ) ,
52
+ propedChildren = [ ] ;
53
+
54
+ for ( let c of children ) {
55
+ let txt = text ( c ) ;
56
+ txt . props = props ;
57
+
58
+ propedChildren . push ( txt ) ;
59
+ }
60
+
61
+ return createViewNode ( undefined ) ( propedChildren ) ;
62
+ }
63
+ }
64
+
49
65
export function createBrNode ( nodeData ) {
50
66
let txt = text ( '\n' ) ;
51
67
txt . props = fromNodeData ( nodeData ) ;
@@ -54,7 +70,13 @@ export function createBrNode(nodeData) {
54
70
}
55
71
56
72
export function createInputNode ( nodeData ) {
57
- return createElement ( txtInput , fromNodeData ( nodeData ) ) ;
73
+ let props = fromNodeData ( nodeData ) ;
74
+
75
+ if ( props . type === 'button' || props . type === 'submit' ) {
76
+ return createElement ( Button , { title : props . value || "" , ...props } )
77
+ }
78
+
79
+ return createElement ( TextInput , props ) ;
58
80
}
59
81
60
82
export function createANode ( nodeData ) {
@@ -110,93 +132,6 @@ export function text(value) {
110
132
return createElement ( Text , undefined , value ) ;
111
133
}
112
134
113
- export function createLazyNode ( nodeData ) {
114
- return function ( render ) {
115
- return function ( arg ) {
116
- let key = nodeData [ 0 ] ;
117
-
118
- return {
119
- nodeType : lazyNode ,
120
- node : undefined ,
121
- nodeData : key === undefined ? undefined : { key : key } ,
122
- render : render ,
123
- arg : arg ,
124
- rendered : undefined
125
- } ;
126
- } ;
127
- } ;
128
- }
129
-
130
- export function createManagedNode ( render ) {
131
- return function ( nodeData ) {
132
- return function ( arg ) {
133
- return {
134
- nodeType : managedNode ,
135
- node : undefined ,
136
- nodeData : fromNodeData ( nodeData ) ,
137
- createNode : render . createNode ,
138
- updateNode : render . updateNode ,
139
- arg : arg
140
- } ;
141
- } ;
142
- } ;
143
- }
144
-
145
- export function createDatalessManagedNode ( render ) {
146
- return function ( arg ) {
147
- return {
148
- nodeType : managedNode ,
149
- node : undefined ,
150
- nodeData : { } ,
151
- createNode : render . createNode ,
152
- updateNode : render . updateNode ,
153
- arg : arg
154
- } ;
155
- } ;
156
- }
157
-
158
- export function createSvgNode ( nodeData ) {
159
- return function ( children ) {
160
- return {
161
- nodeType : svgNode ,
162
- node : undefined ,
163
- tag : 'svg' ,
164
- nodeData : fromNodeData ( nodeData ) ,
165
- children : asSvg ( children )
166
- } ;
167
- } ;
168
- }
169
-
170
- export function createDatalessSvgNode ( children ) {
171
- return {
172
- nodeType : svgNode ,
173
- node : undefined ,
174
- tag : 'svg' ,
175
- nodeData : { } ,
176
- children : asSvg ( children )
177
- } ;
178
- }
179
-
180
- export function createSingleSvgNode ( nodeData ) {
181
- return {
182
- nodeType : svgNode ,
183
- node : undefined ,
184
- tag : 'svg' ,
185
- nodeData : fromNodeData ( nodeData )
186
- } ;
187
- }
188
-
189
- function asSvg ( elements ) {
190
- for ( let e of elements ) {
191
- if ( e . nodeType === elementNode )
192
- e . nodeType = svgNode ;
193
- if ( e . children !== null && typeof e . children !== 'undefined' )
194
- e . children = asSvg ( e . children ) ;
195
- }
196
-
197
- return elements ;
198
- }
199
-
200
135
function fromNodeData ( allData ) {
201
136
let nodeData ;
202
137
0 commit comments