diff --git a/src/js/components/Track.js b/src/js/components/Track.js
index 9b56755d..112631b3 100755
--- a/src/js/components/Track.js
+++ b/src/js/components/Track.js
@@ -224,7 +224,7 @@ export default class Track extends React.Component{
)
track_columns.push(
- {track.duration ? : null}
+ {track.duration ? : '-'}
)
}
diff --git a/src/js/services/mopidy/middleware.js b/src/js/services/mopidy/middleware.js
index 4093ba8f..f42bd535 100755
--- a/src/js/services/mopidy/middleware.js
+++ b/src/js/services/mopidy/middleware.js
@@ -838,7 +838,7 @@ const MopidyMiddleware = (function(){
store.dispatch({
type: 'MOPIDY_SEARCH_RESULTS_LOADED',
context: action.data.context,
- results: tracks
+ results: helpers.formatTracks(tracks)
});
}
continue_process();
@@ -873,7 +873,7 @@ const MopidyMiddleware = (function(){
store.dispatch({
type: 'MOPIDY_SEARCH_RESULTS_LOADED',
context: 'tracks',
- results: tracks
+ results: helpers.formatTracks(tracks)
});
}
diff --git a/src/js/services/spotify/actions.js b/src/js/services/spotify/actions.js
index f2783b86..b85a797d 100755
--- a/src/js/services/spotify/actions.js
+++ b/src/js/services/spotify/actions.js
@@ -565,7 +565,7 @@ export function getSearchResults(type, query, limit = 50, offset = 0){
dispatch({
type: 'SPOTIFY_SEARCH_RESULTS_LOADED',
context: 'tracks',
- results: response.tracks.items,
+ results: helpers.formatTracks(response.tracks.items),
more: response.tracks.next,
});
}
diff --git a/src/js/services/spotify/middleware.js b/src/js/services/spotify/middleware.js
index e55496a9..4c9f5ea5 100755
--- a/src/js/services/spotify/middleware.js
+++ b/src/js/services/spotify/middleware.js
@@ -359,7 +359,7 @@ const SpotifyMiddleware = (function(){
store.dispatch({
type: 'SPOTIFY_SEARCH_RESULTS_LOADED',
context: 'tracks',
- results: action.data.tracks.items,
+ results: helpers.formatTracks(action.data.tracks.items),
more: action.data.tracks.next
});
break
diff --git a/src/js/views/Search.js b/src/js/views/Search.js
index 62aa0547..bb29d868 100755
--- a/src/js/views/Search.js
+++ b/src/js/views/Search.js
@@ -73,6 +73,17 @@ class Search extends React.Component{
//this.props.spotifyActions.getURL(this.props['spotify_'+type+'_more'], 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_'+type.toUpperCase());
}
+ setSort(value){
+ var reverse = false
+ if (this.props.sort == value ) reverse = !this.props.sort_reverse
+
+ var data = {
+ search_results_sort_reverse: reverse,
+ search_results_sort: value
+ }
+ this.props.uiActions.set(data)
+ }
+
renderResults(){
var spotify_search_enabled = (this.props.search_settings && this.props.search_settings.spotify)
@@ -83,14 +94,16 @@ class Search extends React.Component{
if (this.props.spotify_search_results.artists){
artists = [...artists, ...helpers.getIndexedRecords(this.props.artists,this.props.spotify_search_results.artists)]
}
+ artists = helpers.sortItems(artists, this.props.sort, this.props.sort_reverse);
var albums = []
if (this.props.mopidy_search_results.albums){
- albums = [...albums, ...helpers.getIndexedRecords(this.props.albums,this.props.mopidy_search_results.albums)]
+ albums = [...albums, ...helpers.getIndexedRecords(this.props.albums,this.props.mopidy_search_results.albums)];
}
if (this.props.spotify_search_results.albums){
albums = [...albums, ...helpers.getIndexedRecords(this.props.albums,this.props.spotify_search_results.albums)]
- }
+ }
+ albums = helpers.sortItems(albums, this.props.sort, this.props.sort_reverse);
var playlists = []
if (this.props.mopidy_search_results.playlists){
@@ -99,6 +112,7 @@ class Search extends React.Component{
if (this.props.spotify_search_results.playlists){
playlists = [...playlists, ...helpers.getIndexedRecords(this.props.playlists,this.props.spotify_search_results.playlists)]
}
+ playlists = helpers.sortItems(playlists, this.props.sort, this.props.sort_reverse);
var tracks = []
if (this.props.mopidy_search_results.tracks){
@@ -107,6 +121,7 @@ class Search extends React.Component{
if (this.props.spotify_search_results.tracks){
tracks = [...tracks, ...this.props.spotify_search_results.tracks]
}
+ tracks = helpers.sortItems(tracks, this.props.sort, this.props.sort_reverse);
switch (this.props.view){
@@ -244,8 +259,28 @@ class Search extends React.Component{
}
]
+ var sort_options = [
+ {
+ value: 'name',
+ label: 'Name'
+ },
+ {
+ value: 'artists.name',
+ label: 'Artist'
+ },
+ {
+ value: 'duration',
+ label: 'Duration'
+ },
+ {
+ value: 'source',
+ label: 'Source'
+ }
+ ]
+
var options = (
+ {this.setSort(val); this.props.uiActions.hideContextMenu() }} />
{this.props.uiActions.set({ search_view: val }); this.props.uiActions.hideContextMenu() }} />