Opened 7 years ago

Closed 7 years ago

#15687 closed defect (fixed)

[regression] FilteringSelect: paging is not visible and the warning is too early

Reported by: charly Owned by: Douglas Hays
Priority: undecided Milestone: 1.8
Component: Dijit - Form Version: 1.8.0b1
Keywords: Cc:
Blocked By: Blocking:

Description

Hello,

Example:

<div data-dojo-type="dojox.data.QueryReadStore" 
     data-dojo-props="url:'{{dataUrl}}dojox/data/tests/stores/QueryReadStore.php'/>&jsonchoice=search_customer',
       requestMethod:'get',
       doClientPaging:'true',
       doClientSorting:'false'" 
       data-dojo-id="comboStore2">
</div>
          
<div data-dojo-type="dijit.form.FilteringSelect" 
    data-dojo-props="store:comboStore2, searchAttr:'name', pageSize:5"></div>

Problem:

  1. Paging doesn't work.
  1. The warning is coming too early after you entered the first letter, "the value entered is not valid". But not in dojo 1.7.2.
  1. After selected a item, you cannot clear the input field.

thx charly

Attachments (1)

15687.patch (3.8 KB) - added by Douglas Hays 7 years ago.
possible fix - needs review and testing

Download all attachments as: .zip

Change History (9)

comment:1 Changed 7 years ago by bill

Component: GeneralDijit - Form
Owner: set to Douglas Hays
Summary: FilteringSelect: paging is not visible and the warning is too early[regression] FilteringSelect: paging is not visible and the warning is too early

I can reproduce the second problem on dojox/data/demos/demo_QueryReadStore_FilteringSelect.html, although I am able to clear the input field. The second problem started with [27966].

comment:2 Changed 7 years ago by charly

Maybe the first problem is solved by 14895.

thx charly

comment:3 Changed 7 years ago by Douglas Hays

Milestone: tbd1.8
Status: newassigned

Changed 7 years ago by Douglas Hays

Attachment: 15687.patch added

possible fix - needs review and testing

comment:4 Changed 7 years ago by Douglas Hays

  1. Paging works but the test file forgot to add doClientPaging=true
  2. _refreshState() was being called with each keystroke but _SearchMixin needed to override that behavior and wait on search results
  3. when you blur, the input field is repopulated with the first search value since the php test server does not support searching with an exact value (assumes everything is blah*)

comment:5 Changed 7 years ago by bill

In [29288]:

Fix example QueryReadStore server to handle exact match queries as well as wildcard queries. So {name: "a"} now looks for an exact match of "a" to the property "name", rather than matching any word inside of name that starts with a, and {name: "a*"} now matches any item where the name property starts with a (but again, not looking at subsequent words of name).

Fix errors in the test file, in particular where it could be swallowing errors by doing asserts without a d.getTestCallback() or d.getTestErrback().

Refs #15687 !strict.

comment:6 Changed 7 years ago by bill

In [29306]:

Allow query on empty string (which returns no rows), refs #15687 !strict.

comment:7 Changed 7 years ago by bill

In [29307]:

Allow query on "*" to match all rows, refs #15687 !strict.

comment:8 Changed 7 years ago by Douglas Hays

Resolution: fixed
Status: assignedclosed

In [29311]:

Fixes #15687. Allow _SearchBoxMixin to override default key validation.

Note: See TracTickets for help on using tickets.