Change-Id: Ia9f83688f70d08d51370bb342f00238a98f40293
public interface Renderer<T> {
/**
- * Called whenever the {@link Grid} updates a cell
+ * Called whenever the {@link Grid} updates a cell.
+ * <p>
+ * For optimal performance, work done in this method should be kept to a
+ * minimum since it will be called continuously while the user is scrolling.
+ * It is recommended to set up the cell's DOM structure in
+ * {@link ComplexRenderer#init(RendererCellReference)} and only make
+ * incremental updates based on cell data in this method.
*
* @param cell
* The cell. Note that the cell is a flyweight and should not be
* information in the widget that is cell specific. Do not detach the Widget
* here, it will be done automatically by the Grid when the widget is no
* longer needed.
+ * <p>
+ * For optimal performance, work done in this method should be kept to a
+ * minimum since it will be called continuously while the user is scrolling.
+ * The renderer can use {@link Widget#setLayoutData(Object)} to store cell
+ * data that might be needed in e.g. event listeners.
*
* @param cell
* The cell to render. Note that the cell is a flyweight and