mirror of
https://github.com/SuperBFG7/ympd
synced 2025-10-24 02:17:41 +00:00
Feat: add more shortcuts #58
This commit is contained in:
@@ -18,8 +18,8 @@
|
|||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand navbar-dark fixed-top bg-dark">
|
<nav class="navbar navbar-expand navbar-dark fixed-top bg-dark">
|
||||||
<div class="dropdown col-auto mr-auto pl-0" id="mainMenu">
|
<div class="dropdown col-auto mr-auto pl-0">
|
||||||
<a class="dropdown-toggle navbar-brand" data-toggle="dropdown" href="#">
|
<a class="dropdown-toggle navbar-brand" data-toggle="dropdown" href="#" id="mainMenu">
|
||||||
<span class="material-icons header-logo">play_circle_outline</span>myMPD
|
<span class="material-icons header-logo">play_circle_outline</span>myMPD
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu bg-dark">
|
<div class="dropdown-menu bg-dark">
|
||||||
@@ -52,8 +52,8 @@
|
|||||||
skip_next
|
skip_next
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group">
|
<div class="btn-group dropdown">
|
||||||
<button id="volumeIcon" class="btn btn-secondary dropdown-toggle pl-2 pr-2 material-icons" type="button" data-toggle="dropdown">
|
<button id="volumeMenu" class="btn btn-secondary dropdown-toggle pl-2 pr-2 material-icons" type="button" data-toggle="dropdown">
|
||||||
volume_up
|
volume_up
|
||||||
</button>
|
</button>
|
||||||
<div class="dropdown-menu dropdown-menu-right bg-dark">
|
<div class="dropdown-menu dropdown-menu-right bg-dark">
|
||||||
|
|||||||
@@ -13,13 +13,18 @@ var keymap = {
|
|||||||
"67": {"cmd": "MPD_API_QUEUE_CLEAR", "options": []}, // c
|
"67": {"cmd": "MPD_API_QUEUE_CLEAR", "options": []}, // c
|
||||||
"85": {"cmd": "updateDB", "options": []}, // u
|
"85": {"cmd": "updateDB", "options": []}, // u
|
||||||
"82": {"cmd": "rescanDB", "options": []}, // r
|
"82": {"cmd": "rescanDB", "options": []}, // r
|
||||||
|
"76": {"cmd": "openLocalPlayer", "options": []}, // l
|
||||||
"80": {"cmd": "updateSmartPlaylists", "options": []}, // p
|
"80": {"cmd": "updateSmartPlaylists", "options": []}, // p
|
||||||
"65": {"cmd": "showAddToPlaylist", "options": ["stream"]}, // a
|
"65": {"cmd": "showAddToPlaylist", "options": ["stream"]}, // a
|
||||||
"84": {"cmd": "openModal", "options": ["modalSettings"]}, // t
|
"84": {"cmd": "openModal", "options": ["modalSettings"]}, // t
|
||||||
"89": {"cmd": "openModal", "options": ["modalAbout"]}, // y
|
"89": {"cmd": "openModal", "options": ["modalAbout"]}, // y
|
||||||
"49": {"cmd": "appGoto", "options": ["Playback"]}, // 1
|
"49": {"cmd": "appGoto", "options": ["Playback"]}, // 1
|
||||||
"50": {"cmd": "appGoto", "options": ["Queue"]}, // 2
|
"50": {"cmd": "appGoto", "options": ["Queue"]}, // 2
|
||||||
"51": {"cmd": "appGoto", "options": ["Browse"]}, // 3
|
"51": {"cmd": "appGoto", "options": ["Browse","Database"]}, // 3
|
||||||
"52": {"cmd": "appGoto", "options": ["Search"]} // 4
|
"52": {"cmd": "appGoto", "options": ["Browse","Playlists"]}, // 4
|
||||||
|
"53": {"cmd": "appGoto", "options": ["Browse","Filesystem"]}, // 5
|
||||||
|
"54": {"cmd": "appGoto", "options": ["Search"]}, // 6
|
||||||
|
"77": {"cmd": "openDropdown", "options": ["dropdownMainMenu"]}, // m
|
||||||
|
"86": {"cmd": "openDropdown", "options": ["dropdownVolumeMenu"]}, // v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ domCache.panelHeadingBrowseLen = domCache.panelHeadingBrowse.length;
|
|||||||
domCache.counter = document.getElementById('counter');
|
domCache.counter = document.getElementById('counter');
|
||||||
domCache.volumePrct = document.getElementById('volumePrct');
|
domCache.volumePrct = document.getElementById('volumePrct');
|
||||||
domCache.volumeControl = document.getElementById('volumeControl');
|
domCache.volumeControl = document.getElementById('volumeControl');
|
||||||
domCache.volumeIcon = document.getElementById('volumeIcon');
|
domCache.volumeMenu = document.getElementById('volumeMenu');
|
||||||
domCache.btnsPlay = document.getElementsByClassName('btnPlay');
|
domCache.btnsPlay = document.getElementsByClassName('btnPlay');
|
||||||
domCache.btnsPlayLen = domCache.btnsPlay.length;
|
domCache.btnsPlayLen = domCache.btnsPlay.length;
|
||||||
domCache.btnPrev = document.getElementById('btnPrev');
|
domCache.btnPrev = document.getElementById('btnPrev');
|
||||||
@@ -94,6 +94,11 @@ var modalUpdateDB = new Modal(document.getElementById('modalUpdateDB'));
|
|||||||
var modalSaveSmartPlaylist = new Modal(document.getElementById('modalSaveSmartPlaylist'));
|
var modalSaveSmartPlaylist = new Modal(document.getElementById('modalSaveSmartPlaylist'));
|
||||||
var modalDeletePlaylist = new Modal(document.getElementById('modalDeletePlaylist'));
|
var modalDeletePlaylist = new Modal(document.getElementById('modalDeletePlaylist'));
|
||||||
|
|
||||||
|
var dropdownMainMenu = new Dropdown(document.getElementById('mainMenu'));
|
||||||
|
var dropdownVolumeMenu = new Dropdown(document.getElementById('volumeMenu'));
|
||||||
|
|
||||||
|
var collapseDBupdate = new Collapse(document.getElementById('navDBupdate'));
|
||||||
|
|
||||||
function appPrepare(scrollPos) {
|
function appPrepare(scrollPos) {
|
||||||
if (app.current.app != app.last.app || app.current.tab != app.last.tab || app.current.view != app.last.view) {
|
if (app.current.app != app.last.app || app.current.tab != app.last.tab || app.current.view != app.last.view) {
|
||||||
//Hide all cards + nav
|
//Hide all cards + nav
|
||||||
@@ -323,14 +328,31 @@ function appInit() {
|
|||||||
else
|
else
|
||||||
icon.innerText = 'keyboard_arrow_right';
|
icon.innerText = 'keyboard_arrow_right';
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
document.getElementById('volumeIcon').parentNode.addEventListener('show.bs.dropdown', function () {
|
document.addEventListener('keyup', function(event) {
|
||||||
|
if (event.which != 13)
|
||||||
|
return;
|
||||||
|
if (event.target.nodeName == 'A') {
|
||||||
|
event.stopPropagation();
|
||||||
|
event.preventDefault();
|
||||||
|
event.target.click();
|
||||||
|
}
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
document.getElementById('volumeMenu').parentNode.addEventListener('show.bs.dropdown', function () {
|
||||||
sendAPI({"cmd": "MPD_API_PLAYER_OUTPUT_LIST"}, parseOutputs);
|
sendAPI({"cmd": "MPD_API_PLAYER_OUTPUT_LIST"}, parseOutputs);
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById('modalAbout').addEventListener('shown.bs.modal', function () {
|
document.getElementById('modalAbout').addEventListener('shown.bs.modal', function () {
|
||||||
sendAPI({"cmd": "MPD_API_DATABASE_STATS"}, parseStats);
|
sendAPI({"cmd": "MPD_API_DATABASE_STATS"}, parseStats);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.getElementById('modalAddToPlaylist').addEventListener('shown.bs.modal', function () {
|
||||||
|
if (!document.getElementById('addStreamFrm').classList.contains('hide'))
|
||||||
|
document.getElementById('streamUrl').focus();
|
||||||
|
else
|
||||||
|
document.getElementById('addToPlaylistPlaylist').focus();
|
||||||
|
});
|
||||||
|
|
||||||
document.getElementById('modalUpdateDB').addEventListener('hidden.bs.modal', function () {
|
document.getElementById('modalUpdateDB').addEventListener('hidden.bs.modal', function () {
|
||||||
document.getElementById('updateDBprogress').classList.remove('updateDBprogressAnimate');
|
document.getElementById('updateDBprogress').classList.remove('updateDBprogressAnimate');
|
||||||
@@ -1396,11 +1418,11 @@ function parseVolume(obj) {
|
|||||||
domCache.volumeControl.classList.remove('hide');
|
domCache.volumeControl.classList.remove('hide');
|
||||||
domCache.volumePrct.innerText = obj.data.volume + ' %';
|
domCache.volumePrct.innerText = obj.data.volume + ' %';
|
||||||
if (obj.data.volume == 0)
|
if (obj.data.volume == 0)
|
||||||
domCache.volumeIcon.innerText = 'volume_off';
|
domCache.volumeMenu.innerText = 'volume_off';
|
||||||
else if (obj.data.volume < 50)
|
else if (obj.data.volume < 50)
|
||||||
domCache.volumeIcon.innerText = 'volume_down';
|
domCache.volumeMenu.innerText = 'volume_down';
|
||||||
else
|
else
|
||||||
domCache.volumeIcon.innerText = 'volume_up';
|
domCache.volumeMenu.innerText = 'volume_up';
|
||||||
}
|
}
|
||||||
domCache.volumeBar.value = obj.data.volume;
|
domCache.volumeBar.value = obj.data.volume;
|
||||||
}
|
}
|
||||||
@@ -2821,6 +2843,10 @@ function openModal(modal) {
|
|||||||
window[modal].show();
|
window[modal].show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function openDropdown(dropdown) {
|
||||||
|
window[dropdown].toggle();
|
||||||
|
}
|
||||||
|
|
||||||
function chVolume(increment) {
|
function chVolume(increment) {
|
||||||
var newValue = parseInt(domCache.volumeBar.value) + increment;
|
var newValue = parseInt(domCache.volumeBar.value) + increment;
|
||||||
if (newValue < 0)
|
if (newValue < 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user