Openui5: Click event broken in Chrome 55

Created on 16 Dec 2016  路  2Comments  路  Source: SAP/openui5

OpenUI5 version: 1.34.13 (also 1.38.12 and 1.42.6)

Browser/version (+device/version): Google Chrome 55.0.2883.87 (Lenovo Yoga 12 / Windows 8)

Any other tested browsers/devices(OK/FAIL): IE11 - OK

URL (minimal example if possible): https://sapui5.hana.ondemand.com/1.42.6/explored.html#/sample/sap.m.sample.Tokenizer/preview

User/password (if required and possible - do not post any confidential information here):

Steps to reproduce the problem:

  1. Visit the Tokenizer sample page using Chrome 55 / Win 8
  2. Try to click the X button to remove the token. Nothing will happen, whereas in IE11 it will remove the tag
  3. Other things seem to be broken, e.g. the Form control on all of the UI5 Explored pages. Example: https://sapui5.hana.ondemand.com/1.42.6/explored.html#/entity/sap.ui.layout.form.Form/samples

What is the expected result?
Clicking the X on the token does nothing

What happens instead?
It should trigger an event to remove the token

Any other information? (attach screenshot if possible)
I notice this is fixed in the lastest CDN version (1.42.7?), possibly by change 08df0bd223bc0617a591fe0cb80c2dc8fd24ce96. Any chance the fix can be applied to 1.34 and other previous versions of UI5? It is a fairly serious break. Otherwise, a workaround would be appreciated.

fixed

Most helpful comment

Update: as a - really quick and dirty - fix, you might execute something like the following before bootstraping such an older version of UI5:

if (/chrome/i.test(navigator.userAgent)) {
   delete window.PointerEvent;
}

The downside is clear, I guess: no PointerEvents even when your app could handle them...

All 2 comments

I think the problem is with the type of the device. Lenovo Yoga 12 is a "convertible" with a touch screen, so Chrome 55 most likely enables PointerEvent. That's what 08df0bd fixes.

As far as I know, it is not planned to produce bundles for older releases (other than the maintenance releases that SAPUI5 defines - currently 1.28, 1.38). But it shouldn't be too much effort to downport the pure changes to the older releases as well.

I'll check if I find some support for this (internally).

Update: as a - really quick and dirty - fix, you might execute something like the following before bootstraping such an older version of UI5:

if (/chrome/i.test(navigator.userAgent)) {
   delete window.PointerEvent;
}

The downside is clear, I guess: no PointerEvents even when your app could handle them...

Was this page helpful?
0 / 5 - 0 ratings