diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java index 14348e73b1..b83e8f0b73 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADSortTab.java @@ -375,6 +375,13 @@ public class ADSortTab extends Panel implements IADTabpanel vbox.appendChild(bDown); vbox.setWidth("46px"); hlayout.appendChild(vbox); + + addEventListener(ON_ACTIVATE_EVENT, new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + removeAttribute(ATTR_ON_ACTIVATE_POSTED); + } + }); } // Init /* (non-Javadoc) @@ -831,8 +838,16 @@ public class ADSortTab extends Panel implements IADTabpanel } public void activate(boolean b) { - active = b; - if (b && !uiCreated) createUI(); + if (b) { + if (getAttribute(ATTR_ON_ACTIVATE_POSTED) != null) { + return; + } + + setAttribute(ATTR_ON_ACTIVATE_POSTED, Boolean.TRUE); + } + + Event event = new Event(ON_ACTIVATE_EVENT, this, b); + Events.postEvent(event); } public void createUI() { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java index 29f0a5fde2..2f7da2adf7 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java @@ -26,7 +26,6 @@ import java.util.Map.Entry; import java.util.logging.Level; import org.adempiere.webui.LayoutUtils; -import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.Borderlayout; import org.adempiere.webui.component.Column; import org.adempiere.webui.component.Columns; @@ -104,12 +103,8 @@ DataStatusListener, IADTabpanel { public static final String ON_SWITCH_VIEW_EVENT = "onSwitchView"; - public static final String ON_ACTIVATE_EVENT = "onActivate"; - public static final String ON_DYNAMIC_DISPLAY_EVENT = "onDynamicDisplay"; - private static final String ATTR_ON_ACTIVATE_POSTED = "org.adempiere.webui.adwindow.ADTabpanel.onActivatePosted"; - /** * */ diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabpanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabpanel.java index 6c3cf35e16..226c621fc5 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabpanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabpanel.java @@ -23,6 +23,9 @@ import org.zkoss.zk.ui.Component; */ public interface IADTabpanel extends Component, Evaluatee { + public static final String ON_ACTIVATE_EVENT = "onActivate"; + public static final String ATTR_ON_ACTIVATE_POSTED = "org.adempiere.webui.adwindow.IADTabpanel.onActivatePosted"; + /** * @return display logic */