mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
rework dialog
This commit is contained in:
parent
b86d2368f4
commit
996f2504b2
16 changed files with 139 additions and 179 deletions
|
@ -66,7 +66,11 @@
|
|||
return o.ironIcon;
|
||||
}).length;
|
||||
|
||||
html += '<paper-menu>';
|
||||
if (options.title && !renderIcon) {
|
||||
html += '<paper-menu style="text-align:center;">';
|
||||
} else {
|
||||
html += '<paper-menu>';
|
||||
}
|
||||
for (var i = 0, length = options.items.length; i < length; i++) {
|
||||
|
||||
var option = options.items[i];
|
||||
|
|
|
@ -70,43 +70,6 @@
|
|||
|
||||
var header = document.querySelector('.viewMenuBar');
|
||||
|
||||
var headerSearchButton = header.querySelector('.headerSearchButton');
|
||||
var btnCast = header.querySelector('.btnCast');
|
||||
|
||||
if (user.localUser) {
|
||||
btnCast.classList.remove('hide');
|
||||
|
||||
if (headerSearchButton) {
|
||||
headerSearchButton.classList.remove('hide');
|
||||
}
|
||||
|
||||
requirejs(['voice/voice'], function () {
|
||||
|
||||
if (VoiceInputManager.isSupported()) {
|
||||
header.querySelector('.headerVoiceButton').classList.remove('hide');
|
||||
} else {
|
||||
header.querySelector('.headerVoiceButton').classList.add('hide');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
btnCast.classList.add('hide');
|
||||
header.querySelector('.headerVoiceButton').classList.add('hide');
|
||||
if (headerSearchButton) {
|
||||
headerSearchButton.classList.add('hide');
|
||||
}
|
||||
}
|
||||
|
||||
var dashboardEntryHeaderButton = header.querySelector('.dashboardEntryHeaderButton');
|
||||
if (dashboardEntryHeaderButton) {
|
||||
if (user.canManageServer) {
|
||||
dashboardEntryHeaderButton.classList.remove('hide');
|
||||
} else {
|
||||
dashboardEntryHeaderButton.classList.add('hide');
|
||||
}
|
||||
}
|
||||
|
||||
if (user.name) {
|
||||
if (user.imageUrl && AppInfo.enableUserImage) {
|
||||
|
||||
|
@ -127,29 +90,59 @@
|
|||
}
|
||||
}
|
||||
|
||||
updateLocalUser(user.localUser);
|
||||
requiresUserRefresh = false;
|
||||
}
|
||||
|
||||
function updateLocalUser(user) {
|
||||
|
||||
var header = document.querySelector('.viewMenuBar');
|
||||
|
||||
var headerSearchButton = header.querySelector('.headerSearchButton');
|
||||
var btnCast = header.querySelector('.btnCast');
|
||||
var dashboardEntryHeaderButton = header.querySelector('.dashboardEntryHeaderButton');
|
||||
|
||||
if (user) {
|
||||
btnCast.classList.remove('hide');
|
||||
|
||||
if (headerSearchButton) {
|
||||
headerSearchButton.classList.remove('hide');
|
||||
}
|
||||
|
||||
if (dashboardEntryHeaderButton) {
|
||||
if (user.Policy.IsAdministrator) {
|
||||
dashboardEntryHeaderButton.classList.remove('hide');
|
||||
} else {
|
||||
dashboardEntryHeaderButton.classList.add('hide');
|
||||
}
|
||||
}
|
||||
|
||||
requirejs(['voice/voice'], function () {
|
||||
|
||||
if (VoiceInputManager.isSupported()) {
|
||||
header.querySelector('.headerVoiceButton').classList.remove('hide');
|
||||
} else {
|
||||
header.querySelector('.headerVoiceButton').classList.add('hide');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
btnCast.classList.add('hide');
|
||||
header.querySelector('.headerVoiceButton').classList.add('hide');
|
||||
if (headerSearchButton) {
|
||||
headerSearchButton.classList.add('hide');
|
||||
}
|
||||
|
||||
if (dashboardEntryHeaderButton) {
|
||||
dashboardEntryHeaderButton.classList.add('hide');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function removeUserFromHeader() {
|
||||
|
||||
var header = document.querySelector('.viewMenuBar');
|
||||
|
||||
header.querySelector('.headerVoiceButton').classList.add('hide');
|
||||
|
||||
var btnCast = header.querySelector('.btnCast');
|
||||
if (btnCast) {
|
||||
btnCast.classList.add('hide');
|
||||
}
|
||||
|
||||
var headerSearchButton = header.querySelector('.headerSearchButton');
|
||||
if (headerSearchButton) {
|
||||
headerSearchButton.classList.add('hide');
|
||||
}
|
||||
|
||||
var dashboardEntryHeaderButton = header.querySelector('.dashboardEntryHeaderButton');
|
||||
if (dashboardEntryHeaderButton) {
|
||||
dashboardEntryHeaderButton.classList.add('hide');
|
||||
}
|
||||
updateLocalUser(null);
|
||||
}
|
||||
|
||||
function bindMenuEvents() {
|
||||
|
@ -933,15 +926,19 @@
|
|||
initializeApiClient(window.ApiClient);
|
||||
}
|
||||
|
||||
var mainDrawerPanel = document.querySelector('.mainDrawerPanel');
|
||||
mainDrawerPanel.addEventListener('iron-select', onMainDrawerSelect);
|
||||
|
||||
renderHeader();
|
||||
|
||||
Events.on(ConnectionManager, 'apiclientcreated', function (e, apiClient) {
|
||||
initializeApiClient(apiClient);
|
||||
|
||||
});
|
||||
|
||||
Events.on(ConnectionManager, 'localusersignedin', function () {
|
||||
Events.on(ConnectionManager, 'localusersignedin', function (e, user) {
|
||||
requiresLibraryMenuRefresh = true;
|
||||
requiresDrawerRefresh = true;
|
||||
ConnectionManager.user(window.ApiClient).then(addUserToHeader);
|
||||
ConnectionManager.user(ConnectionManager.getApiClient(user.ServerId)).then(addUserToHeader);
|
||||
});
|
||||
|
||||
Events.on(ConnectionManager, 'localusersignedout', function () {
|
||||
|
@ -954,11 +951,6 @@
|
|||
updateCastIcon();
|
||||
});
|
||||
|
||||
var mainDrawerPanel = document.querySelector('.mainDrawerPanel');
|
||||
mainDrawerPanel.addEventListener('iron-select', onMainDrawerSelect);
|
||||
|
||||
renderHeader();
|
||||
|
||||
})(window, document, jQuery, window.devicePixelRatio);
|
||||
|
||||
(function () {
|
||||
|
|
|
@ -392,25 +392,46 @@
|
|||
|
||||
if (playerInfo.supportedCommands.indexOf('EndSession') != -1) {
|
||||
|
||||
var options = {
|
||||
callback: function (result) {
|
||||
var menuItems = [];
|
||||
|
||||
if (result == 0) {
|
||||
MediaController.getCurrentPlayer().endSession();
|
||||
}
|
||||
|
||||
if (result != 2) {
|
||||
self.setDefaultPlayerActive();
|
||||
}
|
||||
},
|
||||
message: Globalize.translate('ConfirmEndPlayerSession'),
|
||||
title: Globalize.translate('HeaderDisconnectFromPlayer'),
|
||||
buttons: [Globalize.translate('ButtonYes'), Globalize.translate('ButtonNo'), Globalize.translate('ButtonCancel')]
|
||||
};
|
||||
|
||||
require(['dialog'], function (dialog) {
|
||||
dialog(options);
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonYes'),
|
||||
id: 'yes'
|
||||
});
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonNo'),
|
||||
id: 'no'
|
||||
});
|
||||
menuItems.push({
|
||||
name: Globalize.translate('ButtonCancel'),
|
||||
id: 'cancel'
|
||||
});
|
||||
|
||||
require(['actionsheet'], function () {
|
||||
|
||||
ActionSheetElement.show({
|
||||
items: menuItems,
|
||||
//positionTo: positionTo,
|
||||
title: Globalize.translate('ConfirmEndPlayerSession'),
|
||||
callback: function (id) {
|
||||
|
||||
switch (id) {
|
||||
|
||||
case 'yes':
|
||||
MediaController.getCurrentPlayer().endSession();
|
||||
self.setDefaultPlayerActive();
|
||||
break;
|
||||
case 'no':
|
||||
self.setDefaultPlayerActive();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
|
|
|
@ -1789,10 +1789,14 @@ var AppInfo = {};
|
|||
paths.dialog = "cordova/dialog";
|
||||
paths.prompt = "cordova/prompt";
|
||||
paths.sharingwidget = "cordova/sharingwidget";
|
||||
paths.serverdiscovery = "cordova/serverdiscovery";
|
||||
paths.wakeonlan = "cordova/wakeonlan";
|
||||
} else {
|
||||
paths.dialog = "components/dialog";
|
||||
paths.prompt = "components/prompt";
|
||||
paths.sharingwidget = "components/sharingwidget";
|
||||
paths.serverdiscovery = "apiclient/serverdiscovery";
|
||||
paths.wakeonlan = "apiclient/wakeonlan";
|
||||
}
|
||||
|
||||
var sha1Path = bowerPath + "/cryptojslib/components/sha1-min";
|
||||
|
@ -1904,13 +1908,6 @@ var AppInfo = {};
|
|||
return appStorage;
|
||||
});
|
||||
}
|
||||
if (Dashboard.isRunningInCordova()) {
|
||||
define("serverdiscovery", ["cordova/serverdiscovery"]);
|
||||
define("wakeonlan", ["cordova/wakeonlan"]);
|
||||
} else {
|
||||
define("serverdiscovery", ["apiclient/serverdiscovery"]);
|
||||
define("wakeonlan", ["apiclient/wakeonlan"]);
|
||||
}
|
||||
|
||||
if (Dashboard.isRunningInCordova()) {
|
||||
define("localassetmanager", ["cordova/localassetmanager"]);
|
||||
|
@ -1980,7 +1977,7 @@ var AppInfo = {};
|
|||
define("fileupload", ["apiclient/fileupload"]);
|
||||
}
|
||||
|
||||
define("buttonenabled", ["components/buttonenabled"]);
|
||||
define("buttonenabled", ["legacy/buttonenabled"]);
|
||||
|
||||
var deps = [];
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
});
|
||||
}
|
||||
|
||||
var page = $(form).parents('.page');
|
||||
var page = $(form).parents('.page')[0];
|
||||
|
||||
SupporterKeyPage.load(page);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue