From 59157179b6e5099952f827485e16b67a88831ebf Mon Sep 17 00:00:00 2001 From: caalador Date: Thu, 2 Feb 2017 14:01:19 +0200 Subject: Add scrollTo methods to Grid (#8203) (#8410) * Add scroll methods to serverside grid (#8203) Added scrollToTop(), scrollToEnd() and scrollTo(int row) * Fix scrolling to view of opened details (#8203) Removed dependency for DetailsManagerConnector from GridConnector. GridConnector now handles one off listeners. * Rename detailsRefresh to better show that it's one-off. Add missing copyright header. --- .../com/vaadin/shared/ui/grid/GridClientRpc.java | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 shared/src/main/java/com/vaadin/shared/ui/grid/GridClientRpc.java (limited to 'shared/src') diff --git a/shared/src/main/java/com/vaadin/shared/ui/grid/GridClientRpc.java b/shared/src/main/java/com/vaadin/shared/ui/grid/GridClientRpc.java new file mode 100644 index 0000000000..b560d6a14e --- /dev/null +++ b/shared/src/main/java/com/vaadin/shared/ui/grid/GridClientRpc.java @@ -0,0 +1,53 @@ +/* + * Copyright 2000-2016 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.shared.ui.grid; + +import com.vaadin.shared.communication.ClientRpc; + +/** + * Server-to-client RPC interface for the Grid component. + * + * @since 7.4 + * @author Vaadin Ltd + */ +public interface GridClientRpc extends ClientRpc { + + /** + * Command client Grid to scroll to a specific data row and its (optional) + * details. + * + * @param row + * zero-based row index. If the row index is below zero or above + * the row count of the client-side data source, a client-side + * exception will be triggered. Since this exception has no + * handling by default, an out-of-bounds value will cause a + * client-side crash. + * @param destination + * desired placement of scrolled-to row. See the documentation + * for {@link ScrollDestination} for more information. + */ + public void scrollToRow(int row, ScrollDestination destination); + + /** + * Command client Grid to scroll to the first row. + */ + public void scrollToStart(); + + /** + * Command client Grid to scroll to the last row. + */ + public void scrollToEnd(); +} -- cgit v1.2.3