UNPKG

make-shift-brew-ui

Version:

Common User Interface for the Brewfactory projects, modified for MakeShift Aleworks

98 lines (77 loc) 1.66 kB
/* * Log store * * @module LogStore */ var util = require('util'); var EventEmitter = require('events').EventEmitter; var LogConstants = require('../constants/LogConstants'); /* * Log store * * @constructor LogStore * @param {Object} dispatcher */ function LogStore() { this.brewLogs = []; this.selectedBrewLog = null; } // Configure store LogStore.storeName = 'LogStore'; LogStore.handlers = {}; LogStore.handlers[LogConstants.ActionTypes.FIND_LOG_SUCCESS] = 'handleBrewLogs'; LogStore.handlers[LogConstants.ActionTypes.FIND_ONE_LOG_SUCCESS] = 'handleSelectedBrewLog'; // Inherit ApplicationStore from the EventEmitter util.inherits(LogStore, EventEmitter); /* * Get state * * @method getState * @return {Object} state */ LogStore.prototype.getState = function () { return { brewLogs: this.brewLogs, selectedBrewLog: this.selectedBrewLog }; }; /* * Dehydrate * * @method dehydrate * @return {Object} state */ LogStore.prototype.dehydrate = function () { return this.getState(); }; /* * Rehydrate * * @method rehydrate * @param {Object} state */ LogStore.prototype.rehydrate = function (state) { this.brewLogs = state.brewLogs; this.selectedBrewLog = state.selectedBrewLog; }; /* * Handle brew logs * * @method handleBrewLogs * @param {Array} logs */ LogStore.prototype.handleBrewLogs = function (logs) { this.brewLogs = logs; this.emit('change'); }; /* * Handle selected brew log * * @method handleSelectedBrewLog * @param {Object} log */ LogStore.prototype.handleSelectedBrewLog = function (log) { this.selectedBrewLog = log; this.emit('change'); }; module.exports = LogStore;