From abaf40515834f3bcee41ced0878300536de4626e Mon Sep 17 00:00:00 2001 From: hieplq Date: Tue, 13 Sep 2016 14:43:24 +0700 Subject: [PATCH] IDEMPIERE-3182:auto fill password don't work util you touch password field a complete solution. --- .../org/adempiere/webui/panel/LoginPanel.java | 2 -- org.adempiere.ui.zk/index.zul | 33 +++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java index dae2559759..f92dbecaeb 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java @@ -174,8 +174,6 @@ public class LoginPanel extends Window implements EventListener } } onUserIdChange(AD_User_ID); - if (txtUserId.getValue().length() > 0) - txtPassword.focus(); chkRememberMe.setChecked(true); } if (MSystem.isZKRememberPasswordAllowed()) { diff --git a/org.adempiere.ui.zk/index.zul b/org.adempiere.ui.zk/index.zul index b58a14d7fd..d75c02b3ae 100644 --- a/org.adempiere.ui.zk/index.zul +++ b/org.adempiere.ui.zk/index.zul @@ -41,6 +41,7 @@ Copyright (C) 2007 Ashley G Ramdass. }); zk.afterLoad('zul.wgt', function () { + // should filter out for only component inside standard window or component wish fire this event, // or ever rise other event like start editting to distinguish with true onChange event zk.override(zul.inp.InputWidget.prototype, "doInput_", function (evt) { @@ -62,6 +63,38 @@ Copyright (C) 2007 Ashley G Ramdass. } }); + + zk.override(zk.Widget.prototype, "onAutofill", function (evt) { + id.zk.Extend.fakeOnchange (this);//fire change event to move to edit + }); + + zk.override(zul.inp.Textbox.prototype, "bind_", function (dt, skipper, after) { + if (!this.$bind_) + return; + + this.$bind_(dt, skipper, after); + + if (this.getType () != "password"){ + return; + } + + this.domListen_(this.$n(), "onChange", "onAutofill"); + }); + + + zk.override(zul.inp.Textbox.prototype, "unbind_", function (dt, skipper) { + if (!this.$unbind_) + return; + + this.$unbind_(dt, skipper); + + if (this.getType () != "password"){ + return; + } + + this.domUnlisten_(this.$n(), "onChange", "onAutofill"); //unlisten + }); + }); zk.afterLoad('zul.mesh', function () {