From 70699cf4c38dbd791dacba0a4c628d03892cc814 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Sat, 3 Sep 2016 17:16:31 +0200 Subject: [PATCH] IDEMPIERE-3118 1005938 Create new feature to scan and store files on tabs. Hide cancel button after user click on the capture image icon. Disable dialog during save. --- .../adempiere/webui/window/WImageDialog.java | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java index b425a3f012..d226d40072 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WImageDialog.java @@ -200,6 +200,7 @@ public class WImageDialog extends Window implements EventListener confirmPanel.addActionListener(Events.ON_CLICK, this); addEventListener(Events.ON_UPLOAD, this); + addEventListener("onSave", this); } // init public void onEvent(Event e) throws Exception { @@ -210,19 +211,8 @@ public class WImageDialog extends Window implements EventListener } else if (e.getTarget().getId().equals(ConfirmPanel.A_OK)) { - if (image.getContent() != null) - { - if (!Util.isEmpty(fileNameTextbox.getValue())) - m_mImage.setName(fileNameTextbox.getValue()); - m_mImage.saveEx(); - } - else if (m_mImage != null && m_mImage.getAD_Image_ID() > 0) - { - m_mImage.setBinaryData(null); - m_mImage.setName("-"); - m_mImage.saveEx(); - } - detach(); + Clients.showBusy(this, Msg.getMsg(Env.getCtx(), "Processing")); + Events.echoEvent("onSave", this, null); } else if (e.getTarget().getId().equals(ConfirmPanel.A_CANCEL)) { @@ -239,10 +229,12 @@ public class WImageDialog extends Window implements EventListener { captureDiv.setVisible(true); cancelCaptureButton.setVisible(true); + cancelCaptureButton.setEnabled(true); mainLayout.setVisible(false); String script = "var wgt = zk.Widget.$('#"+captureDiv.getUuid()+"');"; + script = script + "var cancelBtn=zk.Widget.$('#"+cancelCaptureButton.getUuid()+"');"; script = script + "jq(wgt).photobooth(); "; - script = script + "jq(wgt).bind( 'image', function( event, dataUrl ){ zAu.send(new zk.Event(wgt, 'onCaptureImage', dataUrl, {toServer:true})); });"; + script = script + "jq(wgt).bind( 'image', function( event, dataUrl ){ cancelBtn.setVisible(false);zAu.send(new zk.Event(wgt, 'onCaptureImage', dataUrl, {toServer:true})); });"; Clients.evalJavaScript(script); } else if (e.getName().equals("onCaptureImage")) @@ -278,6 +270,30 @@ public class WImageDialog extends Window implements EventListener script = script + "jq(wgt).data( 'photobooth').destroy(); "; Clients.evalJavaScript(script); } + else if (e.getName().equals("onSave")) + { + try { + onSave(); + } finally { + Clients.clearBusy(this); + } + } + } + + private void onSave() { + if (image.getContent() != null) + { + if (!Util.isEmpty(fileNameTextbox.getValue())) + m_mImage.setName(fileNameTextbox.getValue()); + m_mImage.saveEx(); + } + else if (m_mImage != null && m_mImage.getAD_Image_ID() > 0) + { + m_mImage.setBinaryData(null); + m_mImage.setName("-"); + m_mImage.saveEx(); + } + detach(); } /**