From a716db8ebd4ce5be0b06b6b31b14f807e589774e Mon Sep 17 00:00:00 2001 From: hengsin Date: Sun, 22 May 2022 20:46:51 +0800 Subject: [PATCH] IDEMPIERE-5296 Firefox 100: Horizontal scroll is broken for Grid with Frozen (#1338) - Temporary workaround: disable frozen for Firefox 100 --- .../WEB-INF/src/org/adempiere/webui/ClientInfo.java | 13 +++++++++++++ .../src/org/adempiere/webui/adwindow/GridView.java | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ClientInfo.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ClientInfo.java index 7a88ded8f1..02e13a380a 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ClientInfo.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ClientInfo.java @@ -21,6 +21,7 @@ import java.util.TimeZone; import org.adempiere.webui.session.SessionManager; import org.compiere.util.Env; +import org.compiere.util.Util; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; @@ -99,6 +100,18 @@ public class ClientInfo implements Serializable { return "Y".equals(Env.getContext(Env.getCtx(), Env.CLIENT_INFO_MOBILE)); } + /** + * + * @param version null to match all version + * @return true if browser is firefox and match the pass in version parameter + */ + public static boolean isFirefox(String version) { + StringBuilder ua = new StringBuilder("Firefox"); + if (!Util.isEmpty(version, true)) + ua.append("/").append(version); + return get() != null && get().userAgent != null && get().userAgent.contains(ua.toString()); + } + /** * @return the current clientinfo instance */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java index a84dd432f0..7b6132ab81 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java @@ -548,7 +548,7 @@ public class GridView extends Vlayout implements EventListener, IdSpace, //frozen not working well on tablet devices yet //unlikely to be fixed since the working 'smooth scrolling frozen' is a zk ee only feature - if (!ClientInfo.isMobile()) + if (!ClientInfo.isMobile() && !ClientInfo.isFirefox("100.")) { Frozen frozen = new Frozen(); //freeze selection and indicator column