Skip to content
Snippets Groups Projects
Commit a30cb532 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#454 - implemented shortcuts

parent 25bcdf11
No related branches found
No related tags found
No related merge requests found
Pipeline #1915 failed
...@@ -63,6 +63,7 @@ ...@@ -63,6 +63,7 @@
<materializecss.version>1.0.0</materializecss.version> <materializecss.version>1.0.0</materializecss.version>
<fontawesome.version>5.0.10</fontawesome.version> <fontawesome.version>5.0.10</fontawesome.version>
<sortablejs.version>1.8.1</sortablejs.version> <sortablejs.version>1.8.1</sortablejs.version>
<mousetrap.version>1.6.1</mousetrap.version>
<webdrivermanager.version>2.2.1</webdrivermanager.version> <webdrivermanager.version>2.2.1</webdrivermanager.version>
<selenium.version>3.141.59</selenium.version> <selenium.version>3.141.59</selenium.version>
...@@ -183,6 +184,11 @@ ...@@ -183,6 +184,11 @@
<artifactId>sortablejs</artifactId> <artifactId>sortablejs</artifactId>
<version>${sortablejs.version}</version> <version>${sortablejs.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>mousetrap</artifactId>
<version>${mousetrap.version}</version>
</dependency>
<!-- selenium --> <!-- selenium -->
<dependency> <dependency>
......
Mousetrap.bind('n', function () {
window.location.href = rootURL + '/transactions/newTransaction/normal';
});
Mousetrap.bind('r', function () {
window.location.href = rootURL + '/transactions/newTransaction/repeating';
});
Mousetrap.bind('t', function () {
window.location.href = rootURL + '/transactions/newTransaction/transfer';
});
Mousetrap.bind('f', function () {
window.location.href = rootURL + '/transactions#modalFilter';
});
Mousetrap.bind('s', function () {
document.getElementById('search').focus();
});
Mousetrap.bind('esc', function () {
var searchElement = document.getElementById('search');
var isSearchFocused = (document.activeElement === searchElement);
if (isSearchFocused) {
document.getElementById('nav-logo-container').focus();
}
});
$( document ).ready(function() { $( document ).ready(function() {
$('#modalConfirmDelete').modal('open'); $('#modalConfirmDelete').modal('open');
// open filter modal if corresponding anchor is in url (originating from hotkeys.js)
if(window.location.href.endsWith('#modalFilter'))
{
$('#modalFilter').modal('open');
}
if($(".datepicker").length) if($(".datepicker").length)
{ {
var pickerStartDate = M.Datepicker.init(document.getElementById('transaction-datepicker'), { var pickerStartDate = M.Datepicker.init(document.getElementById('transaction-datepicker'), {
...@@ -185,13 +191,13 @@ $( document ).ready(function() { ...@@ -185,13 +191,13 @@ $( document ).ready(function() {
// scroll to highlighted transaction // scroll to highlighted transaction
var highlightedSmall = document.getElementById("highlighted-small"); var highlightedSmall = document.getElementById("highlighted-small");
var highlightedLarge = document.getElementById("highlighted-large"); var highlightedLarge = document.getElementById("highlighted-large");
if(highlightedSmall !== undefined && !isHidden(highlightedSmall)) if(highlightedSmall !== undefined && highlightedSmall != null && !isHidden(highlightedSmall))
{ {
$('html, body').animate({ $('html, body').animate({
scrollTop: $(highlightedSmall).offset().top scrollTop: $(highlightedSmall).offset().top
}, 500); }, 500);
} }
else if(highlightedLarge !== undefined && !isHidden(highlightedLarge)) else if(highlightedLarge !== undefined && highlightedLarge != null && !isHidden(highlightedLarge))
{ {
$('html, body').animate({ $('html, body').animate({
scrollTop: $(highlightedLarge).offset().top scrollTop: $(highlightedLarge).offset().top
......
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<input type="hidden" name="searchTags" value="true"> <input type="hidden" name="searchTags" value="true">
<div class="input-field"> <div class="input-field">
<input id="search" class="text-color" name="searchText" type="search"> <input id="search" class="text-color mousetrap" name="searchText" type="search">
<label class="label-icon" for="search"><i class="material-icons">search</i></label> <label class="label-icon" for="search"><i class="material-icons">search</i></label>
<i id="buttonSearch" class="material-icons">send</i> <i id="buttonSearch" class="material-icons">send</i>
<i id="buttonClearSearch" class="material-icons">close</i> <i id="buttonClearSearch" class="material-icons">close</i>
......
...@@ -2,9 +2,11 @@ ...@@ -2,9 +2,11 @@
<#import "/spring.ftl" as s> <#import "/spring.ftl" as s>
<script src="<@s.url '/webjars/jquery/3.3.1/jquery.min.js'/>"></script> <script src="<@s.url '/webjars/jquery/3.3.1/jquery.min.js'/>"></script>
<script src="<@s.url '/webjars/materializecss/1.0.0/js/materialize.min.js'/>"></script> <script src="<@s.url '/webjars/materializecss/1.0.0/js/materialize.min.js'/>"></script>
<script src="<@s.url '/webjars/mousetrap/1.6.1/mousetrap.js'/>"></script>
<script> <script>
rootURL = "<@s.url ''/>" rootURL = "<@s.url ''/>"
</script> </script>
<script src="<@s.url '/js/hotkeys.js'/>"></script>
<script src="<@s.url '/js/main.js'/>"></script> <script src="<@s.url '/js/main.js'/>"></script>
<script> <script>
accountPlaceholderName = "${locale.getString("account.all")}"; accountPlaceholderName = "${locale.getString("account.all")}";
......
...@@ -155,8 +155,8 @@ ...@@ -155,8 +155,8 @@
<#macro buttonFilter isFilterActive> <#macro buttonFilter isFilterActive>
<#if isFilterActive> <#if isFilterActive>
<a href="#modalFilter" class="modal-trigger waves-effect waves-light btn budgetmaster-red"><i class="fas fa-filter left"></i>${locale.getString("filter.active")}</a> <a href="#modalFilter" id="modalFilterTrigger" class="modal-trigger waves-effect waves-light btn budgetmaster-red"><i class="fas fa-filter left"></i>${locale.getString("filter.active")}</a>
<#else> <#else>
<a href="#modalFilter" class="modal-trigger waves-effect waves-light btn budgetmaster-blue"><i class="fas fa-filter left"></i>${locale.getString("title.filter")}</a> <a href="#modalFilter" id="modalFilterTrigger" class="modal-trigger waves-effect waves-light btn budgetmaster-blue"><i class="fas fa-filter left"></i>${locale.getString("title.filter")}</a>
</#if> </#if>
</#macro> </#macro>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment