From 4706c5fc25c7161a0c975bd4dfc8927a1303fbe0 Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Wed, 5 Jul 2017 09:48:35 +0100 Subject: [PATCH] Fix prefer-arrow-callback eslint rule [MAILPOET-985] --- .eslintrc.es6.json | 1 - assets/js/src/form/fields/checkbox.jsx | 4 +- assets/js/src/form/fields/date.jsx | 4 +- assets/js/src/form/fields/field.jsx | 8 +-- assets/js/src/form/fields/radio.jsx | 4 +- assets/js/src/form/fields/selection.jsx | 10 ++-- assets/js/src/form/fields/textarea.jsx | 4 +- assets/js/src/form/form.jsx | 18 +++---- assets/js/src/forms/list.jsx | 8 +-- assets/js/src/listing/bulk_actions.jsx | 14 ++--- assets/js/src/listing/filters.jsx | 14 ++--- assets/js/src/listing/groups.jsx | 6 +-- assets/js/src/listing/header.jsx | 4 +- assets/js/src/listing/listing.jsx | 52 +++++++++---------- assets/js/src/listing/pages.jsx | 8 +-- assets/js/src/listing/search.jsx | 4 +- assets/js/src/newsletters/breadcrumb.jsx | 8 +-- assets/js/src/newsletters/listings/mixins.jsx | 12 ++--- .../src/newsletters/listings/notification.jsx | 4 +- .../listings/notification_history.jsx | 2 +- .../js/src/newsletters/listings/standard.jsx | 4 +- .../js/src/newsletters/listings/welcome.jsx | 2 +- .../js/src/newsletters/scheduling/common.jsx | 8 +-- assets/js/src/newsletters/send.jsx | 6 +-- .../js/src/newsletters/send/notification.jsx | 8 +-- assets/js/src/newsletters/send/standard.jsx | 8 +-- assets/js/src/newsletters/send/welcome.jsx | 4 +- assets/js/src/newsletters/templates.jsx | 14 ++--- assets/js/src/newsletters/types.jsx | 8 +-- .../types/notification/notification.jsx | 6 +-- assets/js/src/newsletters/types/standard.jsx | 6 +-- .../newsletters/types/welcome/scheduling.jsx | 6 +-- assets/js/src/segments/form.jsx | 4 +- assets/js/src/segments/list.jsx | 4 +- assets/js/src/subscribers/form.jsx | 8 +-- assets/js/src/subscribers/list.jsx | 2 +- 36 files changed, 143 insertions(+), 144 deletions(-) diff --git a/.eslintrc.es6.json b/.eslintrc.es6.json index a1c7777960..5a9461ac3c 100644 --- a/.eslintrc.es6.json +++ b/.eslintrc.es6.json @@ -40,7 +40,6 @@ "jsx-a11y/alt-text": 0, "comma-dangle": 0, - "prefer-arrow-callback": 0, "func-names": 0, "object-shorthand": 0, "no-bitwise": 0, diff --git a/assets/js/src/form/fields/checkbox.jsx b/assets/js/src/form/fields/checkbox.jsx index 0861c03bcf..461923ca4a 100644 --- a/assets/js/src/form/fields/checkbox.jsx +++ b/assets/js/src/form/fields/checkbox.jsx @@ -1,9 +1,9 @@ define([ 'react' ], -function ( +( React -) { +) => { const FormFieldCheckbox = React.createClass({ onValueChange: function (e) { e.target.value = this.refs.checkbox.checked ? '1' : '0'; diff --git a/assets/js/src/form/fields/date.jsx b/assets/js/src/form/fields/date.jsx index c99afb6586..86dbb63b1d 100644 --- a/assets/js/src/form/fields/date.jsx +++ b/assets/js/src/form/fields/date.jsx @@ -1,10 +1,10 @@ define([ 'react', 'moment', -], function ( +], ( React, Moment -) { +) => { class FormFieldDateYear extends React.Component { render() { const yearsRange = 100; diff --git a/assets/js/src/form/fields/field.jsx b/assets/js/src/form/fields/field.jsx index 09a3f01e0f..14083dbd07 100644 --- a/assets/js/src/form/fields/field.jsx +++ b/assets/js/src/form/fields/field.jsx @@ -8,7 +8,7 @@ define([ 'form/fields/selection.jsx', 'form/fields/date.jsx', ], -function ( +( React, FormFieldText, FormFieldTextarea, @@ -17,7 +17,7 @@ function ( FormFieldCheckbox, FormFieldSelection, FormFieldDate -) { +) => { var FormField = React.createClass({ renderField: function (data, inline = false) { var description = false; @@ -87,14 +87,14 @@ function ( var field = false; if(this.props.field['fields'] !== undefined) { - field = this.props.field.fields.map(function (subfield, index) { + field = this.props.field.fields.map((subfield, index) => { return this.renderField({ index: index, field: subfield, item: this.props.item, onValueChange: this.props.onValueChange || false }); - }.bind(this)); + }); } else { field = this.renderField(this.props); } diff --git a/assets/js/src/form/fields/radio.jsx b/assets/js/src/form/fields/radio.jsx index 863ce9df95..8ac8affa87 100644 --- a/assets/js/src/form/fields/radio.jsx +++ b/assets/js/src/form/fields/radio.jsx @@ -1,9 +1,9 @@ define([ 'react' ], -function ( +( React -) { +) => { const FormFieldRadio = React.createClass({ render: function () { if (this.props.field.values === undefined) { diff --git a/assets/js/src/form/fields/selection.jsx b/assets/js/src/form/fields/selection.jsx index 78333655f8..850ab991dc 100644 --- a/assets/js/src/form/fields/selection.jsx +++ b/assets/js/src/form/fields/selection.jsx @@ -4,11 +4,11 @@ define([ 'jquery', 'select2' ], -function ( +( React, ReactDOM, jQuery -) { +) => { var Selection = React.createClass({ getInitialState: function () { return { @@ -71,10 +71,10 @@ function ( }); var hasRemoved = false; - select2.on('select2:unselecting', function () { + select2.on('select2:unselecting', () => { hasRemoved = true; }); - select2.on('select2:opening', function (e) { + select2.on('select2:opening', (e) => { if(hasRemoved === true) { hasRemoved = false; e.preventDefault(); @@ -91,7 +91,7 @@ function ( } else if(this.props.item !== undefined && this.props.field.name !== undefined) { if (this.allowMultipleValues()) { if (Array.isArray(this.props.item[this.props.field.name])) { - return this.props.item[this.props.field.name].map(function (item) { + return this.props.item[this.props.field.name].map((item) => { return item.id; }); } diff --git a/assets/js/src/form/fields/textarea.jsx b/assets/js/src/form/fields/textarea.jsx index 146c4d0741..40ab1cbe8e 100644 --- a/assets/js/src/form/fields/textarea.jsx +++ b/assets/js/src/form/fields/textarea.jsx @@ -1,9 +1,9 @@ define([ 'react' ], -function ( +( React -) { +) => { var FormFieldTextarea = React.createClass({ render: function () { return ( diff --git a/assets/js/src/form/form.jsx b/assets/js/src/form/form.jsx index 9a3c4c6060..d01fabea2a 100644 --- a/assets/js/src/form/form.jsx +++ b/assets/js/src/form/form.jsx @@ -6,13 +6,13 @@ define( 'react-router', 'form/fields/field.jsx' ], - function ( + ( React, MailPoet, classNames, Router, FormField - ) { + ) => { var Form = React.createClass({ contextTypes: { @@ -98,15 +98,15 @@ define( // only get values from displayed fields var item = {}; - this.props.fields.map(function (field) { + this.props.fields.map((field) => { if(field['fields'] !== undefined) { - field.fields.map(function (subfield) { + field.fields.map((subfield) => { item[subfield.name] = this.state.item[subfield.name]; - }.bind(this)); + }); } else { item[field.name] = this.state.item[field.name]; } - }.bind(this)); + }); // set id if specified if(this.props.params.id !== undefined) { item.id = this.props.params.id; @@ -154,7 +154,7 @@ define( }, render: function () { if(this.getErrors() !== undefined) { - var errors = this.getErrors().map(function (error, index) { + var errors = this.getErrors().map((error, index) => { return (

{ error.message } @@ -179,7 +179,7 @@ define( afterFormContent = this.props.afterFormContent(this.getValues()); } - var fields = this.props.fields.map(function (field, i) { + var fields = this.props.fields.map((field, i) => { return ( ); - }.bind(this)); + }); var actions = false; if(this.props.children) { diff --git a/assets/js/src/forms/list.jsx b/assets/js/src/forms/list.jsx index a27d7a9800..69121aabaf 100644 --- a/assets/js/src/forms/list.jsx +++ b/assets/js/src/forms/list.jsx @@ -109,7 +109,7 @@ const item_actions = [ }).fail((response) => { if (response.errors.length > 0) { MailPoet.Notice.error( - response.errors.map(function (error) { return error.message; }), + response.errors.map((error) => { return error.message; }), { scroll: true } ); } @@ -132,7 +132,7 @@ const FormList = React.createClass({ }).fail((response) => { if (response.errors.length > 0) { MailPoet.Notice.error( - response.errors.map(function (error) { return error.message; }), + response.errors.map((error) => { return error.message; }), { scroll: true } ); } @@ -145,9 +145,9 @@ const FormList = React.createClass({ 'has-row-actions' ); - let segments = mailpoet_segments.filter(function (segment) { + let segments = mailpoet_segments.filter((segment) => { return (jQuery.inArray(segment.id, form.segments) !== -1); - }).map(function (segment) { + }).map((segment) => { return segment.name; }).join(', '); diff --git a/assets/js/src/listing/bulk_actions.jsx b/assets/js/src/listing/bulk_actions.jsx index f1182eda2c..c79619a56c 100644 --- a/assets/js/src/listing/bulk_actions.jsx +++ b/assets/js/src/listing/bulk_actions.jsx @@ -2,10 +2,10 @@ define([ 'react', 'mailpoet' ], -function ( +( React, MailPoet -) { +) => { var ListingBulkActions = React.createClass({ getInitialState: function () { return { @@ -17,7 +17,7 @@ function ( this.setState({ action: e.target.value, extra: false - }, function () { + }, () => { var action = this.getSelectedAction(); // action on select callback @@ -26,7 +26,7 @@ function ( extra: action.onSelect(e) }); } - }.bind(this)); + }); }, handleApplyAction: function (e) { e.preventDefault(); @@ -67,7 +67,7 @@ function ( getSelectedAction: function () { var selected_action = this.refs.action.value; if(selected_action.length > 0) { - var action = this.props.bulk_actions.filter(function (action) { + var action = this.props.bulk_actions.filter((action) => { return (action.name === selected_action); }); @@ -97,14 +97,14 @@ function ( onChange={this.handleChangeAction} > - { this.props.bulk_actions.map(function (action, index) { + { this.props.bulk_actions.map((action, index) => { return ( ); - }.bind(this)) } + }) } { var ListingFilters = React.createClass({ handleFilterAction: function () { let filters = {}; @@ -21,7 +21,7 @@ function ( }, getAvailableFilters: function () { let filters = this.props.filters; - return Object.keys(filters).filter(function (filter) { + return Object.keys(filters).filter((filter) => { return !( filters[filter].length === 0 || ( @@ -34,24 +34,24 @@ function ( render: function () { const filters = this.props.filters; const available_filters = this.getAvailableFilters() - .map(function (filter, i) { + .map((filter, i) => { return ( ); - }.bind(this)); + }); let button; diff --git a/assets/js/src/listing/groups.jsx b/assets/js/src/listing/groups.jsx index 0fff94f5b8..c776dee3cd 100644 --- a/assets/js/src/listing/groups.jsx +++ b/assets/js/src/listing/groups.jsx @@ -1,11 +1,11 @@ -define(['react', 'classnames'], function (React, classNames) { +define(['react', 'classnames'], (React, classNames) => { var ListingGroups = React.createClass({ handleSelect: function (group) { return this.props.onSelectGroup(group); }, render: function () { - var groups = this.props.groups.map(function (group, index) { + var groups = this.props.groups.map((group, index) => { if(group.name === 'trash' && group.count === 0) { return false; } @@ -25,7 +25,7 @@ define(['react', 'classnames'], function (React, classNames) { ); - }.bind(this)); + }); return (