diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java index 30353c3a4d..912dd2bd43 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java @@ -179,6 +179,16 @@ public abstract class WEditor implements EventListener, PropertyChangeLis this.strLabel = gridField.getHeader(); init(); } + + /** + * Normal zk component just fire onChange event when user loss focus + * call this method with true value let component fire event when user type first character + * @param isChangeEventWhenEditing + */ + public void setChangeEventWhenEditing (boolean isChangeEventWhenEditing){ + this.component.setWidgetOverride("isChangeEventWhenEditing", String.valueOf(isChangeEventWhenEditing)); + } + /** * Method is used to distinguish between 2 similar WSearchEditors diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java index e7dfb348b8..168ac43828 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WNumberEditor.java @@ -120,6 +120,7 @@ public class WNumberEditor extends WEditor implements ContextMenuListener private void init() { + setChangeEventWhenEditing (true); if (gridField != null) { getComponent().setTooltiptext(gridField.getDescription()); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPasswordEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPasswordEditor.java index 547c82f8f0..40ecdfb1fd 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPasswordEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPasswordEditor.java @@ -32,11 +32,13 @@ public class WPasswordEditor extends WStringEditor { super(gridField); super.setTypePassword(true); + setChangeEventWhenEditing (true); } public WPasswordEditor(GridField gridField, boolean tableEditor) { super(gridField, tableEditor); super.setTypePassword(true); + setChangeEventWhenEditing (false); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WStringEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WStringEditor.java index f1eba98400..eb50fde7b0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WStringEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WStringEditor.java @@ -117,6 +117,7 @@ public class WStringEditor extends WEditor implements ContextMenuListener private void init(String obscureType) { + setChangeEventWhenEditing (true); if (gridField != null) { getComponent().setMaxlength(gridField.getFieldLength()); diff --git a/org.adempiere.ui.zk/index.zul b/org.adempiere.ui.zk/index.zul index 5bd08e8210..d517f2cc99 100644 --- a/org.adempiere.ui.zk/index.zul +++ b/org.adempiere.ui.zk/index.zul @@ -57,7 +57,7 @@ Copyright (C) 2007 Ashley G Ramdass. zk.override(zul.inp.InputWidget.prototype, "doInput_", function (evt) { this.$doInput_(evt); - if (this.get ("isOnStardardWindow") == 'false'){ + if (this.get ("isOnStardardWindow") == 'false' || this.get ("isChangeEventWhenEditing") != true){ return; // don't waste time to check component don't lay on standard window }