From 66e07930b9749046e65434eb7d5dc8125a1f761c Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Thu, 11 Dec 2014 13:42:06 +0200 Subject: Move Renderers to com.vaadin.ui.renderer package (#13334) Change-Id: I80370f05cfa8123d64728abd5ede9642931e0cd8 --- .../com/vaadin/ui/renderer/ClickableRenderer.java | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 server/src/com/vaadin/ui/renderer/ClickableRenderer.java (limited to 'server/src/com/vaadin/ui/renderer/ClickableRenderer.java') diff --git a/server/src/com/vaadin/ui/renderer/ClickableRenderer.java b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java new file mode 100644 index 0000000000..0d745ab29e --- /dev/null +++ b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java @@ -0,0 +1,121 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.ui.renderer; + +import java.lang.reflect.Method; + +import com.vaadin.event.ConnectorEventListener; +import com.vaadin.event.MouseEvents.ClickEvent; +import com.vaadin.shared.MouseEventDetails; +import com.vaadin.shared.ui.grid.renderers.RendererClickRpc; +import com.vaadin.ui.Grid; +import com.vaadin.ui.Grid.AbstractRenderer; +import com.vaadin.util.ReflectTools; + +/** + * An abstract superclass for Renderers that render clickable items. Click + * listeners can be added to a renderer to be notified when any of the rendered + * items is clicked. + * + * @param + * the type presented by the renderer + * + * @since + * @author Vaadin Ltd + */ +public class ClickableRenderer extends AbstractRenderer { + + /** + * An interface for listening to {@link RendererClickEvent renderer click + * events}. + * + * @see {@link ButtonRenderer#addClickListener(RendererClickListener)} + */ + public interface RendererClickListener extends ConnectorEventListener { + + static final Method CLICK_METHOD = ReflectTools.findMethod( + RendererClickListener.class, "click", RendererClickEvent.class); + + /** + * Called when a rendered button is clicked. + * + * @param event + * the event representing the click + */ + void click(RendererClickEvent event); + } + + /** + * An event fired when a button rendered by a ButtonRenderer is clicked. + */ + public static class RendererClickEvent extends ClickEvent { + + private Object itemId; + + protected RendererClickEvent(Grid source, Object itemId, + MouseEventDetails mouseEventDetails) { + super(source, mouseEventDetails); + this.itemId = itemId; + } + + /** + * Returns the item ID of the row where the click event originated. + * + * @return the item ID of the clicked row + */ + public Object getItemId() { + return itemId; + } + } + + protected ClickableRenderer(Class presentationType) { + super(presentationType); + registerRpc(new RendererClickRpc() { + @Override + public void click(int row, int column, + MouseEventDetails mouseDetails) { + + Grid grid = (Grid) getParent(); + Object itemId = grid.getContainerDataSource().getIdByIndex(row); + // TODO map column index to property ID or send column ID + // instead of index from the client + fireEvent(new RendererClickEvent(grid, itemId, mouseDetails)); + } + }); + } + + /** + * Adds a click listener to this button renderer. The listener is invoked + * every time one of the buttons rendered by this renderer is clicked. + * + * @param listener + * the click listener to be added + */ + public void addClickListener(RendererClickListener listener) { + addListener(RendererClickEvent.class, listener, + RendererClickListener.CLICK_METHOD); + } + + /** + * Removes the given click listener from this renderer. + * + * @param listener + * the click listener to be removed + */ + public void removeClickListener(RendererClickListener listener) { + removeListener(RendererClickEvent.class, listener); + } +} -- cgit v1.2.3 From 41bf82e6dd57dc23c6cc298fde0a971305e9134b Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Thu, 18 Dec 2014 13:22:11 +0200 Subject: Fix ClickableRenderers to use CellReferences (#13334) This patch also uses row keys and column ids in communication rather than indices. Change-Id: Ie3bb554bd5c45700f1681160eef08bef8beeaaee --- .../connectors/AbstractRendererConnector.java | 36 ++++++++++++++++++---- .../connectors/ClickableRendererConnector.java | 4 +-- .../vaadin/client/connectors/GridConnector.java | 18 +++++++---- .../vaadin/client/renderers/ClickableRenderer.java | 8 ++--- .../com/vaadin/client/widget/grid/GridUtil.java | 10 ++++-- server/src/com/vaadin/ui/Grid.java | 28 ++++++++++++++++- .../com/vaadin/ui/renderer/ClickableRenderer.java | 24 ++++++++++----- .../shared/ui/grid/renderers/RendererClickRpc.java | 3 +- .../client/grid/RowAwareRendererConnector.java | 8 +++-- 9 files changed, 106 insertions(+), 33 deletions(-) (limited to 'server/src/com/vaadin/ui/renderer/ClickableRenderer.java') diff --git a/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java b/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java index 781de78d06..b258980fe1 100644 --- a/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java @@ -24,7 +24,9 @@ import com.vaadin.client.metadata.Type; import com.vaadin.client.metadata.TypeData; import com.vaadin.client.metadata.TypeDataStore; import com.vaadin.client.renderers.Renderer; +import com.vaadin.client.widgets.Grid.Column; +import elemental.json.JsonObject; import elemental.json.JsonValue; /** @@ -137,23 +139,45 @@ public abstract class AbstractRendererConnector extends } /** - * Gets the row key for a row index. + * Gets the row key for a row object. *

* In case this renderer wants be able to identify a row in such a way that * the server also understands it, the row key is used for that. Rows are * identified by unified keys between the client and the server. * - * @param index - * the row index for which to get the row key - * @return the row key for the row at {@code index} + * @param row + * the row object + * @return the row key for the given row */ - protected String getRowKey(int index) { + protected String getRowKey(JsonObject row) { final ServerConnector parent = getParent(); if (parent instanceof GridConnector) { - return ((GridConnector) parent).getRowKey(index); + return ((GridConnector) parent).getRowKey(row); } else { throw new IllegalStateException("Renderers can only be used " + "with a Grid."); } } + + /** + * Gets the column id for a column. + *

+ * In case this renderer wants be able to identify a column in such a way + * that the server also understands it, the column id is used for that. + * Columns are identified by unified ids between the client and the server. + * + * @param column + * the column object + * @return the column id for the given column + */ + protected String getColumnId(Column column) { + final ServerConnector parent = getParent(); + if (parent instanceof GridConnector) { + return ((GridConnector) parent).getColumnId(column); + } else { + throw new IllegalStateException("Renderers can only be used " + + "with a Grid."); + } + } + } diff --git a/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java b/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java index ee995384f3..90aaad7032 100644 --- a/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java @@ -43,8 +43,8 @@ public abstract class ClickableRendererConnector extends @Override public void onClick(RendererClickEvent event) { getRpcProxy(RendererClickRpc.class).click( - event.getCell().getRow(), - event.getCell().getColumn(), + getRowKey(event.getCell().getRow()), + getColumnId(event.getCell().getColumn()), MouseEventDetailsBuilder.buildMouseEventDetails(event .getNativeEvent())); } diff --git a/client/src/com/vaadin/client/connectors/GridConnector.java b/client/src/com/vaadin/client/connectors/GridConnector.java index b5e5adba8b..d3954f2366 100644 --- a/client/src/com/vaadin/client/connectors/GridConnector.java +++ b/client/src/com/vaadin/client/connectors/GridConnector.java @@ -861,14 +861,13 @@ public class GridConnector extends AbstractHasComponentsConnector implements }-*/; /** - * Gets the row key for a row by index. + * Gets the row key for a row object. * - * @param index - * the index of the row for which to get the key - * @return the key for the row at {@code index} + * @param row + * the row object + * @return the key for the given row */ - public String getRowKey(int index) { - final JsonObject row = dataSource.getRow(index); + public String getRowKey(JsonObject row) { final Object key = dataSource.getRowKey(row); assert key instanceof String : "Internal key was not a String but a " + key.getClass().getSimpleName() + " (" + key + ")"; @@ -893,6 +892,13 @@ public class GridConnector extends AbstractHasComponentsConnector implements ConnectorHierarchyChangeEvent connectorHierarchyChangeEvent) { } + public String getColumnId(Grid.Column column) { + if (column instanceof CustomGridColumn) { + return ((CustomGridColumn) column).id; + } + return null; + } + @Override public void layout() { getWidget().onResize(); diff --git a/client/src/com/vaadin/client/renderers/ClickableRenderer.java b/client/src/com/vaadin/client/renderers/ClickableRenderer.java index cdea5ea1b4..21f0e28c76 100644 --- a/client/src/com/vaadin/client/renderers/ClickableRenderer.java +++ b/client/src/com/vaadin/client/renderers/ClickableRenderer.java @@ -26,7 +26,7 @@ import com.google.gwt.event.shared.EventHandler; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.user.client.ui.Widget; import com.google.web.bindery.event.shared.HandlerRegistration; -import com.vaadin.client.widget.escalator.Cell; +import com.vaadin.client.widget.grid.CellReference; import com.vaadin.client.widget.grid.GridUtil; import com.vaadin.client.widgets.Grid; @@ -80,7 +80,7 @@ public abstract class ClickableRenderer extends static final Type TYPE = new Type( BrowserEvents.CLICK, new RendererClickEvent()); - private Cell cell; + private CellReference cell; private R row; @@ -92,7 +92,7 @@ public abstract class ClickableRenderer extends * * @return the cell */ - public Cell getCell() { + public CellReference getCell() { return cell; } @@ -125,7 +125,7 @@ public abstract class ClickableRenderer extends Grid grid = (Grid) GridUtil.findClosestParentGrid(e); cell = GridUtil.findCell(grid, e); - row = grid.getDataSource().getRow(cell.getRow()); + row = cell.getRow(); handler.onClick(this); } diff --git a/client/src/com/vaadin/client/widget/grid/GridUtil.java b/client/src/com/vaadin/client/widget/grid/GridUtil.java index 9edaada9b1..a49dd36a57 100644 --- a/client/src/com/vaadin/client/widget/grid/GridUtil.java +++ b/client/src/com/vaadin/client/widget/grid/GridUtil.java @@ -42,9 +42,15 @@ public class GridUtil { * @return the cell or null if the element is not a grid cell or a * descendant of one */ - public static Cell findCell(Grid grid, Element e) { + public static CellReference findCell(Grid grid, Element e) { RowContainer container = getEscalator(grid).findRowContainer(e); - return container != null ? container.getCell(e) : null; + if (container == null) { + return null; + } + Cell cell = container.getCell(e); + EventCellReference cellReference = new EventCellReference(grid); + cellReference.set(cell); + return cellReference; } /** diff --git a/server/src/com/vaadin/ui/Grid.java b/server/src/com/vaadin/ui/Grid.java index 60df269f10..8aee5ac19e 100644 --- a/server/src/com/vaadin/ui/Grid.java +++ b/server/src/com/vaadin/ui/Grid.java @@ -2382,9 +2382,35 @@ public class Grid extends AbstractComponent implements SelectionNotifier, * @return the item id corresponding to {@code key} */ protected Object getItemId(String rowKey) { + return getParentGrid().getKeyMapper().getItemId(rowKey); + } + + /** + * Gets the column for a column id. + *

+ * An id is used to identify a particular column on both a server and a + * client. This method can be used to get the column for the column id + * that the client has sent. + * + * @param columnId + * the column id for which to retrieve a column + * @return the column corresponding to {@code columnId} + */ + protected Column getColumn(String columnId) { + return getParentGrid().getColumnByColumnId(columnId); + } + + /** + * Gets the parent Grid of the renderer. + * + * @return parent grid + * @throws IllegalStateException + * if parent is not Grid + */ + protected Grid getParentGrid() { if (getParent() instanceof Grid) { Grid grid = (Grid) getParent(); - return grid.getKeyMapper().getItemId(rowKey); + return grid; } else { throw new IllegalStateException( "Renderers can be used only with Grid"); diff --git a/server/src/com/vaadin/ui/renderer/ClickableRenderer.java b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java index 0d745ab29e..ef293c7e3c 100644 --- a/server/src/com/vaadin/ui/renderer/ClickableRenderer.java +++ b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java @@ -23,6 +23,7 @@ import com.vaadin.shared.MouseEventDetails; import com.vaadin.shared.ui.grid.renderers.RendererClickRpc; import com.vaadin.ui.Grid; import com.vaadin.ui.Grid.AbstractRenderer; +import com.vaadin.ui.Grid.Column; import com.vaadin.util.ReflectTools; /** @@ -64,11 +65,13 @@ public class ClickableRenderer extends AbstractRenderer { public static class RendererClickEvent extends ClickEvent { private Object itemId; + private Column column; - protected RendererClickEvent(Grid source, Object itemId, + protected RendererClickEvent(Grid source, Object itemId, Column column, MouseEventDetails mouseEventDetails) { super(source, mouseEventDetails); this.itemId = itemId; + this.column = column; } /** @@ -79,20 +82,25 @@ public class ClickableRenderer extends AbstractRenderer { public Object getItemId() { return itemId; } + + /** + * Returns the {@link Column} where the click event originated. + * + * @return the column of the click event + */ + public Column getColumn() { + return column; + } } protected ClickableRenderer(Class presentationType) { super(presentationType); registerRpc(new RendererClickRpc() { @Override - public void click(int row, int column, + public void click(String rowKey, String columnId, MouseEventDetails mouseDetails) { - - Grid grid = (Grid) getParent(); - Object itemId = grid.getContainerDataSource().getIdByIndex(row); - // TODO map column index to property ID or send column ID - // instead of index from the client - fireEvent(new RendererClickEvent(grid, itemId, mouseDetails)); + fireEvent(new RendererClickEvent(getParentGrid(), + getItemId(rowKey), getColumn(columnId), mouseDetails)); } }); } diff --git a/shared/src/com/vaadin/shared/ui/grid/renderers/RendererClickRpc.java b/shared/src/com/vaadin/shared/ui/grid/renderers/RendererClickRpc.java index f83b5aa44f..658caef050 100644 --- a/shared/src/com/vaadin/shared/ui/grid/renderers/RendererClickRpc.java +++ b/shared/src/com/vaadin/shared/ui/grid/renderers/RendererClickRpc.java @@ -26,5 +26,6 @@ public interface RendererClickRpc extends ServerRpc { * @param mouseDetails * Details about the mouse when the event took place */ - public void click(int row, int column, MouseEventDetails mouseDetails); + public void click(String rowKey, String columnId, + MouseEventDetails mouseDetails); } diff --git a/uitest/src/com/vaadin/tests/widgetset/client/grid/RowAwareRendererConnector.java b/uitest/src/com/vaadin/tests/widgetset/client/grid/RowAwareRendererConnector.java index 3c5b7cdf1f..63faf1d651 100644 --- a/uitest/src/com/vaadin/tests/widgetset/client/grid/RowAwareRendererConnector.java +++ b/uitest/src/com/vaadin/tests/widgetset/client/grid/RowAwareRendererConnector.java @@ -30,6 +30,8 @@ import com.vaadin.client.widget.grid.RendererCellReference; import com.vaadin.shared.communication.ServerRpc; import com.vaadin.shared.ui.Connect; +import elemental.json.JsonObject; + @Connect(com.vaadin.tests.components.grid.RowAwareRenderer.class) public class RowAwareRendererConnector extends AbstractRendererConnector { public interface RowAwareRendererRpc extends ServerRpc { @@ -59,10 +61,10 @@ public class RowAwareRendererConnector extends AbstractRendererConnector { @Override public boolean onBrowserEvent(CellReference cell, NativeEvent event) { - int row = cell.getRowIndex(); - String key = getRowKey(row); + String key = getRowKey((JsonObject) cell.getRow()); getRpcProxy(RowAwareRendererRpc.class).clicky(key); - cell.getElement().setInnerText("row: " + row + ", key: " + key); + cell.getElement().setInnerText( + "row: " + cell.getRowIndex() + ", key: " + key); return true; } } -- cgit v1.2.3 From 50dac79cb624931a661ce4d4b59458f9f5e0c524 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Thu, 8 Jan 2015 08:59:50 +0200 Subject: Update @since for 7.4 Change-Id: I00401560e345c82a5d967cd71d611605d9b96d92 --- .../src/com/vaadin/client/connectors/AbstractRendererConnector.java | 2 +- client/src/com/vaadin/client/connectors/ButtonRendererConnector.java | 2 +- .../src/com/vaadin/client/connectors/ClickableRendererConnector.java | 2 +- client/src/com/vaadin/client/connectors/DateRendererConnector.java | 2 +- client/src/com/vaadin/client/connectors/GridConnector.java | 2 +- client/src/com/vaadin/client/connectors/ImageRendererConnector.java | 2 +- client/src/com/vaadin/client/connectors/NumberRendererConnector.java | 2 +- .../com/vaadin/client/connectors/ProgressBarRendererConnector.java | 2 +- client/src/com/vaadin/client/connectors/RpcDataSourceConnector.java | 2 +- client/src/com/vaadin/client/connectors/TextRendererConnector.java | 2 +- .../src/com/vaadin/client/connectors/UnsafeHtmlRendererConnector.java | 2 +- client/src/com/vaadin/client/data/AbstractRemoteDataSource.java | 2 +- client/src/com/vaadin/client/data/CacheStrategy.java | 2 +- client/src/com/vaadin/client/data/DataChangeHandler.java | 2 +- client/src/com/vaadin/client/data/DataSource.java | 2 +- client/src/com/vaadin/client/renderers/ButtonRenderer.java | 2 +- client/src/com/vaadin/client/renderers/ClickableRenderer.java | 2 +- client/src/com/vaadin/client/renderers/DateRenderer.java | 2 +- client/src/com/vaadin/client/renderers/HtmlRenderer.java | 2 +- client/src/com/vaadin/client/renderers/ImageRenderer.java | 2 +- client/src/com/vaadin/client/renderers/NumberRenderer.java | 2 +- client/src/com/vaadin/client/renderers/ProgressBarRenderer.java | 2 +- client/src/com/vaadin/client/renderers/Renderer.java | 2 +- client/src/com/vaadin/client/renderers/TextRenderer.java | 2 +- client/src/com/vaadin/client/renderers/WidgetRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/ButtonRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/ClickableRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/DateRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/HtmlRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/ImageRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/NumberRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/ProgressBarRenderer.java | 2 +- server/src/com/vaadin/ui/renderer/Renderer.java | 2 +- server/src/com/vaadin/ui/renderer/TextRenderer.java | 2 +- shared/src/com/vaadin/shared/annotations/NoLayout.java | 2 +- shared/src/com/vaadin/shared/data/DataProviderRpc.java | 2 +- shared/src/com/vaadin/shared/data/DataRequestRpc.java | 2 +- shared/src/com/vaadin/shared/data/sort/SortDirection.java | 2 +- shared/src/com/vaadin/shared/ui/grid/ColumnGroupState.java | 2 +- shared/src/com/vaadin/shared/ui/grid/EditorClientRpc.java | 2 +- shared/src/com/vaadin/shared/ui/grid/EditorServerRpc.java | 2 +- shared/src/com/vaadin/shared/ui/grid/GridClientRpc.java | 2 +- shared/src/com/vaadin/shared/ui/grid/GridColumnState.java | 2 +- shared/src/com/vaadin/shared/ui/grid/GridConstants.java | 2 +- shared/src/com/vaadin/shared/ui/grid/GridServerRpc.java | 2 +- shared/src/com/vaadin/shared/ui/grid/GridState.java | 2 +- shared/src/com/vaadin/shared/ui/grid/GridStaticCellType.java | 4 ++-- shared/src/com/vaadin/shared/ui/grid/GridStaticSectionState.java | 2 +- shared/src/com/vaadin/shared/ui/grid/HeightMode.java | 2 +- shared/src/com/vaadin/shared/ui/grid/Range.java | 2 +- shared/src/com/vaadin/shared/ui/grid/ScrollDestination.java | 2 +- 51 files changed, 52 insertions(+), 52 deletions(-) (limited to 'server/src/com/vaadin/ui/renderer/ClickableRenderer.java') diff --git a/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java b/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java index b258980fe1..5bcbe6a286 100644 --- a/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/AbstractRendererConnector.java @@ -42,7 +42,7 @@ import elemental.json.JsonValue; * @param * the presentation type of the renderer * - * @since + * @since 7.4 * @author Vaadin Ltd */ public abstract class AbstractRendererConnector extends diff --git a/client/src/com/vaadin/client/connectors/ButtonRendererConnector.java b/client/src/com/vaadin/client/connectors/ButtonRendererConnector.java index a74db590da..44c34e3bf4 100644 --- a/client/src/com/vaadin/client/connectors/ButtonRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/ButtonRendererConnector.java @@ -25,7 +25,7 @@ import elemental.json.JsonObject; /** * A connector for {@link ButtonRenderer}. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.renderer.ButtonRenderer.class) diff --git a/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java b/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java index 90aaad7032..87f88c5106 100644 --- a/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/ClickableRendererConnector.java @@ -29,7 +29,7 @@ import elemental.json.JsonObject; * @param * the presentation type of the renderer * - * @since + * @since 7.4 * @author Vaadin Ltd */ public abstract class ClickableRendererConnector extends diff --git a/client/src/com/vaadin/client/connectors/DateRendererConnector.java b/client/src/com/vaadin/client/connectors/DateRendererConnector.java index 2df8184eaf..30d1db345d 100644 --- a/client/src/com/vaadin/client/connectors/DateRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/DateRendererConnector.java @@ -25,7 +25,7 @@ import com.vaadin.shared.ui.Connect; * string, and displayed as-is on the client side. This is to be able to support * the server's locale. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.renderer.DateRenderer.class) diff --git a/client/src/com/vaadin/client/connectors/GridConnector.java b/client/src/com/vaadin/client/connectors/GridConnector.java index 0044025d40..31bc2ac673 100644 --- a/client/src/com/vaadin/client/connectors/GridConnector.java +++ b/client/src/com/vaadin/client/connectors/GridConnector.java @@ -87,7 +87,7 @@ import elemental.json.JsonValue; * at {@link com.vaadin.shared.data.DataProviderRpc#setRowData(int, List) * DataProviderRpc.setRowData(int, List)}. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.Grid.class) diff --git a/client/src/com/vaadin/client/connectors/ImageRendererConnector.java b/client/src/com/vaadin/client/connectors/ImageRendererConnector.java index 341a98e9a8..9000ebb1c2 100644 --- a/client/src/com/vaadin/client/connectors/ImageRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/ImageRendererConnector.java @@ -29,7 +29,7 @@ import elemental.json.JsonValue; /** * A connector for {@link ImageRenderer}. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.renderer.ImageRenderer.class) diff --git a/client/src/com/vaadin/client/connectors/NumberRendererConnector.java b/client/src/com/vaadin/client/connectors/NumberRendererConnector.java index 68c96d21bc..84b319710d 100644 --- a/client/src/com/vaadin/client/connectors/NumberRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/NumberRendererConnector.java @@ -26,7 +26,7 @@ import com.vaadin.shared.ui.Connect; * string, and displayed as-is on the client side. This is to be able to support * the server's locale. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.renderer.NumberRenderer.class) diff --git a/client/src/com/vaadin/client/connectors/ProgressBarRendererConnector.java b/client/src/com/vaadin/client/connectors/ProgressBarRendererConnector.java index 812a729da3..fe410ccbe7 100644 --- a/client/src/com/vaadin/client/connectors/ProgressBarRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/ProgressBarRendererConnector.java @@ -21,7 +21,7 @@ import com.vaadin.shared.ui.Connect; /** * A connector for {@link ProgressBarRenderer}. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.renderer.ProgressBarRenderer.class) diff --git a/client/src/com/vaadin/client/connectors/RpcDataSourceConnector.java b/client/src/com/vaadin/client/connectors/RpcDataSourceConnector.java index 754c87f0ca..c46db08553 100644 --- a/client/src/com/vaadin/client/connectors/RpcDataSourceConnector.java +++ b/client/src/com/vaadin/client/connectors/RpcDataSourceConnector.java @@ -39,7 +39,7 @@ import elemental.json.JsonValue; * connector type. This will be changed once framework support for something * more flexible has been implemented. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.data.RpcDataProviderExtension.class) diff --git a/client/src/com/vaadin/client/connectors/TextRendererConnector.java b/client/src/com/vaadin/client/connectors/TextRendererConnector.java index b610b3ed55..3059d3f8bb 100644 --- a/client/src/com/vaadin/client/connectors/TextRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/TextRendererConnector.java @@ -21,7 +21,7 @@ import com.vaadin.shared.ui.Connect; /** * A connector for {@link TextRenderer}. * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.renderer.TextRenderer.class) diff --git a/client/src/com/vaadin/client/connectors/UnsafeHtmlRendererConnector.java b/client/src/com/vaadin/client/connectors/UnsafeHtmlRendererConnector.java index 91833ae9ac..420f18427d 100644 --- a/client/src/com/vaadin/client/connectors/UnsafeHtmlRendererConnector.java +++ b/client/src/com/vaadin/client/connectors/UnsafeHtmlRendererConnector.java @@ -22,7 +22,7 @@ import com.vaadin.shared.ui.Connect; /** * A connector for {@link UnsafeHtmlRenderer} * - * @since + * @since 7.4 * @author Vaadin Ltd */ @Connect(com.vaadin.ui.renderer.HtmlRenderer.class) diff --git a/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java b/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java index c6aa7c6291..ffd1d4d170 100644 --- a/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java +++ b/client/src/com/vaadin/client/data/AbstractRemoteDataSource.java @@ -35,7 +35,7 @@ import com.vaadin.shared.ui.grid.Range; * {@link #requestRows(int, int, RequestRowsCallback)} to trigger asynchronously * loading of data and then pass the loaded data into the provided callback. * - * @since + * @since 7.4 * @author Vaadin Ltd * @param * the row type diff --git a/client/src/com/vaadin/client/data/CacheStrategy.java b/client/src/com/vaadin/client/data/CacheStrategy.java index 3448659e61..79ce537314 100644 --- a/client/src/com/vaadin/client/data/CacheStrategy.java +++ b/client/src/com/vaadin/client/data/CacheStrategy.java @@ -22,7 +22,7 @@ import com.vaadin.shared.ui.grid.Range; * Determines what data an {@link AbstractRemoteDataSource} should fetch and * keep cached. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface CacheStrategy { diff --git a/client/src/com/vaadin/client/data/DataChangeHandler.java b/client/src/com/vaadin/client/data/DataChangeHandler.java index 57e25ef11a..35f1eafea9 100644 --- a/client/src/com/vaadin/client/data/DataChangeHandler.java +++ b/client/src/com/vaadin/client/data/DataChangeHandler.java @@ -20,7 +20,7 @@ package com.vaadin.client.data; * Callback interface used by {@link DataSource} to inform its user about * updates to the data. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface DataChangeHandler { diff --git a/client/src/com/vaadin/client/data/DataSource.java b/client/src/com/vaadin/client/data/DataSource.java index a4cff64078..076226bf5c 100644 --- a/client/src/com/vaadin/client/data/DataSource.java +++ b/client/src/com/vaadin/client/data/DataSource.java @@ -21,7 +21,7 @@ package com.vaadin.client.data; * items (e.g. rows) of a specified type. The data source is a lazy view into a * larger data set. * - * @since + * @since 7.4 * @author Vaadin Ltd * @param * the row type diff --git a/client/src/com/vaadin/client/renderers/ButtonRenderer.java b/client/src/com/vaadin/client/renderers/ButtonRenderer.java index 8dfa3d6fae..c1952556f9 100644 --- a/client/src/com/vaadin/client/renderers/ButtonRenderer.java +++ b/client/src/com/vaadin/client/renderers/ButtonRenderer.java @@ -24,7 +24,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; * corresponding column are used as the captions. Click handlers can be added to * the renderer, invoked when any of the rendered buttons is clicked. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ButtonRenderer extends ClickableRenderer { diff --git a/client/src/com/vaadin/client/renderers/ClickableRenderer.java b/client/src/com/vaadin/client/renderers/ClickableRenderer.java index 93e68763e0..bd865e52f6 100644 --- a/client/src/com/vaadin/client/renderers/ClickableRenderer.java +++ b/client/src/com/vaadin/client/renderers/ClickableRenderer.java @@ -44,7 +44,7 @@ import com.vaadin.client.widgets.Grid; * @param * the widget type * - * @since + * @since 7.4 * @author Vaadin Ltd */ public abstract class ClickableRenderer extends diff --git a/client/src/com/vaadin/client/renderers/DateRenderer.java b/client/src/com/vaadin/client/renderers/DateRenderer.java index ee5af2dce9..4d15fac724 100644 --- a/client/src/com/vaadin/client/renderers/DateRenderer.java +++ b/client/src/com/vaadin/client/renderers/DateRenderer.java @@ -25,7 +25,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; /** * A renderer for rendering dates into cells * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class DateRenderer implements Renderer { diff --git a/client/src/com/vaadin/client/renderers/HtmlRenderer.java b/client/src/com/vaadin/client/renderers/HtmlRenderer.java index df95e07367..ec6dc761f6 100644 --- a/client/src/com/vaadin/client/renderers/HtmlRenderer.java +++ b/client/src/com/vaadin/client/renderers/HtmlRenderer.java @@ -27,7 +27,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; * contract. For more information see * {@link SafeHtmlUtils#fromSafeConstant(String)}. * - * @since + * @since 7.4 * @author Vaadin Ltd * @see SafeHtmlUtils#fromSafeConstant(String) */ diff --git a/client/src/com/vaadin/client/renderers/ImageRenderer.java b/client/src/com/vaadin/client/renderers/ImageRenderer.java index 9b3d05ec0b..b1e8ce5702 100644 --- a/client/src/com/vaadin/client/renderers/ImageRenderer.java +++ b/client/src/com/vaadin/client/renderers/ImageRenderer.java @@ -24,7 +24,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; * the renderer, invoked every time any of the images rendered by that rendered * is clicked. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ImageRenderer extends ClickableRenderer { diff --git a/client/src/com/vaadin/client/renderers/NumberRenderer.java b/client/src/com/vaadin/client/renderers/NumberRenderer.java index 552a88644a..a040e8d1ce 100644 --- a/client/src/com/vaadin/client/renderers/NumberRenderer.java +++ b/client/src/com/vaadin/client/renderers/NumberRenderer.java @@ -23,7 +23,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; * default uses the default number format returned by * {@link NumberFormat#getDecimalFormat()}. * - * @since + * @since 7.4 * @author Vaadin Ltd * @param * The number type to render. diff --git a/client/src/com/vaadin/client/renderers/ProgressBarRenderer.java b/client/src/com/vaadin/client/renderers/ProgressBarRenderer.java index f5aff7191d..8e09641cfc 100644 --- a/client/src/com/vaadin/client/renderers/ProgressBarRenderer.java +++ b/client/src/com/vaadin/client/renderers/ProgressBarRenderer.java @@ -22,7 +22,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; /** * A Renderer that represents a double value as a graphical progress bar. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ProgressBarRenderer extends WidgetRenderer { diff --git a/client/src/com/vaadin/client/renderers/Renderer.java b/client/src/com/vaadin/client/renderers/Renderer.java index 7149181b61..a3faa1e9df 100644 --- a/client/src/com/vaadin/client/renderers/Renderer.java +++ b/client/src/com/vaadin/client/renderers/Renderer.java @@ -29,7 +29,7 @@ import com.vaadin.client.widgets.Grid; * @param * The column type * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface Renderer { diff --git a/client/src/com/vaadin/client/renderers/TextRenderer.java b/client/src/com/vaadin/client/renderers/TextRenderer.java index 76ccd9f206..3f704fd0b4 100644 --- a/client/src/com/vaadin/client/renderers/TextRenderer.java +++ b/client/src/com/vaadin/client/renderers/TextRenderer.java @@ -20,7 +20,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; /** * Renderer that renders text into a cell. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class TextRenderer implements Renderer { diff --git a/client/src/com/vaadin/client/renderers/WidgetRenderer.java b/client/src/com/vaadin/client/renderers/WidgetRenderer.java index ef0338ce70..cb648c48bf 100644 --- a/client/src/com/vaadin/client/renderers/WidgetRenderer.java +++ b/client/src/com/vaadin/client/renderers/WidgetRenderer.java @@ -23,7 +23,7 @@ import com.vaadin.client.widget.grid.RendererCellReference; /** * A renderer for rendering widgets into cells. * - * @since + * @since 7.4 * @author Vaadin Ltd * @param * the row data type diff --git a/server/src/com/vaadin/ui/renderer/ButtonRenderer.java b/server/src/com/vaadin/ui/renderer/ButtonRenderer.java index 4a7a86daa2..b0819794c0 100644 --- a/server/src/com/vaadin/ui/renderer/ButtonRenderer.java +++ b/server/src/com/vaadin/ui/renderer/ButtonRenderer.java @@ -20,7 +20,7 @@ package com.vaadin.ui.renderer; * corresponding property is used as the caption. Click listeners can be added * to the renderer, invoked when any of the rendered buttons is clicked. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ButtonRenderer extends ClickableRenderer { diff --git a/server/src/com/vaadin/ui/renderer/ClickableRenderer.java b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java index ef293c7e3c..851bbf8510 100644 --- a/server/src/com/vaadin/ui/renderer/ClickableRenderer.java +++ b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java @@ -34,7 +34,7 @@ import com.vaadin.util.ReflectTools; * @param * the type presented by the renderer * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ClickableRenderer extends AbstractRenderer { diff --git a/server/src/com/vaadin/ui/renderer/DateRenderer.java b/server/src/com/vaadin/ui/renderer/DateRenderer.java index 4d1d702993..d3d2df573d 100644 --- a/server/src/com/vaadin/ui/renderer/DateRenderer.java +++ b/server/src/com/vaadin/ui/renderer/DateRenderer.java @@ -26,7 +26,7 @@ import elemental.json.JsonValue; /** * A renderer for presenting date values. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class DateRenderer extends AbstractRenderer { diff --git a/server/src/com/vaadin/ui/renderer/HtmlRenderer.java b/server/src/com/vaadin/ui/renderer/HtmlRenderer.java index bdab51991c..02d153dedf 100644 --- a/server/src/com/vaadin/ui/renderer/HtmlRenderer.java +++ b/server/src/com/vaadin/ui/renderer/HtmlRenderer.java @@ -20,7 +20,7 @@ import com.vaadin.ui.Grid.AbstractRenderer; /** * A renderer for presenting HTML content. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class HtmlRenderer extends AbstractRenderer { diff --git a/server/src/com/vaadin/ui/renderer/ImageRenderer.java b/server/src/com/vaadin/ui/renderer/ImageRenderer.java index 87a044c4a6..3ef3eed3e5 100644 --- a/server/src/com/vaadin/ui/renderer/ImageRenderer.java +++ b/server/src/com/vaadin/ui/renderer/ImageRenderer.java @@ -30,7 +30,7 @@ import elemental.json.JsonValue; * the data source. Only {@link ExternalResource}s and {@link ThemeResource}s * are currently supported. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ImageRenderer extends ClickableRenderer { diff --git a/server/src/com/vaadin/ui/renderer/NumberRenderer.java b/server/src/com/vaadin/ui/renderer/NumberRenderer.java index 9af5c4cffb..3406e1837a 100644 --- a/server/src/com/vaadin/ui/renderer/NumberRenderer.java +++ b/server/src/com/vaadin/ui/renderer/NumberRenderer.java @@ -25,7 +25,7 @@ import elemental.json.JsonValue; /** * A renderer for presenting number values. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class NumberRenderer extends AbstractRenderer { diff --git a/server/src/com/vaadin/ui/renderer/ProgressBarRenderer.java b/server/src/com/vaadin/ui/renderer/ProgressBarRenderer.java index cb688b178b..9bdc0b299a 100644 --- a/server/src/com/vaadin/ui/renderer/ProgressBarRenderer.java +++ b/server/src/com/vaadin/ui/renderer/ProgressBarRenderer.java @@ -22,7 +22,7 @@ import elemental.json.JsonValue; /** * A renderer that represents a double values as a graphical progress bar. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ProgressBarRenderer extends AbstractRenderer { diff --git a/server/src/com/vaadin/ui/renderer/Renderer.java b/server/src/com/vaadin/ui/renderer/Renderer.java index 0c704495a4..cab1cdfe3c 100644 --- a/server/src/com/vaadin/ui/renderer/Renderer.java +++ b/server/src/com/vaadin/ui/renderer/Renderer.java @@ -30,7 +30,7 @@ import elemental.json.JsonValue; * @param * the type this renderer knows how to present * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface Renderer extends Extension { diff --git a/server/src/com/vaadin/ui/renderer/TextRenderer.java b/server/src/com/vaadin/ui/renderer/TextRenderer.java index 42bd02fa2a..154a09ccd8 100644 --- a/server/src/com/vaadin/ui/renderer/TextRenderer.java +++ b/server/src/com/vaadin/ui/renderer/TextRenderer.java @@ -20,7 +20,7 @@ import com.vaadin.ui.Grid.AbstractRenderer; /** * A renderer for presenting simple plain-text string values. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class TextRenderer extends AbstractRenderer { diff --git a/shared/src/com/vaadin/shared/annotations/NoLayout.java b/shared/src/com/vaadin/shared/annotations/NoLayout.java index 78ff1e2984..b77729cdcc 100644 --- a/shared/src/com/vaadin/shared/annotations/NoLayout.java +++ b/shared/src/com/vaadin/shared/annotations/NoLayout.java @@ -32,7 +32,7 @@ import java.lang.annotation.Target; * the potential of causing sizes to change with appropriate style definitions * in the application theme. * - * @since + * @since 7.4 * * @author Vaadin Ltd */ diff --git a/shared/src/com/vaadin/shared/data/DataProviderRpc.java b/shared/src/com/vaadin/shared/data/DataProviderRpc.java index 3e5dd9a332..4bf4f3af5b 100644 --- a/shared/src/com/vaadin/shared/data/DataProviderRpc.java +++ b/shared/src/com/vaadin/shared/data/DataProviderRpc.java @@ -22,7 +22,7 @@ import com.vaadin.shared.communication.ClientRpc; /** * RPC interface used for pushing container data to the client. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface DataProviderRpc extends ClientRpc { diff --git a/shared/src/com/vaadin/shared/data/DataRequestRpc.java b/shared/src/com/vaadin/shared/data/DataRequestRpc.java index 637a353447..773a82fa9a 100644 --- a/shared/src/com/vaadin/shared/data/DataRequestRpc.java +++ b/shared/src/com/vaadin/shared/data/DataRequestRpc.java @@ -22,7 +22,7 @@ import com.vaadin.shared.communication.ServerRpc; /** * RPC interface used for requesting container data to the client. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface DataRequestRpc extends ServerRpc { diff --git a/shared/src/com/vaadin/shared/data/sort/SortDirection.java b/shared/src/com/vaadin/shared/data/sort/SortDirection.java index 043b363226..cd572087d7 100644 --- a/shared/src/com/vaadin/shared/data/sort/SortDirection.java +++ b/shared/src/com/vaadin/shared/data/sort/SortDirection.java @@ -20,7 +20,7 @@ import java.io.Serializable; /** * Describes sorting direction. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public enum SortDirection implements Serializable { diff --git a/shared/src/com/vaadin/shared/ui/grid/ColumnGroupState.java b/shared/src/com/vaadin/shared/ui/grid/ColumnGroupState.java index 2ef0dfc3f8..79e6c9a89f 100644 --- a/shared/src/com/vaadin/shared/ui/grid/ColumnGroupState.java +++ b/shared/src/com/vaadin/shared/ui/grid/ColumnGroupState.java @@ -23,7 +23,7 @@ import java.util.List; /** * The column group data shared between the server and the client * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class ColumnGroupState implements Serializable { diff --git a/shared/src/com/vaadin/shared/ui/grid/EditorClientRpc.java b/shared/src/com/vaadin/shared/ui/grid/EditorClientRpc.java index c083252754..bff5d95c6c 100644 --- a/shared/src/com/vaadin/shared/ui/grid/EditorClientRpc.java +++ b/shared/src/com/vaadin/shared/ui/grid/EditorClientRpc.java @@ -20,7 +20,7 @@ import com.vaadin.shared.communication.ClientRpc; /** * An RPC interface for the grid editor server-to-client communications. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface EditorClientRpc extends ClientRpc { diff --git a/shared/src/com/vaadin/shared/ui/grid/EditorServerRpc.java b/shared/src/com/vaadin/shared/ui/grid/EditorServerRpc.java index 57df691547..8637e34606 100644 --- a/shared/src/com/vaadin/shared/ui/grid/EditorServerRpc.java +++ b/shared/src/com/vaadin/shared/ui/grid/EditorServerRpc.java @@ -20,7 +20,7 @@ import com.vaadin.shared.communication.ServerRpc; /** * An RPC interface for the grid editor client-to-server communications. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface EditorServerRpc extends ServerRpc { diff --git a/shared/src/com/vaadin/shared/ui/grid/GridClientRpc.java b/shared/src/com/vaadin/shared/ui/grid/GridClientRpc.java index ade9e87f36..ed849cb361 100644 --- a/shared/src/com/vaadin/shared/ui/grid/GridClientRpc.java +++ b/shared/src/com/vaadin/shared/ui/grid/GridClientRpc.java @@ -20,7 +20,7 @@ import com.vaadin.shared.communication.ClientRpc; /** * Server-to-client RPC interface for the Grid component. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface GridClientRpc extends ClientRpc { diff --git a/shared/src/com/vaadin/shared/ui/grid/GridColumnState.java b/shared/src/com/vaadin/shared/ui/grid/GridColumnState.java index c69b02231e..070d146736 100644 --- a/shared/src/com/vaadin/shared/ui/grid/GridColumnState.java +++ b/shared/src/com/vaadin/shared/ui/grid/GridColumnState.java @@ -23,7 +23,7 @@ import com.vaadin.shared.Connector; * Column state DTO for transferring column properties from the server to the * client * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class GridColumnState implements Serializable { diff --git a/shared/src/com/vaadin/shared/ui/grid/GridConstants.java b/shared/src/com/vaadin/shared/ui/grid/GridConstants.java index 61cf7f6ef0..994b109204 100644 --- a/shared/src/com/vaadin/shared/ui/grid/GridConstants.java +++ b/shared/src/com/vaadin/shared/ui/grid/GridConstants.java @@ -21,7 +21,7 @@ import java.io.Serializable; * Container class for common constants and default values used by the Grid * component. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public final class GridConstants implements Serializable { diff --git a/shared/src/com/vaadin/shared/ui/grid/GridServerRpc.java b/shared/src/com/vaadin/shared/ui/grid/GridServerRpc.java index 141b1ed9ca..37cbb295f6 100644 --- a/shared/src/com/vaadin/shared/ui/grid/GridServerRpc.java +++ b/shared/src/com/vaadin/shared/ui/grid/GridServerRpc.java @@ -23,7 +23,7 @@ import com.vaadin.shared.data.sort.SortDirection; /** * Client-to-server RPC interface for the Grid component * - * @since + * @since 7.4 * @author Vaadin Ltd */ public interface GridServerRpc extends ServerRpc { diff --git a/shared/src/com/vaadin/shared/ui/grid/GridState.java b/shared/src/com/vaadin/shared/ui/grid/GridState.java index 1f98431caf..2b18d5b642 100644 --- a/shared/src/com/vaadin/shared/ui/grid/GridState.java +++ b/shared/src/com/vaadin/shared/ui/grid/GridState.java @@ -26,7 +26,7 @@ import com.vaadin.shared.data.sort.SortDirection; /** * The shared state for the {@link com.vaadin.ui.components.grid.Grid} component * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class GridState extends AbstractComponentState { diff --git a/shared/src/com/vaadin/shared/ui/grid/GridStaticCellType.java b/shared/src/com/vaadin/shared/ui/grid/GridStaticCellType.java index eae4bc8da4..c646717d2c 100644 --- a/shared/src/com/vaadin/shared/ui/grid/GridStaticCellType.java +++ b/shared/src/com/vaadin/shared/ui/grid/GridStaticCellType.java @@ -18,7 +18,7 @@ package com.vaadin.shared.ui.grid; /** * Enumeration, specifying the content type of a Cell in a GridStaticSection. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public enum GridStaticCellType { @@ -36,4 +36,4 @@ public enum GridStaticCellType { * Widget content */ WIDGET; -} \ No newline at end of file +} diff --git a/shared/src/com/vaadin/shared/ui/grid/GridStaticSectionState.java b/shared/src/com/vaadin/shared/ui/grid/GridStaticSectionState.java index 88539913d1..a3c485af08 100644 --- a/shared/src/com/vaadin/shared/ui/grid/GridStaticSectionState.java +++ b/shared/src/com/vaadin/shared/ui/grid/GridStaticSectionState.java @@ -27,7 +27,7 @@ import com.vaadin.shared.Connector; /** * Shared state for Grid headers and footers. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public class GridStaticSectionState implements Serializable { diff --git a/shared/src/com/vaadin/shared/ui/grid/HeightMode.java b/shared/src/com/vaadin/shared/ui/grid/HeightMode.java index 228fcbf0f4..4cd19a01b1 100644 --- a/shared/src/com/vaadin/shared/ui/grid/HeightMode.java +++ b/shared/src/com/vaadin/shared/ui/grid/HeightMode.java @@ -21,7 +21,7 @@ package com.vaadin.shared.ui.grid; * {@link com.vaadin.ui.components.grid.Grid server}) / * {@link com.vaadin.client.ui.grid.Escalator Escalator}. * - * @since + * @since 7.4 * @author Vaadin Ltd * @see com.vaadin.client.ui.grid.Grid#setHeightMode(HeightMode) * @see com.vaadin.ui.components.grid.Grid#setHeightMode(HeightMode) diff --git a/shared/src/com/vaadin/shared/ui/grid/Range.java b/shared/src/com/vaadin/shared/ui/grid/Range.java index 6be9e04cbc..21e70d3dbf 100644 --- a/shared/src/com/vaadin/shared/ui/grid/Range.java +++ b/shared/src/com/vaadin/shared/ui/grid/Range.java @@ -27,7 +27,7 @@ import java.io.Serializable; * The range is considered {@link #isEmpty() empty} if the start is the same as * the end. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public final class Range implements Serializable { diff --git a/shared/src/com/vaadin/shared/ui/grid/ScrollDestination.java b/shared/src/com/vaadin/shared/ui/grid/ScrollDestination.java index 43d5fcc21b..64cf070e46 100644 --- a/shared/src/com/vaadin/shared/ui/grid/ScrollDestination.java +++ b/shared/src/com/vaadin/shared/ui/grid/ScrollDestination.java @@ -19,7 +19,7 @@ package com.vaadin.shared.ui.grid; * Enumeration, specifying the destinations that are supported when scrolling * rows or columns into view. * - * @since + * @since 7.4 * @author Vaadin Ltd */ public enum ScrollDestination { -- cgit v1.2.3 From d4e633d49441123bda15c90f4aa657bda31ee43c Mon Sep 17 00:00:00 2001 From: Henrik Paul Date: Fri, 19 Dec 2014 13:57:23 +0200 Subject: RendererClickEvent now tells about propertyIds (#13334) Change-Id: I5d67516516c46984c965577653b4fb44ddbaff11 --- server/src/com/vaadin/ui/renderer/ClickableRenderer.java | 9 +++++++++ .../com/vaadin/tests/components/grid/WidgetRenderers.java | 14 ++++++++++++++ .../vaadin/tests/components/grid/WidgetRenderersTest.java | 9 +++++++++ 3 files changed, 32 insertions(+) (limited to 'server/src/com/vaadin/ui/renderer/ClickableRenderer.java') diff --git a/server/src/com/vaadin/ui/renderer/ClickableRenderer.java b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java index 851bbf8510..d640ce8b71 100644 --- a/server/src/com/vaadin/ui/renderer/ClickableRenderer.java +++ b/server/src/com/vaadin/ui/renderer/ClickableRenderer.java @@ -91,6 +91,15 @@ public class ClickableRenderer extends AbstractRenderer { public Column getColumn() { return column; } + + /** + * Returns the property ID where the click event originated. + * + * @return the property ID of the clicked cell + */ + public Object getPropertyId() { + return column.getPropertyId(); + } } protected ClickableRenderer(Class presentationType) { diff --git a/uitest/src/com/vaadin/tests/components/grid/WidgetRenderers.java b/uitest/src/com/vaadin/tests/components/grid/WidgetRenderers.java index de6fb30e1c..310cd357fa 100644 --- a/uitest/src/com/vaadin/tests/components/grid/WidgetRenderers.java +++ b/uitest/src/com/vaadin/tests/components/grid/WidgetRenderers.java @@ -31,8 +31,11 @@ import com.vaadin.ui.renderer.ClickableRenderer.RendererClickListener; import com.vaadin.ui.renderer.ImageRenderer; import com.vaadin.ui.renderer.ProgressBarRenderer; +@SuppressWarnings("all") public class WidgetRenderers extends AbstractTestUI { + static final String PROPERTY_ID = "property id"; + @Override protected void setup(VaadinRequest request) { IndexedContainer container = new IndexedContainer(); @@ -43,6 +46,7 @@ public class WidgetRenderers extends AbstractTestUI { .addContainerProperty(ButtonRenderer.class, String.class, null); container.addContainerProperty(ImageRenderer.class, Resource.class, null); + container.addContainerProperty(PROPERTY_ID, String.class, null); final Item item = container.getItem(container.addItem()); @@ -50,6 +54,7 @@ public class WidgetRenderers extends AbstractTestUI { item.getItemProperty(ButtonRenderer.class).setValue("Click"); item.getItemProperty(ImageRenderer.class).setValue( new ThemeResource("window/img/close.png")); + item.getItemProperty(PROPERTY_ID).setValue("Click"); final Grid grid = new Grid(container); @@ -78,6 +83,15 @@ public class WidgetRenderers extends AbstractTestUI { } })); + grid.getColumn(PROPERTY_ID).setRenderer( + new ButtonRenderer(new RendererClickListener() { + @Override + public void click(RendererClickEvent event) { + item.getItemProperty(PROPERTY_ID).setValue( + event.getPropertyId()); + } + })); + addComponent(grid); addComponent(new Button("Change column order", diff --git a/uitest/src/com/vaadin/tests/components/grid/WidgetRenderersTest.java b/uitest/src/com/vaadin/tests/components/grid/WidgetRenderersTest.java index 864a559fc6..ba8e5135ab 100644 --- a/uitest/src/com/vaadin/tests/components/grid/WidgetRenderersTest.java +++ b/uitest/src/com/vaadin/tests/components/grid/WidgetRenderersTest.java @@ -92,6 +92,15 @@ public class WidgetRenderersTest extends MultiBrowserTest { By.className("gwt-Button"))); } + @Test + public void testPropertyIdInEvent() { + openTestURL(); + WebElement button = getGridCell(0, 3).findElement( + By.className("gwt-Button")); + button.click(); + assertEquals(WidgetRenderers.PROPERTY_ID, button.getText()); + } + GridCellElement getGridCell(int row, int col) { return $(GridElement.class).first().getCell(row, col); } -- cgit v1.2.3