From 2c0806036106485ce67465292e9fef9ac7b27755 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 14 Mar 2022 19:05:02 +0100 Subject: [PATCH] IDEMPIERE-4744 Minor improvements to Quick Form / Stay in Parent tab (#1239) --- .../webui/adwindow/AbstractADWindowContent.java | 12 +++++++++++- .../webui/adwindow/CompositeADTabbox.java | 2 +- .../org/adempiere/webui/apps/form/WQuickForm.java | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index d2e2709e48..c89d542cf9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -1199,7 +1199,15 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements /** * Invoke when quick form is click */ - public void onQuickForm() + public void onQuickForm() { + onQuickForm(false); + } + + /** + * Invoke when quick form is click + * @param focusTabAtEnd the tab to return when finished + */ + public void onQuickForm(boolean stayInParent) { logger.log(Level.FINE, "Invoke Quick Form"); // Prevent to open Quick Form if already opened. @@ -1227,6 +1235,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements form.setMaximizable(true); form.setMaximized(true); form.setPosition("center"); + form.setStayInParent(stayInParent); ZKUpdateUtil.setWindowHeightX(form, 550); ZKUpdateUtil.setWindowWidthX(form, 900); ZkCssHelper.appendStyle(form, "z-index: 900;"); @@ -3995,6 +4004,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements public GridWindow getGridWindow() { return gridWindow; } + /** * set component of last focus editor. diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java index bb8ff3ed8e..9523f326ea 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java @@ -188,7 +188,7 @@ public class CompositeADTabbox extends AbstractADTabbox if (result) { onEditDetail(row, formView); - adWindowPanel.onQuickForm(); + adWindowPanel.onQuickForm(true); } } }); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WQuickForm.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WQuickForm.java index 1f0afb6502..1d0acddcc7 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WQuickForm.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WQuickForm.java @@ -83,6 +83,8 @@ public class WQuickForm extends Window implements IQuickForm private int windowNo; + private boolean stayInParent; + public WQuickForm(AbstractADWindowContent winContent, boolean m_onlyCurrentRows, int m_onlyCurrentDays) { super(); @@ -405,6 +407,10 @@ public class WQuickForm extends Window implements IQuickForm adWinContent.setCurrQGV(null); } adWinContent.getADTab().getSelectedTabpanel().query(onlyCurrentRows, onlyCurrentDays, MRole.getDefault().getMaxQueryRecords()); // autoSize + + if (stayInParent) { + adWinContent.onParentRecord(); + } } // dispose private void createNewRow( ) @@ -437,4 +443,13 @@ public class WQuickForm extends Window implements IQuickForm int col = e.getChangedColumn(); quickGridView.dynamicDisplay(col); } // dataStatusChanged + + /** + * Return to parent when closing the quick form + * @param stayInParent + */ + public void setStayInParent(boolean stayInParent) { + this.stayInParent = stayInParent; + } + }