Opened 11 years ago

Closed 10 years ago

#8142 closed defect (fixed)

[patch][cla]Big lists and dojox.form.DropDownSelect

Reported by: Eugene Lazutkin Owned by: Nathan Toone
Priority: high Milestone: 1.4
Component: DojoX Form Version: 1.2.1
Keywords: Cc:
Blocked By: Blocking:

Description

When the list of values does not fit directly above or below the button, it overlaps with it and is positioned under the mouse cursor. The list appears when user clicks the button. When the overlap happens, the last part of the click (onmouseup) is being interpreted by the list as a selection. User clicks the widget, the list flickers momentarily, and seemingly random item gets selected, without presenting the choice, or so it seems to the user.

Attachments (2)

dropDownSelectOverCheck.diff (4.3 KB) - added by Nathan Toone 10 years ago.
This patch prevents the execution from firing if your mouse is still over the clickable button - basically indicating that the menu has overlapped
dropDownSelectScrolling.diff (9.6 KB) - added by Nathan Toone 10 years ago.
Patch which implements a "maxHeight" and "maxWidth" on dropdown selects - this patch also includes the previous patch.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 11 years ago by Eugene Lazutkin

There are several possible solutions (discussed with toonetown):

  • Process onclick on the list rather than onmouseup.
  • Watch for onmousedown event making sure that the list gets it before onmouseup. If not, disregard onmouseup.
  • Scroll choices rather than allowing overlapping (can be a problem in tight spaces?).

Or any of the above can be done only when we know that there is the overlap. We know that because we position the list around the button.

comment:2 Changed 11 years ago by Eugene Lazutkin

Scrolling is clearly preferable for really long lists.

comment:3 Changed 10 years ago by Nathan Toone

Milestone: tbdfuture

comment:4 Changed 10 years ago by Phil DeJarnett

I'd like to second that this (scrolling) needs to be added.

FilteringSelect? is not a very good replacement for normal select boxes (it's confusing, looks too much like a ComboBox?, and doesn't provide the ability to have disabled items).

Even a short list that happens to be just long enough to hang off the bottom of the page doesn't work.

Changed 10 years ago by Nathan Toone

This patch prevents the execution from firing if your mouse is still over the clickable button - basically indicating that the menu has overlapped

comment:5 Changed 10 years ago by Nathan Toone

Milestone: future1.4
Summary: Big lists and dojox.form.DropDownSelect[patch][cla]Big lists and dojox.form.DropDownSelect

Changed 10 years ago by Nathan Toone

Patch which implements a "maxHeight" and "maxWidth" on dropdown selects - this patch also includes the previous patch.

comment:6 Changed 10 years ago by Nathan Toone

Milestone: 1.41.3.1

Fixed in trunk in [17156] - changing milestone for consideration for inclusion in branch.

comment:7 Changed 10 years ago by Nathan Toone

Milestone: 1.3.11.4
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.