CRM-10760 Use jQuery UI autocomplete instead of legacy autocomplete

    Details

    • Type: Sub-task
    • Status: Done/Fixed
    • Priority: Trivial
    • Resolution: Duplicate
    • Affects Version/s: 3.4.8, 4.4.0
    • Fix Version/s: 4.5
    • Component/s: Core CiviCRM
    • Labels:
      None
    • Sprint:
      Sprint 1

      Description

      When I search a contact through the input field in the left upper corner, a request is made to the server after each keypress. Looking into the code, there should be a delay of 400 ms before a request is send to the server. Is this broken ?

      Eg.: When I search a contact with 5 characters while typing it into the search field it takes at least 5 times longer to search for in comparison when copy paste the search string into the field.

        Attachments

          Issue Links

            Activity

            [CRM-10760] Use jQuery UI autocomplete instead of legacy autocomplete
            Rajesh Kumar added a comment -

            No delay was set for the JQuery Autocomplete.

            Delay of 400 ms is now set for the autocomplete. Please apply the attached patch.

            Coleman Watts added a comment -

            Have applied the supplied patch, but the problem persists. According to http://jqueryui.com/demos/autocomplete/#option-delay this value should default to 300 if none is passed, so the patch shouldn't have been necessary.

            Coleman Watts added a comment -

            Conversation with Kurund: we are using an old autocomplete jquery widget - we need to migrate to jquery ui autocomplete, which should solve this and other problems.

            Coleman Watts added a comment -

            I've made good progress and converted the autocomplete in the menubar to use jQuery.ui. Then I realized something... aside from that one, our other autocompletes should not be autocompletes! They are all actually being used as token-input type widgets (the difference being that an autocomplete simply fills in text while a token-input stores an ID somewhere while displaying a label). So instead of converting the rest of our autocompletes to use jquery.ui.autocomplete I'm going to convert them to use the new Select2 library instead. See CRM-13966

              People

              • Assignee:
                Coleman Watts
                Reporter:
                Wim De Craene

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 day, 2 hours
                  1d 2h