Bläddra i källkod

Patient search dropdown fix

Vijayakrishnan 4 år sedan
förälder
incheckning
4bbf474cfe
1 ändrade filer med 16 tillägg och 10 borttagningar
  1. 16 10
      resources/views/layouts/template.blade.php

+ 16 - 10
resources/views/layouts/template.blade.php

@@ -140,7 +140,7 @@
             <a href="#" class="mr-2 text-white small" onclick="return fastReload()"><i class="fa fa-sync"></i></a>
             <div class="d-inline-flex pr-2 mcp-theme-1 position-relative">
                 <input id="patient-search" type="search" class="form-control form-control-sm outline-0" autocomplete="off" placeholder="Search Patients">
-                <div class="suggestions-outer position-absolute d-none">
+                <div class="patient-search-results suggestions-outer position-absolute d-none">
 
                 </div>
             </div>
@@ -238,26 +238,27 @@
                 var term = $.trim($('#patient-search').val());
                 if (!!term && lastTerm !== term) {
                     $.get('/patients-suggest?term=' + term, function(_data) {
-                        $('.suggestions-outer').html(_data).removeClass('d-none');
+                        $('.patient-search-results.suggestions-outer').html(_data).removeClass('d-none');
                     });
                     lastTerm = term;
                 } else {
-                    $('.suggestions-outer').addClass('d-none');
+                    $('.patient-search-results.suggestions-outer').addClass('d-none');
                 }
             }, 250);
             $('#patient-search')
+                .off('keydown')
                 .on('keydown', function(e) {
-                    var activeItem = $('.suggestions-outer .suggest-item.active');
+                    var activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
                     switch (e.which) {
                         case 27:
-                            $('.suggestions-outer').addClass('d-none');
+                            $('.patient-search-results.suggestions-outer').addClass('d-none');
                             return false;
                         case 38:
                             if (activeItem.prev().length) {
                                 activeItem.prev()
                                     .addClass('active')
                                     .siblings().removeClass('active');
-                                activeItem = $('.suggestions-outer .suggest-item.active');
+                                activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
                                 if (activeItem.length) {
                                     activeItem[0].scrollIntoView();
                                 }
@@ -268,7 +269,7 @@
                                 activeItem.next()
                                     .addClass('active')
                                     .siblings().removeClass('active');
-                                activeItem = $('.suggestions-outer .suggest-item.active');
+                                activeItem = $('.patient-search-results.suggestions-outer .suggest-item.active');
                                 if (activeItem.length) {
                                     activeItem[0].scrollIntoView();
                                 }
@@ -286,21 +287,26 @@
                 })
                 .on('keypress paste', function(e) {
                     window.setTimeout(onQueryChange, 50);
+                })
+                .on('blur', function(e) {
+                    $('.patient-search-results.suggestions-outer').addClass('d-none');
+                    return false;
                 });
+
             function onQueryChange() {
                 var term = $.trim($('#patient-search').val());
                 if (!!term) {
-                    $('.suggestions-outer')
+                    $('.patient-search-results.suggestions-outer')
                         .html('<span class="d-block no-suggest-items">Searching...</span>')
                         .removeClass('d-none');
                     returnedFunction();
                 } else {
-                    $('.suggestions-outer').addClass('d-none');
+                    $('.patient-search-results.suggestions-outer').addClass('d-none');
                 }
             }
             $(document).on('click', '.suggest-item.patient-suggest[data-target-uid]', function() {
                 $('#patient-search').val('');
-                $('.suggestions-outer').addClass('d-none');
+                $('.patient-search-results.suggestions-outer').addClass('d-none');
                 fastLoad('/patients/view/' + $(this).attr('data-target-uid'), true, false, false);
                 return false;
             });