var React = require('react'); var _ = require('lodash'); var cx = require('classnames'); var JSONFileEditor = require('naturalCrit/jsonFileEditor/jsonFileEditor.jsx'); //var GetRandomEncounter = require('naturalCrit/randomEncounter.js'); var Store = require('naturalCrit/combat.store.js'); var Actions = require('naturalCrit/combat.actions.js'); var Encounters = React.createClass({ mixins : [Store.mixin()], onStoreChange : function(){ this.setState({ encounters : Store.getEncounters(), selectedEncounter : Store.getSelectedEncounterIndex() }); }, getInitialState: function() { return { encounters : Store.getEncounters(), selectedEncounter : Store.getSelectedEncounterIndex() }; }, /* getDefaultProps: function() { return { encounters : [], selectedEncounter : 0, onJSONChange : function(encounterIndex, json){}, onSelectEncounter : function(encounterIndex){}, onRemoveEncounter : function(encounterIndex){} }; }, */ handleJSONChange : function(encounterIndex, json){ //this.props.onJSONChange(encounterIndex, json); Actions.updateEncounter(encounterIndex, json); }, handleSelectEncounter : function(encounterIndex){ //this.props.onSelectEncounter(encounterIndex); Actions.selectEncounter(encounterIndex); }, handleRemoveEncounter : function(encounterIndex){ //this.props.onRemoveEncounter(encounterIndex); Actions.removeEncounter(encounterIndex); }, addRandomEncounter : function(){ Actions.addEncounter(); }, renderEncounters : function(){ var self = this; return _.map(this.state.encounters, function(encounter, index){ var isSelected = self.state.selectedEncounter == index; return