1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-24 22:36:19 -04:00

Don't mutate state when sorting items

This commit is contained in:
ta264
2020-02-19 21:44:36 +00:00
committed by Mark McDowall
parent dd8d1b673e
commit 283f905d79
16 changed files with 52 additions and 48 deletions
@@ -1,6 +1,5 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import sortByName from 'Utilities/Array/sortByName';
import { icons } from 'Helpers/Props';
import FieldSet from 'Components/FieldSet';
import Card from 'Components/Card';
@@ -59,7 +58,7 @@ class LanguageProfiles extends Component {
>
<div className={styles.languageProfiles}>
{
items.sort(sortByName).map((item) => {
items.map((item) => {
return (
<LanguageProfile
key={item.id}
@@ -2,13 +2,15 @@ import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import sortByName from 'Utilities/Array/sortByName';
import createSortedSectionSelector from 'Store/Selectors/createSortedSectionSelector';
import { fetchLanguageProfiles, deleteLanguageProfile, cloneLanguageProfile } from 'Store/Actions/settingsActions';
import LanguageProfiles from './LanguageProfiles';
function createMapStateToProps() {
return createSelector(
(state) => state.settings.advancedSettings,
(state) => state.settings.languageProfiles,
createSortedSectionSelector('settings.languageProfiles', sortByName),
(advancedSettings, languageProfiles) => {
return {
advancedSettings,
@@ -1,6 +1,5 @@
import PropTypes from 'prop-types';
import React, { Component } from 'react';
import sortByName from 'Utilities/Array/sortByName';
import { icons } from 'Helpers/Props';
import FieldSet from 'Components/FieldSet';
import Card from 'Components/Card';
@@ -59,7 +58,7 @@ class QualityProfiles extends Component {
>
<div className={styles.qualityProfiles}>
{
items.sort(sortByName).map((item) => {
items.map((item) => {
return (
<QualityProfile
key={item.id}
@@ -2,17 +2,15 @@ import PropTypes from 'prop-types';
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import sortByName from 'Utilities/Array/sortByName';
import createSortedSectionSelector from 'Store/Selectors/createSortedSectionSelector';
import { fetchQualityProfiles, deleteQualityProfile, cloneQualityProfile } from 'Store/Actions/settingsActions';
import QualityProfiles from './QualityProfiles';
function createMapStateToProps() {
return createSelector(
(state) => state.settings.qualityProfiles,
(qualityProfiles) => {
return {
...qualityProfiles
};
}
createSortedSectionSelector('settings.qualityProfiles', sortByName),
(qualityProfiles) => qualityProfiles
);
}