Skip to content

Commit b3076be

Browse files
javier-godoypaodb
authored andcommitted
feat: add public method forEachGrid
Close #94
1 parent f4b33df commit b3076be

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

src/main/java/com/flowingcode/vaadin/addons/twincolgrid/TwinColGrid.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,11 @@ private void forEachSide(Consumer<TwinColModel<T>> consumer) {
405405
consumer.accept(selection);
406406
}
407407

408+
public final void forEachGrid(Consumer<Grid<T>> consumer) {
409+
consumer.accept(available.grid);
410+
consumer.accept(selection.grid);
411+
}
412+
408413
public void setItems(Collection<T> items) {
409414
setDataProvider(DataProvider.ofCollection(items));
410415
}
@@ -563,9 +568,7 @@ public TwinColGrid<T> addSortableColumn(
563568
final ItemLabelGenerator<T> itemLabelGenerator,
564569
Comparator<T> comparator,
565570
final String header) {
566-
forEachSide(
567-
side ->
568-
side.grid
571+
forEachGrid(grid -> grid
569572
.addColumn(new TextRenderer<>(itemLabelGenerator))
570573
.setHeader(header)
571574
.setComparator(comparator)
@@ -589,9 +592,7 @@ public TwinColGrid<T> addSortableColumn(
589592
Comparator<T> comparator,
590593
final String header,
591594
final String key) {
592-
forEachSide(
593-
side ->
594-
side.grid
595+
forEachGrid(grid -> grid
595596
.addColumn(new TextRenderer<>(itemLabelGenerator))
596597
.setHeader(header)
597598
.setComparator(comparator)
@@ -791,10 +792,9 @@ private void updateSelection(final Set<T> addedItems, final Set<T> removedItems)
791792
selection.getItems().addAll(addedItems);
792793
selection.getItems().removeAll(removedItems);
793794

794-
forEachSide(
795-
side -> {
796-
side.getDataProvider().refreshAll();
797-
side.grid.getSelectionModel().deselectAll();
795+
forEachGrid(grid -> {
796+
grid.getDataProvider().refreshAll();
797+
grid.getSelectionModel().deselectAll();
798798
});
799799
}
800800

@@ -969,16 +969,15 @@ public TwinColGrid<T> addFilterableColumn(ItemLabelGenerator<T> itemLabelGenerat
969969
}
970970

971971
public TwinColGrid<T> selectRowOnClick() {
972-
forEachSide(
973-
side -> {
974-
side.grid.addClassName("hide-selector-col");
972+
forEachGrid(grid -> {
973+
grid.addClassName("hide-selector-col");
975974

976-
side.grid.addItemClickListener(
975+
grid.addItemClickListener(
977976
c -> {
978-
if (side.grid.getSelectedItems().contains(c.getItem())) {
979-
side.grid.deselect(c.getItem());
977+
if (grid.getSelectedItems().contains(c.getItem())) {
978+
grid.deselect(c.getItem());
980979
} else {
981-
side.grid.select(c.getItem());
980+
grid.select(c.getItem());
982981
}
983982
});
984983
});

0 commit comments

Comments
 (0)