diff --git a/Controllers/SpjAdminController/SpjAdminController.cs b/Controllers/SpjAdminController/SpjAdminController.cs index b2bb538..554f989 100644 --- a/Controllers/SpjAdminController/SpjAdminController.cs +++ b/Controllers/SpjAdminController/SpjAdminController.cs @@ -4,7 +4,7 @@ using eSPJ.Models; namespace eSPJ.Controllers.SpjAdminController; -[Route("admin")] +[Route("transport/spj-admin")] public class SpjAdminController : Controller { private static readonly Guid DummySpjGuid = new Guid("9f5b8f3a-1c2d-4a5b-9a7c-1234567890ab"); diff --git a/Views/Admin/Transport/SpjAdmin/Scan/Index.cshtml b/Views/Admin/Transport/SpjAdmin/Scan/Index.cshtml index 90db7b3..da52ca4 100644 --- a/Views/Admin/Transport/SpjAdmin/Scan/Index.cshtml +++ b/Views/Admin/Transport/SpjAdmin/Scan/Index.cshtml @@ -328,6 +328,43 @@ return markup; } }); + + + $('#manual-barcode-select').on('select2:open', function (e) { + setTimeout(function() { + scrollToSelect2(); + }, 100); + }); + + + $(document).on('focus', '.select2-search__field', function() { + setTimeout(function() { + scrollToSelect2(); + }, 300); + }); + } + + function scrollToSelect2() { + const selectElement = document.getElementById('manual-barcode-select'); + const select2Container = selectElement?.nextElementSibling; + + if (select2Container) { + select2Container.scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'nearest' + }); + + if (window.innerWidth <= 768) { + const rect = select2Container.getBoundingClientRect(); + const scrollTop = window.pageYOffset + rect.top - (window.innerHeight / 3); + + window.scrollTo({ + top: scrollTop, + behavior: 'smooth' + }); + } + } } function formatSpjOption(spj) { @@ -341,12 +378,12 @@ return $( '