diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/Extensions.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/Extensions.java index e6d0331ea6..d3e0bf418e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/Extensions.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/Extensions.java @@ -38,6 +38,7 @@ import org.compiere.grid.ICreateFromFactory; import org.compiere.grid.IPaymentForm; import org.compiere.grid.IPaymentFormFactory; import org.compiere.model.GridTab; +import org.compiere.model.MDashboardContent; import org.compiere.util.CCache; import org.zkoss.zk.ui.Component; @@ -190,11 +191,22 @@ public class Extensions { * @return Gadget component */ public static final Component getDashboardGadget(String url, Component parent) { + return getDashboardGadget(url, parent, null); + } + + /** + * + * @param url + * @param parent + * @param dc + * @return Gadget component + */ + public static final Component getDashboardGadget(String url, Component parent, MDashboardContent dc) { IServiceReferenceHolder cache = s_dashboardGadgetFactoryCache.get(url); if (cache != null) { IDashboardGadgetFactory service = cache.getService(); if (service != null) { - Component component = service.getGadget(url,parent); + Component component = service.getGadget(url,parent,dc); if(component != null) return component; } @@ -205,7 +217,7 @@ public class Extensions { for (IServiceReferenceHolder factory : f) { IDashboardGadgetFactory service = factory.getService(); if (service != null) { - Component component = service.getGadget(url,parent); + Component component = service.getGadget(url,parent,dc); if(component != null) return component; } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java index 6b041aa123..2a4df83162 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DashboardController.java @@ -493,7 +493,7 @@ public class DashboardController implements EventListener { { try { - Component component = Extensions.getDashboardGadget(url, content); + Component component = Extensions.getDashboardGadget(url, content, dc); if(component != null) { if (component instanceof Include) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java index beeb06bc55..c16b8f0023 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/IDashboardGadgetFactory.java @@ -13,6 +13,7 @@ *****************************************************************************/ package org.adempiere.webui.factory; +import org.compiere.model.MDashboardContent; import org.zkoss.zk.ui.Component; /** @@ -23,9 +24,20 @@ import org.zkoss.zk.ui.Component; public interface IDashboardGadgetFactory { /** * - * @param uri - * @param parent + * @param String uri + * @param Component parent * @return Component instance of DashboardPanel or null */ public Component getGadget(String uri, Component parent); + + /** + * @param String url + * @param Component parent + * @param MDashboardContent dc + * @return Component instance of DashboardPanel or null + */ + default public Component getGadget(String url, Component parent, MDashboardContent dc) { + return getGadget(url, parent); // ignore the third method by default (backward compatibility) + } + }