Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#17732 closed defect (fixed)

dropdowns don't appear on iOS RTL w/zoom, horizontal scrollbar

Reported by: bill Owned by: bill
Priority: undecided Milestone: 1.7.6
Component: Dijit Version: 1.9.2
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by bill)

Try the attached test cases on iPhone/iPad and see that the drop downs don't appear, especially when the screen is zoomed. Actually, the drop downs are appearing, but due to a miscalculation they are positioned offscreen, (for example) at right: -300px.

This seems partly due to #17330 and #17331, and partly due to a bug in place.js in the code that sets popup.style.right:

s[l ? "left" : "right"] = (l ? best.x : view.w - best.x - best.w) + "px";

Rather than view.w, it should be using the width of the document, win.body(node.ownerDocument).clientWidth.

The simplest fix though seems to be to always set style.left, rather than setting style.right when the page is RTL.

Note that this is how place.js used to work. The code to set style.right came from 33dc9b874f74e1bf180f9cb6f3c14d13a0fb7a90 aka [23866] (refs #5777). It was added so popup position would automatically adjust on screen resizes (in the common case), but in 1.9+ it's largely superseded by f7e1c27065a0c3179fe8ec20f68eef11e035b7cb aka [30911] (also refs #5777).

Attachments (2)

DojoTest.html (2.3 KB) - added by bill 6 years ago.
run on iPhone (portrait mode)
test.html (2.5 KB) - added by bill 6 years ago.
run on iPad portrait mode

Download all attachments as: .zip

Change History (8)

Changed 6 years ago by bill

Attachment: DojoTest.html added

run on iPhone (portrait mode)

Changed 6 years ago by bill

Attachment: test.html added

run on iPad portrait mode

comment:1 Changed 6 years ago by bill

Description: modified (diff)

comment:2 Changed 6 years ago by bill

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

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

In eecfebfd88c6c56b38b8015f62e2b3ea4ebb9287/dijit:

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

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

Resolution: fixed
Status: assignedclosed

In 56edb1d133f6f8912198a046911718d5c3d1e292/dijit:

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

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

In f27741d04f4843e9adb8dcacea61749c9938f618/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 a8daca52ecd362aa119a9aab4409a4b43e95fabf/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.