import _ from 'lodash'; import { composeWithTracker, compose, composeAll } from 'react-komposer'; import { Loading } from '/imports/client/components/Loading'; import { Orgs } from '/imports/collections/orgs/index'; import { Users } from '/imports/collections/users/index'; import { Parents } from '/imports/collections/parents/index'; import { ParentsView } from './parentsview'; const meteorTick = (props, onData) => { const handles = [ Meteor.subscribe('users.current'), Meteor.subscribe('orgs.current'), Meteor.subscribe('users.forMyOrg'), Meteor.subscribe('parent.forMyOrg'), ]; if(_.every(handles, (handle) => (handle.ready()) )) { const user = Users.current(); const org = Orgs.current(); console.log("parents"); parent = Users.find({"role":"PARENT"}).fetch() ? Users.find({"role":"PARENT"}).fetch() : ""; console.log(Users.find({"role":"PARENT"}).fetch()); parentData = Parents.find().fetch() ? Parents.find().fetch() : ""; console.log("parentData"); console.log(parentData); for(var i=0; i< parent.length; i++){ for(var j=0; j< parentData.length; j++){ if(parent[i]._id == parentData[j].userId){ parent[i].relationship = parentData[j].relationship; } } } onData(null, { data: { user: user, org: org, parent: parent }, }); } return () => { _.each(handles, (handle) => handle.stop() ); }; }; const reduxTick = (props, onData) => { onData(null, { data: {} }); }; export const ParentViewController = composeAll( composeWithTracker(meteorTick, Loading), compose(reduxTick, Loading), )(ParentsView);