mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
dlna fixes
This commit is contained in:
parent
11cb5f0b45
commit
b9aac88766
28 changed files with 410 additions and 423 deletions
|
@ -1260,16 +1260,16 @@
|
|||
};
|
||||
}
|
||||
|
||||
MediaController.registerPlayer(new chromecastPlayer());
|
||||
//MediaController.registerPlayer(new chromecastPlayer());
|
||||
|
||||
$(MediaController).on('playerchange', function () {
|
||||
//$(MediaController).on('playerchange', function () {
|
||||
|
||||
if (MediaController.getPlayerInfo().name == PlayerName) {
|
||||
// if (MediaController.getPlayerInfo().name == PlayerName) {
|
||||
|
||||
if (CastPlayer.deviceState != DEVICE_STATE.ACTIVE && CastPlayer.isInitialized) {
|
||||
CastPlayer.launchApp();
|
||||
}
|
||||
}
|
||||
});
|
||||
// if (CastPlayer.deviceState != DEVICE_STATE.ACTIVE && CastPlayer.isInitialized) {
|
||||
// CastPlayer.launchApp();
|
||||
// }
|
||||
// }
|
||||
//});
|
||||
|
||||
})(window, window.chrome, console);
|
|
@ -26,11 +26,11 @@
|
|||
$('#contribute', page).show();
|
||||
}
|
||||
|
||||
DashboardPage.renderSupporterIcon(page, pluginSecurityInfo);
|
||||
});
|
||||
|
||||
DashboardPage.reloadSystemInfo(page);
|
||||
DashboardPage.reloadNews(page);
|
||||
|
||||
DashboardPage.sessionUpdateTimer = setInterval(DashboardPage.refreshSessionsLocally, 60000);
|
||||
},
|
||||
|
||||
|
@ -55,7 +55,7 @@
|
|||
var port = systemInfo.HttpServerPortNumber;
|
||||
|
||||
if (port == systemInfo.WebSocketPortNumber) {
|
||||
|
||||
|
||||
$('#ports', page).html(Globalize.translate('LabelRunningOnPort').replace('{0}', '<b>' + port + '</b>'));
|
||||
} else {
|
||||
$('#ports', page).html(Globalize.translate('LabelRunningOnPorts').replace('{0}', '<b>' + port + '</b>').replace('{1}', '<b>' + systemInfo.WebSocketPortNumber + '</b>'));
|
||||
|
@ -739,6 +739,25 @@
|
|||
}
|
||||
},
|
||||
|
||||
renderSupporterIcon: function (page, pluginSecurityInfo) {
|
||||
|
||||
var imgUrl, text;
|
||||
|
||||
if (pluginSecurityInfo.IsMBSupporter) {
|
||||
|
||||
imgUrl = "css/images/supporter/supporterbadge.png";
|
||||
text = "Thank you for supporting Media Browser.";
|
||||
|
||||
$('.supporterIconContainer', page).html('<a class="imageLink supporterIcon" href="supporter.html" title="' + text + '"><img src="' + imgUrl + '" style="height:32px;vertical-align: middle; margin-right: .5em;" /></a><span style="position:relative;top:2px;text-decoration:none;">' + text + '</span>');
|
||||
} else {
|
||||
|
||||
imgUrl = "css/images/supporter/nonsupporterbadge.png";
|
||||
text = "Please support Media Browser.";
|
||||
|
||||
$('.supporterIconContainer', page).html('<a class="imageLink supporterIcon" href="supporter.html" title="' + text + '"><img src="' + imgUrl + '" style="height:32px;vertical-align: middle; margin-right: .5em;" /><span style="position:relative;top:2px;text-decoration:none;">' + text + '</span></a>');
|
||||
}
|
||||
},
|
||||
|
||||
renderHasPendingRestart: function (page, hasPendingRestart) {
|
||||
|
||||
$('#updateFail', page).hide();
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
else if (view == "Poster") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "portrait",
|
||||
shape: "auto",
|
||||
showTitle: true,
|
||||
centerText: true
|
||||
});
|
||||
|
|
|
@ -7,49 +7,56 @@
|
|||
//html += '<a href="index.html" class="headerButton headerButtonLeft headerHomeButton">';
|
||||
//html += '<img src="css/images/items/folders/home.png" />';
|
||||
//html += '</a>';
|
||||
html += '<button type="button" data-role="none" title="Menu" class="headerButton libraryMenuButton headerButtonLeft">';
|
||||
|
||||
html += '<button type="button" data-role="none" title="Menu" class="headerButton dashboardMenuButton barsMenuButton headerButtonLeft">';
|
||||
html += '<img src="css/images/menu.png" />';
|
||||
html += '</button>';
|
||||
|
||||
html += '<button type="button" data-role="none" title="Menu" class="headerButton libraryMenuButton barsMenuButton headerButtonLeft">';
|
||||
html += '<img src="css/images/menu.png" />';
|
||||
html += '</button>';
|
||||
|
||||
html += '<div class="libraryMenuButtonText headerButton"><span>MEDIA</span><span class="mediaBrowserAccent">BROWSER</span></div>';
|
||||
|
||||
html += '<div class="viewMenuSecondary">';
|
||||
|
||||
html += '<a href="nowplaying.html" class="headerButton headerButtonRight headerRemoteButton"><img src="css/images/remote.png" /></a>';
|
||||
|
||||
html += '<button id="btnCast" class="btnCast btnDefaultCast headerButton headerButtonRight" type="button" data-role="none"><div class="btnCastImage"></div></button>';
|
||||
html += '<button id="btnCast" class="btnCast btnDefaultCast headerButton headerButtonRight" type="button" data-role="none"><div class="headerSelectedPlayer"></div><div class="btnCastImage"></div></button>';
|
||||
|
||||
html += '<button onclick="Search.showSearchPanel($.mobile.activePage);" type="button" data-role="none" class="headerButton headerButtonRight headerSearchButton"><img src="css/images/headersearch.png" /></button>';
|
||||
|
||||
if (user.Configuration.IsAdministrator) {
|
||||
html += '<a href="dashboard.html" class="headerButton headerButtonRight headerSettingsButton"><img src="css/images/items/folders/settings.png" /></a>';
|
||||
}
|
||||
|
||||
html += '<a class="headerButton headerButtonRight" href="#" onclick="Dashboard.showUserFlyout(this);">';
|
||||
html += '<a class="headerButton headerButtonRight headerUserButton" href="#" onclick="Dashboard.showUserFlyout(this);">';
|
||||
|
||||
var userButtonHeight = 22;
|
||||
if (user.PrimaryImageTag) {
|
||||
|
||||
var url = ApiClient.getUserImageUrl(user.Id, {
|
||||
height: 18,
|
||||
height: userButtonHeight,
|
||||
tag: user.PrimaryImageTag,
|
||||
type: "Primary"
|
||||
});
|
||||
|
||||
html += '<img src="' + url + '" />';
|
||||
html += '<img src="' + url + '" style="height:' + userButtonHeight + 'px;" />';
|
||||
} else {
|
||||
html += '<img src="css/images/currentuserdefaultwhite.png" />';
|
||||
html += '<img src="css/images/currentuserdefaultwhite.png" style="height:' + userButtonHeight + 'px;" />';
|
||||
}
|
||||
|
||||
html += '</a>';
|
||||
|
||||
if (user.Configuration.IsAdministrator) {
|
||||
html += '<a href="dashboard.html" class="headerButton headerButtonRight"><img src="css/images/items/folders/settings.png" /></a>';
|
||||
}
|
||||
|
||||
html += '</div>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
$(document.body).prepend(html);
|
||||
$('.viewMenuBar').trigger('create');
|
||||
|
||||
$(document).trigger('headercreated');
|
||||
|
||||
$('.libraryMenuButton').createHoverTouch().on('hovertouch', showLibraryMenu);
|
||||
$('.dashboardMenuButton').createHoverTouch().on('hovertouch', showDashboardMenu);
|
||||
}
|
||||
|
||||
function getItemHref(item) {
|
||||
|
@ -76,9 +83,23 @@
|
|||
|
||||
function showLibraryMenu() {
|
||||
|
||||
var panel = getLibraryMenu();
|
||||
var page = $.mobile.activePage;
|
||||
var panel;
|
||||
|
||||
updateLibraryNavLinks($.mobile.activePage);
|
||||
panel = getLibraryMenu();
|
||||
updateLibraryNavLinks(page);
|
||||
|
||||
$(panel).panel('toggle').off('mouseleave.librarymenu').on('mouseleave.librarymenu', function () {
|
||||
|
||||
$(this).panel("close");
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function showDashboardMenu() {
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
var panel = getDashboardMenu(page);
|
||||
|
||||
$(panel).panel('toggle').off('mouseleave.librarymenu').on('mouseleave.librarymenu', function () {
|
||||
|
||||
|
@ -100,7 +121,7 @@
|
|||
var viewMenuCssClass = (i.CollectionType || 'general') + 'ViewMenu';
|
||||
|
||||
var itemId = i.Id;
|
||||
|
||||
|
||||
if (i.CollectionType == "channels") {
|
||||
itemId = "channels";
|
||||
}
|
||||
|
@ -131,6 +152,8 @@
|
|||
});
|
||||
}
|
||||
|
||||
var requiresLibraryMenuRefresh = false;
|
||||
|
||||
function getLibraryMenu() {
|
||||
|
||||
var panel = $('#libraryPanel');
|
||||
|
@ -157,6 +180,33 @@
|
|||
|
||||
updateLibraryMenu();
|
||||
}
|
||||
else if (requiresLibraryMenuRefresh) {
|
||||
updateLibraryMenu();
|
||||
requiresLibraryMenuRefresh = false;
|
||||
}
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
function getDashboardMenu(page) {
|
||||
|
||||
var panel = $('#dashboardPanel', page);
|
||||
|
||||
if (!panel.length) {
|
||||
|
||||
var html = '';
|
||||
|
||||
html += '<div data-role="panel" id="dashboardPanel" class="dashboardPanel" data-position="left" data-display="overlay" data-position-fixed="true" data-theme="b">';
|
||||
|
||||
html += '<div style="margin: 0 -1em;">';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
$(document.body).append(html);
|
||||
panel = $('#dashboardPanel').panel({}).trigger('create');
|
||||
}
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
@ -187,10 +237,12 @@
|
|||
if (info.isLocalPlayer) {
|
||||
|
||||
$('.btnCast').addClass('btnDefaultCast').removeClass('btnActiveCast');
|
||||
$('.headerSelectedPlayer').html('');
|
||||
|
||||
} else {
|
||||
|
||||
$('.btnCast').removeClass('btnDefaultCast').addClass('btnActiveCast');
|
||||
$('.headerSelectedPlayer').html(info.deviceName || info.name);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -257,12 +309,30 @@
|
|||
$('.libraryMenuButtonText').html('<span>' + name + '</span>');
|
||||
|
||||
}
|
||||
else if ($(page).hasClass('allLibraryPage')) {
|
||||
//else if ($(page).hasClass('type-interior')) {
|
||||
|
||||
// $('.libraryMenuButtonText').html('<span>' + 'Dashboard' + '</span>');
|
||||
|
||||
//}
|
||||
else if ($(page).hasClass('allLibraryPage') || $(page).hasClass('type-interior')) {
|
||||
$('.libraryMenuButtonText').html('<span>MEDIA</span><span class="mediaBrowserAccent">BROWSER</span>');
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('pageinit', ".libraryPage", function () {
|
||||
function onWebSocketMessage(e, data) {
|
||||
|
||||
var msg = data;
|
||||
|
||||
if (msg.MessageType === "UserConfigurationUpdated") {
|
||||
|
||||
if (msg.Data.Id == Dashboard.getCurrentUserId()) {
|
||||
|
||||
requiresLibraryMenuRefresh = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('pageinit', ".page", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
|
@ -274,10 +344,9 @@
|
|||
|
||||
});
|
||||
|
||||
}).on('pagebeforeshow', ".libraryPage", function () {
|
||||
}).on('pagebeforeshow', ".page:not(.standalonePage)", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
if (!$('.viewMenuBar').length) {
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
@ -294,14 +363,25 @@
|
|||
updateLibraryNavLinks(page);
|
||||
}
|
||||
|
||||
var jpage = $(page);
|
||||
|
||||
if (jpage.hasClass('libraryPage')) {
|
||||
$(document.body).addClass('libraryDocument').removeClass('dashboardDocument');
|
||||
}
|
||||
else if (jpage.hasClass('type-interior')) {
|
||||
$(document.body).addClass('dashboardDocument').removeClass('libraryDocument');
|
||||
} else {
|
||||
$(document.body).removeClass('dashboardDocument').removeClass('libraryDocument');
|
||||
}
|
||||
|
||||
}).on('pagebeforeshow', ".page", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
if ($(page).hasClass('libraryPage')) {
|
||||
$('.viewMenuBar').show();
|
||||
} else {
|
||||
if ($(page).hasClass('standalonePage')) {
|
||||
$('.viewMenuBar').hide();
|
||||
} else {
|
||||
$('.viewMenuBar').show();
|
||||
}
|
||||
|
||||
}).on('pageshow', ".libraryPage", function () {
|
||||
|
@ -316,8 +396,6 @@
|
|||
// Scroll back up so in case vertical scroll was messed with
|
||||
$(document).scrollTop(0);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
$(function () {
|
||||
|
@ -326,6 +404,7 @@
|
|||
updateCastIcon();
|
||||
});
|
||||
|
||||
$(ApiClient).on('websocketmessage', onWebSocketMessage);
|
||||
});
|
||||
|
||||
})(window, document, jQuery);
|
||||
|
|
|
@ -291,7 +291,7 @@
|
|||
currentPlayer.shuffle(id);
|
||||
};
|
||||
|
||||
self.playlist = function() {
|
||||
self.playlist = function () {
|
||||
return currentPlayer.playlist || [];
|
||||
};
|
||||
|
||||
|
@ -430,7 +430,7 @@
|
|||
|
||||
var mirror = (!target.isLocalPlayer && target.supportedCommands.indexOf('DisplayContent') != -1) ? 'true' : 'false';
|
||||
|
||||
html += '<input type="radio" class="radioSelectPlayerTarget" name="radioSelectPlayerTarget" data-mirror="' + mirror + '" data-commands="' + target.supportedCommands.join(',') + '" data-mediatypes="' + target.playableMediaTypes.join(',') + '" data-playername="' + target.playerName + '" data-targetid="' + target.id + '" data-targetname="' + target.name + '" id="' + id + '" value="' + target.id + '"' + checkedHtml + '>';
|
||||
html += '<input type="radio" class="radioSelectPlayerTarget" name="radioSelectPlayerTarget" data-mirror="' + mirror + '" data-commands="' + target.supportedCommands.join(',') + '" data-mediatypes="' + target.playableMediaTypes.join(',') + '" data-playername="' + target.playerName + '" data-targetid="' + target.id + '" data-targetname="' + target.name + '" data-devicename="' + target.deviceName + '" id="' + id + '" value="' + target.id + '"' + checkedHtml + '>';
|
||||
html += '<label for="' + id + '" style="font-weight:normal;">' + target.name;
|
||||
|
||||
if (target.appName) {
|
||||
|
@ -460,6 +460,9 @@
|
|||
|
||||
html += '<div class="players"></div>';
|
||||
|
||||
html += '<br/>';
|
||||
html += '<p><a href="nowplaying.html" data-role="button" data-mini="true" data-icon="remote">' + Globalize.translate('ButtonRemoteControl') + '</a></p>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
$(document.body).append(html);
|
||||
|
@ -506,6 +509,7 @@
|
|||
var playerName = this.getAttribute('data-playername');
|
||||
var targetId = this.getAttribute('data-targetid');
|
||||
var targetName = this.getAttribute('data-targetname');
|
||||
var deviceName = this.getAttribute('data-deviceName');
|
||||
var playableMediaTypes = this.getAttribute('data-mediatypes').split(',');
|
||||
var supportedCommands = this.getAttribute('data-commands').split(',');
|
||||
|
||||
|
@ -513,7 +517,8 @@
|
|||
id: targetId,
|
||||
name: targetName,
|
||||
playableMediaTypes: playableMediaTypes,
|
||||
supportedCommands: supportedCommands
|
||||
supportedCommands: supportedCommands,
|
||||
deviceName: deviceName
|
||||
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,21 +1,8 @@
|
|||
(function () {
|
||||
videoPlayer = function (mediaPlayer, item, mediaSource, startPosition, user) {
|
||||
if (mediaPlayer == null) {
|
||||
throw new Error("mediaPlayer cannot be null");
|
||||
}
|
||||
|
||||
if (item == null) {
|
||||
throw new Error("item cannot be null");
|
||||
}
|
||||
|
||||
if (user == null) {
|
||||
throw new Error("user cannot be null");
|
||||
}
|
||||
|
||||
var self = mediaPlayer;
|
||||
function createVideoPlayer(self) {
|
||||
|
||||
var timeout;
|
||||
var video;
|
||||
var initialVolume;
|
||||
var fullscreenExited = false;
|
||||
var idleState = true;
|
||||
|
@ -30,12 +17,6 @@
|
|||
|
||||
self.currentSubtitleStreamIndex = null;
|
||||
|
||||
self.initVideoPlayer = function () {
|
||||
video = playVideo(item, mediaSource, startPosition);
|
||||
|
||||
return video;
|
||||
};
|
||||
|
||||
self.getCurrentSubtitleStream = function () {
|
||||
return self.getSubtitleStream(self.currentSubtitleStreamIndex);
|
||||
};
|
||||
|
@ -219,7 +200,7 @@
|
|||
return s.Type == 'Subtitle' && s.IsTextSubtitleStream;
|
||||
});
|
||||
|
||||
var allTracks = video.textTracks; // get list of tracks
|
||||
var allTracks = self.currentMediaElement.textTracks; // get list of tracks
|
||||
|
||||
for (var i = 0; i < allTracks.length; i++) {
|
||||
|
||||
|
@ -239,7 +220,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
var allTracks = video.textTracks; // get list of tracks
|
||||
var allTracks = self.currentMediaElement.textTracks; // get list of tracks
|
||||
|
||||
for (var i = 0; i < allTracks.length; i++) {
|
||||
|
||||
|
@ -256,7 +237,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
$('track', video).each(function () {
|
||||
$('track', self.currentMediaElement).each(function () {
|
||||
|
||||
var currentSrc = this.src;
|
||||
|
||||
|
@ -267,22 +248,6 @@
|
|||
});
|
||||
};
|
||||
|
||||
$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange', function (e) {
|
||||
|
||||
var videoControls = $('#videoControls');
|
||||
|
||||
$('.itemVideo').off('mousemove keydown scroll', idleHandler);
|
||||
|
||||
if (self.isFullScreen()) {
|
||||
enterFullScreen();
|
||||
idleState = true;
|
||||
$('.itemVideo').on('mousemove keydown scroll', idleHandler).trigger('mousemove');
|
||||
} else {
|
||||
videoControls.removeClass("active inactive");
|
||||
exitFullScreenToWindow();
|
||||
}
|
||||
});
|
||||
|
||||
function onPositionSliderChange() {
|
||||
|
||||
isPositionSliderActive = false;
|
||||
|
@ -365,12 +330,6 @@
|
|||
hideFlyout($('#video-qualityFlyout'));
|
||||
});
|
||||
|
||||
$("body").on("mousemove", "#videoPlayer.fullscreenVideo #itemVideo", function () {
|
||||
|
||||
idleHandler(this);
|
||||
|
||||
});
|
||||
|
||||
var trackChange = false;
|
||||
|
||||
var tooltip = $('<div id="slider-tooltip"></div>');
|
||||
|
@ -399,9 +358,18 @@
|
|||
|
||||
tooltip.remove();
|
||||
});
|
||||
|
||||
$(".mediaFlyoutContainer").on("click", "a", function (e) {
|
||||
if (confirm("This option will close the video player. Proceed?")) {
|
||||
self.stop();
|
||||
} else {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function idleHandler() {
|
||||
|
||||
var video = $(".itemVideo");
|
||||
var videoControls = $("#videoControls");
|
||||
|
||||
|
@ -447,14 +415,6 @@
|
|||
|
||||
}
|
||||
|
||||
function changeHandler(event) {
|
||||
|
||||
document.addEventListener(event, function () {
|
||||
fullscreenExited = self.isFullScreen() == false;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function enterFullScreen() {
|
||||
|
||||
var player = $("#videoPlayer");
|
||||
|
@ -512,6 +472,7 @@
|
|||
$(document.body).off("mousedown.hidesearchhints");
|
||||
}
|
||||
|
||||
|
||||
function getChaptersFlyoutHtml() {
|
||||
|
||||
var html = '';
|
||||
|
@ -577,7 +538,7 @@
|
|||
return currentStream.Type == "Audio";
|
||||
});
|
||||
|
||||
var currentIndex = getParameterByName('AudioStreamIndex', video.currentSrc);
|
||||
var currentIndex = getParameterByName('AudioStreamIndex', self.currentMediaElement.currentSrc);
|
||||
|
||||
var html = '';
|
||||
|
||||
|
@ -716,12 +677,12 @@
|
|||
|
||||
var html = '';
|
||||
|
||||
var currentSrc = video.currentSrc.toLowerCase();
|
||||
var currentSrc = self.currentMediaElement.currentSrc.toLowerCase();
|
||||
var isStatic = currentSrc.indexOf('static=true') != -1;
|
||||
|
||||
var transcodingExtension = self.getTranscodingExtension();
|
||||
|
||||
var currentAudioStreamIndex = getParameterByName('AudioStreamIndex', video.currentSrc);
|
||||
var currentAudioStreamIndex = getParameterByName('AudioStreamIndex', self.currentMediaElement.currentSrc);
|
||||
|
||||
var options = getVideoQualityOptions(self.currentMediaSource.MediaStreams, currentAudioStreamIndex, transcodingExtension);
|
||||
|
||||
|
@ -833,7 +794,66 @@
|
|||
return options;
|
||||
}
|
||||
|
||||
function playVideo(item, mediaSource, startPosition) {
|
||||
function bindEventsForPlayback() {
|
||||
|
||||
$(document).on('webkitfullscreenchange.videoplayer mozfullscreenchange.videoplayer fullscreenchange.videoplayer', function (e) {
|
||||
|
||||
$('.itemVideo').off('mousemove.videoplayer keydown.videoplayer scroll.videoplayer', idleHandler);
|
||||
|
||||
if (self.isFullScreen()) {
|
||||
enterFullScreen();
|
||||
idleState = true;
|
||||
$('.itemVideo').on('mousemove.videoplayer keydown.videoplayer scroll.videoplayer', idleHandler).trigger('mousemove');
|
||||
|
||||
} else {
|
||||
$('#videoControls').removeClass("active inactive");
|
||||
exitFullScreenToWindow();
|
||||
}
|
||||
|
||||
fullscreenExited = self.isFullScreen() == false;
|
||||
|
||||
}).on("msfullscreenchange.videoplayer", function (e) {
|
||||
|
||||
fullscreenExited = self.isFullScreen() == false;
|
||||
|
||||
}).on("keyup.videoplayer", function (e) {
|
||||
|
||||
if (fullscreenExited) {
|
||||
$("#videoPlayer", $("#mediaPlayer")).removeClass("fullscreenVideo");
|
||||
fullscreenExited = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.keyCode == 27) {
|
||||
self.stop();
|
||||
}
|
||||
});
|
||||
|
||||
// Stop playback on browser back button nav
|
||||
$(window).one("popstate.videoplayer", function () {
|
||||
self.stop();
|
||||
return;
|
||||
});
|
||||
|
||||
$(document.body).on("mousemove.videplayer", "#videoPlayer.fullscreenVideo #itemVideo", function () {
|
||||
|
||||
idleHandler(this);
|
||||
});
|
||||
}
|
||||
|
||||
function unbindEventsForPlayback() {
|
||||
|
||||
$(document).off('webkitfullscreenchange.videoplayer mozfullscreenchange.videoplayer fullscreenchange.videoplayer').off("msfullscreenchange.videoplayer").off("keyup.videoplayer");
|
||||
|
||||
// Stop playback on browser back button nav
|
||||
$(window).off("popstate.videoplayer");
|
||||
|
||||
$(document.body).off("mousemove.videplayer", "#videoPlayer.fullscreenVideo #itemVideo");
|
||||
|
||||
$('.itemVideo').off('mousemove.videoplayer keydown.videoplayer scroll.videoplayer');
|
||||
}
|
||||
|
||||
self.playVideo = function (item, mediaSource, startPosition) {
|
||||
|
||||
var mediaStreams = mediaSource.MediaStreams || [];
|
||||
|
||||
|
@ -892,18 +912,15 @@
|
|||
|
||||
// None of the browsers seem to like this
|
||||
EnableAutoStreamCopy: false
|
||||
|
||||
})) + seekParam;
|
||||
|
||||
var webmVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.webm', $.extend({}, baseParams, {
|
||||
|
||||
VideoCodec: 'vpx',
|
||||
AudioCodec: 'Vorbis',
|
||||
maxWidth: webmQuality.maxWidth,
|
||||
videoBitrate: webmQuality.videoBitrate,
|
||||
audioBitrate: webmQuality.audioBitrate,
|
||||
EnableAutoStreamCopy: false
|
||||
|
||||
})) + seekParam;
|
||||
|
||||
var hlsVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/stream.m3u8', $.extend({}, baseParams, {
|
||||
|
@ -915,7 +932,6 @@
|
|||
AudioCodec: m3U8Quality.audioCodec,
|
||||
profile: 'baseline',
|
||||
level: '3'
|
||||
|
||||
})) + seekParam;
|
||||
|
||||
//======================================================================================>
|
||||
|
@ -975,9 +991,8 @@
|
|||
|
||||
html += '</video>';
|
||||
|
||||
var mediaPlayer = $("#mediaPlayer").show();
|
||||
var videoPlayer = $("#videoPlayer", mediaPlayer);
|
||||
var videoControls = $('#videoControls', mediaPlayer);
|
||||
var mediaPlayerContainer = $("#mediaPlayer").show();
|
||||
var videoControls = $('#videoControls', mediaPlayerContainer);
|
||||
|
||||
//show stop button
|
||||
$('#video-stopButton', videoControls).show();
|
||||
|
@ -985,7 +1000,8 @@
|
|||
$('#video-pauseButton', videoControls).show();
|
||||
$('#video-previousTrackButton', videoControls).hide();
|
||||
$('#video-nextTrackButton', videoControls).hide();
|
||||
var videoElement = $('#videoElement', mediaPlayer).prepend(html);
|
||||
|
||||
var videoElement = $('#videoElement', mediaPlayerContainer).prepend(html);
|
||||
|
||||
$('#video-qualityButton', videoControls).show();
|
||||
|
||||
|
@ -1000,7 +1016,8 @@
|
|||
if (subtitleStreams.length) {
|
||||
$('#video-subtitleButton', videoControls).show().prop("disabled", false);
|
||||
} else {
|
||||
$('#video-subtitleButton', videoControls).hide().prop("disabled", true);;
|
||||
$('#video-subtitleButton', videoControls).hide().prop("disabled", true);
|
||||
;
|
||||
}
|
||||
|
||||
if (item.Chapters && item.Chapters.length) {
|
||||
|
@ -1026,17 +1043,17 @@
|
|||
volumeSlider.val(initialVolume).slider('refresh');
|
||||
updateVolumeButtons(initialVolume);
|
||||
|
||||
video.on("volumechange", function (e) {
|
||||
video.on("volumechange.mediaplayerevent", function (e) {
|
||||
|
||||
var vol = this.volume;
|
||||
|
||||
updateVolumeButtons(vol);
|
||||
|
||||
}).one("playing", function () {
|
||||
}).one("playing.mediaplayerevent", function () {
|
||||
|
||||
self.onPlaybackStart(this, item, mediaSource);
|
||||
|
||||
}).on("pause", function (e) {
|
||||
}).on("pause.mediaplayerevent", function (e) {
|
||||
|
||||
$('#video-playButton', videoControls).show();
|
||||
$('#video-pauseButton', videoControls).hide();
|
||||
|
@ -1050,7 +1067,7 @@
|
|||
self.stop();
|
||||
}, 5 * 60 * 1000); // 5 minutes
|
||||
|
||||
}).on("playing", function (e) {
|
||||
}).on("playing.mediaplayerevent", function (e) {
|
||||
|
||||
$('#video-playButton', videoControls).hide();
|
||||
$('#video-pauseButton', videoControls).show();
|
||||
|
@ -1062,14 +1079,14 @@
|
|||
// Remove pause setop timer
|
||||
self.clearPauseStop();
|
||||
|
||||
}).on("timeupdate", function () {
|
||||
}).on("timeupdate.mediaplayerevent", function () {
|
||||
|
||||
if (!isPositionSliderActive) {
|
||||
|
||||
self.setCurrentTime(self.getCurrentTicks(this), positionSlider, currentTimeElement);
|
||||
}
|
||||
|
||||
}).on("error", function () {
|
||||
}).on("error.mediaplayerevent", function () {
|
||||
|
||||
self.clearPauseStop();
|
||||
|
||||
|
@ -1090,7 +1107,7 @@
|
|||
message: errorMsg
|
||||
});
|
||||
|
||||
}).on("click", function (e) {
|
||||
}).on("click.mediaplayerevent", function (e) {
|
||||
|
||||
if (this.paused) {
|
||||
self.unpause();
|
||||
|
@ -1098,23 +1115,23 @@
|
|||
self.pause();
|
||||
}
|
||||
|
||||
}).on("dblclick", function () {
|
||||
}).on("dblclick.mediaplayerevent", function () {
|
||||
|
||||
self.toggleFullscreen();
|
||||
|
||||
}).on("seeking", function (e) {
|
||||
}).on("seeking.mediaplayerevent", function (e) {
|
||||
|
||||
$("html").css("cursor", "wait");
|
||||
|
||||
}).on("seeked", function (e) {
|
||||
}).on("seeked.mediaplayerevent", function (e) {
|
||||
|
||||
$("html").css("cursor", "default");
|
||||
|
||||
}).on("loadstart", function () {
|
||||
}).on("loadstart.mediaplayerevent", function () {
|
||||
|
||||
$("html").css("cursor", "progress");
|
||||
|
||||
}).on("canplay", function () {
|
||||
}).on("canplay.mediaplayerevent", function () {
|
||||
|
||||
$("html").css("cursor", "default");
|
||||
|
||||
|
@ -1124,47 +1141,22 @@
|
|||
|
||||
self.onPlaybackStopped.call(this);
|
||||
|
||||
unbindEventsForPlayback();
|
||||
|
||||
}).on('ended.playnext', self.playNextAfterEnded);
|
||||
|
||||
// Stop playback on browser back button nav
|
||||
$(window).on("popstate", function () {
|
||||
self.stop();
|
||||
return;
|
||||
});
|
||||
bindEventsForPlayback();
|
||||
|
||||
$(".mediaFlyoutContainer").on("click", "a", function (e) {
|
||||
if (confirm("This option will close the video player. Proceed?")) {
|
||||
self.stop();
|
||||
} else {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
changeHandler("fullscreenchange");
|
||||
changeHandler("mozfullscreenchange");
|
||||
changeHandler("webkitfullscreenchange");
|
||||
changeHandler("msfullscreenchange");
|
||||
|
||||
$(document).on("keyup.enhancePlayer", function (e) {
|
||||
if (fullscreenExited) {
|
||||
videoPlayer.removeClass("fullscreenVideo");
|
||||
fullscreenExited = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.keyCode == 27) {
|
||||
self.stop();
|
||||
$(this).off("keyup.enhancePlayer");
|
||||
}
|
||||
});
|
||||
|
||||
mediaPlayer.trigger("create");
|
||||
mediaPlayerContainer.trigger("create");
|
||||
|
||||
fullscreenExited = false;
|
||||
|
||||
self.currentSubtitleStreamIndex = mediaSource.DefaultSubtitleStreamIndex;
|
||||
|
||||
return video[0];
|
||||
}
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
createVideoPlayer(MediaPlayer);
|
||||
|
||||
})();
|
|
@ -475,8 +475,7 @@
|
|||
self.currentItem = item;
|
||||
self.currentMediaSource = getOptimalMediaSource(item.MediaType, item.MediaSources);
|
||||
|
||||
videoPlayer(self, item, self.currentMediaSource, startPosition, user);
|
||||
mediaElement = self.initVideoPlayer();
|
||||
mediaElement = self.playVideo(item, self.currentMediaSource, startPosition);
|
||||
self.currentDurationTicks = self.currentMediaSource.RunTimeTicks;
|
||||
|
||||
} else if (item.MediaType === "Audio") {
|
||||
|
@ -940,7 +939,7 @@
|
|||
|
||||
var isVideo = self.currentItem.MediaType == "Video";
|
||||
|
||||
$(elem).off("ended.playnext").on("ended", function () {
|
||||
$(elem).off("ended.playnext").one("ended", function () {
|
||||
|
||||
$(this).off();
|
||||
|
||||
|
@ -1106,7 +1105,7 @@
|
|||
|
||||
var playerElement = this;
|
||||
|
||||
$(playerElement).off('ended.playbackstopped');
|
||||
$(playerElement).off('.mediaplayerevent').off('ended.playbackstopped');
|
||||
|
||||
clearProgressInterval();
|
||||
|
||||
|
@ -1259,25 +1258,25 @@
|
|||
this.volume = initialVolume;
|
||||
this.play();
|
||||
|
||||
}).on("volumechange", function () {
|
||||
}).on("volumechange.mediaplayerevent", function () {
|
||||
|
||||
self.onVolumeChanged(this);
|
||||
|
||||
}).one("playing", function () {
|
||||
}).one("playing.mediaplayerevent", function () {
|
||||
|
||||
$('.mediaPlayerAudioContainer').hide();
|
||||
|
||||
self.onPlaybackStart(this, item, mediaSource);
|
||||
|
||||
}).on("pause", function () {
|
||||
}).on("pause.mediaplayerevent", function () {
|
||||
|
||||
self.onPlaystateChange(this);
|
||||
|
||||
}).on("playing", function () {
|
||||
}).on("playing.mediaplayerevent", function () {
|
||||
|
||||
self.onPlaystateChange(this);
|
||||
|
||||
}).on("timeupdate", function () {
|
||||
}).on("timeupdate.mediaplayerevent", function () {
|
||||
|
||||
self.setCurrentTime(self.getCurrentTicks(this));
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
self.getNotificationsSummary().done(function (summary) {
|
||||
|
||||
var item = $('.btnNotifications').removeClass('levelNormal').removeClass('levelWarning').removeClass('levelError').html(summary.UnreadCount);
|
||||
var item = $('.btnNotificationsInner').removeClass('levelNormal').removeClass('levelWarning').removeClass('levelError').html(summary.UnreadCount);
|
||||
|
||||
if (summary.UnreadCount) {
|
||||
item.addClass('level' + summary.MaxUnreadNotificationLevel);
|
||||
|
@ -207,13 +207,9 @@
|
|||
|
||||
window.Notifications = new notifications();
|
||||
|
||||
$(Dashboard).on('interiorheaderrendered', function (e, header, user) {
|
||||
$(document).on('headercreated', function (e) {
|
||||
|
||||
if (!user || $('.notificationsButton', header).length) {
|
||||
return;
|
||||
}
|
||||
|
||||
$('<a class="imageLink btnNotifications" href="#" title="Notifications">0</a>').insertAfter($('.btnCurrentUser', header)).on('click', Notifications.showNotificationsFlyout);
|
||||
$('<a class="headerButton headerButtonRight btnNotifications" href="#" title="Notifications"><div class="btnNotificationsInner">0</div></a>').insertBefore($('.headerUserButton')).on('click', Notifications.showNotificationsFlyout);
|
||||
|
||||
Notifications.updateNotificationCount();
|
||||
});
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
html += '<div style="display:inline-block;width:12px;"></div>';
|
||||
html += '<a id="playlistButton" class="mediaButton playlistButton" href="playlist.html" data-role="button" data-icon="bullets" data-iconpos="notext" data-inline="true" title="' + Globalize.translate('ButtonPlaylist') + '">' + Globalize.translate('ButtonPlaylist') + '</a>';
|
||||
html += '<button id="previousTrackButton" class="mediaButton previousTrackButton" title="' + Globalize.translate('ButtonPreviousTrack') + '" type="button" data-icon="previous-track" data-iconpos="notext" data-inline="true">' + Globalize.translate('ButtonPreviousTrack') + '</button>';
|
||||
|
||||
html += '<a class="mediaButton remoteControlButton" title="' + Globalize.translate('ButtonRemoteControl') + '" href="nowplaying.html" data-role="button" data-icon="remote" data-iconpos="notext" data-inline="true">' + Globalize.translate('ButtonRemoteControl') + '</a>';
|
||||
|
||||
html += '<button id="playButton" class="mediaButton unpauseButton" title="' + Globalize.translate('ButtonPlay') + '" type="button" data-icon="play" data-iconpos="notext" data-inline="true">' + Globalize.translate('ButtonPlay') + '</button>';
|
||||
html += '<button id="pauseButton" class="mediaButton pauseButton" title="' + Globalize.translate('ButtonPause') + '" type="button" data-icon="pause" data-iconpos="notext" data-inline="true">' + Globalize.translate('ButtonPause') + '</button>';
|
||||
|
||||
|
|
|
@ -252,6 +252,7 @@
|
|||
}).map(function (s) {
|
||||
return {
|
||||
name: s.DeviceName,
|
||||
deviceName: s.DeviceName,
|
||||
id: s.Id,
|
||||
playerName: self.name,
|
||||
appName: s.Client,
|
||||
|
|
|
@ -59,30 +59,13 @@ var Dashboard = {
|
|||
return Dashboard.getUserPromise;
|
||||
},
|
||||
|
||||
validateCurrentUser: function (page) {
|
||||
validateCurrentUser: function () {
|
||||
|
||||
Dashboard.getUserPromise = null;
|
||||
|
||||
if (Dashboard.getCurrentUserId()) {
|
||||
Dashboard.getCurrentUser();
|
||||
}
|
||||
|
||||
page = page || $.mobile.activePage;
|
||||
|
||||
var header = $('.header', page);
|
||||
|
||||
if (header.length) {
|
||||
// Re-render the header
|
||||
header.remove();
|
||||
|
||||
if (Dashboard.getUserPromise) {
|
||||
Dashboard.getUserPromise.done(function (user) {
|
||||
Dashboard.ensureHeader(page, user);
|
||||
});
|
||||
} else {
|
||||
Dashboard.ensureHeader(page);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getCurrentUserId: function () {
|
||||
|
@ -544,21 +527,21 @@ var Dashboard = {
|
|||
Dashboard.validateCurrentUser();
|
||||
},
|
||||
|
||||
ensureHeader: function (page, user) {
|
||||
ensureHeader: function (page) {
|
||||
|
||||
if (!page.hasClass('libraryPage') && !$('.headerButtons', page).length) {
|
||||
if (page.hasClass('standalonePage')) {
|
||||
|
||||
Dashboard.renderHeader(page, user);
|
||||
Dashboard.renderHeader(page);
|
||||
}
|
||||
},
|
||||
|
||||
renderHeader: function (page, user) {
|
||||
|
||||
var headerHtml = '';
|
||||
renderHeader: function (page) {
|
||||
|
||||
var header = $('.header', page);
|
||||
|
||||
if (!header.length) {
|
||||
var headerHtml = '';
|
||||
|
||||
headerHtml += '<div class="header">';
|
||||
|
||||
headerHtml += '<a class="logo" href="index.html">';
|
||||
|
@ -570,67 +553,9 @@ var Dashboard = {
|
|||
|
||||
headerHtml += '</a>';
|
||||
|
||||
if (page.hasClass('type-interior')) {
|
||||
headerHtml += '<div>';
|
||||
headerHtml += '<button type="button" data-icon="bars" data-inline="true" data-iconpos="notext" class="ui-alt-icon" onclick="Dashboard.showDashboardMenu();">Menu</button>';
|
||||
headerHtml += '</div>';
|
||||
}
|
||||
|
||||
headerHtml += '</div>';
|
||||
page.prepend(headerHtml);
|
||||
|
||||
header = $('.header', page).trigger('create');
|
||||
}
|
||||
|
||||
var imageColor = "black";
|
||||
|
||||
headerHtml = '';
|
||||
headerHtml += '<div class="headerButtons">';
|
||||
|
||||
if (user && !page.hasClass('wizardPage')) {
|
||||
|
||||
headerHtml += '<a class="imageLink btnCurrentUser" href="#" onclick="Dashboard.showUserFlyout(this);"><span class="currentUsername" style="font-weight:normal;">' + user.Name + '</span>';
|
||||
|
||||
if (user.PrimaryImageTag) {
|
||||
|
||||
var url = ApiClient.getUserImageUrl(user.Id, {
|
||||
width: 28,
|
||||
tag: user.PrimaryImageTag,
|
||||
type: "Primary"
|
||||
});
|
||||
|
||||
headerHtml += '<img src="' + url + '" />';
|
||||
} else {
|
||||
headerHtml += '<img src="css/images/currentuserdefault' + imageColor + '.png" />';
|
||||
}
|
||||
headerHtml += '</a>';
|
||||
|
||||
if (user.Configuration.IsAdministrator) {
|
||||
|
||||
var href = window.location.toString().toLowerCase().indexOf('dashboard.html') == -1 ? 'dashboard.html' : '#';
|
||||
|
||||
headerHtml += '<a class="imageLink btnTools" href="' + href + '" data-role="button" data-icon="gear" data-inline="true" data-iconpos="notext">Tools</a>';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
headerHtml += '</div>';
|
||||
|
||||
header.append(headerHtml).trigger('create');
|
||||
|
||||
if (!$('.supporterIcon', header).length) {
|
||||
|
||||
Dashboard.getPluginSecurityInfo().done(function (pluginSecurityInfo) {
|
||||
|
||||
if (pluginSecurityInfo.IsMBSupporter) {
|
||||
$('<a class="imageLink supporterIcon" href="supporter.html" title="Thank you for supporting Media Browser."><img src="css/images/supporter/supporterbadge.png" /></a>').insertBefore($('.btnTools', header));
|
||||
} else {
|
||||
$('<a class="imageLink supporterIcon" href="supporter.html" title="Become a Media Browser supporter!"><img src="css/images/supporter/nonsupporterbadge.png" /></a>').insertBefore($('.btnTools', header));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(Dashboard).trigger('interiorheaderrendered', [header, user]);
|
||||
},
|
||||
|
||||
ensureToolsMenu: function (page, user) {
|
||||
|
@ -645,12 +570,9 @@ var Dashboard = {
|
|||
|
||||
var html = '<div class="content-secondary ui-bar-a toolsSidebar">';
|
||||
|
||||
html += '<p class="libraryPanelHeader" style="margin: 30px 0 20px 25px;"><a href="index.html" class="imageLink"><img src="css/images/mblogoicon.png" style="height:28px;" /><span>MEDIA</span><span class="mediaBrowserAccent">BROWSER</span></a></p>';
|
||||
|
||||
if (user.Configuration.IsAdministrator) {
|
||||
html += '<div style="position:absolute;top:20px;right:20px;"><a data-role="button" data-theme="b" data-icon="edit" data-iconpos="notext" href="edititemmetadata.html" title="Metadata Manager">Metadata Manager</a></div>';
|
||||
}
|
||||
|
||||
//html += '<p class="libraryPanelHeader" style="margin: 25px 0 20px 20px;"><a href="index.html" class="imageLink"><img src="css/images/mblogoicon.png" style="height:28px;" /><span>MEDIA</span><span class="mediaBrowserAccent">BROWSER</span></a></p>';
|
||||
html += '<br/>';
|
||||
|
||||
html += '<div class="sidebarLinks">';
|
||||
|
||||
var links = Dashboard.getToolsMenuLinks(page);
|
||||
|
@ -688,7 +610,7 @@ var Dashboard = {
|
|||
|
||||
html += '<div data-role="panel" id="dashboardPanel" class="dashboardPanel" data-position="left" data-display="overlay" data-position-fixed="true" data-theme="b">';
|
||||
|
||||
html += '<p class="libraryPanelHeader" style="margin: 20px 0 20px 15px;"><a href="index.html" class="imageLink"><img src="css/images/mblogoicon.png" /><span>MEDIA</span><span class="mediaBrowserAccent">BROWSER</span></a></p>';
|
||||
html += '<p class="libraryPanelHeader" style="margin: 15px 0 15px 15px;"><a href="index.html" class="imageLink"><img src="css/images/mblogoicon.png" /><span>MEDIA</span><span class="mediaBrowserAccent">BROWSER</span></a></p>';
|
||||
|
||||
for (i = 0, length = links.length; i < length; i++) {
|
||||
|
||||
|
@ -719,13 +641,6 @@ var Dashboard = {
|
|||
}
|
||||
},
|
||||
|
||||
showDashboardMenu: function () {
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
|
||||
$("#dashboardPanel", page).panel("open");
|
||||
},
|
||||
|
||||
getToolsMenuLinks: function (page) {
|
||||
|
||||
var pageElem = page[0];
|
||||
|
@ -906,7 +821,7 @@ var Dashboard = {
|
|||
else if (msg.MessageType === "RestartRequired") {
|
||||
Dashboard.updateSystemInfo(msg.Data);
|
||||
}
|
||||
else if (msg.MessageType === "UserUpdated") {
|
||||
else if (msg.MessageType === "UserUpdated" || msg.MessageType === "UserConfigurationUpdated") {
|
||||
Dashboard.validateCurrentUser();
|
||||
|
||||
var user = msg.Data;
|
||||
|
@ -952,15 +867,6 @@ var Dashboard = {
|
|||
}
|
||||
});
|
||||
}
|
||||
else if (msg.MessageType === "ScheduledTaskEnded") {
|
||||
|
||||
Dashboard.getCurrentUser().done(function (currentUser) {
|
||||
|
||||
if (currentUser.Configuration.IsAdministrator) {
|
||||
Dashboard.showTaskCompletionNotification(msg.Data);
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (msg.MessageType === "GeneralCommand") {
|
||||
|
||||
var cmd = msg.Data;
|
||||
|
@ -1007,35 +913,6 @@ var Dashboard = {
|
|||
|
||||
},
|
||||
|
||||
showTaskCompletionNotification: function (result) {
|
||||
|
||||
var html = '';
|
||||
|
||||
if (result.Status == "Completed") {
|
||||
html += '<img src="css/images/notifications/done.png" class="notificationIcon" />';
|
||||
return;
|
||||
}
|
||||
else if (result.Status == "Cancelled") {
|
||||
html += '<img src="css/images/notifications/info.png" class="notificationIcon" />';
|
||||
return;
|
||||
}
|
||||
else {
|
||||
html += '<img src="css/images/notifications/error.png" class="notificationIcon" />';
|
||||
}
|
||||
|
||||
html += '<span>';
|
||||
html += result.Name + " " + result.Status;
|
||||
html += '</span>';
|
||||
|
||||
var timeout = 0;
|
||||
|
||||
if (result.Status == 'Cancelled') {
|
||||
timeout = 2000;
|
||||
}
|
||||
|
||||
Dashboard.showFooterNotification({ html: html, id: result.Id, forceShow: true, timeout: timeout });
|
||||
},
|
||||
|
||||
showPackageInstallNotification: function (installation, status) {
|
||||
|
||||
var html = '';
|
||||
|
@ -1160,7 +1037,7 @@ var Dashboard = {
|
|||
parent = $('.ui-content', page)[0];
|
||||
}
|
||||
|
||||
$(parent).prepend("<h2 class='pageTitle'>" + (document.title || " ") + "</h2>");
|
||||
$(parent).prepend("<h1 class='pageTitle'>" + (document.title || " ") + "</h1>");
|
||||
},
|
||||
|
||||
setPageTitle: function (title) {
|
||||
|
@ -1439,7 +1316,7 @@ $(document).on('pagebeforeshow', ".page", function () {
|
|||
}
|
||||
|
||||
Dashboard.ensureToolsMenu(page, user);
|
||||
Dashboard.ensureHeader(page, user);
|
||||
Dashboard.ensureHeader(page);
|
||||
Dashboard.ensurePageTitle(page);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -51,8 +51,6 @@
|
|||
|
||||
var userId = getParameterByName("userId");
|
||||
|
||||
Dashboard.validateCurrentUser(page);
|
||||
|
||||
if (userId) {
|
||||
Dashboard.alert(Globalize.translate('SettingsSaved'));
|
||||
} else {
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
|
||||
var page = $.mobile.activePage;
|
||||
|
||||
Dashboard.validateCurrentUser(page);
|
||||
reloadUser(page);
|
||||
}
|
||||
|
||||
|
|
|
@ -165,8 +165,6 @@
|
|||
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
||||
Dashboard.validateCurrentUser(page);
|
||||
|
||||
Dashboard.alert(Globalize.translate('SettingsSaved'));
|
||||
}
|
||||
|
||||
|
|
|
@ -75,7 +75,6 @@
|
|||
|
||||
ApiClient.deleteUser(id).done(function () {
|
||||
|
||||
Dashboard.validateCurrentUser(page);
|
||||
UserProfilesPage.loadPageData();
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue