Implemented sorting UserRoomsList
This commit is contained in:
parent
bf8bdd5325
commit
389097c478
@ -15,6 +15,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import ru.dragonestia.picker.api.repository.RoomRepository;
|
import ru.dragonestia.picker.api.repository.RoomRepository;
|
||||||
import ru.dragonestia.picker.api.repository.UserRepository;
|
import ru.dragonestia.picker.api.repository.UserRepository;
|
||||||
import ru.dragonestia.picker.api.repository.details.RoomDetails;
|
import ru.dragonestia.picker.api.repository.details.RoomDetails;
|
||||||
|
import ru.dragonestia.picker.api.repository.details.UserDetails;
|
||||||
import ru.dragonestia.picker.api.repository.response.type.RRoom;
|
import ru.dragonestia.picker.api.repository.response.type.RRoom;
|
||||||
import ru.dragonestia.picker.api.repository.response.type.RUser;
|
import ru.dragonestia.picker.api.repository.response.type.RUser;
|
||||||
import ru.dragonestia.picker.cp.util.RouteParamsExtractor;
|
import ru.dragonestia.picker.cp.util.RouteParamsExtractor;
|
||||||
@ -51,11 +52,17 @@ public class UserDetailsPage extends VerticalLayout implements BeforeEnterObserv
|
|||||||
private Grid<RRoom.Short> createGrid() {
|
private Grid<RRoom.Short> createGrid() {
|
||||||
var grid = new Grid<RRoom.Short>();
|
var grid = new Grid<RRoom.Short>();
|
||||||
|
|
||||||
grid.addColumn(RRoom.Short::id).setHeader("Room identifier");
|
grid.addColumn(RRoom.Short::id).setHeader("Room identifier").setSortable(true);
|
||||||
|
|
||||||
grid.addColumn(RRoom.Short::nodeId).setHeader("Node identifier");
|
grid.addColumn(RRoom.Short::nodeId).setHeader("Node identifier").setSortable(true);
|
||||||
|
|
||||||
grid.addColumn(room -> room.details().get(RoomDetails.COUNT_USERS)).setHeader("Users");
|
grid.addColumn(room -> room.details().get(RoomDetails.COUNT_USERS)).setHeader("Users")
|
||||||
|
.setComparator((room1, room2) -> {
|
||||||
|
var r1 = Integer.parseInt(room1.details().get(RoomDetails.COUNT_USERS));
|
||||||
|
var r2 = Integer.parseInt(room2.details().get(RoomDetails.COUNT_USERS));
|
||||||
|
|
||||||
|
return Integer.compare(r1, r2);
|
||||||
|
}).setSortable(true);
|
||||||
|
|
||||||
grid.addComponentColumn(room -> {
|
grid.addComponentColumn(room -> {
|
||||||
var button = new Button("Details");
|
var button = new Button("Details");
|
||||||
@ -65,6 +72,8 @@ public class UserDetailsPage extends VerticalLayout implements BeforeEnterObserv
|
|||||||
});
|
});
|
||||||
return button;
|
return button;
|
||||||
}).setHeader("Other");
|
}).setHeader("Other");
|
||||||
|
|
||||||
|
grid.setMultiSort(true, Grid.MultiSortPriority.APPEND);
|
||||||
return grid;
|
return grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user