From a35db9f1d3665ab324b1ad7c487714702956956a Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Fri, 31 Jan 2025 15:35:34 +0100 Subject: [PATCH] Optimized form input field navigation delay --- changelog/78_UNRELEASED_xxxx-xx-xx.md | 2 +- public/js/grocy.js | 7 +++++++ public/viewjs/barcodescannertesting.js | 6 +++--- public/viewjs/batteries.js | 2 +- public/viewjs/batteriesjournal.js | 2 +- public/viewjs/batteriesoverview.js | 2 +- public/viewjs/batteryform.js | 2 +- public/viewjs/batterytracking.js | 6 +++--- public/viewjs/choreform.js | 4 ++-- public/viewjs/chores.js | 2 +- public/viewjs/choresjournal.js | 2 +- public/viewjs/choresoverview.js | 4 ++-- public/viewjs/choretracking.js | 6 +++--- public/viewjs/components/camerabarcodescanner.js | 2 +- public/viewjs/components/productpicker.js | 8 ++++---- public/viewjs/components/recipepicker.js | 2 +- public/viewjs/consume.js | 4 ++-- public/viewjs/equipment.js | 2 +- public/viewjs/equipmentform.js | 2 +- public/viewjs/inventory.js | 8 ++++---- public/viewjs/locationform.js | 2 +- public/viewjs/locations.js | 2 +- public/viewjs/login.js | 2 +- public/viewjs/manageapikeys.js | 4 ++-- public/viewjs/mealplansectionform.js | 2 +- public/viewjs/mealplansections.js | 2 +- public/viewjs/productbarcodeform.js | 2 +- public/viewjs/productform.js | 2 +- public/viewjs/productgroupform.js | 2 +- public/viewjs/productgroups.js | 2 +- public/viewjs/products.js | 2 +- public/viewjs/purchase.js | 8 ++++---- public/viewjs/quantityunitconversionform.js | 2 +- public/viewjs/quantityunitform.js | 2 +- public/viewjs/quantityunitpluraltesting.js | 2 +- public/viewjs/quantityunits.js | 2 +- public/viewjs/recipeform.js | 2 +- public/viewjs/recipeposform.js | 8 ++++---- public/viewjs/recipes.js | 2 +- public/viewjs/shoppinglist.js | 2 +- public/viewjs/shoppinglistform.js | 2 +- public/viewjs/shoppinglistitemform.js | 8 ++++---- public/viewjs/shoppinglocationform.js | 2 +- public/viewjs/shoppinglocations.js | 2 +- public/viewjs/stockentries.js | 2 +- public/viewjs/stockentryform.js | 2 +- public/viewjs/stockjournal.js | 2 +- public/viewjs/stockjournalsummary.js | 2 +- public/viewjs/stockoverview.js | 4 ++-- public/viewjs/taskcategories.js | 2 +- public/viewjs/taskcategoryform.js | 2 +- public/viewjs/taskform.js | 2 +- public/viewjs/tasks.js | 2 +- public/viewjs/transfer.js | 6 +++--- public/viewjs/userentities.js | 2 +- public/viewjs/userentityform.js | 2 +- public/viewjs/userfieldform.js | 4 ++-- public/viewjs/userfields.js | 4 ++-- public/viewjs/userform.js | 4 ++-- public/viewjs/userobjectform.js | 2 +- public/viewjs/userobjects.js | 2 +- public/viewjs/users.js | 2 +- 62 files changed, 99 insertions(+), 92 deletions(-) diff --git a/changelog/78_UNRELEASED_xxxx-xx-xx.md b/changelog/78_UNRELEASED_xxxx-xx-xx.md index 6bb9ed42..7cdfa8f3 100644 --- a/changelog/78_UNRELEASED_xxxx-xx-xx.md +++ b/changelog/78_UNRELEASED_xxxx-xx-xx.md @@ -52,7 +52,7 @@ ### General -- xxx +- Optimized than when navigating between form input fields via the keyboard (`TAB`) there was an unwanted delay at some places ### API diff --git a/public/js/grocy.js b/public/js/grocy.js index fa99dff8..b7bd6476 100644 --- a/public/js/grocy.js +++ b/public/js/grocy.js @@ -882,3 +882,10 @@ $(document).on("click", '.btn, a, button', function(e) document.activeElement.blur(); $(".tooltip").tooltip("hide"); }); + +// Delay only initial field focus +Grocy.FormFocusDelay = 500; +setTimeout(function() +{ + Grocy.FormFocusDelay = 0; +}, 1000); diff --git a/public/viewjs/barcodescannertesting.js b/public/viewjs/barcodescannertesting.js index ab6e0ef0..e0b77c4f 100644 --- a/public/viewjs/barcodescannertesting.js +++ b/public/viewjs/barcodescannertesting.js @@ -36,7 +36,7 @@ setTimeout(function() $("#camerabarcodescanner-start-button").attr("disabled", ""); $("#camerabarcodescanner-start-button").addClass("disabled"); $("#expected_barcode").focus(); -}, 500); +}, Grocy.FormFocusDelay); if (GetUriParam("barcode") !== undefined) { @@ -45,7 +45,7 @@ if (GetUriParam("barcode") !== undefined) { $("#expected_barcode").keyup(); $("#scanned_barcode").focus(); - }, 500); + }, Grocy.FormFocusDelay); } function OnBarcodeScanned(barcode) @@ -82,7 +82,7 @@ function OnBarcodeScanned(barcode) { $("#scanned_barcode").focus(); } - }, 500); + }, Grocy.FormFocusDelay); } $(document).on("Grocy.BarcodeScanned", function(e, barcode, target) diff --git a/public/viewjs/batteries.js b/public/viewjs/batteries.js index 8c15bce3..60d97826 100644 --- a/public/viewjs/batteries.js +++ b/public/viewjs/batteries.js @@ -18,7 +18,7 @@ $("#search").on("keyup", Delay(function() } batteriesTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/batteriesjournal.js b/public/viewjs/batteriesjournal.js index 4bc8b59f..b19a68b5 100644 --- a/public/viewjs/batteriesjournal.js +++ b/public/viewjs/batteriesjournal.js @@ -32,7 +32,7 @@ $("#search").on("keyup", Delay(function() } batteriesJournalTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/batteriesoverview.js b/public/viewjs/batteriesoverview.js index 02b9fe6d..2715a416 100644 --- a/public/viewjs/batteriesoverview.js +++ b/public/viewjs/batteriesoverview.js @@ -19,7 +19,7 @@ $("#search").on("keyup", Delay(function() } batteriesOverviewTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/batteryform.js b/public/viewjs/batteryform.js index 686ac0bf..cbe270f2 100644 --- a/public/viewjs/batteryform.js +++ b/public/viewjs/batteryform.js @@ -106,5 +106,5 @@ Grocy.Components.UserfieldsForm.Load(); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('battery-form'); diff --git a/public/viewjs/batterytracking.js b/public/viewjs/batterytracking.js index fff06e77..435f52bb 100644 --- a/public/viewjs/batterytracking.js +++ b/public/viewjs/batterytracking.js @@ -65,7 +65,7 @@ $('#battery_id').on('change', function(e) setTimeout(function() { $('#tracked_time').find('input').focus(); - }, 500); + }, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('batterytracking-form'); } @@ -85,7 +85,7 @@ Grocy.FrontendHelpers.ValidateForm('batterytracking-form'); setTimeout(function() { $('#battery_id_text_input').focus(); -}, 500); +}, Grocy.FormFocusDelay); $('#batterytracking-form input').keyup(function(event) { @@ -134,7 +134,7 @@ $(document).on("Grocy.BarcodeScanned", function(e, barcode, target) $("#battery_id_text_input").focus(); $("#battery_id_text_input").blur(); $('#tracked_time').find('input').focus(); - }, 500); + }, Grocy.FormFocusDelay); }); function UndoChargeCycle(chargeCycleId) diff --git a/public/viewjs/choreform.js b/public/viewjs/choreform.js index 8d1455ac..68f1bb90 100644 --- a/public/viewjs/choreform.js +++ b/public/viewjs/choreform.js @@ -115,7 +115,7 @@ Grocy.FrontendHelpers.ValidateForm('chore-form'); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); if (Grocy.EditMode == "edit") { @@ -144,7 +144,7 @@ setTimeout(function() $("#consume_product_on_execution").click(); Grocy.Components.ProductPicker.GetPicker().trigger('change'); -}, 500); +}, Grocy.FormFocusDelay); $('.input-group-chore-period-type').on('change keyup', function(e) { diff --git a/public/viewjs/chores.js b/public/viewjs/chores.js index 1ef276d8..a752a860 100644 --- a/public/viewjs/chores.js +++ b/public/viewjs/chores.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } choresTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/choresjournal.js b/public/viewjs/choresjournal.js index 8dd4b013..98d96f4e 100644 --- a/public/viewjs/choresjournal.js +++ b/public/viewjs/choresjournal.js @@ -39,7 +39,7 @@ $("#search").on("keyup", Delay(function() } choresJournalTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/choresoverview.js b/public/viewjs/choresoverview.js index 9fff4fd8..ce8746af 100644 --- a/public/viewjs/choresoverview.js +++ b/public/viewjs/choresoverview.js @@ -20,7 +20,7 @@ $("#search").on("keyup", Delay(function() } choresOverviewTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#status-filter").on("change", function() { @@ -184,7 +184,7 @@ $(document).on('click', '.track-chore-button', function(e) // Refresh the DataTable to re-apply filters choresOverviewTable.rows().invalidate().draw(false); $(".input-group-filter").trigger("change"); - }, 500); + }, Grocy.FormFocusDelay); }, function(xhr) { diff --git a/public/viewjs/choretracking.js b/public/viewjs/choretracking.js index e01fc70a..3760e0cc 100644 --- a/public/viewjs/choretracking.js +++ b/public/viewjs/choretracking.js @@ -99,7 +99,7 @@ $('#chore_id').on('change', function(e) setTimeout(function() { Grocy.Components.DateTimePicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('choretracking-form'); } @@ -117,7 +117,7 @@ Grocy.FrontendHelpers.ValidateForm('choretracking-form'); setTimeout(function() { $('#chore_id_text_input').focus(); -}, 500); +}, Grocy.FormFocusDelay); $('#choretracking-form input').keyup(function(event) { @@ -161,7 +161,7 @@ $(document).on("Grocy.BarcodeScanned", function(e, barcode, target) $("#chore_id_text_input").focus(); $("#chore_id_text_input").blur(); $('#tracked_time').find('input').focus(); - }, 500); + }, Grocy.FormFocusDelay); }); Grocy.Components.DateTimePicker.GetInputElement().on('keypress', function(e) diff --git a/public/viewjs/components/camerabarcodescanner.js b/public/viewjs/components/camerabarcodescanner.js index 78a02592..addf1096 100644 --- a/public/viewjs/components/camerabarcodescanner.js +++ b/public/viewjs/components/camerabarcodescanner.js @@ -139,7 +139,7 @@ Grocy.Components.CameraBarcodeScanner.StartScanning = function() setTimeout(function() { $(".modal").last().modal("hide"); - }, 500); + }, Grocy.FormFocusDelay); return; } diff --git a/public/viewjs/components/productpicker.js b/public/viewjs/components/productpicker.js index 96e579ed..85dd00c5 100644 --- a/public/viewjs/components/productpicker.js +++ b/public/viewjs/components/productpicker.js @@ -218,7 +218,7 @@ $('#product_id_text_input').on('blur', function(e) { Grocy.Components.ProductPicker.GetInputElement().focus(); Grocy.Components.ProductPicker.GetInputElement().select(); - }, 500); + }, Grocy.FormFocusDelay); } }, addnewproduct: { @@ -278,7 +278,7 @@ $('#product_id_text_input').on('blur', function(e) { Grocy.Components.ProductPicker.GetInputElement().focus(); Grocy.Components.ProductPicker.GetInputElement().select(); - }, 500); + }, Grocy.FormFocusDelay); } else { @@ -379,7 +379,7 @@ $('#product_id_text_input').on('blur', function(e) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } }, function(xhr) @@ -416,7 +416,7 @@ $(document).on("Grocy.BarcodeScanned", function(e, barcode, target) Grocy.Components.ProductPicker.GetInputElement().focusout(); Grocy.Components.ProductPicker.GetInputElement().focus(); Grocy.Components.ProductPicker.GetInputElement().blur(); - }, 500); + }, Grocy.FormFocusDelay); }); $(document).on("shown.bs.modal", function(e) diff --git a/public/viewjs/components/recipepicker.js b/public/viewjs/components/recipepicker.js index 93d3659c..aada2328 100644 --- a/public/viewjs/components/recipepicker.js +++ b/public/viewjs/components/recipepicker.js @@ -121,5 +121,5 @@ $(document).on("Grocy.BarcodeScanned", function(e, barcode, target) Grocy.Components.RecipePicker.GetInputElement().focusout(); Grocy.Components.RecipePicker.GetInputElement().focus(); Grocy.Components.RecipePicker.GetInputElement().blur(); - }, 500); + }, Grocy.FormFocusDelay); }); diff --git a/public/viewjs/consume.js b/public/viewjs/consume.js index 410d5afb..96307398 100644 --- a/public/viewjs/consume.js +++ b/public/viewjs/consume.js @@ -492,7 +492,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e) setTimeout(function() { $('#display_amount').focus(); - }, 500); + }, Grocy.FormFocusDelay); if (productDetails.stock_amount == productDetails.stock_amount_opened || productDetails.product.enable_tare_weight_handling == 1 || productDetails.product.disable_open == 1) { @@ -660,7 +660,7 @@ if (GetUriParam("embedded") !== undefined) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); -}, 500); +}, Grocy.FormFocusDelay); $(document).on("change", "#scan-mode", function(e) { diff --git a/public/viewjs/equipment.js b/public/viewjs/equipment.js index 34c108f5..9fe3e66b 100644 --- a/public/viewjs/equipment.js +++ b/public/viewjs/equipment.js @@ -105,7 +105,7 @@ $("#search").on("keyup", Delay(function() } equipmentTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/equipmentform.js b/public/viewjs/equipmentform.js index 285143f8..57810557 100644 --- a/public/viewjs/equipmentform.js +++ b/public/viewjs/equipmentform.js @@ -150,7 +150,7 @@ Grocy.FrontendHelpers.ValidateForm('equipment-form'); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); $("#instruction-manual").on("change", function(e) { diff --git a/public/viewjs/inventory.js b/public/viewjs/inventory.js index fc1eb540..f7afb14d 100644 --- a/public/viewjs/inventory.js +++ b/public/viewjs/inventory.js @@ -314,7 +314,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e) setTimeout(function() { $('#display_amount').focus(); - }, 500); + }, Grocy.FormFocusDelay); $('#display_amount').trigger('keyup'); RefreshPriceHint(); }, @@ -361,7 +361,7 @@ if (Grocy.Components.ProductPicker.InAnyFlow() === false && GetUriParam("embedde { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { @@ -373,7 +373,7 @@ else { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } } @@ -385,7 +385,7 @@ $('#display_amount').on('focus', function(e) { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { diff --git a/public/viewjs/locationform.js b/public/viewjs/locationform.js index 111bfa17..1c41feba 100644 --- a/public/viewjs/locationform.js +++ b/public/viewjs/locationform.js @@ -93,4 +93,4 @@ Grocy.FrontendHelpers.ValidateForm('location-form'); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); diff --git a/public/viewjs/locations.js b/public/viewjs/locations.js index 99444bcb..2009c3c2 100644 --- a/public/viewjs/locations.js +++ b/public/viewjs/locations.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } locationsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/login.js b/public/viewjs/login.js index dfd8c7c9..3a475f5e 100644 --- a/public/viewjs/login.js +++ b/public/viewjs/login.js @@ -1,7 +1,7 @@ setTimeout(function() { $('#username').focus(); -}, 500); +}, Grocy.FormFocusDelay); if (GetUriParam('invalid') === 'true') { diff --git a/public/viewjs/manageapikeys.js b/public/viewjs/manageapikeys.js index ad5feb5c..0a3427f3 100644 --- a/public/viewjs/manageapikeys.js +++ b/public/viewjs/manageapikeys.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } apiKeysTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { @@ -99,7 +99,7 @@ $("#add-api-key-modal").on("shown.bs.modal", function(e) setTimeout(function() { $("#description").focus(); - }, 500); + }, Grocy.FormFocusDelay); }); $("#new-api-key-button").on("click", function(e) diff --git a/public/viewjs/mealplansectionform.js b/public/viewjs/mealplansectionform.js index c61d59b9..15da35af 100644 --- a/public/viewjs/mealplansectionform.js +++ b/public/viewjs/mealplansectionform.js @@ -80,4 +80,4 @@ Grocy.FrontendHelpers.ValidateForm('mealplansection-form'); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); diff --git a/public/viewjs/mealplansections.js b/public/viewjs/mealplansections.js index 480556a3..e2bb334b 100644 --- a/public/viewjs/mealplansections.js +++ b/public/viewjs/mealplansections.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } mealplanSectionsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/productbarcodeform.js b/public/viewjs/productbarcodeform.js index 601d4117..9d0070fc 100644 --- a/public/viewjs/productbarcodeform.js +++ b/public/viewjs/productbarcodeform.js @@ -103,7 +103,7 @@ Grocy.FrontendHelpers.ValidateForm('barcode-form'); setTimeout(function() { $('#barcode').focus(); -}, 500); +}, Grocy.FormFocusDelay); RefreshLocaleNumberInput(); Grocy.Components.UserfieldsForm.Load() diff --git a/public/viewjs/productform.js b/public/viewjs/productform.js index 83fe6155..6991a44c 100644 --- a/public/viewjs/productform.js +++ b/public/viewjs/productform.js @@ -262,7 +262,7 @@ Grocy.FrontendHelpers.ValidateForm('product-form'); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); $(document).on('click', '.product-grocycode-label-print', function(e) { diff --git a/public/viewjs/productgroupform.js b/public/viewjs/productgroupform.js index d9d88cad..92e4c851 100644 --- a/public/viewjs/productgroupform.js +++ b/public/viewjs/productgroupform.js @@ -78,5 +78,5 @@ Grocy.Components.UserfieldsForm.Load(); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('product-group-form'); diff --git a/public/viewjs/productgroups.js b/public/viewjs/productgroups.js index d4478d88..8994c263 100644 --- a/public/viewjs/productgroups.js +++ b/public/viewjs/productgroups.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } groupsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/products.js b/public/viewjs/products.js index 39deaa3c..1f0ddaa9 100644 --- a/public/viewjs/products.js +++ b/public/viewjs/products.js @@ -21,7 +21,7 @@ $("#search").on("keyup", Delay(function() } productsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#product-group-filter").on("change", function() { diff --git a/public/viewjs/purchase.js b/public/viewjs/purchase.js index 9c2e18a8..951a34c7 100644 --- a/public/viewjs/purchase.js +++ b/public/viewjs/purchase.js @@ -355,7 +355,7 @@ if (Grocy.Components.ProductPicker !== undefined) setTimeout(function() { $('#display_amount').focus(); - }, 500); + }, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('purchase-form'); if (GetUriParam("flow") === "shoppinglistitemtostock" && BoolVal(Grocy.UserSettings.shopping_list_to_stock_workflow_auto_submit_when_prefilled) && Grocy.FrontendHelpers.ValidateForm("purchase-form")) @@ -501,7 +501,7 @@ if (Grocy.Components.ProductPicker) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { @@ -512,7 +512,7 @@ if (Grocy.Components.ProductPicker) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } } } @@ -524,7 +524,7 @@ $('#display_amount').on('focus', function(e) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { diff --git a/public/viewjs/quantityunitconversionform.js b/public/viewjs/quantityunitconversionform.js index b5a08619..42d8607c 100644 --- a/public/viewjs/quantityunitconversionform.js +++ b/public/viewjs/quantityunitconversionform.js @@ -145,7 +145,7 @@ Grocy.FrontendHelpers.ValidateForm('quconversion-form'); setTimeout(function() { $('#from_qu_id').focus(); -}, 500); +}, Grocy.FormFocusDelay); if (GetUriParam("qu-unit") !== undefined) { diff --git a/public/viewjs/quantityunitform.js b/public/viewjs/quantityunitform.js index 5c5c23be..b68a2dd3 100644 --- a/public/viewjs/quantityunitform.js +++ b/public/viewjs/quantityunitform.js @@ -155,7 +155,7 @@ Grocy.FrontendHelpers.ValidateForm('quantityunit-form'); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); $(document).on('click', '.qu-conversion-delete-button', function(e) { diff --git a/public/viewjs/quantityunitpluraltesting.js b/public/viewjs/quantityunitpluraltesting.js index 4c6847ae..18fa4263 100644 --- a/public/viewjs/quantityunitpluraltesting.js +++ b/public/viewjs/quantityunitpluraltesting.js @@ -37,4 +37,4 @@ if (GetUriParam("qu") !== undefined) setTimeout(function() { $("#amount").focus(); -}, 500); +}, Grocy.FormFocusDelay); diff --git a/public/viewjs/quantityunits.js b/public/viewjs/quantityunits.js index 98042ac6..117a8ccc 100644 --- a/public/viewjs/quantityunits.js +++ b/public/viewjs/quantityunits.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } quantityUnitsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/recipeform.js b/public/viewjs/recipeform.js index 125b0298..635dcff6 100644 --- a/public/viewjs/recipeform.js +++ b/public/viewjs/recipeform.js @@ -109,7 +109,7 @@ Grocy.FrontendHelpers.ValidateForm('recipe-form'); setTimeout(function() { $("#name").focus(); -}, 500); +}, Grocy.FormFocusDelay); $('#recipe-form input').keyup(function(event) { diff --git a/public/viewjs/recipeposform.js b/public/viewjs/recipeposform.js index ae184591..df4de575 100644 --- a/public/viewjs/recipeposform.js +++ b/public/viewjs/recipeposform.js @@ -124,14 +124,14 @@ if (!Grocy.Components.ProductPicker.InAnyFlow()) setTimeout(function() { $("#display_amount").focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } } else @@ -143,7 +143,7 @@ else setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } } @@ -159,7 +159,7 @@ $('#display_amount').on('focus', function(e) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { diff --git a/public/viewjs/recipes.js b/public/viewjs/recipes.js index 4df66a24..0ce9df68 100644 --- a/public/viewjs/recipes.js +++ b/public/viewjs/recipes.js @@ -82,7 +82,7 @@ $("#search").on("keyup", Delay(function() $(".recipe-gallery-item").removeClass("d-none"); $(".recipe-gallery-item .card-title-search:not(:contains_case_insensitive(" + value + "))").parent().parent().parent().addClass("d-none"); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/shoppinglist.js b/public/viewjs/shoppinglist.js index 3cbe5f19..51c169c7 100644 --- a/public/viewjs/shoppinglist.js +++ b/public/viewjs/shoppinglist.js @@ -43,7 +43,7 @@ $("#search").on("keyup", Delay(function() } shoppingListTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/shoppinglistform.js b/public/viewjs/shoppinglistform.js index d575b385..4c08dd7d 100644 --- a/public/viewjs/shoppinglistform.js +++ b/public/viewjs/shoppinglistform.js @@ -82,5 +82,5 @@ Grocy.Components.UserfieldsForm.Load(); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('shopping-list-form'); diff --git a/public/viewjs/shoppinglistitemform.js b/public/viewjs/shoppinglistitemform.js index 314641a6..498a9eee 100644 --- a/public/viewjs/shoppinglistitemform.js +++ b/public/viewjs/shoppinglistitemform.js @@ -213,7 +213,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e) setTimeout(function() { $('#display_amount').focus(); - }, 500); + }, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('shoppinglist-form'); Grocy.ShoppingListItemFormInitialLoadDone = true; }, @@ -292,14 +292,14 @@ if (!Grocy.Components.ProductPicker.InAnyFlow()) setTimeout(function() { $("#display_amount").focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } } else @@ -311,7 +311,7 @@ else setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } } diff --git a/public/viewjs/shoppinglocationform.js b/public/viewjs/shoppinglocationform.js index e322c22f..0a8989b0 100644 --- a/public/viewjs/shoppinglocationform.js +++ b/public/viewjs/shoppinglocationform.js @@ -92,5 +92,5 @@ Grocy.Components.UserfieldsForm.Load(); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('shoppinglocation-form'); diff --git a/public/viewjs/shoppinglocations.js b/public/viewjs/shoppinglocations.js index 3c224336..3405dd1b 100644 --- a/public/viewjs/shoppinglocations.js +++ b/public/viewjs/shoppinglocations.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } locationsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/stockentries.js b/public/viewjs/stockentries.js index 9d8a781f..56748172 100644 --- a/public/viewjs/stockentries.js +++ b/public/viewjs/stockentries.js @@ -302,7 +302,7 @@ function RefreshStockEntryRow(stockRowId) { RefreshContextualTimeago("#stock-" + stockRowId + "-row"); RefreshLocaleNumberDisplay("#stock-" + stockRowId + "-row"); - }, 500); + }, Grocy.FormFocusDelay); }, function(xhr) { diff --git a/public/viewjs/stockentryform.js b/public/viewjs/stockentryform.js index a1e9e682..c2558e29 100644 --- a/public/viewjs/stockentryform.js +++ b/public/viewjs/stockentryform.js @@ -148,5 +148,5 @@ Grocy.Components.UserfieldsForm.Load(); setTimeout(function() { $('#amount').focus(); -}, 500); +}, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm("stockentry-form"); diff --git a/public/viewjs/stockjournal.js b/public/viewjs/stockjournal.js index 8c8762b3..8f1ab5e5 100644 --- a/public/viewjs/stockjournal.js +++ b/public/viewjs/stockjournal.js @@ -74,7 +74,7 @@ $("#search").on("keyup", Delay(function() } stockJournalTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/stockjournalsummary.js b/public/viewjs/stockjournalsummary.js index 5a4f49d0..8a07529c 100644 --- a/public/viewjs/stockjournalsummary.js +++ b/public/viewjs/stockjournalsummary.js @@ -55,7 +55,7 @@ $("#search").on("keyup", Delay(function() } journalSummaryTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/stockoverview.js b/public/viewjs/stockoverview.js index e03c2736..a5031f2f 100755 --- a/public/viewjs/stockoverview.js +++ b/public/viewjs/stockoverview.js @@ -108,7 +108,7 @@ $("#search").on("keyup", Delay(function() } stockOverviewTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $(document).on('click', '.product-grocycode-label-print', function(e) { @@ -397,7 +397,7 @@ function RefreshProductRow(productId) { RefreshContextualTimeago("#product-" + productId + "-row"); RefreshLocaleNumberDisplay("#product-" + productId + "-row"); - }, 500); + }, Grocy.FormFocusDelay); }, function(xhr) { diff --git a/public/viewjs/taskcategories.js b/public/viewjs/taskcategories.js index efc0b860..732618ee 100644 --- a/public/viewjs/taskcategories.js +++ b/public/viewjs/taskcategories.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } categoriesTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/taskcategoryform.js b/public/viewjs/taskcategoryform.js index 483a067c..b33b8c5b 100644 --- a/public/viewjs/taskcategoryform.js +++ b/public/viewjs/taskcategoryform.js @@ -92,5 +92,5 @@ Grocy.Components.UserfieldsForm.Load(); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); Grocy.FrontendHelpers.ValidateForm('task-category-form'); diff --git a/public/viewjs/taskform.js b/public/viewjs/taskform.js index 8e50dfdb..7754c87e 100644 --- a/public/viewjs/taskform.js +++ b/public/viewjs/taskform.js @@ -112,6 +112,6 @@ Grocy.Components.UserfieldsForm.Load(); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); Grocy.Components.DateTimePicker.GetInputElement().trigger('input'); Grocy.FrontendHelpers.ValidateForm('task-form'); diff --git a/public/viewjs/tasks.js b/public/viewjs/tasks.js index 8687c9da..96720992 100644 --- a/public/viewjs/tasks.js +++ b/public/viewjs/tasks.js @@ -18,7 +18,7 @@ $("#search").on("keyup", Delay(function() } tasksTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#status-filter").on("change", function() { diff --git a/public/viewjs/transfer.js b/public/viewjs/transfer.js index 6cb16330..931c430c 100644 --- a/public/viewjs/transfer.js +++ b/public/viewjs/transfer.js @@ -283,7 +283,7 @@ Grocy.Components.ProductPicker.GetPicker().on('change', function(e) setTimeout(function() { $('#display_amount').focus(); - }, 500); + }, Grocy.FormFocusDelay); }, function(xhr) { @@ -521,7 +521,7 @@ if (GetUriParam("embedded") !== undefined) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { @@ -538,4 +538,4 @@ if (GetUriParam("embedded") !== undefined) setTimeout(function() { Grocy.Components.ProductPicker.GetInputElement().focus(); -}, 500); +}, Grocy.FormFocusDelay); diff --git a/public/viewjs/userentities.js b/public/viewjs/userentities.js index b08debec..3e3702b4 100644 --- a/public/viewjs/userentities.js +++ b/public/viewjs/userentities.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } userentitiesTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/userentityform.js b/public/viewjs/userentityform.js index 3d38ef11..fe6a6730 100644 --- a/public/viewjs/userentityform.js +++ b/public/viewjs/userentityform.js @@ -104,7 +104,7 @@ Grocy.FrontendHelpers.ValidateForm('userentity-form'); setTimeout(function() { $('#name').focus(); -}, 500); +}, Grocy.FormFocusDelay); // Click twice to trigger on-click but not change the actual checked state $("#show_in_sidebar_menu").click(); diff --git a/public/viewjs/userfieldform.js b/public/viewjs/userfieldform.js index 742de74e..b7d75f94 100644 --- a/public/viewjs/userfieldform.js +++ b/public/viewjs/userfieldform.js @@ -118,14 +118,14 @@ if (GetUriParam("entity")) setTimeout(function() { $('#name').focus(); - }, 500); + }, Grocy.FormFocusDelay); } else { setTimeout(function() { $('#entity').focus(); - }, 500); + }, Grocy.FormFocusDelay); } $("#type").trigger("change"); diff --git a/public/viewjs/userfields.js b/public/viewjs/userfields.js index 38a4e7f8..07afec56 100644 --- a/public/viewjs/userfields.js +++ b/public/viewjs/userfields.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } userfieldsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#entity-filter").on("change", function() { @@ -83,5 +83,5 @@ if (GetUriParam("entity")) setTimeout(function() { $("#name").focus(); - }, 500); + }, Grocy.FormFocusDelay); } diff --git a/public/viewjs/userform.js b/public/viewjs/userform.js index 765e09b1..144a59fd 100644 --- a/public/viewjs/userform.js +++ b/public/viewjs/userform.js @@ -146,7 +146,7 @@ $("#change_password").click(function() setTimeout(function() { $("#password").focus(); - }, 500); + }, Grocy.FormFocusDelay); }); if (GetUriParam("changepw") === "true") @@ -158,7 +158,7 @@ else setTimeout(function() { $('#username').focus(); - }, 500); + }, Grocy.FormFocusDelay); } Grocy.Components.UserfieldsForm.Load(); diff --git a/public/viewjs/userobjectform.js b/public/viewjs/userobjectform.js index 7ddf8b00..1c2833da 100644 --- a/public/viewjs/userobjectform.js +++ b/public/viewjs/userobjectform.js @@ -74,4 +74,4 @@ $("#userfields-form").removeClass("border").removeClass("border-info").removeCla setTimeout(function() { $(".userfield-input").first().focus(); -}, 500); +}, Grocy.FormFocusDelay); diff --git a/public/viewjs/userobjects.js b/public/viewjs/userobjects.js index 8731f5ed..79c8adbc 100644 --- a/public/viewjs/userobjects.js +++ b/public/viewjs/userobjects.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } userobjectsTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() { diff --git a/public/viewjs/users.js b/public/viewjs/users.js index 3405f080..bd03e3e2 100644 --- a/public/viewjs/users.js +++ b/public/viewjs/users.js @@ -17,7 +17,7 @@ $("#search").on("keyup", Delay(function() } usersTable.search(value).draw(); -}, 500)); +}, Grocy.FormFocusDelay)); $("#clear-filter-button").on("click", function() {