diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index e03738b036..213c5288b9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -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()); 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 90e914fd06..d7162d60e6 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 @@ -243,27 +243,19 @@ public class BreadCrumb extends Div implements EventListener{ 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(""); 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 dc08b2fefb..f107241463 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 @@ -456,6 +456,8 @@ public class DetailPane extends Panel implements EventListener { btn.setDisabled(!enableNew); } else if (DELETE_IMAGE.equals(btn.getImage())) { btn.setDisabled(!enableDelete); + } else if (EDIT_IMAGE.equals(btn.getImage())) { + btn.setDisabled(false); } } }