diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2010-03-18 11:33:38 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2010-03-18 11:33:38 +0000 |
commit | 2dac4e6c47fb68616ec4b0a958549c4738a52d04 (patch) | |
tree | 703b3c746c402f79d742f9bd8d52243b99b1f777 /src/com/vaadin | |
parent | 7588a1708218dc9a419a2c43a5efbbf627663338 (diff) | |
download | vaadin-framework-2dac4e6c47fb68616ec4b0a958549c4738a52d04.tar.gz vaadin-framework-2dac4e6c47fb68616ec4b0a958549c4738a52d04.zip |
property id is now sent to server from table drag event + some javadocs and small improvements
svn changeset:11958/svn branch:6.3
Diffstat (limited to 'src/com/vaadin')
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java | 13 | ||||
-rw-r--r-- | src/com/vaadin/ui/Table.java | 16 | ||||
-rw-r--r-- | src/com/vaadin/ui/Tree.java | 13 |
3 files changed, 32 insertions, 10 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java index fb95cc86d3..2ac0f04966 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java @@ -2531,8 +2531,19 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler, VTransferable transferable = new VTransferable(); transferable.setDragSource(VScrollTable.this); transferable.setData("itemId", "" + rowKey); + NodeList<TableCellElement> cells = rowElement + .getCells(); + for (int i = 0; i < cells.getLength(); i++) { + if (cells.getItem(i).isOrHasChild( + targetTdOrTr)) { + HeaderCell headerCell = tHead + .getHeaderCell(i); + transferable.setData("propertyId", + headerCell.cid); + break; + } + } - // TODO propertyId VDragEvent ev = VDragAndDropManager.get() .startDrag(transferable, event, true); if (selectMode == SELECT_MODE_MULTI diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java index c0ac21b274..5940046acf 100644 --- a/src/com/vaadin/ui/Table.java +++ b/src/com/vaadin/ui/Table.java @@ -3348,14 +3348,18 @@ public class Table extends AbstractSelect implements Action.Container, * * @since 6.3 */ - protected class TableTransferable extends DataBoundTransferable { + public class TableTransferable extends DataBoundTransferable { - public TableTransferable(Map<String, Object> rawVariables) { + protected TableTransferable(Map<String, Object> rawVariables) { super(Table.this, rawVariables); Object object = rawVariables.get("itemId"); if (object != null) { setData("itemId", itemIdMapper.get((String) object)); } + object = rawVariables.get("propertyId"); + if (object != null) { + setData("propertyId", columnIdMap.get((String) object)); + } } @Override @@ -3365,8 +3369,12 @@ public class Table extends AbstractSelect implements Action.Container, @Override public Object getPropertyId() { - // FIXME incorrect implementation, drag can also concern a cell - return getItemCaptionPropertyId(); + return getData("propertyId"); + } + + @Override + public Table getSourceComponent() { + return (Table) super.getSourceComponent(); } } diff --git a/src/com/vaadin/ui/Tree.java b/src/com/vaadin/ui/Tree.java index 018cc61985..f8a51cb8e4 100644 --- a/src/com/vaadin/ui/Tree.java +++ b/src/com/vaadin/ui/Tree.java @@ -1286,12 +1286,15 @@ public class Tree extends AbstractSelect implements Container.Hierarchical, } /** - * An example of lazy initializing criterion. Initially pretty much no data - * is sent to client, on first accepts set (per drag request) the client - * side data structure is initialized and no subsequent requests requests - * are needed during that drag and drop operation. + * Lazy loading accept criterion for Tree. Accepted target nodes are loaded + * from server once per drag and drop operation. Developer must override one + * method that decides accepted tree nodes for the whole Tree. + * * <p> - * See client side counterpart + * Initially pretty much no data is sent to client. On first required + * criterion check (per drag request) the client side data structure is + * initialized from server and no subsequent requests requests are needed + * during that drag and drop operation. */ @ClientCriterion(VLazyInitItemIdentifiers.class) public static abstract class TreeDropCriterion extends ServerSideCriterion { |