From 38fd81012241e2dcebb200757f255efe027fee96 Mon Sep 17 00:00:00 2001 From: Deepak Pansheriya Date: Thu, 17 Mar 2022 06:57:59 +0530 Subject: [PATCH] =?UTF-8?q?IDEMPIERE-4973=20:=20Render=20Quick=20info=20on?= =?UTF-8?q?ly=20when=20help=20panel=20(Right=20side=20P=E2=80=A6=20(#1243)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * IDEMPIERE-4973 : Render Quick info only when help panel (Right side Panel) open * IDEMPIERE-4973: Fixing issue pointed by hengsin --- .../webui/desktop/DefaultDesktop.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java index 62a648bbdf..25817025dc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java @@ -174,6 +174,12 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria private Popup westPopup; private ToolBarButton westBtn; + + // For quick info optimization + private GridTab gridTab; + + // Right side Quick info is visible + private boolean isQuickInfoOpen = true; public DefaultDesktop() { @@ -259,6 +265,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria @Override public void onEvent(Event event) throws Exception { OpenEvent oe = (OpenEvent) event; + isQuickInfoOpen = oe.isOpen(); updateHelpCollapsedPreference(!oe.isOpen()); HtmlBasedComponent comp = windowContainer.getComponent(); if (comp != null) { @@ -331,7 +338,10 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria eastPopup = new Popup(); ToolBarButton btn = new ToolBarButton(); btn.setIconSclass("z-icon-remove"); - btn.addEventListener(Events.ON_CLICK, evt -> eastPopup.close()); + btn.addEventListener(Events.ON_CLICK, evt -> { + eastPopup.close(); + isQuickInfoOpen = false; + }); eastPopup.appendChild(btn); btn.setStyle("position: absolute; top: 20px; right: 0px; padding: 2px 0px;"); eastPopup.setStyle("padding-top: 20px;"); @@ -339,6 +349,9 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria eastPopup.setPage(getComponent().getPage()); eastPopup.setHeight("100%"); helpController.setupFieldTooltip(); + eastPopup.addEventListener(Events.ON_OPEN, (OpenEvent oe) -> { + isQuickInfoOpen = oe.isOpen(); + }); westPopup = new Popup(); westPopup.setStyle("padding-top: 10px;"); @@ -424,6 +437,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria contextHelp.setSclass("window-container-toolbar-btn context-help-btn"); contextHelp.setTooltiptext(Util.cleanAmp(Msg.getElement(Env.getCtx(), "AD_CtxHelp_ID"))); contextHelp.setVisible(!e.isVisible()); + isQuickInfoOpen = e.isVisible(); if (!mobile) { boolean headerCollapsed= pref.isPropertyBool(UserPreference.P_HEADER_COLLAPSED); @@ -654,6 +668,8 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria if (mobile && eastPopup != null) { eastPopup.open(layout.getCenter(), "overlap_end"); + isQuickInfoOpen = true; + updateHelpQuickInfo(gridTab); } else { @@ -662,6 +678,8 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria LayoutUtils.removeSclass("slide", layout.getEast()); contextHelp.setVisible(false); updateHelpCollapsedPreference(false); + isQuickInfoOpen = true; + updateHelpQuickInfo(gridTab); } } else if (comp == westBtn) @@ -971,7 +989,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria Component window = getActiveWindow(); ADWindow adwindow = ADWindow.findADWindow(window); if (adwindow != null) { - gridTab = adwindow.getADWindowContent().getActiveGridTab(); + gridTab = adwindow.getADWindowContent().getActiveGridTab(); } updateHelpQuickInfo(gridTab); } @@ -988,7 +1006,9 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria @Override public void updateHelpQuickInfo(GridTab gridTab) { - helpController.renderQuickInfo(gridTab); + this.gridTab = gridTab; + if (isQuickInfoOpen) + helpController.renderQuickInfo(gridTab); } @Override