From 32b95661d1a636ccf1d1666c6b3a7a2d93bac355 Mon Sep 17 00:00:00 2001
From: aglowinthefield <146008217+aglowinthefield@users.noreply.github.com>
Date: Mon, 8 Sep 2025 22:07:02 -0400
Subject: [PATCH 1/5] Add release MBID to release selector dropdown.
---
.../Form/AlbumReleaseSelectInputConnector.js | 21 ++++++++++---------
.../AlbumRelease/SelectAlbumReleaseRow.js | 7 ++++---
2 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
index 4433fac6e..a443f83ea 100644
--- a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
+++ b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
@@ -1,15 +1,15 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
-import React, { Component } from 'react';
-import { connect } from 'react-redux';
-import { createSelector } from 'reselect';
+import React, {Component} from 'react';
+import {connect} from 'react-redux';
+import {createSelector} from 'reselect';
import shortenList from 'Utilities/String/shortenList';
import titleCase from 'Utilities/String/titleCase';
import SelectInput from './SelectInput';
function createMapStateToProps() {
return createSelector(
- (state, { albumReleases }) => albumReleases,
+ (state, {albumReleases}) => albumReleases,
(albumReleases) => {
const values = _.map(albumReleases.value, (albumRelease) => {
@@ -29,13 +29,14 @@ function createMapStateToProps() {
`${disambiguation ? ' (' : ''}${titleCase(disambiguation)}${disambiguation ? ')' : ''}` +
`, ${mediumCount} med, ${trackCount} tracks` +
`${country && country.length > 0 ? `, ${shortenList(country)}` : ''}` +
- `${format ? `, [${format}]` : ''}`
+ `${format ? `, [${format}]` : ''}` +
+ `, ${foreignReleaseId.toString()}`
};
});
const sortedValues = _.orderBy(values, ['value']);
- const value = _.find(albumReleases.value, { monitored: true }).foreignReleaseId;
+ const value = _.find(albumReleases.value, {monitored: true}).foreignReleaseId;
return {
values: sortedValues,
@@ -50,15 +51,15 @@ class AlbumReleaseSelectInputConnector extends Component {
//
// Listeners
- onChange = ({ name, value }) => {
+ onChange = ({name, value}) => {
const {
albumReleases
} = this.props;
- const updatedReleases = _.map(albumReleases.value, (e) => ({ ...e, monitored: false }));
- _.find(updatedReleases, { foreignReleaseId: value }).monitored = true;
+ const updatedReleases = _.map(albumReleases.value, (e) => ({...e, monitored: false}));
+ _.find(updatedReleases, {foreignReleaseId: value}).monitored = true;
- this.props.onChange({ name, value: updatedReleases });
+ this.props.onChange({name, value: updatedReleases});
};
render() {
diff --git a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
index 26fa7282a..a2c88eb3e 100644
--- a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
+++ b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
@@ -1,6 +1,6 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
-import React, { Component } from 'react';
+import React, {Component} from 'react';
import SelectInput from 'Components/Form/SelectInput';
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableRow from 'Components/Table/TableRow';
@@ -12,7 +12,7 @@ class SelectAlbumReleaseRow extends Component {
//
// Listeners
- onInputChange = ({ name, value }) => {
+ onInputChange = ({name, value}) => {
this.props.onAlbumReleaseSelect(parseInt(name), parseInt(value));
};
@@ -64,7 +64,8 @@ class SelectAlbumReleaseRow extends Component {
`, ${r.mediumCount} med, ${r.trackCount} tracks` +
`${r.country.length > 0 ? ', ' : ''}${shortenList(r.country)}` +
`${r.format ? ', [' : ''}${r.format}${r.format ? ']' : ''}` +
- `${r.monitored ? ', Monitored' : ''}`
+ `${r.monitored ? ', Monitored' : ''}` +
+ `, ${r.id.toString()}`
}))}
value={matchedReleaseId}
onChange={this.onInputChange}
From b1b943d3a161f494c97654b35202d3d96eff00ed Mon Sep 17 00:00:00 2001
From: aglowinthefield <146008217+aglowinthefield@users.noreply.github.com>
Date: Mon, 8 Sep 2025 22:18:16 -0400
Subject: [PATCH 2/5] Eslint fixes
---
.../Form/AlbumReleaseSelectInputConnector.js | 18 +++++++++---------
.../AlbumRelease/SelectAlbumReleaseRow.js | 4 ++--
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
index a443f83ea..5cdd57545 100644
--- a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
+++ b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
@@ -1,15 +1,15 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
-import React, {Component} from 'react';
-import {connect} from 'react-redux';
-import {createSelector} from 'reselect';
+import React, { Component } from 'react';
+import { connect } from 'react-redux';
+import { createSelector } from 'reselect';
import shortenList from 'Utilities/String/shortenList';
import titleCase from 'Utilities/String/titleCase';
import SelectInput from './SelectInput';
function createMapStateToProps() {
return createSelector(
- (state, {albumReleases}) => albumReleases,
+ (state, { albumReleases }) => albumReleases,
(albumReleases) => {
const values = _.map(albumReleases.value, (albumRelease) => {
@@ -36,7 +36,7 @@ function createMapStateToProps() {
const sortedValues = _.orderBy(values, ['value']);
- const value = _.find(albumReleases.value, {monitored: true}).foreignReleaseId;
+ const value = _.find(albumReleases.value, { monitored: true }).foreignReleaseId;
return {
values: sortedValues,
@@ -51,15 +51,15 @@ class AlbumReleaseSelectInputConnector extends Component {
//
// Listeners
- onChange = ({name, value}) => {
+ onChange = ({ name, value }) => {
const {
albumReleases
} = this.props;
- const updatedReleases = _.map(albumReleases.value, (e) => ({...e, monitored: false}));
- _.find(updatedReleases, {foreignReleaseId: value}).monitored = true;
+ const updatedReleases = _.map(albumReleases.value, (e) => ({ ...e, monitored: false }));
+ _.find(updatedReleases, { foreignReleaseId: value }).monitored = true;
- this.props.onChange({name, value: updatedReleases});
+ this.props.onChange({ name, value: updatedReleases });
};
render() {
diff --git a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
index a2c88eb3e..e737145f5 100644
--- a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
+++ b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
@@ -1,6 +1,6 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
-import React, {Component} from 'react';
+import React, { Component } from 'react';
import SelectInput from 'Components/Form/SelectInput';
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableRow from 'Components/Table/TableRow';
@@ -12,7 +12,7 @@ class SelectAlbumReleaseRow extends Component {
//
// Listeners
- onInputChange = ({name, value}) => {
+ onInputChange = ({ name, value }) => {
this.props.onAlbumReleaseSelect(parseInt(name), parseInt(value));
};
From 3ac47f83ece07f06f6aa84be8db4f174ee77229d Mon Sep 17 00:00:00 2001
From: aglowinthefield <146008217+aglowinthefield@users.noreply.github.com>
Date: Tue, 9 Sep 2025 10:03:18 -0400
Subject: [PATCH 3/5] Shorten MBID for release and surround in brackets.
---
.../src/Components/Form/AlbumReleaseSelectInputConnector.js | 2 +-
.../src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
index 5cdd57545..fa8957213 100644
--- a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
+++ b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
@@ -30,7 +30,7 @@ function createMapStateToProps() {
`, ${mediumCount} med, ${trackCount} tracks` +
`${country && country.length > 0 ? `, ${shortenList(country)}` : ''}` +
`${format ? `, [${format}]` : ''}` +
- `, ${foreignReleaseId.toString()}`
+ `, [...${foreignReleaseId.toString().slice(-4)}]`
};
});
diff --git a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
index e737145f5..b18c09ddd 100644
--- a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
+++ b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
@@ -65,7 +65,7 @@ class SelectAlbumReleaseRow extends Component {
`${r.country.length > 0 ? ', ' : ''}${shortenList(r.country)}` +
`${r.format ? ', [' : ''}${r.format}${r.format ? ']' : ''}` +
`${r.monitored ? ', Monitored' : ''}` +
- `, ${r.id.toString()}`
+ `, [...${r.id.toString().slice(-4)}]`
}))}
value={matchedReleaseId}
onChange={this.onInputChange}
From f5b7a4036c9ebf2dd9ed1cf3af43c51c8fb4f397 Mon Sep 17 00:00:00 2001
From: aglowinthefield <146008217+aglowinthefield@users.noreply.github.com>
Date: Fri, 19 Sep 2025 10:31:20 -0400
Subject: [PATCH 4/5] Utilize hinted select for MBID
---
.../Components/Form/AlbumReleaseSelectInputConnector.js | 8 ++++----
.../AlbumRelease/SelectAlbumReleaseRow.js | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
index fa8957213..22a1cdc1d 100644
--- a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
+++ b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
@@ -5,7 +5,7 @@ import { connect } from 'react-redux';
import { createSelector } from 'reselect';
import shortenList from 'Utilities/String/shortenList';
import titleCase from 'Utilities/String/titleCase';
-import SelectInput from './SelectInput';
+import EnhancedSelectInput from './EnhancedSelectInput';
function createMapStateToProps() {
return createSelector(
@@ -29,8 +29,8 @@ function createMapStateToProps() {
`${disambiguation ? ' (' : ''}${titleCase(disambiguation)}${disambiguation ? ')' : ''}` +
`, ${mediumCount} med, ${trackCount} tracks` +
`${country && country.length > 0 ? `, ${shortenList(country)}` : ''}` +
- `${format ? `, [${format}]` : ''}` +
- `, [...${foreignReleaseId.toString().slice(-4)}]`
+ `${format ? `, [${format}]` : ''}`,
+ hint: `MBID: ${foreignReleaseId.toString().slice(0, 8)}`
};
});
@@ -65,7 +65,7 @@ class AlbumReleaseSelectInputConnector extends Component {
render() {
return (
-
diff --git a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
index b18c09ddd..12bb0b10e 100644
--- a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
+++ b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
@@ -1,7 +1,7 @@
import _ from 'lodash';
import PropTypes from 'prop-types';
import React, { Component } from 'react';
-import SelectInput from 'Components/Form/SelectInput';
+import EnhancedSelectInput from 'Components/Form/EnhancedSelectInput';
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableRow from 'Components/Table/TableRow';
import shortenList from 'Utilities/String/shortenList';
@@ -55,7 +55,7 @@ class SelectAlbumReleaseRow extends Component {
if (name === 'release') {
return (
- ({
key: r.id,
@@ -64,8 +64,8 @@ class SelectAlbumReleaseRow extends Component {
`, ${r.mediumCount} med, ${r.trackCount} tracks` +
`${r.country.length > 0 ? ', ' : ''}${shortenList(r.country)}` +
`${r.format ? ', [' : ''}${r.format}${r.format ? ']' : ''}` +
- `${r.monitored ? ', Monitored' : ''}` +
- `, [...${r.id.toString().slice(-4)}]`
+ `${r.monitored ? ', Monitored' : ''}`,
+ hint: `MBID: ${r.id.toString().slice(0, 8)}`
}))}
value={matchedReleaseId}
onChange={this.onInputChange}
From ce523d4466b5fa9d2117658591bf8d8c52d831c6 Mon Sep 17 00:00:00 2001
From: aglowinthefield <146008217+aglowinthefield@users.noreply.github.com>
Date: Fri, 19 Sep 2025 23:14:02 -0400
Subject: [PATCH 5/5] Add ... to signify prefix
---
.../src/Components/Form/AlbumReleaseSelectInputConnector.js | 2 +-
.../src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
index 22a1cdc1d..0d55eacfa 100644
--- a/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
+++ b/frontend/src/Components/Form/AlbumReleaseSelectInputConnector.js
@@ -30,7 +30,7 @@ function createMapStateToProps() {
`, ${mediumCount} med, ${trackCount} tracks` +
`${country && country.length > 0 ? `, ${shortenList(country)}` : ''}` +
`${format ? `, [${format}]` : ''}`,
- hint: `MBID: ${foreignReleaseId.toString().slice(0, 8)}`
+ hint: `MBID: ${foreignReleaseId.toString().slice(0, 8)}...`
};
});
diff --git a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
index 12bb0b10e..8dfaf3c96 100644
--- a/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
+++ b/frontend/src/InteractiveImport/AlbumRelease/SelectAlbumReleaseRow.js
@@ -65,7 +65,7 @@ class SelectAlbumReleaseRow extends Component {
`${r.country.length > 0 ? ', ' : ''}${shortenList(r.country)}` +
`${r.format ? ', [' : ''}${r.format}${r.format ? ']' : ''}` +
`${r.monitored ? ', Monitored' : ''}`,
- hint: `MBID: ${r.id.toString().slice(0, 8)}`
+ hint: `MBID: ${r.id.toString().slice(0, 8)}...`
}))}
value={matchedReleaseId}
onChange={this.onInputChange}