about summary refs log tree commit diff
path: root/app/javascript/mastodon/features/compose/components/upload_form.js
diff options
context:
space:
mode:
authorSorin Davidoi <sorin.davidoi@gmail.com>2017-05-19 20:58:12 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-05-19 20:58:12 +0200
commit1548695c8300618d44efa8785f5c6eb7b3a86917 (patch)
tree52a60cdccd40bc0961f1af0915c300316c92925f /app/javascript/mastodon/features/compose/components/upload_form.js
parent3da521a58663f94b6e6a74d6d91d72a8e9fa7a73 (diff)
Avoid useless renders (#3141)
* feat(eslint): Set react/jsx-no-bind: error

* refactor(notifications/setting_toggle): Do not use bind

* refactor(components/dropdown_menu): Do not use bind

* refactor(components/autosuggest_textarea): Do not use bind

* refactor(compose/privacy_dropdown): Do not use bind

* refactor(compose/upload_form): Do not use bind

* refactor(components/status): Do not use bind

* refactor(components/onboarding_modal): Do not use bind

* refactor: PR feedback

* chore(notifications/setting_toggle): Lint

* refactor: PR feedback
Diffstat (limited to 'app/javascript/mastodon/features/compose/components/upload_form.js')
-rw-r--r--app/javascript/mastodon/features/compose/components/upload_form.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/javascript/mastodon/features/compose/components/upload_form.js b/app/javascript/mastodon/features/compose/components/upload_form.js
index f1bd9b7ec..f2579bf60 100644
--- a/app/javascript/mastodon/features/compose/components/upload_form.js
+++ b/app/javascript/mastodon/features/compose/components/upload_form.js
@@ -18,6 +18,11 @@ class UploadForm extends React.PureComponent {
     intl: PropTypes.object.isRequired
   };
 
+  onRemoveFile = (e) => {
+    const id = Number(e.currentTarget.parentElement.getAttribute('data-id'));
+    this.props.onRemoveFile(id);
+  }
+
   render () {
     const { intl, media } = this.props;
 
@@ -25,8 +30,8 @@ class UploadForm extends React.PureComponent {
       <div className='compose-form__upload' key={attachment.get('id')}>
         <Motion defaultStyle={{ scale: 0.8 }} style={{ scale: spring(1, { stiffness: 180, damping: 12 }) }}>
           {({ scale }) =>
-            <div className='compose-form__upload-thumbnail' style={{ transform: `translateZ(0) scale(${scale})`, backgroundImage: `url(${attachment.get('preview_url')})` }}>
-              <IconButton icon='times' title={intl.formatMessage(messages.undo)} size={36} onClick={this.props.onRemoveFile.bind(this, attachment.get('id'))} />
+            <div className='compose-form__upload-thumbnail' data-id={attachment.get('id')} style={{ transform: `translateZ(0) scale(${scale})`, backgroundImage: `url(${attachment.get('preview_url')})` }}>
+              <IconButton icon='times' title={intl.formatMessage(messages.undo)} size={36} onClick={this.onRemoveFile} />
             </div>
           }
         </Motion>