New: Release Profiles, Frontend updates (#580)

* New: Release Profiles - UI Updates

* New: Release Profiles - API Changes

* New: Release Profiles - Test Updates

* New: Release Profiles - Backend Updates

* New: Interactive Artist Search

* New: Change Montiored on Album Details Page

* New: Show Duration on Album Details Page

* Fixed: Manual Import not working if no albums are Missing

* Fixed: Sort search input by sortTitle

* Fixed: Queue columnLabel throwing JS error
This commit is contained in:
Qstick 2019-02-23 17:39:11 -05:00 committed by GitHub
parent f126eafd26
commit 3f064c94b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
409 changed files with 6882 additions and 3176 deletions

View file

@ -91,8 +91,8 @@ class ArtistSearchInput extends Component {
//
// Listeners
onChange = (event, { newValue }) => {
if (!newValue) {
onChange = (event, { newValue, method }) => {
if (method === 'up' || method === 'down') {
return;
}
@ -117,6 +117,7 @@ class ArtistSearchInput extends Component {
if (!suggestions.length || highlightedSectionIndex && (event.key !== 'ArrowDown' || event.key !== 'ArrowUp')) {
this.props.onGoToAddNewArtist(value);
this._autosuggest.input.blur();
this.reset();
return;
}
@ -129,6 +130,9 @@ class ArtistSearchInput extends Component {
} else {
this.goToArtist(suggestions[highlightedSuggestionIndex]);
}
this._autosuggest.input.blur();
this.reset();
}
onBlur = () => {
@ -142,9 +146,15 @@ class ArtistSearchInput extends Component {
// Check the title first and if there isn't a match fallback to
// the alternate titles and finally the tags.
if (value.length === 1) {
return (
artist.cleanName.startsWith(lowerCaseValue) ||
artist.tags.some((tag) => tag.cleanLabel.startsWith(lowerCaseValue))
);
}
return (
artist.cleanName.contains(lowerCaseValue) ||
// artist.alternateTitles.some((alternateTitle) => alternateTitle.cleanTitle.contains(lowerCaseValue)) ||
artist.tags.some((tag) => tag.cleanLabel.contains(lowerCaseValue))
);
});
@ -153,7 +163,9 @@ class ArtistSearchInput extends Component {
}
onSuggestionsClearRequested = () => {
this.reset();
this.setState({
suggestions: []
});
}
onSuggestionSelected = (event, { suggestion }) => {