Search fully functional; Loading images properly, and dependent URIs
This commit is contained in:
@ -103765,6 +103765,20 @@ var DebugInfo = /*#__PURE__*/function (_React$Component) {
|
||||
_defineProperty(_assertThisInitialized(_this), "render", function () {
|
||||
var localStorageUsage = _this.localStorageSize();
|
||||
|
||||
var _this$props = _this.props,
|
||||
_this$props$core$item = _this$props.core.items,
|
||||
items = _this$props$core$item === void 0 ? {} : _this$props$core$item,
|
||||
_this$props$ui = _this$props.ui,
|
||||
_this$props$ui$notifi = _this$props$ui.notifications,
|
||||
notifications = _this$props$ui$notifi === void 0 ? {} : _this$props$ui$notifi,
|
||||
_this$props$ui$proces = _this$props$ui.processes,
|
||||
processes = _this$props$ui$proces === void 0 ? {} : _this$props$ui$proces,
|
||||
slim_mode = _this$props$ui.slim_mode,
|
||||
test_mode = _this$props$ui.test_mode,
|
||||
_this$props$ui$select = _this$props$ui.selected_tracks,
|
||||
selected_tracks = _this$props$ui$select === void 0 ? [] : _this$props$ui$select,
|
||||
_this$props$mopidy$en = _this$props.mopidy.enqueue_uris_batches,
|
||||
enqueue_uris_batches = _this$props$mopidy$en === void 0 ? [] : _this$props$mopidy$en;
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info",
|
||||
"data-qa-node": "div",
|
||||
@ -103792,47 +103806,27 @@ var DebugInfo = /*#__PURE__*/function (_React$Component) {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Items:", ' ', _this.props.core.items ? Object.keys(_this.props.core.items).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Items: ".concat(Object.keys(items).length)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Coldstore items:", ' ', _this.state.localForageLength), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Coldstore items: ".concat(_this.state.localForageLength)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Albums:", ' ', _this.props.core.albums ? Object.keys(_this.props.core.albums).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Notifications: ".concat(Object.keys(notifications).length)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Artists:", ' ', _this.props.core.artists ? Object.keys(_this.props.core.artists).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Processes: ".concat(Object.keys(processes).length)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Playlists:", ' ', _this.props.core.playlists ? Object.keys(_this.props.core.playlists).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Enqueue batches: ".concat(enqueue_uris_batches.length)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Tracks:", ' ', _this.props.core.tracks ? Object.keys(_this.props.core.tracks).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Users:", ' ', _this.props.core.users ? Object.keys(_this.props.core.users).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Notifications:", ' ', _this.props.ui.notifications ? Object.keys(_this.props.ui.notifications).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Processes:", ' ', _this.props.ui.processes ? Object.keys(_this.props.ui.processes).length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Enqueue batches:", ' ', _this.props.mopidy.enqueue_uris_batches ? _this.props.mopidy.enqueue_uris_batches.length : '0'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Cached URLs:", ' ', Object.keys(Object(_util_storage__WEBPACK_IMPORTED_MODULE_3__["get"])('cache')).length)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Cached URLs: ".concat(Object.keys(Object(_util_storage__WEBPACK_IMPORTED_MODULE_3__["get"])('cache')).length))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-section",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
@ -103843,26 +103837,26 @@ var DebugInfo = /*#__PURE__*/function (_React$Component) {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Slim mode:", ' ', _this.props.ui.slim_mode ? 'on' : 'off'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Slim mode: ".concat(slim_mode ? 'on' : 'off')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Test mode:", ' ', _this.props.ui.test_mode ? 'on' : 'off'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Test mode: ".concat(test_mode ? 'on' : 'off')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Touch:", ' ', Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["isTouchDevice"])() ? 'on' : 'off'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "Touch: ".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_4__["isTouchDevice"])() ? 'on' : 'off')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "LocalStorage usage:", ' ', localStorageUsage.used, "kb (~", localStorageUsage.percent, "%)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
}, "LocalStorage usage: ".concat(localStorageUsage.used, "kb (~").concat(localStorageUsage.percent, "%)")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
className: "debug-info-item",
|
||||
"data-qa-node": "div",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}, "Selected tracks:", ' ', _this.props.ui.selected_tracks.length, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", {
|
||||
}, "Selected tracks: ".concat(selected_tracks.length), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("br", {
|
||||
"data-qa-node": "br",
|
||||
"data-qa-file": "DebugInfo"
|
||||
}), _this.props.ui.selected_tracks.map(function (track_key, index) {
|
||||
}), selected_tracks.map(function (track_key, index) {
|
||||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
||||
key: "".concat(track_key, "_").concat(index),
|
||||
"data-qa-node": "div",
|
||||
@ -117784,7 +117778,7 @@ var ensureLoaded = function ensureLoaded(_ref) {
|
||||
var getDependentUris = function getDependentUris(parent) {
|
||||
if (!parent) return [];
|
||||
return [].concat(_toConsumableArray(dependents), _toConsumableArray(fullDependents)).reduce(function (acc, dependent) {
|
||||
return [].concat(_toConsumableArray(acc), _toConsumableArray(dependent.match(new RegExp('/(.*)_uri(.*)')) ? parent[dependent] : []));
|
||||
return [].concat(_toConsumableArray(acc), _toConsumableArray(dependent.match(new RegExp('(.*)_uri(.*)')) ? parent[dependent] : []));
|
||||
}, []);
|
||||
}; // Forced refetch bypasses everything
|
||||
|
||||
@ -117800,9 +117794,7 @@ var ensureLoaded = function ensureLoaded(_ref) {
|
||||
if (getMissingDependents(item).length === 0) {
|
||||
console.info("\"".concat(uri, "\" and all dependents already in index"));
|
||||
store.dispatch(uiActions.stopLoading(uri));
|
||||
getDependentUris(item).forEach(function (dependent) {
|
||||
return store.dispatch(coreActions.loadItems(item[dependent]));
|
||||
});
|
||||
coreActions.loadItems(getDependentUris(item));
|
||||
return;
|
||||
}
|
||||
} // What about in the coldstore?
|
||||
@ -118071,15 +118063,8 @@ var CoreMiddleware = function () {
|
||||
term: term,
|
||||
type: type
|
||||
}
|
||||
}, term === prevTerm && type === prevType ? allResults : {});
|
||||
}, term === prevTerm && type === prevType ? allResults : {}); // Merge our new results with the existing (if any)
|
||||
|
||||
console.log({
|
||||
term: term,
|
||||
type: type,
|
||||
prevTerm: prevTerm,
|
||||
prevType: prevType,
|
||||
allResults: allResults
|
||||
}); // Merge our new results with the existing (if any)
|
||||
|
||||
search_results[resultType] = [].concat(_toConsumableArray(search_results[resultType] || []), _toConsumableArray(results));
|
||||
next(_objectSpread(_objectSpread({}, action), {}, {
|
||||
@ -118092,115 +118077,93 @@ var CoreMiddleware = function () {
|
||||
location.reload();
|
||||
break;
|
||||
|
||||
/**
|
||||
* Playlist manipulation
|
||||
* */
|
||||
|
||||
case 'PLAYLIST_TRACKS':
|
||||
var playlist_tracks = Object(_util_format__WEBPACK_IMPORTED_MODULE_7__["formatTracks"])(action.tracks);
|
||||
store.dispatch({
|
||||
type: 'TRACKS_LOADED',
|
||||
tracks: playlist_tracks
|
||||
});
|
||||
next(_objectSpread(_objectSpread({}, action), {}, {
|
||||
tracks_uris: Object(_util_arrays__WEBPACK_IMPORTED_MODULE_4__["arrayOf"])('uri', playlist_tracks)
|
||||
}));
|
||||
break;
|
||||
|
||||
case 'PLAYLIST_TRACKS_ADDED':
|
||||
var asset = store.getState().core.playlists[action.key];
|
||||
store.dispatch(uiActions.createNotification({
|
||||
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "middleware"
|
||||
}, "Added ", action.tracks_uris.length, " tracks to ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
uri: action.key,
|
||||
"data-qa-node": "URILink",
|
||||
"data-qa-file": "middleware"
|
||||
}, asset ? asset.name : 'playlist'))
|
||||
}));
|
||||
{
|
||||
var key = action.key,
|
||||
tracks_uris = action.tracks_uris;
|
||||
|
||||
switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__["uriSource"])(action.key)) {
|
||||
case 'spotify':
|
||||
store.dispatch(spotifyActions.getPlaylist(action.key));
|
||||
break;
|
||||
var _store$getState5 = store.getState(),
|
||||
asset = _store$getState5.core.items[key];
|
||||
|
||||
case 'm3u':
|
||||
store.dispatch(mopidyActions.getPlaylist(action.key));
|
||||
break;
|
||||
store.dispatch(uiActions.createNotification({
|
||||
content: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
|
||||
"data-qa-node": "span",
|
||||
"data-qa-file": "middleware"
|
||||
}, "Added ", tracks_uris.length, " tracks to ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_URILink__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
||||
uri: key,
|
||||
"data-qa-node": "URILink",
|
||||
"data-qa-file": "middleware"
|
||||
}, asset ? asset.name : 'playlist'))
|
||||
}));
|
||||
|
||||
default:
|
||||
break;
|
||||
switch (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__["uriSource"])(key)) {
|
||||
case 'spotify':
|
||||
store.dispatch(spotifyActions.getPlaylist(key));
|
||||
break;
|
||||
|
||||
case 'm3u':
|
||||
store.dispatch(mopidyActions.getPlaylist(key));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
next(action);
|
||||
break;
|
||||
}
|
||||
|
||||
next(action);
|
||||
break;
|
||||
|
||||
case 'PLAYLIST_TRACKS_REORDERED':
|
||||
var playlists = _objectSpread({}, core.playlists);
|
||||
{
|
||||
var _key = action.key,
|
||||
snapshot_id = action.snapshot_id;
|
||||
var insert_before = action.insert_before;
|
||||
|
||||
var playlist = _objectSpread({}, playlists[action.key]);
|
||||
var playlist = _objectSpread({}, core.items[_key]);
|
||||
|
||||
var tracks_uris = Object.assign([], playlist.tracks_uris); // handle insert_before offset if we're moving BENEATH where we're slicing tracks
|
||||
var tracks = Object.assign([], playlist.tracks); // handle insert_before offset if we're moving BENEATH where we're slicing tracks
|
||||
|
||||
var insert_before = action.insert_before;
|
||||
|
||||
if (insert_before > action.range_start) {
|
||||
insert_before -= action.range_length;
|
||||
} // cut our moved tracks into a new array
|
||||
if (insert_before > action.range_start) {
|
||||
insert_before -= action.range_length;
|
||||
} // cut our moved tracks into a new array
|
||||
|
||||
|
||||
var tracks_to_move = tracks_uris.splice(action.range_start, action.range_length);
|
||||
tracks_to_move.reverse();
|
||||
var tracks_to_move = tracks.splice(action.range_start, action.range_length);
|
||||
tracks_to_move.reverse();
|
||||
|
||||
for (i = 0; i < tracks_to_move.length; i++) {
|
||||
tracks_uris.splice(insert_before, 0, tracks_to_move[i]);
|
||||
for (var i = 0; i < tracks_to_move.length; i++) {
|
||||
tracks.splice(insert_before, 0, tracks_to_move[i]);
|
||||
}
|
||||
|
||||
store.dispatch(coreActions.itemLoaded(_objectSpread(_objectSpread({}, playlist), {}, {
|
||||
tracks: tracks,
|
||||
snapshot_id: snapshot_id
|
||||
})));
|
||||
break;
|
||||
}
|
||||
|
||||
var snapshot_id = null;
|
||||
|
||||
if (action.snapshot_id) {
|
||||
snapshot_id = action.snapshot_id;
|
||||
} // Update our playlist
|
||||
|
||||
|
||||
playlist.tracks_uris = tracks_uris;
|
||||
playlist.snapshot_id = snapshot_id; // Trigger normal playlist updating
|
||||
|
||||
store.dispatch({
|
||||
type: 'PLAYLISTS_LOADED',
|
||||
playlists: [playlist]
|
||||
});
|
||||
break;
|
||||
|
||||
case 'PLAYLIST_TRACKS_REMOVED':
|
||||
var playlists = _objectSpread({}, core.playlists);
|
||||
{
|
||||
var _key2 = action.key,
|
||||
_snapshot_id = action.snapshot_id;
|
||||
|
||||
var playlist = _objectSpread({}, playlists[action.key]);
|
||||
var _playlist = _objectSpread({}, core.items[_key2]);
|
||||
|
||||
var tracks_uris = Object.assign([], playlist.tracks_uris);
|
||||
var indexes = action.tracks_indexes.reverse();
|
||||
var _tracks = Object.assign([], _playlist.tracks);
|
||||
|
||||
for (var i = 0; i < indexes.length; i++) {
|
||||
tracks_uris.splice(indexes[i], 1);
|
||||
var indexes = action.tracks_indexes.reverse();
|
||||
|
||||
for (var _i = 0; _i < indexes.length; _i++) {
|
||||
_tracks.splice(indexes[_i], 1);
|
||||
}
|
||||
|
||||
store.dispatch(coreActions.itemLoaded(_objectSpread(_objectSpread({}, _playlist), {}, {
|
||||
tracks: _tracks,
|
||||
snapshot_id: _snapshot_id
|
||||
})));
|
||||
break;
|
||||
}
|
||||
|
||||
var snapshot_id = null;
|
||||
|
||||
if (action.snapshot_id) {
|
||||
snapshot_id = action.snapshot_id;
|
||||
} // Update our playlist
|
||||
|
||||
|
||||
playlist.tracks_uris = tracks_uris;
|
||||
playlist.snapshot_id = snapshot_id; // Trigger normal playlist updating
|
||||
|
||||
store.dispatch({
|
||||
type: 'PLAYLISTS_LOADED',
|
||||
playlists: [playlist]
|
||||
});
|
||||
break;
|
||||
|
||||
/**
|
||||
* Asset Load commands
|
||||
*
|
||||
@ -122066,38 +122029,34 @@ var MopidyMiddleware = function () {
|
||||
type: query.type,
|
||||
term: query.term,
|
||||
requestType: type,
|
||||
uri_scheme: uri_scheme
|
||||
uri_scheme: uri_scheme,
|
||||
data: {
|
||||
uris: [uri_scheme]
|
||||
}
|
||||
};
|
||||
|
||||
switch (type) {
|
||||
case 'tracks':
|
||||
item.data = {
|
||||
query: {
|
||||
track_name: [query.term]
|
||||
},
|
||||
uris: [uri_scheme]
|
||||
item.data.query = {
|
||||
any: [query.term]
|
||||
};
|
||||
break;
|
||||
|
||||
case 'artists':
|
||||
item.data = {
|
||||
query: {
|
||||
artist: [query.term]
|
||||
},
|
||||
uris: [uri_scheme]
|
||||
item.data.query = {
|
||||
artist: [query.term]
|
||||
};
|
||||
break;
|
||||
|
||||
case 'albums':
|
||||
item.data = {
|
||||
query: {
|
||||
album: [query.term]
|
||||
},
|
||||
uris: [uri_scheme]
|
||||
item.data.query = {
|
||||
album: [query.term]
|
||||
};
|
||||
break;
|
||||
|
||||
case 'playlists':
|
||||
// Searching for playlists is not supported, so we get a simple
|
||||
// list of names and perform a client-side regex match
|
||||
item.method = 'playlists.asList';
|
||||
item.data = {};
|
||||
break;
|
||||
@ -122438,23 +122397,24 @@ var MopidyMiddleware = function () {
|
||||
break;
|
||||
|
||||
case 'MOPIDY_CURRENT_TRACK_LOADED':
|
||||
// Let the UI know we're finished transition
|
||||
store.dispatch(uiActions.setCurrentTrackTransition(false));
|
||||
var track = Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatTrack"])(action.tl_track);
|
||||
{
|
||||
store.dispatch(uiActions.setCurrentTrackTransition(false));
|
||||
var track = Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatTrack"])(action.tl_track);
|
||||
|
||||
if (track.uri) {
|
||||
store.dispatch({
|
||||
type: 'CURRENT_TRACK_LOADED',
|
||||
track: track,
|
||||
uri: track.uri
|
||||
});
|
||||
store.dispatch(coreActions.loadItem(track.uri, {
|
||||
full: true
|
||||
}));
|
||||
if (track.uri) {
|
||||
store.dispatch({
|
||||
type: 'CURRENT_TRACK_LOADED',
|
||||
track: track,
|
||||
uri: track.uri
|
||||
});
|
||||
store.dispatch(coreActions.loadItem(track.uri, {
|
||||
full: true
|
||||
}));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'MOPIDY_GET_NEXT_TRACK':
|
||||
request(store, 'tracklist.getNextTlid').then(function (response) {
|
||||
if (response && response >= 0) {
|
||||
@ -122480,8 +122440,10 @@ var MopidyMiddleware = function () {
|
||||
uris: action.uris
|
||||
}).then(function (_response) {
|
||||
if (!_response) return;
|
||||
var tracks = Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["indexToArray"])(_response);
|
||||
store.dispatch(coreActions.itemsLoaded(Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatTracks"])(tracks)));
|
||||
var tracks = Object(lodash__WEBPACK_IMPORTED_MODULE_3__["compact"])(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["indexToArray"])(_response).map(function (results) {
|
||||
return results.length ? Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatTrack"])(results[0]) : null;
|
||||
}));
|
||||
store.dispatch(coreActions.itemsLoaded(tracks));
|
||||
|
||||
if (action.get_images) {
|
||||
store.dispatch(mopidyActions.getImages(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_7__["arrayOf"])('uri', tracks)));
|
||||
@ -122513,41 +122475,40 @@ var MopidyMiddleware = function () {
|
||||
});
|
||||
break;
|
||||
|
||||
/**
|
||||
* =============================================================== IMAGES ===============
|
||||
* ======================================================================================
|
||||
* */
|
||||
|
||||
case 'MOPIDY_GET_IMAGES':
|
||||
if (action.uris) {
|
||||
request(store, 'library.getImages', {
|
||||
uris: action.uris
|
||||
}).then(function (response) {
|
||||
var itemsWithImages = [];
|
||||
Object.keys(response).forEach(function (uri) {
|
||||
var images = response[uri];
|
||||
{
|
||||
var _uris = action.uris;
|
||||
|
||||
if (images) {
|
||||
itemsWithImages.push({
|
||||
uri: uri,
|
||||
images: Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatImages"])(Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["digestMopidyImages"])(store.getState().mopidy, images))
|
||||
});
|
||||
} else {
|
||||
store.dispatch(lastfmActions.getImages(uri));
|
||||
if (action.uris) {
|
||||
request(store, 'library.getImages', {
|
||||
uris: _uris
|
||||
}).then(function (response) {
|
||||
var itemsWithImages = [];
|
||||
Object.keys(response).forEach(function (uri) {
|
||||
var images = response[uri];
|
||||
|
||||
if (images) {
|
||||
itemsWithImages.push({
|
||||
uri: uri,
|
||||
images: Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["formatImages"])(Object(_util_format__WEBPACK_IMPORTED_MODULE_6__["digestMopidyImages"])(store.getState().mopidy, images))
|
||||
});
|
||||
} else {
|
||||
store.dispatch(lastfmActions.getImages(uri));
|
||||
}
|
||||
|
||||
;
|
||||
});
|
||||
|
||||
if (itemsWithImages.length) {
|
||||
store.dispatch(coreActions.itemsLoaded(itemsWithImages));
|
||||
}
|
||||
|
||||
;
|
||||
});
|
||||
}
|
||||
|
||||
if (itemsWithImages.length) {
|
||||
store.dispatch(coreActions.itemsLoaded(itemsWithImages));
|
||||
}
|
||||
});
|
||||
next(action);
|
||||
break;
|
||||
}
|
||||
|
||||
next(action);
|
||||
break;
|
||||
|
||||
/**
|
||||
* =============================================================== LOCAL ================
|
||||
* ======================================================================================
|
||||
@ -126771,10 +126732,13 @@ var SpotifyMiddleware = function () {
|
||||
break;
|
||||
|
||||
case 'SPOTIFY_REMOVE_PLAYLIST_TRACKS':
|
||||
var playlist = _objectSpread({}, store.getState().core.playlists[action.key]);
|
||||
{
|
||||
var _ref = store.getState().core.items[action.key] || {},
|
||||
snapshot_id = _ref.snapshot_id;
|
||||
|
||||
store.dispatch(spotifyActions.deleteTracksFromPlaylist(playlist.uri, playlist.snapshot_id, action.tracks_indexes));
|
||||
break;
|
||||
store.dispatch(spotifyActions.deleteTracksFromPlaylist(action.key, snapshot_id, action.tracks_indexes));
|
||||
break;
|
||||
}
|
||||
|
||||
case 'SPOTIFY_ADD_PLAYLIST_TRACKS':
|
||||
store.dispatch(spotifyActions.addTracksToPlaylist(action.key, action.tracks_uris));
|
||||
@ -136892,7 +136856,7 @@ var Search = /*#__PURE__*/function (_React$Component) {
|
||||
});
|
||||
|
||||
_defineProperty(_assertThisInitialized(_this), "onSourceClose", function () {
|
||||
_this.search();
|
||||
_this.search(true);
|
||||
});
|
||||
|
||||
_defineProperty(_assertThisInitialized(_this), "digestUri", function () {
|
||||
@ -136922,37 +136886,28 @@ var Search = /*#__PURE__*/function (_React$Component) {
|
||||
});
|
||||
|
||||
_defineProperty(_assertThisInitialized(_this), "search", function () {
|
||||
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||
var _this$props3 = _this.props,
|
||||
startSearch = _this$props3.coreActions.startSearch,
|
||||
setWindowTitle = _this$props3.uiActions.setWindowTitle;
|
||||
setWindowTitle = _this$props3.uiActions.setWindowTitle,
|
||||
_this$props3$search_r = _this$props3.search_results_query,
|
||||
existingType = _this$props3$search_r.type,
|
||||
existingTerm = _this$props3$search_r.term;
|
||||
var _this$state2 = _this.state,
|
||||
type = _this$state2.type,
|
||||
term = _this$state2.term;
|
||||
setWindowTitle(Object(_locale__WEBPACK_IMPORTED_MODULE_20__["i18n"])('search.title_window', {
|
||||
term: decodeURIComponent(term)
|
||||
}));
|
||||
/**
|
||||
* TODO: Searches are being triggered when navigating to type subviews, despite already having
|
||||
* results. This might be a consequence of having providers merging their results into one array
|
||||
*/
|
||||
|
||||
if (type && term) {
|
||||
if (type && term && (force || existingType !== type || existingTerm !== term)) {
|
||||
startSearch({
|
||||
type: type,
|
||||
term: term
|
||||
});
|
||||
/*
|
||||
mopidyActions.getSearchResults(type, term);
|
||||
if (uri_schemes_search_enabled.includes('spotify:')) {
|
||||
spotifyActions.getSearchResults(type, term);
|
||||
}*/
|
||||
}
|
||||
});
|
||||
|
||||
_defineProperty(_assertThisInitialized(_this), "loadMore", function (type) {
|
||||
alert("load more: ".concat(type)); // this.props.spotifyActions.getURL(this.props['spotify_'+type+'_more'], 'SPOTIFY_SEARCH_RESULTS_LOADED_MORE_'+type.toUpperCase());
|
||||
});
|
||||
|
||||
_defineProperty(_assertThisInitialized(_this), "setSort", function (value) {
|
||||
var _this$props4 = _this.props,
|
||||
sort = _this$props4.sort,
|
||||
@ -137182,13 +137137,29 @@ var Search = /*#__PURE__*/function (_React$Component) {
|
||||
}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);
|
||||
|
||||
var mapStateToProps = function mapStateToProps(state, ownProps) {
|
||||
var _ownProps$match$param = ownProps.match.params,
|
||||
type = _ownProps$match$param.type,
|
||||
term = _ownProps$match$param.term;
|
||||
var _state$mopidy$uri_sch = state.mopidy.uri_schemes,
|
||||
uri_schemes = _state$mopidy$uri_sch === void 0 ? [] : _state$mopidy$uri_sch,
|
||||
_state$ui = state.ui,
|
||||
_state$ui$uri_schemes = _state$ui.uri_schemes_search_enabled,
|
||||
uri_schemes_search_enabled = _state$ui$uri_schemes === void 0 ? [] : _state$ui$uri_schemes,
|
||||
_state$ui$search_resu = _state$ui.search_results_sort,
|
||||
sort = _state$ui$search_resu === void 0 ? 'followers.total' : _state$ui$search_resu,
|
||||
search_results_sort_reverse = _state$ui.search_results_sort_reverse,
|
||||
_state$core$search_re = state.core.search_results;
|
||||
_state$core$search_re = _state$core$search_re === void 0 ? {} : _state$core$search_re;
|
||||
var _state$core$search_re2 = _state$core$search_re.query,
|
||||
search_results_query = _state$core$search_re2 === void 0 ? {} : _state$core$search_re2;
|
||||
return {
|
||||
type: ownProps.match.params.type,
|
||||
term: ownProps.match.params.term,
|
||||
uri_schemes_search_enabled: state.ui.uri_schemes_search_enabled || [],
|
||||
uri_schemes: state.mopidy.uri_schemes || [],
|
||||
sort: state.ui.search_results_sort || 'followers.total',
|
||||
sort_reverse: !!state.ui.search_results_sort_reverse
|
||||
type: type,
|
||||
term: term,
|
||||
uri_schemes: uri_schemes,
|
||||
uri_schemes_search_enabled: uri_schemes_search_enabled,
|
||||
sort: sort,
|
||||
sort_reverse: !!search_results_sort_reverse,
|
||||
search_results_query: search_results_query
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
12
mopidy_iris/static/app.min.js
vendored
12
mopidy_iris/static/app.min.js
vendored
File diff suppressed because one or more lines are too long
@ -106,7 +106,7 @@
|
||||
|
||||
// Release details
|
||||
// These are automatically injected to built HTML
|
||||
var build = "1602614727";
|
||||
var build = "1602663216";
|
||||
var version = "3.53.0";
|
||||
|
||||
// Construct the script tag
|
||||
|
||||
Reference in New Issue
Block a user