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