From 28c15f937d77fec18b3a6b53484da9a66729dd71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pauli=20J=C3=A4rvinen?= Date: Sun, 8 Jan 2023 14:35:28 +0200 Subject: [PATCH] JS: Use the function argument default values where appropriate Previously, we we simulating this using optional arguments and applying default values within the function body. ES6 provides this more natural and concise syntax for the same. --- js/app/controllers/maincontroller.js | 21 ++++++------------- js/app/controllers/playercontroller.js | 15 +++++++------ .../views/alltracksviewcontroller.js | 4 ++-- .../views/foldersviewcontroller.js | 6 +++--- .../controllers/views/genresviewcontroller.js | 6 +++--- .../views/playlistviewcontroller.js | 4 ++-- .../views/podcastsviewcontroller.js | 6 +++--- .../controllers/views/radioviewcontroller.js | 4 ++-- js/app/directives/albumart.js | 6 +++--- js/app/directives/inviewobserver.js | 8 +++---- js/app/directives/tracklist.js | 4 ++-- js/app/services/inviewservice.js | 7 ++----- js/app/services/libraryservice.js | 18 +++++++--------- js/app/services/playlistfileservice.js | 10 ++++----- js/app/services/playlistservice.js | 6 +++--- js/embedded/embeddedplayer.js | 10 ++++----- js/embedded/main.js | 2 +- js/embedded/playlistfileservice.js | 2 +- js/shared/gaplessplayer.js | 6 +++--- js/shared/playerwrapper.js | 9 +++----- 20 files changed, 68 insertions(+), 86 deletions(-) diff --git a/js/app/controllers/maincontroller.js b/js/app/controllers/maincontroller.js index f7319e73c..5636e6280 100644 --- a/js/app/controllers/maincontroller.js +++ b/js/app/controllers/maincontroller.js @@ -263,7 +263,7 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, }); } - $scope.startScanning = function(fileIds /*optional*/) { + $scope.startScanning = function(fileIds = null) { if (fileIds) { filesToScan = fileIds; previouslyScannedCount = 0; @@ -356,14 +356,11 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, return offset; } - $scope.scrollToItem = function(itemId, animationTime /* optional */) { + $scope.scrollToItem = function(itemId, animationTime = 500) { if (itemId) { let container = OCA.Music.Utils.getScrollContainer(); let element = $('#' + itemId); if (container && element) { - if (animationTime === undefined) { - animationTime = 500; - } container.scrollToElement(element, scrollOffset(), animationTime); } } @@ -376,12 +373,12 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, // Navigate to a view selected from the navigation bar let navigationDestination = null; let afterNavigationCallback = null; - $scope.navigateTo = function(destination, callback /*optional*/) { + $scope.navigateTo = function(destination, callback = null) { let curView = $rootScope.currentView; if (curView != destination) { $rootScope.currentView = null; navigationDestination = destination; - afterNavigationCallback = callback || null; + afterNavigationCallback = callback; $rootScope.loading = true; // Deactivate the current view. The view emits 'viewDeactivated' once that is done. // In the abnormal special case of no active view, activate the new view immediately. @@ -402,10 +399,7 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, // Compact/normal layout of the Albums view $scope.albumsCompactLayout = (localStorage.getItem('oc_music_albums_compact') === 'true'); - $scope.toggleAlbumsCompactLayout = function(useCompact /*optional, invert current value if omitted */) { - if (typeof useCompact === 'undefined') { - useCompact = !$scope.albumsCompactLayout; - } + $scope.toggleAlbumsCompactLayout = function(useCompact = !$scope.albumsCompactLayout) { $scope.albumsCompactLayout = useCompact; $('#albums').toggleClass('compact', useCompact); $rootScope.$emit('albumsLayoutChanged'); @@ -418,10 +412,7 @@ function ($rootScope, $scope, $timeout, $window, $document, ArtistFactory, // Flat/tree layout of the Folders view $scope.foldersFlatLayout = (localStorage.getItem('oc_music_folders_flat') === 'true'); - $scope.toggleFoldersFlatLayout = function(useFlat /*optional, invert current value if omitted */) { - if (typeof useFlat === 'undefined') { - useFlat = !$scope.foldersFlatLayout; - } + $scope.toggleFoldersFlatLayout = function(useFlat = !$scope.foldersFlatLayout) { $scope.foldersFlatLayout = useFlat; $rootScope.$emit('foldersLayoutChanged'); diff --git a/js/app/controllers/playercontroller.js b/js/app/controllers/playercontroller.js index 5ac68c9d5..3d0fbfafe 100644 --- a/js/app/controllers/playercontroller.js +++ b/js/app/controllers/playercontroller.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright Morris Jobke 2013 - * @copyright Pauli Järvinen 2017 - 2022 + * @copyright Pauli Järvinen 2017 - 2023 */ import radioIconPath from '../../../img/radio-file.svg'; @@ -208,8 +208,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula } } - function getRadioTitle(radioTrack, failCounter /*optional, internal*/) { - failCounter = failCounter || 0; + function getRadioTitle(radioTrack, failCounter = 0 /*internal*/) { abortRadioTitleFetch = $q.defer(); const config = {timeout: abortRadioTitleFetch.promise}; const metaType = radioTrack.metadata?.type; // request the same metadata type as previously got (if any) @@ -259,7 +258,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula return null; } - function setCurrentTrack(playlistEntry, startOffset /*optional*/, gapless /*optional*/) { + function setCurrentTrack(playlistEntry, startOffset = 0, gapless = false) { let track = playlistEntry ? playlistEntry.track : null; if (track !== null) { @@ -276,7 +275,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula $scope.shiftHeldDown = false; } - function playCurrentTrack(startOffset /*optional*/) { + function playCurrentTrack(startOffset = 0) { // the playback may have been stopped and currentTrack vanished during the debounce time if ($scope.currentTrack) { if ($scope.currentTrack.type === 'radio') { @@ -318,7 +317,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula */ let debouncedPlayCurrentTrack = _.debounce(playCurrentTrack, 300); - function playTrack(track, startOffset /*optional*/, gapless /*optional*/) { + function playTrack(track, startOffset = 0, gapless = false) { $scope.currentTrack = track; // Don't indicate support for seeking before we actually know its status for the new track. @@ -509,7 +508,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula $timeout(() => $scope.playPauseContextMenuVisible = false); }); - $scope.next = function(startOffset /*optional*/, gapless /*optional*/) { + $scope.next = function(startOffset = 0, gapless = false) { let entry = playlistService.jumpToNextTrack(); // For ordinary tracks, skip the tracks with unsupported MIME types. @@ -613,7 +612,7 @@ function ($scope, $rootScope, playlistService, Audio, gettextCatalog, Restangula $scope.seekForward = $scope.player.seekForward; - playlistService.subscribe('play', function(_event, _playingView /*optional, ignored*/, startOffset /*optional*/) { + playlistService.subscribe('play', function(_event, _playingView = null, startOffset = 0) { $scope.next(startOffset); /* fetch track and start playing*/ }); diff --git a/js/app/controllers/views/alltracksviewcontroller.js b/js/app/controllers/views/alltracksviewcontroller.js index 96f0e4823..31dbc97ac 100644 --- a/js/app/controllers/views/alltracksviewcontroller.js +++ b/js/app/controllers/views/alltracksviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2018 - 2022 + * @copyright Pauli Järvinen 2018 - 2023 */ @@ -35,7 +35,7 @@ angular.module('Music').controller('AllTracksViewController', [ _.each(_unsubFuncs, function(func) { func(); }); }); - function play(startIndex /*optional*/) { + function play(startIndex = 0) { playlistService.setPlaylist('alltracks', _tracks, startIndex); playlistService.publish('play'); } diff --git a/js/app/controllers/views/foldersviewcontroller.js b/js/app/controllers/views/foldersviewcontroller.js index d846c8f84..3121351a3 100644 --- a/js/app/controllers/views/foldersviewcontroller.js +++ b/js/app/controllers/views/foldersviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2019 - 2022 + * @copyright Pauli Järvinen 2019 - 2023 */ @@ -30,10 +30,10 @@ angular.module('Music').controller('FoldersViewController', [ unsubFuncs.push( $rootScope.$on(event, handler) ); } - function playPlaylist(listId, tracks, startFromTrackId /*optional*/) { + function playPlaylist(listId, tracks, startFromTrackId = undefined) { let startIndex = null; if (startFromTrackId !== undefined) { - startIndex = _.findIndex(tracks, function(i) {return i.track.id == startFromTrackId;}); + startIndex = _.findIndex(tracks, (i) => i.track.id == startFromTrackId); } playlistService.setPlaylist(listId, tracks, startIndex); playlistService.publish('play'); diff --git a/js/app/controllers/views/genresviewcontroller.js b/js/app/controllers/views/genresviewcontroller.js index aacca3590..0de944dc4 100644 --- a/js/app/controllers/views/genresviewcontroller.js +++ b/js/app/controllers/views/genresviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2020, 2021 + * @copyright Pauli Järvinen 2020 - 2023 */ @@ -34,10 +34,10 @@ angular.module('Music').controller('GenresViewController', [ $scope.$parent.filesWithUnscannedGenre = null; }; - function playPlaylist(listId, tracks, startFromTrackId /*optional*/) { + function playPlaylist(listId, tracks, startFromTrackId = undefined) { let startIndex = null; if (startFromTrackId !== undefined) { - startIndex = _.findIndex(tracks, function(i) {return i.track.id == startFromTrackId;}); + startIndex = _.findIndex(tracks, (i) => i.track.id == startFromTrackId); } playlistService.setPlaylist(listId, tracks, startIndex); playlistService.publish('play'); diff --git a/js/app/controllers/views/playlistviewcontroller.js b/js/app/controllers/views/playlistviewcontroller.js index 5a2b76511..ed379f75a 100644 --- a/js/app/controllers/views/playlistviewcontroller.js +++ b/js/app/controllers/views/playlistviewcontroller.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright Morris Jobke 2013 - * @copyright Pauli Järvinen 2017 - 2021 + * @copyright Pauli Järvinen 2017 - 2023 */ @@ -58,7 +58,7 @@ angular.module('Music').controller('PlaylistViewController', [ }); }; - function play(startIndex /*optional*/) { + function play(startIndex = 0) { let id = 'playlist-' + $scope.playlist.id; playlistService.setPlaylist(id, $scope.tracks, startIndex); playlistService.publish('play'); diff --git a/js/app/controllers/views/podcastsviewcontroller.js b/js/app/controllers/views/podcastsviewcontroller.js index a68343acb..1d330f76a 100644 --- a/js/app/controllers/views/podcastsviewcontroller.js +++ b/js/app/controllers/views/podcastsviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2021, 2022 + * @copyright Pauli Järvinen 2021 - 2023 */ angular.module('Music').controller('PodcastsViewController', [ @@ -122,14 +122,14 @@ angular.module('Music').controller('PodcastsViewController', [ updateHighlight(playlistId); }); - subscribe('scrollToPodcastEpisode', function(_event, episodeId, animationTime /* optional */) { + subscribe('scrollToPodcastEpisode', function(_event, episodeId, animationTime = 500) { let episode = libraryService.getPodcastEpisode(episodeId); if (episode) { $scope.$parent.scrollToItem('podcast-channel-' + episode.channel.id, animationTime); } }); - subscribe('scrollToPodcastChannel', function(_event, channelId, animationTime /* optional */) { + subscribe('scrollToPodcastChannel', function(_event, channelId, animationTime = 500) { $scope.$parent.scrollToItem('podcast-channel-' + channelId, animationTime); }); diff --git a/js/app/controllers/views/radioviewcontroller.js b/js/app/controllers/views/radioviewcontroller.js index 9d4ab6f33..bd5c665a4 100644 --- a/js/app/controllers/views/radioviewcontroller.js +++ b/js/app/controllers/views/radioviewcontroller.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2020, 2021 + * @copyright Pauli Järvinen 2020 - 2023 */ @@ -75,7 +75,7 @@ angular.module('Music').controller('RadioViewController', [ ); } - function play(startIndex /*optional*/) { + function play(startIndex = 0) { playlistService.setPlaylist('radio', $scope.stations, startIndex); playlistService.publish('play'); } diff --git a/js/app/directives/albumart.js b/js/app/directives/albumart.js index 644c92385..c0b6fa258 100644 --- a/js/app/directives/albumart.js +++ b/js/app/directives/albumart.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright 2013 Morris Jobke - * @copyright 2016 - 2022 Pauli Järvinen + * @copyright 2016 - 2023 Pauli Järvinen * */ @@ -21,12 +21,12 @@ angular.module('Music').directive('albumart', [function() { element.css('background-image', 'url(' + imageUrl + ')'); } - function setPlaceholder(element, text, seed /*optional*/) { + function setPlaceholder(element, text, seed = null) { if (text) { // remove background image element.css('background-image', ''); // add placeholder stuff - element.imageplaceholder(seed || text, text); + element.imageplaceholder(seed ?? text, text); // remove inlined size-related style properties set by imageplaceholder() to allow // dynamic changing between mobile and desktop styles when window size changes element.css('line-height', ''); diff --git a/js/app/directives/inviewobserver.js b/js/app/directives/inviewobserver.js index 0189770fa..bbfde0619 100644 --- a/js/app/directives/inviewobserver.js +++ b/js/app/directives/inviewobserver.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright 2019 - 2022 Pauli Järvinen + * @copyright 2019 - 2023 Pauli Järvinen * */ @@ -117,7 +117,7 @@ function($rootScope, $timeout, inViewService) { /** * Initial setup of the in-view-port statuses of the available instances */ - function initInViewRange(skipDelays/*optional*/) { + function initInViewRange(skipDelays = false) { let length = _instances.length; let i; @@ -204,7 +204,7 @@ function($rootScope, $timeout, inViewService) { /** * Update in-view-port status of the given instance */ - function updateInViewStatus(inst, skipDelays/*optional*/) { + function updateInViewStatus(inst, skipDelays = false) { skipDelays = skipDelays || false; let wasInViewPort = inst.inViewPort; @@ -285,7 +285,7 @@ function($rootScope, $timeout, inViewService) { invalidateInViewRange(); } - function updateStatusForAll(skipDelays/*optional*/) { + function updateStatusForAll(skipDelays = false) { _(_instances).each(function(inst) { updateInViewStatus(inst, skipDelays); }); diff --git a/js/app/directives/tracklist.js b/js/app/directives/tracklist.js index edcddbd97..b75950b7f 100755 --- a/js/app/directives/tracklist.js +++ b/js/app/directives/tracklist.js @@ -7,7 +7,7 @@ * @author Moritz Meißelbach * @author Pauli Järvinen * @copyright 2017 Moritz Meißelbach - * @copyright 2018 - 2021 Pauli Järvinen + * @copyright 2018 - 2023 Pauli Järvinen * */ @@ -151,7 +151,7 @@ function ($rootScope, $interpolate, gettextCatalog) { * @param string className (optional) * @returns {HTMLLIElement} */ - function getTrackNode(track, index, className) { + function getTrackNode(track, index, className = null) { let listItem = document.createElement('li'); let listItemContent = document.createElement('div'); diff --git a/js/app/services/inviewservice.js b/js/app/services/inviewservice.js index 895ac828a..1e0c9f843 100644 --- a/js/app/services/inviewservice.js +++ b/js/app/services/inviewservice.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright 2019 Pauli Järvinen + * @copyright 2019 - 2023 Pauli Järvinen * */ @@ -38,11 +38,8 @@ angular.module('Music').service('inViewService', ['$rootScope', function($rootSc * @param int topMargin Optional top extension in pixels (use negative value for reduction) * @param int bottomMargin Optional bottom extension in pixels (use negative value for reduction) */ - isElementInViewPort: function(el, topMargin/*optional*/, bottomMargin/*optional*/) { + isElementInViewPort: function(el, topMargin = 0, bottomMargin = 0) { if (el) { - topMargin = topMargin || 0; - bottomMargin = bottomMargin || 0; - if (dirty) { updateHeights(); } diff --git a/js/app/services/libraryservice.js b/js/app/services/libraryservice.js index 80e24e9e0..d63e6effd 100644 --- a/js/app/services/libraryservice.js +++ b/js/app/services/libraryservice.js @@ -220,9 +220,7 @@ angular.module('Music').service('libraryService', [function() { }); } - function search(container, fields, query, maxResults/*optional*/) { - maxResults = maxResults || Infinity; - + function search(container, fields, query, maxResults) { query = foldString(query); // In case the query contains many words separated with whitespace, each part // has to be found but the whitespace is disregarded. @@ -555,41 +553,41 @@ angular.module('Music').service('libraryService', [function() { podcastsLoaded: function() { return podcastChannels !== null; }, - searchTracks: function(query, maxResults/*optional*/) { + searchTracks: function(query, maxResults = Infinity) { return search(tracksIndex, ['title', 'artistName'], query, maxResults); }, - searchTracksInAlbums: function(query, maxResults/*optional*/) { + searchTracksInAlbums: function(query, maxResults = Infinity) { return search( tracksIndex, ['title', 'artistName', 'album.name', 'album.year', 'album.artist.name'], query, maxResults); }, - searchTracksInFolders: function(query, maxResults/*optional*/) { + searchTracksInFolders: function(query, maxResults = Infinity) { return search( tracksIndex, ['title', 'artistName', 'folder.path'], query, maxResults); }, - searchTracksInGenres: function(query, maxResults/*optional*/) { + searchTracksInGenres: function(query, maxResults = Infinity) { return search( tracksIndex, ['title', 'artistName', 'genre.name'], query, maxResults); }, - searchTracksInPlaylist: function(playlistId, query, maxResults/*optional*/) { + searchTracksInPlaylist: function(playlistId, query, maxResults = Infinity) { let list = this.getPlaylist(playlistId) || []; list = _.map(list.tracks, 'track'); list = _.uniq(list); return search(list, ['title', 'artistName'], query, maxResults); }, - searchRadioStations: function(query, maxResults/*optional*/) { + searchRadioStations: function(query, maxResults = Infinity) { let stations = _.map(radioStations, 'track'); return search(stations, ['name', 'stream_url'], query, maxResults); }, - searchPodcasts: function(query, maxResults/*optional*/) { + searchPodcasts: function(query, maxResults = Infinity) { let episodes = _(podcastChannels).map('episodes').flatten().value(); return search(episodes, ['title', 'channel.title'], query, maxResults); }, diff --git a/js/app/services/playlistfileservice.js b/js/app/services/playlistfileservice.js index 472d8392f..17712800d 100644 --- a/js/app/services/playlistfileservice.js +++ b/js/app/services/playlistfileservice.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2021 + * @copyright Pauli Järvinen 2021 - 2023 */ angular.module('Music').service('playlistFileService', [ @@ -75,9 +75,9 @@ function($rootScope, $q, libraryService, gettextCatalog, Restangular) { // Export playlist to file exportPlaylist: function(playlist) { - function onFolderSelected(path, onCollision /*optional*/) { + function onFolderSelected(path, onCollision = 'abort') { playlist.busy = true; - let args = { path: path, oncollision: onCollision || 'abort' }; + let args = { path: path, oncollision: onCollision }; Restangular.one('playlists', playlist.id).all('export').post(args).then( function (result) { OC.Notification.showTemporary( @@ -103,9 +103,9 @@ function($rootScope, $q, libraryService, gettextCatalog, Restangular) { let deferred = $q.defer(); let name = gettextCatalog.getString('Internet radio'); - function onFolderSelected(path, onCollision /*optional*/) { + function onFolderSelected(path, onCollision = 'abort') { deferred.notify('started'); - let args = { path: path, name: name, oncollision: onCollision || 'abort' }; + let args = { path: path, name: name, oncollision: onCollision }; Restangular.all('radio/export').post(args).then( function (result) { OC.Notification.showTemporary( diff --git a/js/app/services/playlistservice.js b/js/app/services/playlistservice.js index 74b05b223..e982d0b12 100644 --- a/js/app/services/playlistservice.js +++ b/js/app/services/playlistservice.js @@ -7,7 +7,7 @@ * @author Morris Jobke * @author Pauli Järvinen * @copyright Morris Jobke 2013 - * @copyright Pauli Järvinen 2017 - 2022 + * @copyright Pauli Järvinen 2017 - 2023 */ angular.module('Music').service('playlistService', ['$rootScope', function($rootScope) { @@ -139,9 +139,9 @@ angular.module('Music').service('playlistService', ['$rootScope', function($root return playlist[playOrder[playOrderIter + 1]]; } }, - setPlaylist: function(listId, pl, startIndex /*optional*/) { + setPlaylist: function(listId, pl, startIndex = null) { playlist = pl.slice(); // copy - startFromIndex = (startIndex === undefined) ? null : startIndex; + startFromIndex = startIndex; if (listId === playlistId) { // preserve the history if list wasn't actually changed dropFuturePlayOrder(); diff --git a/js/embedded/embeddedplayer.js b/js/embedded/embeddedplayer.js index f74551c9a..cf4f7511d 100644 --- a/js/embedded/embeddedplayer.js +++ b/js/embedded/embeddedplayer.js @@ -5,7 +5,7 @@ * later. See the COPYING file. * * @author Pauli Järvinen - * @copyright Pauli Järvinen 2017 - 2022 + * @copyright Pauli Järvinen 2017 - 2023 */ import playIconPath from '../../img/play-big.svg'; @@ -571,7 +571,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL updateMediaSession(data); } - function loadFileInfoFromUrl(url, fallbackTitle, fileId, callback /*optional*/) { + function loadFileInfoFromUrl(url, fallbackTitle, fileId, callback = null) { $.get(url, function(data) { // discard results if the file has already changed by the time the // result arrives @@ -699,7 +699,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL * PUBLIC INTEFACE */ - this.show = function(playlistName /*optional*/) { + this.show = function(playlistName = null) { if (!musicControls) { createUi(); } @@ -717,7 +717,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL $('footer').css('display', 'none'); }; - this.playFile = function(url, mime, fileId, fileName, /*optional*/ shareToken) { + this.playFile = function(url, mime, fileId, fileName, shareToken = null) { currentFileId = fileId; let fallbackTitle = OCA.Music.Utils.titleFromFilename(fileName); // Set placeholders for track info fields, proper data is filled once received @@ -738,7 +738,7 @@ OCA.Music.EmbeddedPlayer = function(onClose, onNext, onPrev, onMenuOpen, onShowL }); }; - this.playExtUrl = function(url, caption, /*optional*/ shareToken) { + this.playExtUrl = function(url, caption, shareToken = null) { currentFileId = null; updateMetadata({ title: caption, diff --git a/js/embedded/main.js b/js/embedded/main.js index 852d573b3..b4e8f97ed 100644 --- a/js/embedded/main.js +++ b/js/embedded/main.js @@ -275,7 +275,7 @@ function initEmbeddedPlayer() { jumpToPlaylistFile(mPlaylist.currentFile()); } - function openPlaylistFile(onReadyCallback /*optional*/) { + function openPlaylistFile(onReadyCallback = null) { mPlayingListFile = true; let $file = mFileList.findFileEl(mCurrentFile.name); diff --git a/js/embedded/playlistfileservice.js b/js/embedded/playlistfileservice.js index 15bbeaa6e..31bbac024 100644 --- a/js/embedded/playlistfileservice.js +++ b/js/embedded/playlistfileservice.js @@ -16,7 +16,7 @@ OCA.Music.PlaylistFileService = class { static #fileId = null; static #data = null; - static readFile(fileId, onSuccess, onFail, shareToken /*optional*/) { + static readFile(fileId, onSuccess, onFail, shareToken = null) { if (fileId == this.#fileId && this.#data !== null) { onSuccess(this.#data); diff --git a/js/shared/gaplessplayer.js b/js/shared/gaplessplayer.js index 56782781f..84a0412b7 100644 --- a/js/shared/gaplessplayer.js +++ b/js/shared/gaplessplayer.js @@ -57,12 +57,12 @@ OCA.Music.GaplessPlayer = class { this.#currentPlayer.seek(ratio); } - seekForward(msecs /*optional*/) { + seekForward(msecs = 10000) { this.#currentPlayer.seekForward(msecs); } - seekBackward(msecs /*optional*/) { - this.#currentPlayer.seekForward(msecs); + seekBackward(msecs = 10000) { + this.#currentPlayer.seekBackward(msecs); } playPosition() { diff --git a/js/shared/playerwrapper.js b/js/shared/playerwrapper.js index 592529346..69120100b 100644 --- a/js/shared/playerwrapper.js +++ b/js/shared/playerwrapper.js @@ -292,9 +292,8 @@ OCA.Music.PlayerWrapper = class { } else if (msecs === 0 && this.#duration > 0) { // seeking to the beginning can be simulated even when seeking in general is not supported - let url = this.#url; let playing = this.#playing; - this.fromUrl(url); + this.fromUrl(this.#url); this.trigger('progress', 0); if (playing) { this.play(); @@ -310,13 +309,11 @@ OCA.Music.PlayerWrapper = class { this.seekMsecs(ratio * this.#duration); } - seekForward(msecs /*optional*/) { - msecs = msecs || 10000; + seekForward(msecs = 10000) { this.seekMsecs(this.#position + msecs); } - seekBackward(msecs /*optional*/) { - msecs = msecs || 10000; + seekBackward(msecs = 10000) { this.seekMsecs(this.#position - msecs); }