From 9c3b207c6e91b53ded162981fc2f8330aad3bb87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?The=CC=81o=20mathieu?= Date: Wed, 2 Mar 2016 10:16:00 -0500 Subject: [PATCH] Removed react-mixin dependancy and exposes connectMeteor decorator --- README.md | 7 +++---- example/mobile/app/Routes/Status.js | 5 ++--- example/mobile/app/Routes/Todos.js | 8 ++++---- example/mobile/package.json | 1 - package.json | 3 ++- src/Meteor.js | 4 +++- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index cd5bcff..2a60fa3 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,7 @@ The purpose of this library is : ```javascript import { View, Text, Component } from 'react-native'; -import Meteor, { MeteorMixin } from 'react-native-meteor'; -import reactMixin from 'react-mixin'; +import Meteor, { connectMeteor } from 'react-native-meteor'; /* * Uses decorators (see detailed installation to activate it) @@ -42,12 +41,12 @@ import reactMixin from 'react-mixin'; class Todos extends Component { ... } - reactMixin(Todos.prototype, MeteorMixin); + connectMeteor(Todos); export default Todos; */ -@reactMixin.decorate(MeteorMixin) +@connectMeteor export default class App extends Component { componentWillMount() { const url = 'http://192.168.X.X:3000/websocket'; diff --git a/example/mobile/app/Routes/Status.js b/example/mobile/app/Routes/Status.js index 2336ee8..c619c6f 100644 --- a/example/mobile/app/Routes/Status.js +++ b/example/mobile/app/Routes/Status.js @@ -11,13 +11,12 @@ import React, { TouchableHighlight } from 'react-native'; -import Meteor, { MeteorMixin } from 'react-native-meteor'; -import reactMixin from 'react-mixin'; +import Meteor, { connectMeteor } from 'react-native-meteor'; import Button from 'react-native-button'; -@reactMixin.decorate(MeteorMixin) +@connectMeteor export default class Status extends Component { getMeteorData() { return { diff --git a/example/mobile/app/Routes/Todos.js b/example/mobile/app/Routes/Todos.js index 0a057b1..0f64299 100644 --- a/example/mobile/app/Routes/Todos.js +++ b/example/mobile/app/Routes/Todos.js @@ -13,12 +13,10 @@ import React, { TabBarIOS } from 'react-native'; -import Meteor, { MeteorMixin } from 'react-native-meteor'; -import reactMixin from 'react-mixin'; +import Meteor, { connectMeteor } from 'react-native-meteor'; -@reactMixin.decorate(MeteorMixin) -export default class Todos extends Component { +class Todos extends Component { constructor(props) { super(props); @@ -61,6 +59,8 @@ export default class Todos extends Component { ); } } +connectMeteor(Todos) +export default Todos; const styles = StyleSheet.create({ container: { diff --git a/example/mobile/package.json b/example/mobile/package.json index 8549234..7bb6908 100644 --- a/example/mobile/package.json +++ b/example/mobile/package.json @@ -6,7 +6,6 @@ "start": "node node_modules/react-native/local-cli/cli.js start" }, "dependencies": { - "react-mixin": "^3.0.3", "react-native": "^0.20.0", "react-native-button": "^1.4.2", "react-native-meteor": "^1.0.0-beta1", diff --git a/package.json b/package.json index b791ab9..eb8c867 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-meteor", - "version": "1.0.0-beta1", + "version": "1.0.0-beta2", "description": "DDP React-native Client", "main": "src/Meteor.js", "scripts": { @@ -29,6 +29,7 @@ "ddp.js": "1.1.0", "ejson": "^2.1.2", "minimongo-cache": "0.0.48", + "react-mixin": "^3.0.3", "trackr": "^2.0.2" } } diff --git a/src/Meteor.js b/src/Meteor.js index 7f1f633..6f0243b 100644 --- a/src/Meteor.js +++ b/src/Meteor.js @@ -7,7 +7,9 @@ import Mixin from './Mixin'; import User from './User'; module.exports = { - MeteorMixin: Mixin, + connectMeteor(reactClass) { + return reactMixin.onClass(reactClass, Mixin); + }, collection(name) { return { find(selector, options) {