Uploaded image for project: 'OpenMRS Core'
  1. OpenMRS Core
  2. TRUNK-3714

Search fields should not block keyboard events

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • TBD
    • Resolution: Cannot Reproduce
    • None
    • None
    • None
    • Low

    Description

      Our input search fields stops propagation of keyup event for some special keys (for example, Command key on Mac or Ctrl on PC, but they should not do this.

      This happens because inside openmrsSearch.js we have .keyup() handler for search field, which explicity stops event propagation in case of Windows (kc = 17, lines 251, 263-265 of that file):

      ....
      var kc = event.keyCode;
      ....
      //ignore the following keys SHIFT(16), ESC(27), CAPSLOCK(20), CTRL(17), ALT(18), SPACE(32), ALT_TAB(9)
      else if((kc >= 16 && kc <= 18) || kc == 20 || kc == 27 || kc == 32 || kc == 9)
      	return false;
      ....
      

      in case of Mac (kc = 91, lines 277-285):

      ....
      if(text == '' && !self.options.doSearchWhenEmpty){
          $j('#pageInfo').css("visibility", "hidden");
      	$j("#spinner").css("visibility", "hidden");
      	$j("#minCharError").css("visibility", "hidden");
      	$j(".openmrsSearchDiv").hide();
      	loadingMsgObj.html("");
      						
          	return false;
          }
      ....
      

      The fix seems to be pretty simple. Actually it's only 2 lines. All that's need is to change return false; to return true; within openmrsSearch.js inside snapshots given above.

      Gliffy Diagrams

        Attachments

          Activity

            People

              kushal Kushal Sunerha
              mvorobey Mykola Vorobey
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 30 minutes
                  30m
                  Remaining:
                  Remaining Estimate - 30 minutes
                  30m
                  Logged:
                  Time Spent - Not Specified
                  Not Specified