mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
add new slider
This commit is contained in:
parent
e33e5875cf
commit
09d4af3357
133 changed files with 9418 additions and 256 deletions
|
@ -2,6 +2,7 @@
|
|||
|
||||
function onClosed() {
|
||||
$(this).remove();
|
||||
$(document.body).removeClass('bodyWithPopupOpen');
|
||||
}
|
||||
function show(options) {
|
||||
|
||||
|
@ -77,7 +78,9 @@
|
|||
html += '</paper-button>';
|
||||
}
|
||||
|
||||
//html += '</paper-dialog-scrollable>';
|
||||
if (isScrollable) {
|
||||
html += '</paper-dialog-scrollable>';
|
||||
}
|
||||
|
||||
if (options.showCancel) {
|
||||
html += '<div class="buttons">';
|
||||
|
@ -85,9 +88,7 @@
|
|||
html += '</div>';
|
||||
}
|
||||
|
||||
if (isScrollable) {
|
||||
html += '</paper-dialog>';
|
||||
}
|
||||
html += '</paper-dialog>';
|
||||
|
||||
$(document.body).append(html);
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
if (data) {
|
||||
|
||||
console.log('Found backdrop id list in cache. Key: ' + key)
|
||||
Logger.log('Found backdrop id list in cache. Key: ' + key)
|
||||
data = JSON.parse(data);
|
||||
deferred.resolveWith(null, [data]);
|
||||
} else {
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
this.sessionListener.bind(this),
|
||||
this.receiverListener.bind(this));
|
||||
|
||||
console.log('chromecast.initialize');
|
||||
Logger.log('chromecast.initialize');
|
||||
|
||||
chrome.cast.initialize(apiConfig, this.onInitSuccess.bind(this), this.errorHandler);
|
||||
|
||||
|
@ -93,14 +93,14 @@
|
|||
*/
|
||||
CastPlayer.prototype.onInitSuccess = function () {
|
||||
this.isInitialized = true;
|
||||
console.log("chromecast init success");
|
||||
Logger.log("chromecast init success");
|
||||
};
|
||||
|
||||
/**
|
||||
* Generic error callback function
|
||||
*/
|
||||
CastPlayer.prototype.onError = function () {
|
||||
console.log("chromecast error");
|
||||
Logger.log("chromecast error");
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -115,7 +115,7 @@
|
|||
this.session = e;
|
||||
if (this.session) {
|
||||
|
||||
console.log('sessionListener ' + JSON.stringify(e));
|
||||
Logger.log('sessionListener ' + JSON.stringify(e));
|
||||
|
||||
if (this.session.media[0]) {
|
||||
this.onMediaDiscovered('activeSession', this.session.media[0]);
|
||||
|
@ -165,11 +165,11 @@
|
|||
CastPlayer.prototype.receiverListener = function (e) {
|
||||
|
||||
if (e === 'available') {
|
||||
console.log("chromecast receiver found");
|
||||
Logger.log("chromecast receiver found");
|
||||
this.hasReceivers = true;
|
||||
}
|
||||
else {
|
||||
console.log("chromecast receiver list empty");
|
||||
Logger.log("chromecast receiver list empty");
|
||||
this.hasReceivers = false;
|
||||
}
|
||||
};
|
||||
|
@ -179,7 +179,7 @@
|
|||
*/
|
||||
CastPlayer.prototype.sessionUpdateListener = function (isAlive) {
|
||||
|
||||
console.log('sessionUpdateListener alive: ' + isAlive);
|
||||
Logger.log('sessionUpdateListener alive: ' + isAlive);
|
||||
|
||||
if (isAlive) {
|
||||
}
|
||||
|
@ -188,7 +188,7 @@
|
|||
this.deviceState = DEVICE_STATE.IDLE;
|
||||
this.castPlayerState = PLAYER_STATE.IDLE;
|
||||
|
||||
console.log('sessionUpdateListener: setting currentMediaSession to null');
|
||||
Logger.log('sessionUpdateListener: setting currentMediaSession to null');
|
||||
this.currentMediaSession = null;
|
||||
|
||||
MediaController.removeActivePlayer(PlayerName);
|
||||
|
@ -201,7 +201,7 @@
|
|||
* session request in opt_sessionRequest.
|
||||
*/
|
||||
CastPlayer.prototype.launchApp = function () {
|
||||
console.log("chromecast launching app...");
|
||||
Logger.log("chromecast launching app...");
|
||||
chrome.cast.requestSession(this.onRequestSessionSuccess.bind(this), this.onLaunchError.bind(this));
|
||||
};
|
||||
|
||||
|
@ -211,7 +211,7 @@
|
|||
*/
|
||||
CastPlayer.prototype.onRequestSessionSuccess = function (e) {
|
||||
|
||||
console.log("chromecast session success: " + e.sessionId);
|
||||
Logger.log("chromecast session success: " + e.sessionId);
|
||||
this.onSessionConnected(e);
|
||||
};
|
||||
|
||||
|
@ -238,7 +238,7 @@
|
|||
*/
|
||||
CastPlayer.prototype.sessionMediaListener = function (e) {
|
||||
|
||||
console.log('sessionMediaListener');
|
||||
Logger.log('sessionMediaListener');
|
||||
this.currentMediaSession = e;
|
||||
this.currentMediaSession.addUpdateListener(this.mediaStatusUpdateHandler);
|
||||
};
|
||||
|
@ -247,7 +247,7 @@
|
|||
* Callback function for launch error
|
||||
*/
|
||||
CastPlayer.prototype.onLaunchError = function () {
|
||||
console.log("chromecast launch error");
|
||||
Logger.log("chromecast launch error");
|
||||
this.deviceState = DEVICE_STATE.ERROR;
|
||||
|
||||
//Dashboard.alert({
|
||||
|
@ -273,11 +273,11 @@
|
|||
* Callback function for stop app success
|
||||
*/
|
||||
CastPlayer.prototype.onStopAppSuccess = function (message) {
|
||||
console.log(message);
|
||||
Logger.log(message);
|
||||
this.deviceState = DEVICE_STATE.IDLE;
|
||||
this.castPlayerState = PLAYER_STATE.IDLE;
|
||||
|
||||
console.log('onStopAppSuccess: setting currentMediaSession to null');
|
||||
Logger.log('onStopAppSuccess: setting currentMediaSession to null');
|
||||
this.currentMediaSession = null;
|
||||
};
|
||||
|
||||
|
@ -288,7 +288,7 @@
|
|||
CastPlayer.prototype.loadMedia = function (options, command) {
|
||||
|
||||
if (!this.session) {
|
||||
console.log("no session");
|
||||
Logger.log("no session");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -365,13 +365,13 @@
|
|||
CastPlayer.prototype.sendMessageInternal = function (message) {
|
||||
|
||||
message = JSON.stringify(message);
|
||||
//console.log(message);
|
||||
//Logger.log(message);
|
||||
|
||||
this.session.sendMessage(messageNamespace, message, this.onPlayCommandSuccess.bind(this), this.errorHandler);
|
||||
};
|
||||
|
||||
CastPlayer.prototype.onPlayCommandSuccess = function () {
|
||||
console.log('Message was sent to receiver ok.');
|
||||
Logger.log('Message was sent to receiver ok.');
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -380,7 +380,7 @@
|
|||
*/
|
||||
CastPlayer.prototype.onMediaDiscovered = function (how, mediaSession) {
|
||||
|
||||
console.log("chromecast new media session ID:" + mediaSession.mediaSessionId + ' (' + how + ')');
|
||||
Logger.log("chromecast new media session ID:" + mediaSession.mediaSessionId + ' (' + how + ')');
|
||||
this.currentMediaSession = mediaSession;
|
||||
|
||||
if (how == 'loadMedia') {
|
||||
|
@ -403,7 +403,7 @@
|
|||
if (e == false) {
|
||||
this.castPlayerState = PLAYER_STATE.IDLE;
|
||||
}
|
||||
console.log("chromecast updating media: " + e);
|
||||
Logger.log("chromecast updating media: " + e);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -413,7 +413,7 @@
|
|||
CastPlayer.prototype.setReceiverVolume = function (mute, vol) {
|
||||
|
||||
if (!this.currentMediaSession) {
|
||||
console.log('this.currentMediaSession is null');
|
||||
Logger.log('this.currentMediaSession is null');
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -441,7 +441,7 @@
|
|||
* Callback function for media command success
|
||||
*/
|
||||
CastPlayer.prototype.mediaCommandSuccessCallback = function (info, e) {
|
||||
console.log(info);
|
||||
Logger.log(info);
|
||||
};
|
||||
|
||||
// Create Cast Player
|
||||
|
@ -468,14 +468,14 @@
|
|||
|
||||
MediaController.setActivePlayer(PlayerName, self.getCurrentTargetInfo());
|
||||
|
||||
console.log('cc: connect');
|
||||
Logger.log('cc: connect');
|
||||
// Reset this so the next query doesn't make it appear like content is playing.
|
||||
self.lastPlayerData = {};
|
||||
});
|
||||
|
||||
$(castPlayer).on("playbackstart", function (e, data) {
|
||||
|
||||
console.log('cc: playbackstart');
|
||||
Logger.log('cc: playbackstart');
|
||||
|
||||
castPlayer.initializeCastPlayer();
|
||||
|
||||
|
@ -485,7 +485,7 @@
|
|||
|
||||
$(castPlayer).on("playbackstop", function (e, data) {
|
||||
|
||||
console.log('cc: playbackstop');
|
||||
Logger.log('cc: playbackstop');
|
||||
var state = self.getPlayerStateInternal(data);
|
||||
|
||||
$(self).trigger("playbackstop", [state]);
|
||||
|
@ -496,7 +496,7 @@
|
|||
|
||||
$(castPlayer).on("playbackprogress", function (e, data) {
|
||||
|
||||
console.log('cc: positionchange');
|
||||
Logger.log('cc: positionchange');
|
||||
var state = self.getPlayerStateInternal(data);
|
||||
|
||||
$(self).trigger("positionchange", [state]);
|
||||
|
@ -789,7 +789,7 @@
|
|||
data = data || self.lastPlayerData;
|
||||
self.lastPlayerData = data;
|
||||
|
||||
console.log(JSON.stringify(data));
|
||||
Logger.log(JSON.stringify(data));
|
||||
return data;
|
||||
};
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
var list = DashboardPage.sessionsList;
|
||||
|
||||
if (list) {
|
||||
console.log('refreshSessionsLocally');
|
||||
Logger.log('refreshSessionsLocally');
|
||||
DashboardPage.renderActiveConnections($.mobile.activePage, list);
|
||||
}
|
||||
},
|
||||
|
|
|
@ -416,7 +416,7 @@
|
|||
};
|
||||
reader.onabort = function () {
|
||||
Dashboard.hideLoadingMsg();
|
||||
console.log('File read cancelled');
|
||||
Logger.log('File read cancelled');
|
||||
};
|
||||
|
||||
// Closure to capture the file information.
|
||||
|
|
|
@ -1362,7 +1362,7 @@
|
|||
|
||||
var page = $.mobile.activePage;
|
||||
|
||||
console.log('Item updated - reloading metadata');
|
||||
Logger.log('Item updated - reloading metadata');
|
||||
reload(page);
|
||||
$('#refreshLoading', page).hide();
|
||||
}
|
||||
|
|
|
@ -289,7 +289,7 @@
|
|||
|
||||
if (msg.Data.ItemsUpdated.indexOf(currentItem.Id) != -1) {
|
||||
|
||||
console.log('Item updated - reloading subtitles');
|
||||
Logger.log('Item updated - reloading subtitles');
|
||||
reload($.mobile.activePage);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -397,7 +397,7 @@
|
|||
|
||||
$('.sliderValue', elem).html(tooltext);
|
||||
|
||||
console.log("slidin", pct, self.currentDurationTicks, time);
|
||||
Logger.log("slidin", pct, self.currentDurationTicks, time);
|
||||
|
||||
});
|
||||
}
|
||||
|
|
|
@ -51,12 +51,13 @@
|
|||
showDetailsMenu: true
|
||||
});
|
||||
|
||||
html += '</div>';
|
||||
|
||||
if (result.TotalRecordCount > result.Items.length) {
|
||||
var href = "favorites.html?sectionid=" + section.id;
|
||||
|
||||
html += '<a class="clearLink" href="' + href + '"><paper-button raised class="more">' + Globalize.translate('ButtonMoreItems') + '</paper-button></a>';
|
||||
}
|
||||
html += '</div>';
|
||||
}
|
||||
|
||||
elem = $(elem).html(html).lazyChildren();
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
function onError() {
|
||||
|
||||
var errorCode = this.error ? this.error.code : '';
|
||||
console.log('Media element error code: ' + errorCode);
|
||||
Logger.log('Media element error code: ' + errorCode);
|
||||
|
||||
$(self).trigger('error');
|
||||
}
|
||||
|
@ -275,7 +275,7 @@
|
|||
|
||||
self.setCurrentTrackElement = function (trackIndex) {
|
||||
|
||||
console.log('Setting new text track index to: ' + trackIndex);
|
||||
Logger.log('Setting new text track index to: ' + trackIndex);
|
||||
|
||||
var allTracks = mediaElement.textTracks; // get list of tracks
|
||||
|
||||
|
@ -291,7 +291,7 @@
|
|||
mode = 0; // hide all other tracks
|
||||
}
|
||||
|
||||
console.log('Setting track ' + i + ' mode to: ' + mode);
|
||||
Logger.log('Setting track ' + i + ' mode to: ' + mode);
|
||||
|
||||
// Safari uses integers for the mode property
|
||||
// http://www.jwplayer.com/html5/scripting/
|
||||
|
@ -328,7 +328,7 @@
|
|||
track.removeCue(track.cues[0]);
|
||||
}
|
||||
} catch (e) {
|
||||
console.log('Error removing cue from textTrack');
|
||||
Logger.log('Error removing cue from textTrack');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2768,7 +2768,7 @@
|
|||
miscInfo.push(text);
|
||||
}
|
||||
catch (e) {
|
||||
console.log("Error parsing date: " + item.PremiereDate);
|
||||
Logger.log("Error parsing date: " + item.PremiereDate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2787,7 +2787,7 @@
|
|||
}
|
||||
}
|
||||
catch (e) {
|
||||
console.log("Error parsing date: " + item.PremiereDate);
|
||||
Logger.log("Error parsing date: " + item.PremiereDate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2813,7 +2813,7 @@
|
|||
|
||||
}
|
||||
catch (e) {
|
||||
console.log("Error parsing date: " + item.EndDate);
|
||||
Logger.log("Error parsing date: " + item.EndDate);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2834,7 +2834,7 @@
|
|||
miscInfo.push(text);
|
||||
}
|
||||
catch (e) {
|
||||
console.log("Error parsing date: " + item.PremiereDate);
|
||||
Logger.log("Error parsing date: " + item.PremiereDate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
airDate = parseISO8601Date(airDate, { toLocal: true }).toLocaleDateString();
|
||||
}
|
||||
catch (e) {
|
||||
console.log("Error parsing date: " + airDate);
|
||||
Logger.log("Error parsing date: " + airDate);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
var date = currentDate;
|
||||
|
||||
var nextDay = new Date(date.getTime() + msPerDay - 1);
|
||||
console.log(nextDay);
|
||||
Logger.log(nextDay);
|
||||
channelsPromise.done(function (channelsResult) {
|
||||
|
||||
ApiClient.getLiveTvPrograms({
|
||||
|
|
|
@ -207,7 +207,7 @@
|
|||
|
||||
if (bypass()) return;
|
||||
|
||||
console.log("keyCode", e.keyCode);
|
||||
Logger.log("keyCode", e.keyCode);
|
||||
|
||||
if (keyResult[e.keyCode]) {
|
||||
e.preventDefault();
|
||||
|
@ -306,7 +306,7 @@
|
|||
currentPlayer = player;
|
||||
currentTargetInfo = targetInfo;
|
||||
|
||||
console.log('Active player: ' + JSON.stringify(currentTargetInfo));
|
||||
Logger.log('Active player: ' + JSON.stringify(currentTargetInfo));
|
||||
|
||||
triggerPlayerChange(player, targetInfo);
|
||||
};
|
||||
|
@ -335,7 +335,7 @@
|
|||
currentPlayer = player;
|
||||
currentTargetInfo = targetInfo;
|
||||
|
||||
console.log('Active player: ' + JSON.stringify(currentTargetInfo));
|
||||
Logger.log('Active player: ' + JSON.stringify(currentTargetInfo));
|
||||
|
||||
triggerPlayerChange(player, targetInfo);
|
||||
});
|
||||
|
@ -581,7 +581,7 @@
|
|||
|
||||
// Full list
|
||||
// https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23
|
||||
console.log('MediaController received command: ' + cmd.Name);
|
||||
Logger.log('MediaController received command: ' + cmd.Name);
|
||||
switch (cmd.Name) {
|
||||
|
||||
case 'VolumeUp':
|
||||
|
|
|
@ -530,7 +530,7 @@
|
|||
|
||||
tooltip.text(tooltext);
|
||||
|
||||
console.log("slidin", pct, self.currentDurationTicks, time);
|
||||
Logger.log("slidin", pct, self.currentDurationTicks, time);
|
||||
|
||||
}).on("slidestart", function (e) {
|
||||
trackChange = true;
|
||||
|
|
|
@ -1041,7 +1041,7 @@
|
|||
|
||||
if (newItem) {
|
||||
|
||||
console.log('playing next track');
|
||||
Logger.log('playing next track');
|
||||
|
||||
self.playInternal(newItem, 0, function () {
|
||||
self.setPlaylistState(newIndex);
|
||||
|
@ -1179,7 +1179,7 @@
|
|||
|
||||
if (self.currentMediaRenderer) {
|
||||
|
||||
console.log('MediaPlayer toggling mute');
|
||||
Logger.log('MediaPlayer toggling mute');
|
||||
|
||||
if (self.volume()) {
|
||||
self.mute();
|
||||
|
@ -1208,7 +1208,7 @@
|
|||
|
||||
if (self.currentMediaRenderer) {
|
||||
|
||||
console.log('MediaPlayer setting volume to ' + val);
|
||||
Logger.log('MediaPlayer setting volume to ' + val);
|
||||
self.currentMediaRenderer.volume(val / 100);
|
||||
|
||||
self.onVolumeChanged(self.currentMediaRenderer);
|
||||
|
@ -1550,7 +1550,7 @@
|
|||
|
||||
self.onPlaybackStopped = function () {
|
||||
|
||||
console.log('playback stopped');
|
||||
Logger.log('playback stopped');
|
||||
|
||||
$('body').removeClass('bodyWithPopupOpen');
|
||||
|
||||
|
@ -1674,13 +1674,13 @@
|
|||
|
||||
$(mediaRenderer).on("volumechange.mediaplayerevent", function () {
|
||||
|
||||
console.log('audio element event: volumechange');
|
||||
Logger.log('audio element event: volumechange');
|
||||
|
||||
self.onVolumeChanged(this);
|
||||
|
||||
}).one("playing.mediaplayerevent", function () {
|
||||
|
||||
console.log('audio element event: playing');
|
||||
Logger.log('audio element event: playing');
|
||||
|
||||
// For some reason this is firing at the start, so don't bind until playback has begun
|
||||
$(this).on("ended.playbackstopped", self.onPlaybackStopped).one('ended.playnext', self.playNextAfterEnded);
|
||||
|
@ -1689,7 +1689,7 @@
|
|||
|
||||
}).on("pause.mediaplayerevent", function () {
|
||||
|
||||
console.log('audio element event: pause');
|
||||
Logger.log('audio element event: pause');
|
||||
|
||||
self.onPlaystateChange(this);
|
||||
|
||||
|
@ -1698,7 +1698,7 @@
|
|||
|
||||
}).on("playing.mediaplayerevent", function () {
|
||||
|
||||
console.log('audio element event: playing');
|
||||
Logger.log('audio element event: playing');
|
||||
|
||||
self.onPlaystateChange(this);
|
||||
|
||||
|
|
|
@ -359,6 +359,9 @@
|
|||
|
||||
$('.fldSelectedItemIds', panel).val(items.join(','));
|
||||
|
||||
|
||||
require(['jqmicons']);
|
||||
|
||||
if (items.length) {
|
||||
$('.fldSelectCollection', panel).show();
|
||||
populateCollections(panel);
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
var html = '';
|
||||
|
||||
// add return false because on iOS clicking the bar often ends up clicking the content underneath.
|
||||
html += '<div class="nowPlayingBar" style="display:none;" onclick="return false;">';
|
||||
html += '<div class="nowPlayingBar" style="display:none;">';
|
||||
|
||||
html += '<div class="nowPlayingImage"></div>';
|
||||
html += '<div class="nowPlayingText"></div>';
|
||||
|
@ -331,6 +331,10 @@
|
|||
nowPlayingTextElement.removeClass('nowPlayingDoubleText');
|
||||
}
|
||||
|
||||
if (state.NowPlayingItem.Id) {
|
||||
nameHtml = '<a style="color:inherit;text-decoration:none;" href="' + LibraryBrowser.getHref(state.NowPlayingItem) + '">' + nameHtml + '</a>';
|
||||
}
|
||||
|
||||
nowPlayingTextElement.html(nameHtml);
|
||||
|
||||
var url;
|
||||
|
@ -380,7 +384,12 @@
|
|||
|
||||
currentImgUrl = url;
|
||||
|
||||
nowPlayingImageElement.html('<img src="' + url + '" />');
|
||||
var imgHtml = '<img src="' + url + '" />';
|
||||
|
||||
if (state.NowPlayingItem.Id) {
|
||||
imgHtml = '<a href="' + LibraryBrowser.getHref(state.NowPlayingItem) + '">' + imgHtml + '</a>';
|
||||
}
|
||||
nowPlayingImageElement.html(imgHtml);
|
||||
|
||||
if (nowPlayingItem.Id) {
|
||||
ApiClient.getItem(Dashboard.getCurrentUserId(), nowPlayingItem.Id).done(function (item) {
|
||||
|
@ -391,7 +400,7 @@
|
|||
|
||||
function onPlaybackStart(e, state) {
|
||||
|
||||
console.log('nowplaying event: ' + e.type);
|
||||
Logger.log('nowplaying event: ' + e.type);
|
||||
|
||||
var player = this;
|
||||
|
||||
|
@ -418,7 +427,7 @@
|
|||
|
||||
function onPlaybackStopped(e, state) {
|
||||
|
||||
console.log('nowplaying event: ' + e.type);
|
||||
Logger.log('nowplaying event: ' + e.type);
|
||||
var player = this;
|
||||
|
||||
player.endPlayerUpdates();
|
||||
|
@ -428,7 +437,7 @@
|
|||
|
||||
function onStateChanged(e, state) {
|
||||
|
||||
//console.log('nowplaying event: ' + e.type);
|
||||
//Logger.log('nowplaying event: ' + e.type);
|
||||
var player = this;
|
||||
|
||||
if (player.isDefaultPlayer && state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') {
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
var currentPlayer;
|
||||
var lastPlayerState;
|
||||
var isPositionSliderActive;
|
||||
|
||||
function populateChapters(elem, chapters, itemId, runtimeTicks) {
|
||||
|
||||
|
@ -307,27 +306,33 @@
|
|||
}
|
||||
});
|
||||
|
||||
$('.positionSlider', page).on('slidestart', function () {
|
||||
$('.nowPlayingPositionSlider', page).on('change', function () {
|
||||
|
||||
isPositionSliderActive = true;
|
||||
|
||||
}).on('slidestop', function () {
|
||||
|
||||
isPositionSliderActive = false;
|
||||
var value = this.value;
|
||||
|
||||
if (currentPlayer && lastPlayerState) {
|
||||
|
||||
var newPercent = parseFloat(this.value);
|
||||
var newPercent = parseFloat(value);
|
||||
var newPositionTicks = (newPercent / 100) * lastPlayerState.NowPlayingItem.RunTimeTicks;
|
||||
|
||||
currentPlayer.seek(Math.floor(newPositionTicks));
|
||||
}
|
||||
});
|
||||
|
||||
//$(page).on('swipedown', function () {
|
||||
$('.nowPlayingPositionSlider', page)[0]._setPinValue = function (value) {
|
||||
|
||||
// history.back();
|
||||
//});
|
||||
var state = lastPlayerState;
|
||||
|
||||
if (!state || !state.NowPlayingItem || !state.NowPlayingItem.RunTimeTicks) {
|
||||
this.pinValue = '--:--';
|
||||
return;
|
||||
}
|
||||
|
||||
var ticks = state.NowPlayingItem.RunTimeTicks;
|
||||
ticks /= 100;
|
||||
ticks *= value;
|
||||
|
||||
this.pinValue = Dashboard.getDisplayTime(ticks);
|
||||
};
|
||||
|
||||
$(page).on('click', '.lnkPlayFromIndex', function () {
|
||||
|
||||
|
@ -431,29 +436,23 @@
|
|||
hideButton(btnPlay);
|
||||
}
|
||||
|
||||
if (!isPositionSliderActive) {
|
||||
var positionSlider = $('.nowPlayingPositionSlider', page)[0];
|
||||
|
||||
var positionSlider = $('.positionSlider', page);
|
||||
if (!positionSlider.dragging) {
|
||||
|
||||
if (item && item.RunTimeTicks) {
|
||||
|
||||
var pct = playState.PositionTicks / item.RunTimeTicks;
|
||||
pct *= 100;
|
||||
|
||||
positionSlider.val(pct);
|
||||
positionSlider.value = pct;
|
||||
|
||||
} else {
|
||||
|
||||
positionSlider.val(0);
|
||||
positionSlider.value = 0;
|
||||
}
|
||||
|
||||
if (playState.CanSeek) {
|
||||
positionSlider.slider("enable");
|
||||
} else {
|
||||
positionSlider.slider("disable");
|
||||
}
|
||||
|
||||
positionSlider.slider('refresh');
|
||||
positionSlider.disabled = !playState.CanSeek;
|
||||
}
|
||||
|
||||
if (playState.PositionTicks == null) {
|
||||
|
@ -481,8 +480,9 @@
|
|||
function updateNowPlayingInfo(page, state) {
|
||||
|
||||
var item = state.NowPlayingItem;
|
||||
var displayName = item ? MediaController.getNowPlayingNameHtml(item).replace('<br/>', ' - ') : '';
|
||||
|
||||
$('.itemName', page).html(item ? MediaController.getNowPlayingNameHtml(item).replace('<br/>', ' - ') : '');
|
||||
$('.nowPlayingPageTitle', page).html(displayName).visible(displayName.length > 0);
|
||||
|
||||
var url;
|
||||
var backdropUrl = null;
|
||||
|
@ -588,20 +588,6 @@
|
|||
updateSupportedCommands(page, supportedCommands);
|
||||
}
|
||||
|
||||
function showIntro() {
|
||||
|
||||
var expected = '2';
|
||||
|
||||
//if (appStorage.getItem('remotecontrolswipedown') != expected) {
|
||||
// Dashboard.alert({
|
||||
// message: Globalize.translate('MessageSwipeDownOnRemoteControl'),
|
||||
// title: Globalize.translate('HeaderAlert')
|
||||
// });
|
||||
// appStorage.setItem('remotecontrolswipedown', expected);
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
function loadPlaylist(page) {
|
||||
|
||||
var html = '';
|
||||
|
@ -694,6 +680,20 @@
|
|||
}
|
||||
}
|
||||
|
||||
function allowSwipe(e) {
|
||||
|
||||
var target = $(e.target);
|
||||
|
||||
if (target.is('.noSwipe')) {
|
||||
return false;
|
||||
}
|
||||
if (target.parents('.noSwipe').length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
$(document).on('pageinitdepends', "#nowPlayingPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
@ -705,29 +705,33 @@
|
|||
|
||||
$('.requiresJqmCreate', this).trigger('create');
|
||||
|
||||
$(page).on('swipeleft', function () {
|
||||
$(page).on('swipeleft', function (e) {
|
||||
|
||||
var pages = this.querySelectorAll('neon-animated-pages')[0];
|
||||
var tabs = this.querySelectorAll('paper-tabs')[0];
|
||||
if (allowSwipe(e)) {
|
||||
var pages = this.querySelectorAll('neon-animated-pages')[0];
|
||||
var tabs = this.querySelectorAll('paper-tabs')[0];
|
||||
|
||||
var selected = parseInt(pages.selected || '0');
|
||||
if (selected < 2) {
|
||||
pages.entryAnimation = 'slide-from-right-animation';
|
||||
pages.exitAnimation = 'slide-left-animation';
|
||||
tabs.selectNext();
|
||||
var selected = parseInt(pages.selected || '0');
|
||||
if (selected < 2) {
|
||||
pages.entryAnimation = 'slide-from-right-animation';
|
||||
pages.exitAnimation = 'slide-left-animation';
|
||||
tabs.selectNext();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(page).on('swiperight', function () {
|
||||
$(page).on('swiperight', function (e) {
|
||||
|
||||
var pages = this.querySelectorAll('neon-animated-pages')[0];
|
||||
var tabs = this.querySelectorAll('paper-tabs')[0];
|
||||
if (allowSwipe(e)) {
|
||||
var pages = this.querySelectorAll('neon-animated-pages')[0];
|
||||
var tabs = this.querySelectorAll('paper-tabs')[0];
|
||||
|
||||
var selected = parseInt(pages.selected || '0');
|
||||
if (selected > 0) {
|
||||
pages.entryAnimation = 'slide-from-left-animation';
|
||||
pages.exitAnimation = 'slide-right-animation';
|
||||
tabs.selectPrevious();
|
||||
var selected = parseInt(pages.selected || '0');
|
||||
if (selected > 0) {
|
||||
pages.entryAnimation = 'slide-from-left-animation';
|
||||
pages.exitAnimation = 'slide-right-animation';
|
||||
tabs.selectPrevious();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -757,7 +761,6 @@
|
|||
|
||||
});
|
||||
|
||||
showIntro();
|
||||
loadPlaylist(page);
|
||||
|
||||
var tab = getParameterByName('tab');
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
};
|
||||
|
||||
options.callback(review);
|
||||
} else console.log("No callback function provided");
|
||||
} else Logger.log("No callback function provided");
|
||||
|
||||
return false;
|
||||
});
|
||||
|
@ -91,7 +91,7 @@
|
|||
id: id,
|
||||
rating: rating,
|
||||
callback: function (review) {
|
||||
console.log(review);
|
||||
Logger.log(review);
|
||||
dialog.close();
|
||||
|
||||
ApiClient.createPackageReview(review).done(function () {
|
||||
|
|
|
@ -327,7 +327,7 @@
|
|||
}
|
||||
else if (msg.MessageType === "SessionEnded") {
|
||||
|
||||
console.log("Server reports another session ended");
|
||||
Logger.log("Server reports another session ended");
|
||||
|
||||
if (MediaController.getPlayerInfo().id == msg.Data.Id) {
|
||||
MediaController.setDefaultPlayerActive();
|
||||
|
|
|
@ -60,7 +60,14 @@ var Dashboard = {
|
|||
$.mobile.loader.prototype.options.textOnly = true;
|
||||
$.mobile.loader.prototype.options.text = "";
|
||||
|
||||
$.mobile.hideUrlBar = false;
|
||||
$.mobile.autoInitializePage = false;
|
||||
$.mobile.changePage.defaults.showLoadMsg = false;
|
||||
|
||||
// These are not needed. Nulling them out can help reduce dom querying when pages are loaded
|
||||
$.mobile.nojs = null;
|
||||
$.mobile.degradeInputsWithin = null;
|
||||
$.mobile.keepNative = ":jqmData(role='none')";
|
||||
},
|
||||
|
||||
isConnectMode: function () {
|
||||
|
@ -607,7 +614,7 @@ var Dashboard = {
|
|||
html += '</div>';
|
||||
html += '</paper-dialog>';
|
||||
|
||||
$(document.body).append(html);
|
||||
$(document.body).append(html).addClass('bodyWithPopupOpen');
|
||||
|
||||
// This timeout is obviously messy but it's unclear how to determine when the webcomponent is ready for use
|
||||
// element onload never fires
|
||||
|
@ -619,6 +626,7 @@ var Dashboard = {
|
|||
$(dlg).on('iron-overlay-closed', function (e) {
|
||||
var confirmed = this.closingReason.confirmed;
|
||||
$(this).remove();
|
||||
$(document.body).removeClass('bodyWithPopupOpen');
|
||||
callback(confirmed);
|
||||
});
|
||||
|
||||
|
@ -1058,7 +1066,7 @@ var Dashboard = {
|
|||
case 'ToggleFullscreen':
|
||||
break;
|
||||
default:
|
||||
console.log('Unrecognized command: ' + cmd.Name);
|
||||
Logger.log('Unrecognized command: ' + cmd.Name);
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
@ -1932,7 +1940,7 @@ var AppInfo = {};
|
|||
});
|
||||
|
||||
if (!localActivePlayers.length) {
|
||||
console.log('Sending close web socket command');
|
||||
Logger.log('Sending close web socket command');
|
||||
apiClient.closeWebSocket();
|
||||
}
|
||||
}
|
||||
|
@ -2083,6 +2091,7 @@ var AppInfo = {};
|
|||
$(function () {
|
||||
onDocumentReady();
|
||||
Dashboard.initPromiseDone = true;
|
||||
$.mobile.initializePage();
|
||||
deferred.resolve();
|
||||
});
|
||||
});
|
||||
|
@ -2092,8 +2101,10 @@ var AppInfo = {};
|
|||
createConnectionManager(capabilities);
|
||||
|
||||
$(function () {
|
||||
|
||||
onDocumentReady();
|
||||
Dashboard.initPromiseDone = true;
|
||||
$.mobile.initializePage();
|
||||
deferred.resolve();
|
||||
});
|
||||
}
|
||||
|
@ -2234,7 +2245,7 @@ $(document).on('pagecreate', ".page", function () {
|
|||
|
||||
if (!isConnectMode && this.id !== "loginPage" && !page.hasClass('forgotPasswordPage') && !page.hasClass('wizardPage')) {
|
||||
|
||||
console.log('Not logged into server. Redirecting to login.');
|
||||
Logger.log('Not logged into server. Redirecting to login.');
|
||||
Dashboard.logout();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
};
|
||||
|
||||
var url = "http://mb3admin.com/admin/service/supporter/linkKeys";
|
||||
console.log(url);
|
||||
Logger.log(url);
|
||||
$.post(url, info).done(function (res) {
|
||||
var result = JSON.parse(res);
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
@ -87,7 +87,7 @@
|
|||
} else {
|
||||
Dashboard.showError(result.ErrorMessage);
|
||||
}
|
||||
console.log(result);
|
||||
Logger.log(result);
|
||||
|
||||
});
|
||||
|
||||
|
@ -102,7 +102,7 @@
|
|||
var email = $('#txtEmail', form).val();
|
||||
|
||||
var url = "http://mb3admin.com/admin/service/supporter/retrievekey?email=" + email;
|
||||
console.log(url);
|
||||
Logger.log(url);
|
||||
$.post(url).done(function (res) {
|
||||
var result = JSON.parse(res);
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
@ -111,7 +111,7 @@
|
|||
} else {
|
||||
Dashboard.showError(result.ErrorMessage);
|
||||
}
|
||||
console.log(result);
|
||||
Logger.log(result);
|
||||
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue