IDEMPIERE-619 Zk: Always show processing prompt when server is processing login request.

This commit is contained in:
Heng Sin Low 2013-02-08 12:58:04 +08:00
parent b0c4522e1b
commit 3e5608734b
4 changed files with 18 additions and 4 deletions

View File

@ -51,6 +51,7 @@ import org.compiere.util.Language;
import org.zkforge.keylistener.Keylistener;
import org.zkoss.web.Attributes;
import org.zkoss.web.servlet.Servlets;
import org.zkoss.zk.au.out.AuScript;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.Page;
@ -67,6 +68,7 @@ import org.zkoss.zk.ui.sys.ExecutionCtrl;
import org.zkoss.zk.ui.sys.ExecutionsCtrl;
import org.zkoss.zk.ui.sys.SessionCtrl;
import org.zkoss.zk.ui.sys.Visualizer;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Window;
/**
@ -344,6 +346,8 @@ public class AdempiereWebUI extends Window implements EventListener<Event>, IWeb
keyListener.setPage(this.getPage());
keyListener.setCtrlKeys("@a@c@d@e@f@h@n@o@p@r@s@t@z@x@#left@#right@#up@#down@#home@#end#enter");
keyListener.setAutoBlur(false);
Clients.response(new AuScript("zAu.cmd0.clearBusy()"));
}
/**

View File

@ -243,6 +243,8 @@ public class LoginPanel extends Window implements EventListener<Event>
div.setSclass(ITheme.LOGIN_BOX_FOOTER_CLASS);
ConfirmPanel pnlButtons = new ConfirmPanel(false, false, false, false, false, false, true);
pnlButtons.addActionListener(this);
Button okBtn = pnlButtons.getButton(ConfirmPanel.A_OK);
okBtn.setWidgetListener("onClick", "zAu.cmd0.showBusy(null)");
Button helpButton = pnlButtons.createButton(ConfirmPanel.A_HELP);
helpButton.addEventListener(Events.ON_CLICK, this);

View File

@ -51,6 +51,7 @@ import org.zkoss.zhtml.Table;
import org.zkoss.zhtml.Td;
import org.zkoss.zhtml.Tr;
import org.zkoss.zk.au.out.AuFocus;
import org.zkoss.zk.au.out.AuScript;
import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.event.Deferrable;
import org.zkoss.zk.ui.event.Event;
@ -136,6 +137,7 @@ public class RolePanel extends Window implements EventListener<Event>, Deferrabl
private void init()
{
Clients.response(new AuScript("zAu.cmd0.clearBusy()"));
Div div = new Div();
div.setSclass(ITheme.LOGIN_BOX_HEADER_CLASS);
Label label = new Label("Login");
@ -225,6 +227,9 @@ public class RolePanel extends Window implements EventListener<Event>, Deferrabl
div.setSclass(ITheme.LOGIN_BOX_FOOTER_CLASS);
ConfirmPanel pnlButtons = new ConfirmPanel(true, false, false, false, false, false, true);
pnlButtons.addActionListener(this);
Button okBtn = pnlButtons.getButton(ConfirmPanel.A_OK);
okBtn.setWidgetListener("onClick", "zAu.cmd0.showBusy(null)");
LayoutUtils.addSclass(ITheme.LOGIN_BOX_FOOTER_PANEL_CLASS, pnlButtons);
pnlButtons.setWidth(null);
pnlButtons.getButton(ConfirmPanel.A_OK).setSclass(ITheme.LOGIN_BUTTON_CLASS);

View File

@ -73,6 +73,7 @@ public class LoginWindow extends FWindow implements EventListener<Event>
init();
// add listener on 'ENTER' key for the login window
addEventListener(Events.ON_OK,this);
setWidgetListener("onOK", "zAu.cmd0.showBusy(null)");
}
private void init()
@ -135,11 +136,13 @@ public class LoginWindow extends FWindow implements EventListener<Event>
{
rolePanel.validateRoles();
}
LoginPanel loginPanel = (LoginPanel)this.getFellowIfAny("loginPanel");
if (loginPanel != null)
else
{
loginPanel.validateLogin();
LoginPanel loginPanel = (LoginPanel)this.getFellowIfAny("loginPanel");
if (loginPanel != null)
{
loginPanel.validateLogin();
}
}
}
}