From 14afd85197acebc7c2b4fe172b75c304c7111408 Mon Sep 17 00:00:00 2001 From: Tim Mickel <tim.mickel@gmail.com> Date: Thu, 20 Oct 2016 13:31:48 -0400 Subject: [PATCH] bindAll throughout --- src/components/library.js | 4 +++- src/containers/backdrop-library.js | 6 ++++-- src/containers/costume-library.js | 6 ++++-- src/containers/sprite-library.js | 8 +++++--- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/library.js b/src/components/library.js index cd0dd8769..78f499947 100644 --- a/src/components/library.js +++ b/src/components/library.js @@ -1,3 +1,4 @@ +const bindAll = require('lodash.bindall'); const React = require('react'); const LibraryItem = require('./library-item'); @@ -6,6 +7,7 @@ const ModalComponent = require('./modal'); class LibraryComponent extends React.Component { constructor (props) { super(props); + bindAll(this, ['onSelect']); this.state = {selectedItem: null}; } onSelect (id) { @@ -28,7 +30,7 @@ class LibraryComponent extends React.Component { iconURL={scratchURL} key={'item_' + itemId} selected={this.state.selectedItem == itemId} - onSelect={this.onSelect.bind(this)} + onSelect={this.onSelect} id={id} />; }); diff --git a/src/containers/backdrop-library.js b/src/containers/backdrop-library.js index 2c36868ad..bcac13b52 100644 --- a/src/containers/backdrop-library.js +++ b/src/containers/backdrop-library.js @@ -1,3 +1,4 @@ +const bindAll = require('lodash.bindall'); const React = require('react'); const VM = require('scratch-vm'); const MediaLibrary = require('../lib/media-library'); @@ -8,11 +9,12 @@ const LibaryComponent = require('../components/library'); class BackdropLibrary extends React.Component { constructor (props) { super(props); + bindAll(this, ['setData', 'selectItem']); this.state = {backdropData: []}; } componentWillReceiveProps (nextProps) { if (nextProps.visible && this.state.backdropData.length === 0) { - this.props.mediaLibrary.getMediaLibrary('backdrop', this.setData.bind(this)); + this.props.mediaLibrary.getMediaLibrary('backdrop', this.setData); } } setData (data) { @@ -36,7 +38,7 @@ class BackdropLibrary extends React.Component { visible={this.props.visible} data={this.state.backdropData} onRequestClose={this.props.onRequestClose} - onItemSelected={this.selectItem.bind(this)} + onItemSelected={this.selectItem} />; } } diff --git a/src/containers/costume-library.js b/src/containers/costume-library.js index f33b97b0d..091a736ff 100644 --- a/src/containers/costume-library.js +++ b/src/containers/costume-library.js @@ -1,3 +1,4 @@ +const bindAll = require('lodash.bindall'); const React = require('react'); const VM = require('scratch-vm'); const MediaLibrary = require('../lib/media-library'); @@ -8,11 +9,12 @@ const LibaryComponent = require('../components/library'); class CostumeLibrary extends React.Component { constructor (props) { super(props); + bindAll(this, ['setData', 'selectItem']); this.state = {costumeData: []}; } componentWillReceiveProps (nextProps) { if (nextProps.visible && this.state.costumeData.length === 0) { - this.props.mediaLibrary.getMediaLibrary('costume', this.setData.bind(this)); + this.props.mediaLibrary.getMediaLibrary('costume', this.setData); } } setData (data) { @@ -36,7 +38,7 @@ class CostumeLibrary extends React.Component { visible={this.props.visible} data={this.state.costumeData} onRequestClose={this.props.onRequestClose} - onItemSelected={this.selectItem.bind(this)} + onItemSelected={this.selectItem} />; } } diff --git a/src/containers/sprite-library.js b/src/containers/sprite-library.js index 9de69a367..a11a709e0 100644 --- a/src/containers/sprite-library.js +++ b/src/containers/sprite-library.js @@ -1,3 +1,4 @@ +const bindAll = require('lodash.bindall'); const React = require('react'); const VM = require('scratch-vm'); const MediaLibrary = require('../lib/media-library'); @@ -7,17 +8,18 @@ const LibaryComponent = require('../components/library'); class SpriteLibrary extends React.Component { constructor (props) { super(props); + bindAll(this, ['setData', 'selectItem', 'setSpriteData']); this.state = {data: [], spriteData: {}}; } componentWillReceiveProps (nextProps) { if (nextProps.visible && this.state.data.length === 0) { - this.props.mediaLibrary.getMediaLibrary('sprite', this.setData.bind(this)); + this.props.mediaLibrary.getMediaLibrary('sprite', this.setData); } } setData (data) { this.setState({data: data}); for (let sprite of data) { - this.props.mediaLibrary.getSprite(sprite.md5, this.setSpriteData.bind(this)); + this.props.mediaLibrary.getSprite(sprite.md5, this.setSpriteData); } } setSpriteData (md5, data) { @@ -47,7 +49,7 @@ class SpriteLibrary extends React.Component { data={libraryData} mediaLibrary={this.props.mediaLibrary} onRequestClose={this.props.onRequestClose} - onItemSelected={this.selectItem.bind(this)} + onItemSelected={this.selectItem} />; } } -- GitLab