From: Marc Englund Date: Tue, 24 Jun 2008 14:21:11 +0000 (+0000) Subject: Table now refreshes explicitly when adding and removing stuff and the contained does... X-Git-Tag: 6.7.0.beta1~4556 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=58bd42bd8a399dfc414f18f44a93a32b7c00fe5b;p=vaadin-framework.git Table now refreshes explicitly when adding and removing stuff and the contained does not implement the appropriate notifier interface. Fixes #1461. svn changeset:4949/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/ui/Table.java b/src/com/itmill/toolkit/ui/Table.java index 0e46e74e88..e914584460 100644 --- a/src/com/itmill/toolkit/ui/Table.java +++ b/src/com/itmill/toolkit/ui/Table.java @@ -1449,6 +1449,11 @@ public class Table extends AbstractSelect implements Action.Container, item.getItemProperty(cols[i]).setValue(cells[i]); } + if (!(items instanceof Container.ItemSetChangeNotifier)) { + resetPageBuffer(); + refreshRenderedCells(); + } + return itemId; } @@ -2192,6 +2197,10 @@ public class Table extends AbstractSelect implements Action.Container, if (ret && (itemId != null) && (itemId.equals(currentPageFirstItemId))) { currentPageFirstItemId = nextItemId; } + if (!(items instanceof Container.ItemSetChangeNotifier)) { + resetPageBuffer(); + refreshRenderedCells(); + } return ret; } @@ -2239,6 +2248,10 @@ public class Table extends AbstractSelect implements Action.Container, } return false; } + if (!(items instanceof Container.PropertySetChangeNotifier)) { + resetPageBuffer(); + refreshRenderedCells(); + } return true; } @@ -2479,7 +2492,13 @@ public class Table extends AbstractSelect implements Action.Container, */ public Object addItemAfter(Object previousItemId) throws UnsupportedOperationException { - return ((Container.Ordered) items).addItemAfter(previousItemId); + Object itemId = ((Container.Ordered) items) + .addItemAfter(previousItemId); + if (!(items instanceof Container.ItemSetChangeNotifier)) { + resetPageBuffer(); + refreshRenderedCells(); + } + return itemId; } /** @@ -2490,8 +2509,13 @@ public class Table extends AbstractSelect implements Action.Container, */ public Item addItemAfter(Object previousItemId, Object newItemId) throws UnsupportedOperationException { - return ((Container.Ordered) items).addItemAfter(previousItemId, + Item item = ((Container.Ordered) items).addItemAfter(previousItemId, newItemId); + if (!(items instanceof Container.ItemSetChangeNotifier)) { + resetPageBuffer(); + refreshRenderedCells(); + } + return item; } /**