Commit bc8416f2 authored by Tom MacWright's avatar Tom MacWright
Browse files

Add test task with eslint, fix identified problems

Showing with 56 additions and 14 deletions
+56 -14
.eslintrc 0 → 100644
{
"parser": "babel-eslint",
"env": {
"browser": true,
"node": true
},
"plugins": [
"react"
],
"globals": {
"analytics": true,
"Stripe": true
},
"rules": {
"camelcase": [0],
"comma-spacing": [0],
"consistent-return": [0],
"curly": [0],
"eol-last": [0],
"key-spacing": [0],
"new-cap": [0],
"no-mixed-requires": [0],
"no-redeclare": [2],
"no-underscore-dangle": [0],
"no-use-before-define": [0],
"quotes": [2, "single"],
"react/jsx-quotes": [2, "single", "avoid-escape"],
"react/no-multi-comp": 2,
"react/no-unknown-property": [2],
"react/prop-types": 2,
"react/require-extension": [2, { "extensions": [".js", ".jsx"] }],
"react/wrap-multilines": [2],
"strict": [0],
"valid-typeof": 2
}
}
......@@ -32,19 +32,19 @@ var MapView = React.createClass({
Mixin: MapMixins
},
_onRegionChange(event: Event) {
this.props.onRegionChange && this.props.onRegionChange(event.nativeEvent.src);
if (this.props.onRegionChange) this.props.onRegionChange(event.nativeEvent.src);
},
_onRegionWillChange(event: Event) {
this.props.onRegionWillChange && this.props.onRegionWillChange(event.nativeEvent.src);
if (this.props.onRegionWillChange) this.props.onRegionWillChange(event.nativeEvent.src);
},
_onOpenAnnotation(event: Event) {
this.props.onOpenAnnotation && this.props.onOpenAnnotation(event.nativeEvent.src);
if (this.props.onOpenAnnotation) this.props.onOpenAnnotation(event.nativeEvent.src);
},
_onRightAnnotationTapped(event: Event) {
this.props.onRightAnnotationTapped && this.props.onRightAnnotationTapped(event.nativeEvent.src);
if (this.props.onRightAnnotationTapped) this.props.onRightAnnotationTapped(event.nativeEvent.src);
},
_onUpdateUserLocation(event: Event) {
this.props.onUpdateUserLocation && this.props.onUpdateUserLocation(event.nativeEvent.src);
if (this.props.onUpdateUserLocation) this.props.onUpdateUserLocation(event.nativeEvent.src);
},
propTypes: {
showsUserLocation: React.PropTypes.bool,
......@@ -72,7 +72,7 @@ var MapView = React.createClass({
rightCalloutAccessory: React.PropTypes.object({
height: React.PropTypes.number,
width: React.PropTypes.number,
url: React.PropTypes.string,
url: React.PropTypes.string
})
})),
onRegionChange: React.PropTypes.func,
......@@ -87,13 +87,13 @@ var MapView = React.createClass({
if (!this.props.styleURL) props.styleURL = 'asset://styles/mapbox-streets-v7.json';
return <MapboxGLView
return (<MapboxGLView
{...props}
onRegionChange={this._onRegionChange}
onRegionWillChange={this._onRegionWillChange}
onOpenAnnotation={this._onOpenAnnotation}
onRightAnnotationTapped={this._onRightAnnotationTapped}
onUpdateUserLocation={this._onUpdateUserLocation} />;
onUpdateUserLocation={this._onUpdateUserLocation} />);
}
});
......
......@@ -11,7 +11,7 @@ var {
View,
} = React;
var map = React.createClass({
var Example = React.createClass({
mixins: [MapboxGLMap.Mixin],
getInitialState() {
return {
......@@ -36,7 +36,7 @@ var map = React.createClass({
title: 'Important!',
subtitle: 'Neat, this is a subtitle'
}]
}
};
},
onRegionChange(location) {
this.setState({ currentZoom: location.zoom });
......@@ -72,14 +72,14 @@ var map = React.createClass({
<Text style={styles.text} onPress={() => this.addAnnotations(mapRef, [{
latitude: 40.73312,
longitude: -73.989,
title: 'This is a new marker',
title: 'This is a new marker'
}])}>
Add new marker
</Text>
<Text style={styles.text} onPress={() => this.selectAnnotationAnimated(mapRef, 0)}>
Open first popup
</Text>
<Text style={styles.text} onPress={() => this.removeAnnotation(mapRef, 0)}>
<Text style={styles.text} onPress={() => this.removeAnnotation(mapRef, 0)}>
Remove first annotation
</Text>
<MapboxGLMap
......@@ -110,11 +110,11 @@ var styles = StyleSheet.create({
flex: 1
},
map: {
flex:5,
flex: 5
},
text: {
padding: 2
}
});
AppRegistry.registerComponent('your-app-name', () => map);
AppRegistry.registerComponent('your-app-name', () => Example);
......@@ -26,6 +26,12 @@
},
"scripts": {
"preinstall": "./scripts/download-mapbox-gl-native-ios.sh 0.4.0",
"test": "eslint example.js RCTMapboxGL.ios.js",
"start": "node_modules/react-native/packager/packager.sh"
},
"devDependencies": {
"babel-eslint": "^3.1.20",
"eslint": "^0.24.0",
"eslint-plugin-react": "^2.6.4"
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment