Skip to content

Commit

Permalink
Refractoring + fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Théo mathieu committed Mar 19, 2016
1 parent 974d43b commit 44aa8b3
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 19 deletions.
14 changes: 13 additions & 1 deletion src/Data.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,26 @@ export default {
hasBeenConnected: false,

_cbs: [],
onChange(cb) {
this.db.on('change', cb);
this.ddp.on('connected', cb);
this.ddp.on('disconnected', cb);
this.on('loggingIn', cb);
},
offChange() {
this.db.off('change', cb);
this.ddp.off('connected', cb);
this.ddp.off('disconnected', cb);
this.off('loggingIn', cb);
},
on(eventName, cb) {
this._cbs.push({
eventName: eventName,
callback: cb
});
},
off(eventName, cb) {
this._cbs.splice(this._cbs.findIndex(_cb=>_cb.callback == cb && _cb.eventName == eventName));
this._cbs.splice(this._cbs.findIndex(_cb=>_cb.callback == cb && _cb.eventName == eventName), 1);
},
_notifyLoggingIn() {
this._cbs.map(cb=>{
Expand Down
2 changes: 1 addition & 1 deletion src/components/ListView.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import React, {
} from 'react-native';


import Data from './Data';
import Data from '../Data';


export default class MeteorListView extends Component {
Expand Down
22 changes: 5 additions & 17 deletions src/components/Mixin.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Trackr from 'trackr';
import EJSON from 'ejson';
import Data from './Data';
import Data from '../Data';

export default {
componentWillMount() {
Expand Down Expand Up @@ -75,21 +75,15 @@ class MeteorSubscriptionsManager {

this._meteorDataChangedCallback = ()=>{this._meteorSubscriptionsDep.changed()};

Data.db.on('change', this._meteorDataChangedCallback);
Data.ddp.on('connected', this._meteorDataChangedCallback);
Data.ddp.on('disconnected', this._meteorDataChangedCallback);
Data.on('loggingIn', this._meteorDataChangedCallback);
Data.onChange(this._meteorDataChangedCallback);
}
dispose() {
if (this.computation) {
this.computation.stop();
this.computation = null;
}

Data.db.off('change', this._meteorDataChangedCallback);
Data.ddp.off('connected', this._meteorDataChangedCallback);
Data.ddp.off('disconnected', this._meteorDataChangedCallback);
Data.off('loggingIn', this._meteorDataChangedCallback);
Data.offChange(this._meteorDataChangedCallback);
}
stateOrPropsChanged() {

Expand Down Expand Up @@ -119,10 +113,7 @@ class MeteorDataManager {

this._meteorDataChangedCallback = ()=>{this._meteorDataDep.changed()};

Data.db.on('change', this._meteorDataChangedCallback);
Data.ddp.on('connected', this._meteorDataChangedCallback);
Data.ddp.on('disconnected', this._meteorDataChangedCallback);
Data.on('loggingIn', this._meteorDataChangedCallback);
Data.onChange(this._meteorDataChangedCallback);
}

dispose() {
Expand All @@ -131,10 +122,7 @@ class MeteorDataManager {
this.computation = null;
}

Data.db.off('change', this._meteorDataChangedCallback);
Data.ddp.off('connected', this._meteorDataChangedCallback);
Data.ddp.off('disconnected', this._meteorDataChangedCallback);
Data.off('loggingIn', this._meteorDataChangedCallback);
Data.offChange(this._meteorDataChangedCallback);
}

calculateData() {
Expand Down

0 comments on commit 44aa8b3

Please sign in to comment.