From 3b3b9b9109471ca885bb6178f1b9f1dc49b1e340 Mon Sep 17 00:00:00 2001 From: Ben Burlingham Date: Sun, 24 Apr 2016 20:38:00 -0700 Subject: [PATCH] Options screen key listener and minor reorg. --- components/board/board.component.js | 2 +- components/board/troggles.component.js | 2 +- components/options/option.component.js | 14 +------ components/options/options.component.js | 30 +++++++++++-- controllers/{ => board}/board.controller.js | 4 +- controllers/{ => board}/grid.controller.js | 6 +-- controllers/{ => board}/message.controller.js | 2 +- controllers/{ => board}/muncher.controller.js | 4 +- .../{ => board}/scorebar.controller.js | 4 +- .../{ => board}/titlebar.controller.js | 4 +- controllers/{ => board}/troggle.controller.js | 4 +- controllers/mode.controller.js | 6 ++- controllers/options/options.controller.js | 42 +++++++++++++++++++ 13 files changed, 92 insertions(+), 32 deletions(-) rename controllers/{ => board}/board.controller.js (97%) rename controllers/{ => board}/grid.controller.js (76%) rename controllers/{ => board}/message.controller.js (94%) rename controllers/{ => board}/muncher.controller.js (89%) rename controllers/{ => board}/scorebar.controller.js (88%) rename controllers/{ => board}/titlebar.controller.js (64%) rename controllers/{ => board}/troggle.controller.js (97%) create mode 100644 controllers/options/options.controller.js diff --git a/components/board/board.component.js b/components/board/board.component.js index 286c549..0a78f6d 100644 --- a/components/board/board.component.js +++ b/components/board/board.component.js @@ -10,7 +10,7 @@ import Message from './message.component'; import Muncher from './muncher.component'; import Troggles from './troggles.component'; -import BoardCtrl from '../../controllers/board.controller'; +import BoardCtrl from '../../controllers/board/board.controller'; let listener; diff --git a/components/board/troggles.component.js b/components/board/troggles.component.js index 99a69de..6f10de2 100644 --- a/components/board/troggles.component.js +++ b/components/board/troggles.component.js @@ -4,7 +4,7 @@ import { Component } from 'react'; import { connect } from 'react-redux'; import Troggle from './troggle.component'; -import TroggleCtrl from '../../controllers/troggle.controller.js'; +import TroggleCtrl from '../../controllers/board/troggle.controller.js'; export class Troggles extends Component { componentWillUnmount() { diff --git a/components/options/option.component.js b/components/options/option.component.js index e9c1031..2d779fe 100644 --- a/components/options/option.component.js +++ b/components/options/option.component.js @@ -1,12 +1,10 @@ import { Component } from 'react'; -import { connect } from 'react-redux'; -export class Option extends Component { +export default class Option extends Component { render() { const className = ['option']; - console.log(this.props.selected + ' ' + this.props.index) - if (this.props.selected === this.props.index) { + if (this.props.selected === true) { className.push('selected'); } @@ -15,11 +13,3 @@ export class Option extends Component { ); }; }; - -const select = (state) => { - return { - selected: state.options - }; -}; - -export default connect(select)(Option); diff --git a/components/options/options.component.js b/components/options/options.component.js index 6956356..aba2169 100644 --- a/components/options/options.component.js +++ b/components/options/options.component.js @@ -1,15 +1,31 @@ require('../../sass/options/options.scss'); import { Component } from 'react'; +import { connect } from 'react-redux'; +import OptionsCtrl from '../../controllers/options/options.controller'; +import ModeCtrl from '../../controllers/mode.controller'; import Option from './option.component'; +let listener; + export default class Options extends Component { + componentDidMount() { + OptionsCtrl.setDispatch(this.props.dispatch); + ModeCtrl.setDispatch(this.props.dispatch); + + listener = OptionsCtrl.keyListener.bind(OptionsCtrl); + window.addEventListener('keydown', listener); + }; + + componentWillUnmount() { + window.removeEventListener('keydown', listener); + }; + render() { - const values = ['Multiples', 'Factors', 'Equality', 'Inequality']; const optionsElements = []; - values.map((v, i) => { - optionsElements.push(