Removing 'Date added', only available on some playlists; getPlaylistTracks split out
This commit is contained in:
@ -125352,7 +125352,7 @@ function reducer() {
|
||||
/*!********************************************!*\
|
||||
!*** ./src/js/services/spotify/actions.js ***!
|
||||
\********************************************/
|
||||
/*! exports provided: set, connect, authorizationGranted, revokeAuthorization, refreshingToken, tokenChanged, importAuthorization, getMe, getTrack, getFeaturedPlaylists, getCategories, getCategory, getNewReleases, getURL, getMore, getSearchResults, getAutocompleteResults, clearAutocompleteResults, following, resolveRadioSeeds, getRecommendations, getGenres, getArtist, getArtistImages, playArtistTopTracks, getUser, getAlbum, createPlaylist, savePlaylist, getPlaylist, addTracksToPlaylist, deleteTracksFromPlaylist, reorderPlaylistTracks, flushLibrary, getLibraryPlaylists, getLibraryAlbums, getLibraryArtists, getLibraryTracks */
|
||||
/*! exports provided: set, connect, authorizationGranted, revokeAuthorization, refreshingToken, tokenChanged, importAuthorization, getMe, getTrack, getFeaturedPlaylists, getCategories, getCategory, getNewReleases, getURL, getMore, getSearchResults, getAutocompleteResults, clearAutocompleteResults, following, resolveRadioSeeds, getRecommendations, getGenres, getArtist, getArtistImages, playArtistTopTracks, getUser, getAlbum, createPlaylist, savePlaylist, getPlaylistTracks, getPlaylist, addTracksToPlaylist, deleteTracksFromPlaylist, reorderPlaylistTracks, flushLibrary, getLibraryPlaylists, getLibraryAlbums, getLibraryArtists, getLibraryTracks */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
@ -125386,6 +125386,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAlbum", function() { return getAlbum; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPlaylist", function() { return createPlaylist; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "savePlaylist", function() { return savePlaylist; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPlaylistTracks", function() { return getPlaylistTracks; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPlaylist", function() { return getPlaylist; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addTracksToPlaylist", function() { return addTracksToPlaylist; });
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deleteTracksFromPlaylist", function() { return deleteTracksFromPlaylist; });
|
||||
@ -126551,12 +126552,54 @@ function savePlaylist(uri, name, description, is_public, is_collaborative, image
|
||||
});
|
||||
};
|
||||
}
|
||||
function getPlaylist(uri) {
|
||||
function getPlaylistTracks(uri) {
|
||||
var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
||||
full = _ref7.full,
|
||||
forceRefetch = _ref7.forceRefetch,
|
||||
callbackAction = _ref7.callbackAction;
|
||||
|
||||
return function (dispatch, getState) {
|
||||
var initialEndpoint = "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri), "/tracks");
|
||||
initialEndpoint += "?market=".concat(getState().spotify.country);
|
||||
if (forceRefetch) initialEndpoint += "&refetch=".concat(Date.now());
|
||||
var tracks = [];
|
||||
|
||||
var fetchTracks = function fetchTracks(endpoint) {
|
||||
return request(dispatch, getState, endpoint).then(function (response) {
|
||||
tracks = [].concat(_toConsumableArray(tracks), _toConsumableArray(Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatTracks"])(response.items)));
|
||||
|
||||
if (response.next) {
|
||||
fetchTracks(response.next);
|
||||
} else {
|
||||
dispatch(coreActions.itemLoaded({
|
||||
uri: uri,
|
||||
tracks: Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["injectSortId"])(tracks) // only inject sort_id when we've loaded them all
|
||||
|
||||
}));
|
||||
|
||||
if (callbackAction) {
|
||||
switch (callbackAction.name) {
|
||||
case 'enqueue':
|
||||
dispatch(mopidyActions.enqueueURIs(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', tracks), uri, callbackAction.play_next, callbackAction.at_position, callbackAction.offset));
|
||||
break;
|
||||
|
||||
case 'play':
|
||||
dispatch(mopidyActions.playURIs(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', tracks), uri, callbackAction.shuffle));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
fetchTracks(initialEndpoint);
|
||||
};
|
||||
}
|
||||
function getPlaylist(uri, options) {
|
||||
var full = options.full,
|
||||
forceRefetch = options.forceRefetch;
|
||||
return function (dispatch, getState) {
|
||||
var endpoint = "playlists/".concat(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__["getFromUri"])('playlistid', uri));
|
||||
endpoint += "?market=".concat(getState().spotify.country);
|
||||
@ -126567,8 +126610,6 @@ function getPlaylist(uri) {
|
||||
// 3. Update process as tracks are loaded and enqueue occurs
|
||||
|
||||
request(dispatch, getState, endpoint).then(function (response) {
|
||||
var tracks = Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["injectSortId"])(Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatTracks"])(response.tracks.items)); // convert links in description
|
||||
|
||||
var description = null;
|
||||
|
||||
if (response.description) {
|
||||
@ -126580,45 +126621,15 @@ function getPlaylist(uri) {
|
||||
|
||||
dispatch(coreActions.itemLoaded(_objectSpread(_objectSpread({}, Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatPlaylist"])(response)), {}, {
|
||||
can_edit: getState().spotify.me && getState().spotify.me.id === response.owner.id,
|
||||
description: description
|
||||
}, full ? {} : {
|
||||
description: description,
|
||||
// Remove tracks. They're handed by another query which allows our detector
|
||||
// to accurately identify whether we've loaded *ALL* the tracks. Without this, it
|
||||
// doesn't know if we've loaded all tracks, or just the first page.
|
||||
tracks: null
|
||||
})));
|
||||
|
||||
if (full) {
|
||||
var fetchTracks = function fetchTracks(endpoint) {
|
||||
return request(dispatch, getState, endpoint).then(function (response) {
|
||||
tracks = [].concat(_toConsumableArray(tracks), _toConsumableArray(Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["formatTracks"])(response.items)));
|
||||
|
||||
if (response.next) {
|
||||
fetchTracks(response.next);
|
||||
} else {
|
||||
dispatch(coreActions.itemLoaded({
|
||||
uri: uri,
|
||||
tracks: Object(_util_format__WEBPACK_IMPORTED_MODULE_3__["injectSortId"])(tracks)
|
||||
}));
|
||||
|
||||
if (callbackAction) {
|
||||
switch (callbackAction.name) {
|
||||
case 'enqueue':
|
||||
dispatch(mopidyActions.enqueueURIs(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', tracks), uri, callbackAction.play_next, callbackAction.at_position, callbackAction.offset));
|
||||
break;
|
||||
|
||||
case 'play':
|
||||
dispatch(mopidyActions.playURIs(Object(_util_arrays__WEBPACK_IMPORTED_MODULE_1__["arrayOf"])('uri', tracks), uri, callbackAction.shuffle));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (response.tracks.next) {
|
||||
fetchTracks(response.tracks.next);
|
||||
}
|
||||
dispatch(getPlaylistTracks(uri, options));
|
||||
}
|
||||
|
||||
;
|
||||
@ -136182,9 +136193,6 @@ var Playlist = /*#__PURE__*/function (_React$Component) {
|
||||
var sort_options = [{
|
||||
value: 'sort_id',
|
||||
label: Object(_locale__WEBPACK_IMPORTED_MODULE_23__["i18n"])('playlist.tracks.sort.sort_id')
|
||||
}, {
|
||||
value: 'added_at',
|
||||
label: Object(_locale__WEBPACK_IMPORTED_MODULE_23__["i18n"])('playlist.tracks.sort.added_at')
|
||||
}, {
|
||||
value: 'name',
|
||||
label: Object(_locale__WEBPACK_IMPORTED_MODULE_23__["i18n"])('playlist.tracks.sort.name')
|
||||
|
||||
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 = "1604908894";
|
||||
var build = "1605078452";
|
||||
var version = "3.54.0";
|
||||
|
||||
// Construct the script tag
|
||||
|
||||
Reference in New Issue
Block a user