diff --git a/src/components/library.js b/src/components/library.js index cd0dd87690a9d2ab5d0da26a0c7cd0177c6f48b4..78f499947ef6af86d55bc04a092575e4726c21b7 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 2c36868adfef91f33986cf1e432bc8fa6f56ec67..bcac13b5237e414dcf2174577075e7eff591394d 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 f33b97b0d7367fd2330ece46b49f79bcff8d8d53..091a736ffbb6213b34d2402da3251d10e014c243 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 9de69a367fd463f0ea922e1c4f8714ebb2d27d9e..a11a709e0e078ab166d8186834db9d76c444195d 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} />; } }