From a35ac9ea7c9ada488b61ec0b01eadfb9b67cb867 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Sun, 23 Jun 2013 17:27:04 -0500 Subject: [PATCH] IDEMPIERE-1101 Found issues on management of callouts and dynamicdisplay --- .../src/org/compiere/grid/GridController.java | 9 ++++++--- .../src/org/adempiere/webui/adwindow/ADTabpanel.java | 5 +++-- .../src/org/adempiere/webui/adwindow/GridView.java | 6 ++++-- .../src/org/adempiere/webui/util/GridTabDataBinder.java | 7 ++++--- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java b/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java index 52a2b392a4..9b5d441acf 100644 --- a/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java +++ b/org.adempiere.ui.swing/src/org/compiere/grid/GridController.java @@ -987,8 +987,9 @@ public class GridController extends CPanel if (log.isLoggable(Level.CONFIG)) log.config("(" + m_mTab.toString() + ") " + columnName + " - Dependents=" + dependants.size()); // No Dependents and no Callout - Set just Background - if (dependants.size() == 0 && changedField.getCallout().length() > 0) - { + if ( ! ( dependants.size() > 0 + || changedField.getCallout().length() > 0 + || Core.findCallout(m_mTab.getTableName(), columnName).size() > 0)) { Component[] comp = vPanel.getComponentsRecursive(); for (int i = 0; i < comp.length; i++) { @@ -1284,8 +1285,10 @@ public class GridController extends CPanel if (e.getPropertyName().equals("S_ResourceAssignment_ID")) { GridField mField = m_mTab.getField(col); - if (mField != null && mField.getCallout().length() > 0) + if (mField != null && (mField.getCallout().length() > 0 + || Core.findCallout(m_mTab.getTableName(), mField.getColumnName()).size()>0)) { m_mTab.processFieldChange(mField); // Dependencies & Callout + } } if (newValues != null && newValues.length > 0) 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 ec2fdae1ea..3c2be622ef 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 @@ -679,8 +679,9 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer ArrayList dependants = gridTab.getDependantFields(columnName); if (logger.isLoggable(Level.CONFIG)) logger.config("(" + gridTab.toString() + ") " + columnName + " - Dependents=" + dependants.size()); - if (dependants.size() == 0 && changedField.getCallout().length() > 0) - { + if ( ! ( dependants.size() > 0 + || changedField.getCallout().length() > 0 + || Core.findCallout(gridTab.getTableName(), columnName).size() > 0)) { return; } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java index 790c392ab0..f07ff34088 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java @@ -22,6 +22,7 @@ import java.util.Properties; import javax.swing.table.AbstractTableModel; +import org.adempiere.base.Core; import org.adempiere.model.MTabCustomization; import org.adempiere.util.GridRowCtx; import org.adempiere.webui.apps.AEnv; @@ -717,8 +718,9 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi GridField changedField = gridTab.getField(col); String columnName = changedField.getColumnName(); ArrayList dependants = gridTab.getDependantFields(columnName); - if (dependants.size() == 0 && changedField.getCallout().length() > 0) - { + if ( ! ( dependants.size() > 0 + || changedField.getCallout().length() > 0 + || Core.findCallout(gridTab.getTableName(), columnName).size() > 0)) { return; } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java index 8a686ab364..f9da63ba1c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/GridTabDataBinder.java @@ -15,6 +15,7 @@ package org.adempiere.webui.util; import java.util.Properties; import java.util.logging.Level; +import org.adempiere.base.Core; import org.adempiere.exceptions.AdempiereException; import org.adempiere.webui.editor.WEditor; import org.adempiere.webui.event.ValueChangeEvent; @@ -127,10 +128,10 @@ public class GridTabDataBinder implements ValueChangeListener { if ( e.getPropertyName().equals("S_ResourceAssignment_ID") ) { GridField mField = gridTab.getField(col); - if (mField != null && mField.getCallout().length() > 0) - { + if (mField != null && (mField.getCallout().length() > 0 + || Core.findCallout(gridTab.getTableName(), mField.getColumnName()).size()>0)) { gridTab.processFieldChange(mField); // Dependencies & Callout - } + } } if (newValues != null && newValues.length > 0)