summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin
diff options
context:
space:
mode:
authorMatti Tahvonen <matti.tahvonen@itmill.com>2010-03-18 11:33:38 +0000
committerMatti Tahvonen <matti.tahvonen@itmill.com>2010-03-18 11:33:38 +0000
commit2dac4e6c47fb68616ec4b0a958549c4738a52d04 (patch)
tree703b3c746c402f79d742f9bd8d52243b99b1f777 /src/com/vaadin
parent7588a1708218dc9a419a2c43a5efbbf627663338 (diff)
downloadvaadin-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.java13
-rw-r--r--src/com/vaadin/ui/Table.java16
-rw-r--r--src/com/vaadin/ui/Tree.java13
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 {