IDEMPIERE 369 - Master Detail Improvements. Fixed for:

- "New Record" and "Copy Record" are not enabling the Save Button - until you change one of the fields
- Copy Lines on Sales Order is not refreshing detail - message shows "Copied=1" but doesn't refresh detail
- The "Parent Record" is disabled when you navigate to the detail using the "New Record" button on detail
This commit is contained in:
Heng Sin Low 2012-10-28 23:30:11 +08:00
parent 5a9ca8fac3
commit 14f2125874
3 changed files with 17 additions and 24 deletions

View File

@ -947,7 +947,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
{
ProcessModalDialog dialog = (ProcessModalDialog) event.getTarget();
onModalClose(dialog.getProcessInfo());
onRefresh(false, false);
onRefresh(true, false);
}
else if (ADTabpanel.ON_DYNAMIC_DISPLAY_EVENT.equals(event.getName()))
{
@ -1088,8 +1088,6 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
private void updateToolbar()
{
// toolbar.enableTabNavigation(adTab.getSelectedGridTab()Index > 0,
// adTab.getSelectedGridTab()Index < (adTab.getTabCount() - 1));
toolbar.enableTabNavigation(breadCrumb.hasParentLink(), adTabbox.getSelectedDetailADTabpanel() != null);
toolbar.getButton("Attachment").setPressed(adTabbox.getSelectedGridTab().hasAttachment());
@ -1108,6 +1106,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
toolbar.enableCustomize(((ADTabpanel)adTabbox.getSelectedTabpanel()).isGridView());
else
toolbar.enableCustomize(false);
}
/**
@ -1263,12 +1262,10 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
}
}
toolbar.enableSave(adTabbox.needSave(true, false));
if (detailTab) {
ToolBarButton btn = toolbar.getButton("SaveCreate");
if (btn != null && !btn.isDisabled())
btn.setDisabled(true);
}
toolbar.enableSave(adTabbox.needSave(true, false) ||
adTabbox.getSelectedGridTab().isNew() ||
(adTabbox.getSelectedDetailADTabpanel() != null && adTabbox.getSelectedDetailADTabpanel().getGridTab().isNew()));
//
// No Rows
if (e.getTotalRows() == 0 && insertRecord && !detailTab)
@ -1435,8 +1432,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
adTabbox.getSelectedTabpanel().dynamicDisplay(0);
toolbar.enableNew(false);
toolbar.enableDelete(false);
breadCrumb.enableNavigation(false);
toolbar.enableTabNavigation(false);
breadCrumb.enableFirstNavigation(adTabbox.getSelectedGridTab().getCurrentRow() > 0);
breadCrumb.enableLastNavigation(adTabbox.getSelectedGridTab().getCurrentRow() + 1 < adTabbox.getSelectedGridTab().getRowCount());
toolbar.enableTabNavigation(breadCrumb.hasParentLink(), adTabbox.getSelectedDetailADTabpanel() != null);
toolbar.enableIgnore(true);
toolbar.enablePrint(adTabbox.getSelectedGridTab().isPrinted());
toolbar.enableReport(true);
@ -1469,7 +1467,8 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
adTabbox.getSelectedTabpanel().dynamicDisplay(0);
toolbar.enableNew(false);
toolbar.enableDelete(false);
breadCrumb.enableNavigation(false);
breadCrumb.enableFirstNavigation(adTabbox.getSelectedGridTab().getCurrentRow() > 0);
breadCrumb.enableLastNavigation(adTabbox.getSelectedGridTab().getCurrentRow() + 1 < adTabbox.getSelectedGridTab().getRowCount());
toolbar.enableTabNavigation(false);
toolbar.enableIgnore(true);
toolbar.enablePrint(adTabbox.getSelectedGridTab().isPrinted());

View File

@ -243,27 +243,19 @@ public class BreadCrumb extends Div implements EventListener<Event>{
layout.appendChild(toolbarContainer);
this.links = null;
}
private void enableFirstNavigation(boolean enabled)
public void enableFirstNavigation(boolean enabled)
{
this.btnFirst.setDisabled(!enabled);
this.btnPrevious.setDisabled(!enabled);
}
private void enableLastNavigation(boolean enabled)
public void enableLastNavigation(boolean enabled)
{
this.btnLast.setDisabled(!enabled);
this.btnNext.setDisabled(!enabled);
}
public void enableNavigation(boolean enabled)
{
this.btnFirst.setDisabled(!enabled);
this.btnPrevious.setDisabled(!enabled);
this.btnNext.setDisabled(!enabled);
this.btnLast.setDisabled(!enabled);
}
private ToolBarButton createButton(String name, String image, String tooltip)
{
ToolBarButton btn = new ToolBarButton("");

View File

@ -456,6 +456,8 @@ public class DetailPane extends Panel implements EventListener<Event> {
btn.setDisabled(!enableNew);
} else if (DELETE_IMAGE.equals(btn.getImage())) {
btn.setDisabled(!enableDelete);
} else if (EDIT_IMAGE.equals(btn.getImage())) {
btn.setDisabled(false);
}
}
}