var AppDispatcher = require('../dispatcher/appDispatcher'); var EventEmitter = require('events').EventEmitter; var UserConstants = require('../constants/userConstants'); var _ = require('underscore'); var _registrationState = {}; var handleRegistrationSuccess = function() { _registrationState = { performed: true, success: true }; }; var handleRegistrationFailure = function(error) { _registrationState = { performed: true, success: false, error: error }; }; // Extend SectionStore with EventEmitter to add eventing capabilities var UserStore = _.extend({}, EventEmitter.prototype, { getRegistrationState: function() { //return _categoryDetails; return _registrationState; }, // Emit Change event emitChange: function() { console.log("Emmiting Section change!"); this.emit('change'); }, // Add change listener addChangeListener: function(callback) { this.on('change', callback); }, // Remove change listener removeChangeListener: function(callback) { this.removeListener('change', callback); } }); // Register callback with AppDispatcher AppDispatcher.register(function(payload) { var action = payload.action; var text; switch(action.actionType) { // Respond to SELECT_ITEM action //case SectionConstants.LOAD_SECTIONS: //loadSections(); //break; //case SectionConstants.SET_SECTION_HOVER: //setHovered(action.section.get('id')); //break; //case SectionConstants.UNSET_SECTION_HOVER: //setHovered(''); //break; case UserConstants.REGISTRATION_SUCCESS: handleRegistrationSuccess(); break; case UserConstants.REGISTRATION_FAILURE: handleRegistrationFailure(action.error); break; default: return true; } // If action was responded to, emit change event UserStore.emitChange(); return true; }); module.exports = UserStore;