Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#18746 closed defect (fixed)

ScrollingTabController in MS Edge and dir=rtl

Reported by: r.koenig Owned by: bill
Priority: undecided Milestone: 1.9.8
Component: Dijit Version: 1.10.0
Keywords: Cc:
Blocked By: Blocking:

Description

I am experiencing problems with dijit/layout/ScrollingTabController under MS Edge and right-to-left page layout.

The displayed tabs are not displayed after selecting a tab. And are again displayed when chaning the size of the browser window. I've played around for a while and setting the width of the tablist to empty by tablist.tablistWrapper.style.width=""; and the resetting it to the original values the tabs are again displayed.

But this waorks only if the resetting is delayed by e.g. 500ms Seems to be any timing problem. Does anyone else experience problems like these or maybe has a workaround available?

Change History (10)

comment:1 Changed 3 years ago by bill

Milestone: tbd1.9.8
Status: newassigned

Good catch, it's definitely broken. I think https://github.com/dojo/dijit/compare/dojo:master...wkeese:18746?expand=1 fixes it. Do you wnt to try it before I push the change?

comment:2 Changed 3 years ago by r.koenig

Hi, thanks for your fast response. Unfortunately on my first quick test the code change does not make a difference, tabs are still missing.

In code line 231

if(this.isLeftToRight() || has("ie") < 8 || (has("trident") && has("quirks")) || has("webkit"))

has("webkit") always returns a value, so the else block which should be handled for RTL is never executed in my case. Executing the else block by code seems to fix the problem, but i don't know how to best change the if statement to meet all different needs.

comment:3 Changed 3 years ago by bill

has("webkit") always returns a value

It shouldn't be truthy on Edge. You need the latest version of dojo/sniff.js.

comment:4 Changed 3 years ago by bill

PS: What I meant is that you need to get the latest version of the dojo and dijit master, 1.10, or 1.9 branches, and then apply this patch on top. Each of those branches has other fixes needed for Edge.

comment:5 Changed 3 years ago by r.koenig

I#m not sure what you mean, as i don't see any code changes in dojo/sniff.js and dijit/_base/sniff.js between v1.10.0 (the version i use) and v1.10.4.

Where can i get the master versions you mention?

Last edited 3 years ago by r.koenig (previous) (diff)

comment:6 Changed 3 years ago by r.koenig

Ok, i see changes in the github repository. I'll give that a try as soon as i can get back to this task. Thanks for your infos.

comment:7 Changed 3 years ago by bill

Since I haven't heard back from you (and https://github.com/dojo/dijit/compare/dojo:master...wkeese:18746?expand=1 is working for me), I'm going to push this change.

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

Resolution: fixed
Status: assignedclosed

In cb7775a8e00aea5af04ddc7c2ebb11d5790f7ddd/dijit:

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

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

In f9e58891c38522fee185f95da7f3c86238f08fa5/dijit:

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

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

In f6ff2088b4c57ff5d90206b59e30d4ac15961c09/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.