mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
fix device disconnect
This commit is contained in:
parent
527fe10cbe
commit
b6eaa2b0c0
1 changed files with 40 additions and 22 deletions
|
@ -119,18 +119,25 @@
|
||||||
|
|
||||||
function showActivePlayerMenu(playerInfo) {
|
function showActivePlayerMenu(playerInfo) {
|
||||||
|
|
||||||
require(['paper-checkbox', 'fade-in-animation', 'fade-out-animation', 'paper-dialog'], function () {
|
require(['dialogHelper', 'paper-checkbox', ], function (dialogHelper) {
|
||||||
showActivePlayerMenuInternal(playerInfo);
|
showActivePlayerMenuInternal(dialogHelper, playerInfo);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function showActivePlayerMenuInternal(playerInfo) {
|
function showActivePlayerMenuInternal(dialogHelper, playerInfo) {
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
|
|
||||||
var dlg = document.createElement('paper-dialog');
|
var dialogOptions = {
|
||||||
dlg.setAttribute('with-backdrop', 'with-backdrop');
|
removeOnClose: true
|
||||||
dlg.setAttribute('role', 'alertdialog');
|
};
|
||||||
|
|
||||||
|
dialogOptions.modal = false;
|
||||||
|
dialogOptions.entryAnimationDuration = 160;
|
||||||
|
dialogOptions.exitAnimationDuration = 160;
|
||||||
|
dialogOptions.autoFocus = false;
|
||||||
|
|
||||||
|
var dlg = dialogHelper.createDialog(dialogOptions);
|
||||||
|
|
||||||
html += '<h2>';
|
html += '<h2>';
|
||||||
html += (playerInfo.deviceName || playerInfo.name);
|
html += (playerInfo.deviceName || playerInfo.name);
|
||||||
|
@ -152,33 +159,44 @@
|
||||||
|
|
||||||
// On small layouts papepr dialog doesn't respond very well. this button isn't that important here anyway.
|
// On small layouts papepr dialog doesn't respond very well. this button isn't that important here anyway.
|
||||||
if (screen.availWidth >= 600) {
|
if (screen.availWidth >= 600) {
|
||||||
html += '<paper-button onclick="Dashboard.navigate(\'nowplaying.html\');" dialog-dismiss>' + Globalize.translate('ButtonRemoteControl') + '</paper-button>';
|
html += '<paper-button class="btnRemoteControl">' + Globalize.translate('ButtonRemoteControl') + '</paper-button>';
|
||||||
}
|
}
|
||||||
|
|
||||||
html += '<paper-button dialog-dismiss onclick="MediaController.disconnectFromPlayer();">' + Globalize.translate('ButtonDisconnect') + '</paper-button>';
|
html += '<paper-button class="btnDisconnect">' + Globalize.translate('ButtonDisconnect') + '</paper-button>';
|
||||||
html += '<paper-button dialog-dismiss>' + Globalize.translate('ButtonCancel') + '</paper-button>';
|
html += '<paper-button class="btnCancel">' + Globalize.translate('ButtonCancel') + '</paper-button>';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
dlg.innerHTML = html;
|
dlg.innerHTML = html;
|
||||||
|
|
||||||
document.body.appendChild(dlg);
|
document.body.appendChild(dlg);
|
||||||
|
|
||||||
setTimeout(function () {
|
var chkMirror = dlg.querySelector('.chkMirror');
|
||||||
|
|
||||||
var chkMirror = dlg.querySelector('.chkMirror');
|
if (chkMirror) {
|
||||||
|
chkMirror.addEventListener('change', onMirrorChange);
|
||||||
|
}
|
||||||
|
|
||||||
if (chkMirror) {
|
var destination = '';
|
||||||
chkMirror.addEventListener('change', onMirrorChange);
|
|
||||||
|
dlg.querySelector('.btnRemoteControl').addEventListener('click', function () {
|
||||||
|
destination = 'nowplaying.html';
|
||||||
|
dialogHelper.close(dlg);
|
||||||
|
});
|
||||||
|
|
||||||
|
dlg.querySelector('.btnDisconnect').addEventListener('click', function () {
|
||||||
|
MediaController.disconnectFromPlayer();
|
||||||
|
dialogHelper.close(dlg);
|
||||||
|
});
|
||||||
|
|
||||||
|
dlg.querySelector('.btnCancel').addEventListener('click', function () {
|
||||||
|
dialogHelper.close(dlg);
|
||||||
|
});
|
||||||
|
|
||||||
|
dialogHelper.open(dlg).then(function () {
|
||||||
|
if (destination) {
|
||||||
|
Dashboard.navigate(destination);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
dlg.open();
|
|
||||||
|
|
||||||
// Has to be assigned a z-index after the call to .open()
|
|
||||||
dlg.addEventListener('iron-overlay-closed', function () {
|
|
||||||
dlg.parentNode.removeChild(dlg);
|
|
||||||
});
|
|
||||||
|
|
||||||
}, 100);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onMirrorChange() {
|
function onMirrorChange() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue