Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#17434 closed defect (fixed)

[regression] FilteringSelect: query options incorrect on blur

Reported by: Ed Hager Owned by: bill
Priority: undecided Milestone: 1.7.6
Component: Dijit - Form Version: 1.7.0
Keywords: Cc:
Blocked By: Blocking:

Description

The update for ticket #12373 caused a regression error.

Steps to reproduce:

  1. Using Dojo 1.4.x, load the Dijit FilteringSelect test page:

dijit/tests/form/_autoComplete.html?testWidget=dijit.form.FilteringSelect

  1. Find the widget labeled ""No arrow, data store which searches and highlights matches anywhere in the string"
  2. Enter "delaware" all lowercase.
  3. Hit the tab key to make the widget lose focus.

The contents of the widget will change from "delaware" to "Delaware".

  1. Using Dojo 1.8.x, load the Dijit FilteringSelect test page:

dijit/tests/form/_autoComplete.html?testWidget=dijit.form.FilteringSelect

  1. Find the widget labeled ""No arrow, data store which searches and highlights matches anywhere in the string"
  2. Enter "delaware" all lowercase.
  3. Hit the tab key to make the widget lose focus.

The contents will continue to be "delaware" and you will see an error indication because the string does not match a valid choice.

The problem is in the _setDisplayedValueAttr method. The query options object for the reverse lookup is not structured properly.

var options = {
    ignoreCase: this.ignoreCase,
    deep: true
};

should be:

var options = {
    queryOptions: {
        ignoreCase: this.ignoreCase,
        deep: true
    }
};

The drop down is functioning correctly because queryOptions is being used in the _startSearch method of _SearchMixin.

Change History (8)

comment:2 Changed 6 years ago by Colin Snover

Version: 1.6.01.7.0

Upon bisecting, 9273c05fa1993a4bbdbcfd917a577965661bf6f9 is the first commit that makes the test case fail but based on the research in the description it appears that the actual defect is elsewhere and the changes in that commit simply exposed the bug to the test suite. The regression range is between 1.6 and 1.7 so updating version to match.

comment:3 Changed 6 years ago by bill

Milestone: tbd1.7.6
Owner: set to bill
Status: newassigned

Fair enough, thanks for the fix. Since I broke it I'll own the ticket. I just need to add an automated test case to tests/form/robot/_autoComplete_a11y.html (unless you want to) and then I can push your fix to the main repository.

comment:4 Changed 6 years ago by Bill Keese <bill@…>

Resolution: fixed
Status: assignedclosed

In 2253d0eb61e178fce92d4b9bb68aaad7ad3cade3/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:5 Changed 6 years ago by Bill Keese <bill@…>

In 7bd8e58c4ceb56b4d2e1a110c32a3930991d8d54/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:6 Changed 6 years ago by Bill Keese <bill@…>

In 7799376092e6eb92266aece9dab8ce5b97d1a60a/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:7 Changed 6 years ago by Bill Keese <bill@…>

In 8ec57c206baffb89d104b4e378e8aff522c84926/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:8 Changed 6 years ago by Bill Keese <bill@…>

In b0e266d09fc83ae16bdc25a978cf945d2433299a/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 
Note: See TracTickets for help on using tickets.