Browse Source

Change Grid default selection model to Single (#15435)

Change-Id: Iba651c043fa47125b12d17371947042cbb03a589
tags/7.4.0.beta2
Teemu Suo-Anttila 9 years ago
parent
commit
81165cf0bd

+ 3
- 4
client/src/com/vaadin/client/connectors/GridConnector.java View File

@@ -326,7 +326,7 @@ public class GridConnector extends AbstractHasComponentsConnector implements
*/
private Map<String, CustomGridColumn> columnIdToColumn = new HashMap<String, CustomGridColumn>();

private AbstractRowHandleSelectionModel<JsonObject> selectionModel = createSelectionModel(SharedSelectionMode.NONE);
private AbstractRowHandleSelectionModel<JsonObject> selectionModel;
private Set<String> selectedKeys = new LinkedHashSet<String>();
private List<String> columnOrder = new ArrayList<String>();

@@ -396,8 +396,6 @@ public class GridConnector extends AbstractHasComponentsConnector implements
}
});

getWidget().setSelectionModel(selectionModel);

getWidget().addSelectionHandler(internalSelectionChangeHandler);

getWidget().addSortHandler(new SortHandler<JsonObject>() {
@@ -751,7 +749,8 @@ public class GridConnector extends AbstractHasComponentsConnector implements
}

AbstractRowHandleSelectionModel<JsonObject> model = createSelectionModel(mode);
if (!model.getClass().equals(selectionModel.getClass())) {
if (selectionModel == null
|| !model.getClass().equals(selectionModel.getClass())) {
selectionModel = model;
getWidget().setSelectionModel(model);
selectedKeys.clear();

+ 1
- 1
client/src/com/vaadin/client/widgets/Grid.java View File

@@ -3398,7 +3398,7 @@ public class Grid<T> extends ResizeComposite implements

editor.setGrid(this);

setSelectionMode(SelectionMode.MULTI);
setSelectionMode(SelectionMode.SINGLE);

escalator.addScrollHandler(new ScrollHandler() {
@Override

+ 1
- 1
server/src/com/vaadin/ui/Grid.java View File

@@ -2578,7 +2578,7 @@ public class Grid extends AbstractComponent implements SelectionNotifier,
* Grid initial setup
*/
private void initGrid() {
setSelectionMode(SelectionMode.MULTI);
setSelectionMode(SelectionMode.SINGLE);
addSelectionListener(new SelectionListener() {
@Override
public void select(SelectionEvent event) {

+ 2
- 2
server/tests/src/com/vaadin/tests/server/component/grid/GridSelection.java View File

@@ -99,8 +99,8 @@ public class GridSelection {
}

@Test
public void defaultSelectionModeIsMulti() {
assertTrue(grid.getSelectionModel() instanceof SelectionModel.Multi);
public void defaultSelectionModeIsSingle() {
assertTrue(grid.getSelectionModel() instanceof SelectionModel.Single);
}

@Test(expected = IllegalStateException.class)

+ 4
- 4
uitest/src/com/vaadin/tests/components/grid/GridAddAndRemoveDataOnInitTest.java View File

@@ -31,14 +31,14 @@ public class GridAddAndRemoveDataOnInitTest extends MultiBrowserTest {
openTestURL();

GridElement gridAdd = $(GridElement.class).first();
if (!gridAdd.isElementPresent(By.vaadin("#cell[9][1]"))
|| gridAdd.isElementPresent(By.vaadin("#cell[10][1]"))) {
if (!gridAdd.isElementPresent(By.vaadin("#cell[9][0]"))
|| gridAdd.isElementPresent(By.vaadin("#cell[10][0]"))) {
Assert.fail("Grid with added data contained incorrect rows");
}

GridElement gridRemove = $(GridElement.class).get(1);
if (!gridRemove.isElementPresent(By.vaadin("#cell[4][1]"))
|| gridRemove.isElementPresent(By.vaadin("#cell[5][1]"))) {
if (!gridRemove.isElementPresent(By.vaadin("#cell[4][0]"))
|| gridRemove.isElementPresent(By.vaadin("#cell[5][0]"))) {
Assert.fail("Grid with removed data contained incorrect rows");
}
}

+ 2
- 0
uitest/src/com/vaadin/tests/components/grid/GridAddRow.java View File

@@ -20,6 +20,7 @@ import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Grid;
import com.vaadin.ui.Grid.SelectionMode;

public class GridAddRow extends AbstractTestUI {

@@ -27,6 +28,7 @@ public class GridAddRow extends AbstractTestUI {
protected void setup(VaadinRequest request) {

final Grid grid = new Grid();
grid.setSelectionMode(SelectionMode.MULTI);
grid.addColumn("firstName");
grid.addColumn("age", Integer.class);


+ 2
- 0
uitest/src/com/vaadin/tests/components/grid/GridColspans.java View File

@@ -25,6 +25,7 @@ import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Grid;
import com.vaadin.ui.Grid.FooterRow;
import com.vaadin.ui.Grid.HeaderRow;
import com.vaadin.ui.Grid.SelectionMode;
import com.vaadin.ui.renderer.NumberRenderer;

public class GridColspans extends AbstractTestUI {
@@ -48,6 +49,7 @@ public class GridColspans extends AbstractTestUI {
grid = new Grid(dataSource);
grid.setWidth("600px");
grid.getColumn("zipCode").setRenderer(new NumberRenderer());
grid.setSelectionMode(SelectionMode.MULTI);
addComponent(grid);

HeaderRow row = grid.prependHeaderRow();

+ 4
- 4
uitest/src/com/vaadin/tests/components/grid/GridGeneratedPropertiesTest.java View File

@@ -34,7 +34,7 @@ public class GridGeneratedPropertiesTest extends MultiBrowserTest {
openTestURL();
GridElement grid = $(GridElement.class).first();
assertEquals("Miles header wasn't present.", "miles", grid
.getHeaderCell(0, 3).getText().toLowerCase());
.getHeaderCell(0, 2).getText().toLowerCase());
}

@Test
@@ -43,13 +43,13 @@ public class GridGeneratedPropertiesTest extends MultiBrowserTest {
GridElement grid = $(GridElement.class).first();

// Overwritten foo property should not be sortable
GridCellElement fooHeader = grid.getHeaderCell(0, 1);
GridCellElement fooHeader = grid.getHeaderCell(0, 0);
fooHeader.click();
assertFalse("Column foo was unexpectedly sorted.", fooHeader
.getAttribute("class").contains("sort"));

// Generated property miles is not sortable
GridCellElement milesHeader = grid.getHeaderCell(0, 3);
GridCellElement milesHeader = grid.getHeaderCell(0, 2);
milesHeader.click();
assertFalse("Column miles was unexpectedly sorted.", milesHeader
.getAttribute("class").contains("sort"));
@@ -61,7 +61,7 @@ public class GridGeneratedPropertiesTest extends MultiBrowserTest {
GridElement grid = $(GridElement.class).first();

// Generated property baz is sortable
GridCellElement bazHeader = grid.getHeaderCell(0, 4);
GridCellElement bazHeader = grid.getHeaderCell(0, 3);
bazHeader.click();
assertTrue("Column baz was not sorted ascending", bazHeader
.getAttribute("class").contains("sort-asc"));

+ 2
- 0
uitest/src/com/vaadin/tests/components/grid/GridHeaderStyleNames.java View File

@@ -27,6 +27,7 @@ import com.vaadin.ui.Grid.FooterCell;
import com.vaadin.ui.Grid.FooterRow;
import com.vaadin.ui.Grid.HeaderCell;
import com.vaadin.ui.Grid.HeaderRow;
import com.vaadin.ui.Grid.SelectionMode;

@Theme("valo")
public class GridHeaderStyleNames extends AbstractTestUIWithLog {
@@ -40,6 +41,7 @@ public class GridHeaderStyleNames extends AbstractTestUIWithLog {
@Override
protected void setup(VaadinRequest request) {
Grid grid = new Grid();
grid.setSelectionMode(SelectionMode.MULTI);
grid.setContainerDataSource(BeanItemContainerGenerator
.createContainer(100));


Loading…
Cancel
Save