From 0e6ae23f83081ac3eb9b87b1f370389cc0765b07 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Sun, 26 Nov 2017 07:29:50 +0800 Subject: [PATCH] IDEMPIERE-3552 update to zk 8.5.0. Fixed context menu not working for readonly combobox. --- .../adempiere/webui/component/Combobox.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Combobox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Combobox.java index 068ae9ecfb..63843c5648 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Combobox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/Combobox.java @@ -22,6 +22,7 @@ import java.util.List; import org.adempiere.webui.AdempiereIdGenerator; import org.zkoss.zk.au.out.AuScript; import org.zkoss.zk.ui.IdSpace; +import org.zkoss.zk.ui.WrongValueException; import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Comboitem; @@ -33,14 +34,35 @@ import org.zkoss.zul.Comboitem; */ public class Combobox extends org.zkoss.zul.Combobox implements IdSpace { - /** + public Combobox() { + super(); + override(); + } + + public Combobox(String value) throws WrongValueException { + super(value); + override(); + } + + private void override() { + this.setWidgetOverride("slideDown_", "function(pp) {" + + " if (this.isReadonly()) return; " + + " this.$slideDown_(pp); " + + "}"); + this.setWidgetOverride("doKeyDown_", "function(evt) {" + + " if (this.isReadonly()) return; " + + " this.$doKeyDown_(evt); " + + "}"); + } + + /** * */ private static final long serialVersionUID = -6278632602577424842L; public void setEnabled(boolean enabled) { - this.setDisabled(!enabled); + this.setReadonly(!enabled); if (!enabled) { //ensure list is close and not on focus if (this.getPage() != null)