diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java index d7c56e0d35..8e1fbd3487 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java @@ -24,6 +24,7 @@ import org.adempiere.webui.LayoutUtils; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Menupopup; +import org.adempiere.webui.component.Tabpanel; import org.adempiere.webui.component.ToolBar; import org.adempiere.webui.component.ToolBarButton; import org.adempiere.webui.component.Window; @@ -387,7 +388,7 @@ public class BreadCrumb extends Div implements EventListener { messageContainer.appendChild(image); String labelText = buildLabelText(m_statusText); if (error) { - Clients.showNotification(buildNotificationText(m_statusText), "error", image, "overlap_start", 3500, true); + Clients.showNotification(buildNotificationText(m_statusText), "error", findTabpanel(this), "top_left", 3500, true); } Label label = new Label(labelText); messageContainer.appendChild(label); @@ -429,7 +430,17 @@ public class BreadCrumb extends Div implements EventListener { } - + private Component findTabpanel(BreadCrumb breadCrumb) { + Component parent = breadCrumb.getParent(); + while (parent != null) { + if (parent instanceof Tabpanel) + return parent; + + parent = parent.getParent(); + } + return null; + } + private void doZoom(RecordLink link) { int Record_ID = 0; int AD_Table_ID = 0; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java index 3b8422be83..c3d04b92be 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/DetailPane.java @@ -351,7 +351,7 @@ public class DetailPane extends Panel implements EventListener, IdSpace { messageContainer.appendChild(image); String labelText = buildLabelText(status); if (error) { - Clients.showNotification(buildNotificationText(status), "error", image, "overlap_start", 3500, true); + Clients.showNotification(buildNotificationText(status), "error", findTabpanel(this), "top_left", 3500, true); } Label label = new Label(labelText); messageContainer.appendChild(label); @@ -581,4 +581,15 @@ public class DetailPane extends Panel implements EventListener, IdSpace { } } } + + private Component findTabpanel(Component comp) { + Component parent = comp.getParent(); + while (parent != null) { + if (parent instanceof Tabpanel) + return parent; + + parent = parent.getParent(); + } + return null; + } } diff --git a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp index a37677ce59..a20b88176b 100644 --- a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp +++ b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp @@ -957,7 +957,11 @@ tbody.z-grid-empty-body td { <%-- notification message --%> .z-notification .z-notification-cl, .z-notification .z-notification-cnt { - width: 300px; + width: 400px; +} + +.z-notification { + padding: 3px !important; } <%-- toolbar popup dialog --%>