Skip to content
Snippets Groups Projects
Select Git revision
  • 3ad773ed55e8cedd2796bd10c0b1273483273cee
  • master default
  • renovate/junit-jupiter-engine.version
  • renovate/selenium.version
  • renovate/testcontainer.version
  • demo
  • v1_8_1
  • v2.18.1
  • v2.18.0
  • v2.17.2
  • v2.17.1
  • v2.17.0
  • v2.16.1
  • v2.16.0
  • v2.15.1
  • v2.15.0
  • v2.14.0
  • v2.13.0
  • v2.12.0
  • v2.11.0
  • v2.10.0
  • v2.9.2
  • v2.9.1
  • v2.9.0
  • v2.8.0
  • testPipeline2
  • v2.7.0
27 results

hotkeys.js

Blame
  • hotkeys.js 2.01 KiB
    Mousetrap.bind('n', function()
    {
        if(areHotKeysEnabled())
        {
            window.location.href = rootURL + '/transactions/newTransaction/normal';
        }
    });
    
    Mousetrap.bind('t', function()
    {
        if(areHotKeysEnabled())
        {
            window.location.href = rootURL + '/transactions/newTransaction/transfer';
        }
    });
    
    Mousetrap.bind('v', function()
    {
        if(areHotKeysEnabled())
        {
            window.location.href = rootURL + '/templates';
        }
    });
    
    Mousetrap.bind('f', function()
    {
        if(areHotKeysEnabled())
        {
            window.location.href = rootURL + '/transactions#modalFilter';
        }
    });
    
    Mousetrap.bind('s', function(e)
    {
        if(areHotKeysEnabled())
        {
            document.getElementById('search').focus();
            e.preventDefault();
        }
    });
    
    Mousetrap.bind('esc', function()
    {
        if(isSearchFocused())
        {
            document.getElementById('nav-logo-container').focus();
        }
    });
    
    Mousetrap.bind('o', function()
    {
        if(areHotKeysEnabled())
        {
            window.location.href = rootURL + '/transactions';
        }
    });
    
    let saveTransactionOrTemplateButton = document.getElementById('button-save-transaction');
    if(saveTransactionOrTemplateButton !== null)
    {
        Mousetrap(document.querySelector('body')).bind('mod+enter', function(e)
        {
            document.getElementById('button-save-transaction').click();
        });
    }
    
    function areHotKeysEnabled()
    {
        return !isSearchFocused() && !isCustomSelectFocused()  && !isTemplateSearchFocused();
    }
    
    function isSearchFocused()
    {
        let searchElement = document.getElementById('search');
        return document.activeElement === searchElement;
    }
    
    function isTemplateSearchFocused()
    {
        let templateSearchElement = document.getElementById('searchTemplate');
        return document.activeElement === templateSearchElement;
    }
    
    function isCustomSelectFocused()
    {
       let customSelects = document.querySelectorAll('.custom-select');
        for(let i = 0; i < customSelects.length; i++)
        {
            if(customSelects[i].classList.contains('open'))
            {
                return true;
            }
        }
    
        return false;
    }