use of com.vaadin.flow.component.orderedlayout.FlexComponent.Alignment.CENTER in project furms by unity-idm.
the class PendingRequestsView method createPendingMessagesGrid.
private Grid<PendingMessageGridModel> createPendingMessagesGrid(Map<CorrelationId, Checkbox> checkboxes, Component mainContextMenu) {
Grid<PendingMessageGridModel> grid;
grid = new DenseGrid<>(PendingMessageGridModel.class);
grid.addComponentColumn(pendingMessageGridModel -> {
Checkbox checkbox = new Checkbox();
checkboxes.put(pendingMessageGridModel.id, checkbox);
HorizontalLayout horizontalLayout = new HorizontalLayout(checkbox, grid.isDetailsVisible(pendingMessageGridModel) ? ANGLE_DOWN.create() : ANGLE_RIGHT.create(), new Paragraph(getTranslationOrDefault("view.site-admin.pending-requests.page.grid.operation-type." + pendingMessageGridModel.operationType, pendingMessageGridModel.operationType)));
horizontalLayout.setAlignItems(CENTER);
return horizontalLayout;
}).setHeader(new HorizontalLayout(mainContextMenu, new Label(getTranslation("view.site-admin.pending-requests.page.grid.1")))).setFlexGrow(2);
grid.addColumn(model -> model.status).setHeader(getTranslation("view.site-admin.pending-requests.page.grid.2")).setSortable(true);
grid.addColumn(model -> model.sentAt.format(dateTimeFormatter)).setHeader(getTranslation("view.site-admin.pending-requests.page.grid.3")).setSortable(true);
grid.addColumn(model -> Optional.ofNullable(model.ackAt).map(ackTime -> ackTime.format(dateTimeFormatter)).orElse("")).setHeader(getTranslation("view.site-admin.pending-requests.page.grid.4")).setSortable(true);
grid.addColumn(model -> model.retryAmount).setHeader(getTranslation("view.site-admin.pending-requests.page.grid.5")).setSortable(true);
grid.addComponentColumn(this::createContextMenu).setHeader(getTranslation("view.site-admin.pending-requests.page.grid.6")).setTextAlign(ColumnTextAlign.END);
grid.setItemDetailsRenderer(new ComponentRenderer<>(data -> {
Paragraph json = new Paragraph(data.json);
json.getStyle().set("font-family", "monospace");
json.getStyle().set("word-wrap", "break-word");
json.getElement().getStyle().set("white-space", "pre-wrap");
return json;
}));
return grid;
}
Aggregations