/* * 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 java.util.List; import com.vaadin.shared.MouseEventDetails; import com.vaadin.shared.communication.ServerRpc; import com.vaadin.shared.data.sort.SortDirection; import com.vaadin.shared.ui.grid.GridConstants.Section; /** * Client-to-server RPC interface for the Grid component. * * @since 7.4 * @author Vaadin Ltd */ public interface GridServerRpc extends ServerRpc { void sort(String[] columnIds, SortDirection[] directions, boolean userOriginated); /** * Informs the server that an item has been clicked in Grid. * * @param rowKey * a key identifying the clicked item * @param columnInternalId * column internal id identifying the clicked property * @param details * mouse event details */ void itemClick(String rowKey, String columnInternalId, MouseEventDetails details); /** * Informs the server that a context click has happened inside of Grid. * * @since 7.6 * @param rowIndex * index of clicked row in Grid section * @param rowKey * a key identifying the clicked item * @param columnInternalId * column internal id identifying the clicked property * @param section * grid section (header, footer, body) * @param details * mouse event details */ void contextClick(int rowIndex, String rowKey, String columnInternalId, Section section, MouseEventDetails details); /** * Informs the server that the columns of the Grid have been reordered. * * @since 7.5.0 * @param newColumnOrder * a list of column internal ids in the new order * @param oldColumnOrder * a list of column internal ids in order before the change */ void columnsReordered(List<String> newColumnOrder, List<String> oldColumnOrder); /** * Informs the server that a column's visibility has been changed. * * @since 8.0 * @param columnInternalId * the internal id of the column * @param hidden * <code>true</code> if hidden, <code>false</code> if unhidden */ void columnVisibilityChanged(String columnInternalId, boolean hidden); /** * Informs the server that a column has been resized by the user. * * @since 7.6 * @param columnInternalId * the internal id of the column * @param pixels * the new width of the column in pixels */ void columnResized(String columnInternalId, double pixels); }