Skip to content
This repository was archived by the owner on Aug 23, 2022. It is now read-only.

Commit 96f6617

Browse files
committed
Adding React Native component prop mappings (WIP)
1 parent df9f119 commit 96f6617

File tree

2 files changed

+107
-0
lines changed

2 files changed

+107
-0
lines changed

lib/native/index.js

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports.Field = undefined;
7+
8+
var _fieldComponent = require('../components/field-component');
9+
10+
var NativeField = (0, _fieldComponent.createFieldClass)({
11+
'TextInput': function TextInput(props) {
12+
return {
13+
onChangeText: props.onChange,
14+
onFocus: props.onFocus,
15+
onBlur: props.onBlur,
16+
defaultValue: props.modelValue
17+
};
18+
},
19+
'Switch': function Switch(props) {
20+
return {
21+
onValueChange: props.onChange
22+
};
23+
},
24+
'Picker': function Picker(props) {
25+
return {
26+
selectedValue: props.modelValue,
27+
onValueChange: props.onChange
28+
};
29+
},
30+
'PickerIOS': function PickerIOS(props) {
31+
return {
32+
selectedValue: props.modelValue,
33+
onValueChange: props.onChange
34+
};
35+
},
36+
'SegmentedControlIOS': function SegmentedControlIOS(props) {
37+
return {
38+
onValueChange: props.onChange,
39+
selectedIndex: props.values.indexOf(props.modelValue)
40+
};
41+
},
42+
'DatePickerIOS': function DatePickerIOS(props) {
43+
return {
44+
onDateChange: props.onChange,
45+
date: props.modelValue
46+
};
47+
},
48+
'MapView': function MapView(props) {
49+
return {
50+
onRegionChange: props.onChange,
51+
onRegionChangeComplete: props.onBlur,
52+
region: props.modelValue
53+
};
54+
},
55+
'SliderIOS': function SliderIOS(props) {
56+
return {
57+
onValueChange: props.onChange,
58+
onSlidingComplete: props.onBlur,
59+
value: props.modelValue
60+
};
61+
}
62+
});
63+
64+
exports.Field = NativeField;

src/native/index.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { createFieldClass, controls } from '../components/field-component';
2+
3+
const NativeField = createFieldClass({
4+
'TextInput': (props) => ({
5+
onChangeText: props.onChange,
6+
onFocus: props.onFocus,
7+
onBlur: props.onBlur,
8+
defaultValue: props.modelValue
9+
}),
10+
'Switch': (props) => ({
11+
onValueChange: props.onChange
12+
}),
13+
'Picker': (props) => ({
14+
selectedValue: props.modelValue,
15+
onValueChange: props.onChange
16+
}),
17+
'PickerIOS': (props) => ({
18+
selectedValue: props.modelValue,
19+
onValueChange: props.onChange
20+
}),
21+
'SegmentedControlIOS': (props) => ({
22+
onValueChange: props.onChange,
23+
selectedIndex: props.values.indexOf(props.modelValue)
24+
}),
25+
'DatePickerIOS': (props) => ({
26+
onDateChange: props.onChange,
27+
date: props.modelValue
28+
}),
29+
'MapView': (props) => ({
30+
onRegionChange: props.onChange,
31+
onRegionChangeComplete: props.onBlur,
32+
region: props.modelValue
33+
}),
34+
'SliderIOS': (props) => ({
35+
onValueChange: props.onChange,
36+
onSlidingComplete: props.onBlur,
37+
value: props.modelValue
38+
})
39+
});
40+
41+
export {
42+
NativeField as Field
43+
}

0 commit comments

Comments
 (0)