From 5475ba6b933b20330350eb1a41df68381020efab Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 22 May 2022 18:58:26 +0200 Subject: [PATCH] #681 - select account with corresponding index on hotkey --- .../src/main/resources/static/js/main.js | 16 ++++++++++++++++ .../templates/globalAccountSelectModal.ftl | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/BudgetMasterServer/src/main/resources/static/js/main.js b/BudgetMasterServer/src/main/resources/static/js/main.js index 2ee860f83..b27d109f1 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 32ed9b319..1029bc1a3 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> -- GitLab