diff --git a/BudgetMasterServer/src/main/resources/static/js/main.js b/BudgetMasterServer/src/main/resources/static/js/main.js index 2ee860f83e3dd0c8c2ab2ed1422b080cac57446b..b27d109f15c5263de7188952c61d2bd315c84704 100644 --- a/BudgetMasterServer/src/main/resources/static/js/main.js +++ b/BudgetMasterServer/src/main/resources/static/js/main.js @@ -8,6 +8,7 @@ $(document).ready(function() $('#globalAccountSelect').click(function() { fetchAndShowModal(this, 'globalAccountSelectModalOnDemand', '#modalGlobalAccountSelect'); + enableAccountSelectHotKeys(); }); $('.sidenav').sidenav(); @@ -124,3 +125,18 @@ function validateLoginForm() let passwordInput = document.getElementById('login-password'); passwordInput.value = passwordInput.value.trim(); } + +function enableAccountSelectHotKeys() +{ + Mousetrap.bind(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'], function(e) + { + if(areHotKeysEnabled()) + { + let accountItem = document.querySelector('.global-account-select-option[data-account-index="' + e.key + '"]'); + if(accountItem !== null) + { + accountItem.click(); + } + } + }); +} diff --git a/BudgetMasterServer/src/main/resources/templates/globalAccountSelectModal.ftl b/BudgetMasterServer/src/main/resources/templates/globalAccountSelectModal.ftl index 32ed9b319f4b40b43181265265e2d6d98f0a0436..1029bc1a30f2f7d77c879a131fb0cf1f68615ef3 100644 --- a/BudgetMasterServer/src/main/resources/templates/globalAccountSelectModal.ftl +++ b/BudgetMasterServer/src/main/resources/templates/globalAccountSelectModal.ftl @@ -28,7 +28,7 @@ <div class="col s12 m6 xl6"> <a href="<@s.url '/accounts/${account.getID()?c}/select'/>" class="text-default"> - <div class="card-panel global-account-select-option"> + <div class="card-panel global-account-select-option" data-account-index="${account?index}"> <#if account?index < 10> <div class="keyboard-key bold global-account-select-option-key">${account?index}</div> <#else>