use of test_support.entity.model_objects.CommentObject in project jmix by jmix-framework.
the class TestProgrammaticCommentaryPanel method addMessage.
protected void addMessage(String text) {
if (getCommentProvider() == null) {
return;
}
CommentObject comment = getCommentProvider().apply(text);
DataGridItems<CommentObject> items = commentsDataGrid.getItems();
if (items instanceof ContainerDataUnit) {
// noinspection unchecked
CollectionContainer<CommentObject> container = ((ContainerDataUnit<CommentObject>) items).getContainer();
container.getMutableItems().add(comment);
} else {
throw new IllegalStateException("Items must implement ContainerDataUnit");
}
}
use of test_support.entity.model_objects.CommentObject in project jmix by jmix-framework.
the class TestProgrammaticCommentaryPanel method initComponent.
protected void initComponent(ComponentContainer composition) {
commentsDataGrid.addGeneratedColumn("comment", event -> {
CommentObject item = event.getItem();
return "<p class=\"message-text\">" + item.getText() + "</p>";
});
commentsDataGrid.setRowDescriptionProvider(CommentObject::getText);
sendBtn.addClickListener(clickEvent -> sendMessage());
messageField.addEnterPressListener(enterPressEvent -> sendMessage());
}
use of test_support.entity.model_objects.CommentObject in project jmix by jmix-framework.
the class TestProgrammaticCommentaryPanel method createComponent.
protected void createComponent() {
VBoxLayout rootPanel = uiComponents.create(VBoxLayout.class);
rootPanel.setId("rootPanel");
rootPanel.setMargin(true);
rootPanel.setSpacing(true);
rootPanel.setStyleName("commentary-panel card");
rootPanel.setWidthFull();
DataGrid<CommentObject> commentsDataGrid = uiComponents.create(DataGrid.of(CommentObject.class));
commentsDataGrid.setId("commentsDataGrid");
commentsDataGrid.setBodyRowHeight(100);
commentsDataGrid.setColumnReorderingAllowed(false);
commentsDataGrid.setColumnsCollapsingAllowed(false);
commentsDataGrid.setHeaderVisible(false);
commentsDataGrid.setSelectionMode(DataGrid.SelectionMode.NONE);
commentsDataGrid.setWidthFull();
CssLayout sendMessageBox = uiComponents.create(CssLayout.class);
sendMessageBox.setId("sendMessageBox");
sendMessageBox.setStyleName("v-component-group message-box");
sendMessageBox.setWidthFull();
TextField<String> messageField = uiComponents.create(TextField.TYPE_STRING);
messageField.setId("messageField");
messageField.setInputPrompt("Enter your message");
messageField.setWidthFull();
Button sendBtn = uiComponents.create(Button.class);
sendBtn.setId("sendBtn");
sendBtn.setCaption("Send");
sendMessageBox.add(messageField, sendBtn);
rootPanel.add(commentsDataGrid, sendMessageBox);
rootPanel.expand(commentsDataGrid);
setComposition(rootPanel);
}
use of test_support.entity.model_objects.CommentObject in project jmix by jmix-framework.
the class TestCommentaryPanel method addMessage.
protected void addMessage(String text) {
if (getCommentProvider() == null) {
return;
}
CommentObject comment = getCommentProvider().apply(text);
DataGridItems<CommentObject> items = commentsDataGrid.getItems();
if (items instanceof ContainerDataUnit) {
// noinspection unchecked
CollectionContainer<CommentObject> container = ((ContainerDataUnit<CommentObject>) items).getContainer();
container.getMutableItems().add(comment);
} else {
throw new IllegalStateException("Items must implement ContainerDataUnit");
}
}
use of test_support.entity.model_objects.CommentObject in project jmix by jmix-framework.
the class TestCommentaryPanel method initComponent.
protected void initComponent() {
commentsDataGrid.addGeneratedColumn("comment", event -> {
CommentObject item = event.getItem();
return "<p class=\"message-text\">" + item.getText() + "</p>";
});
commentsDataGrid.setRowDescriptionProvider(CommentObject::getText);
sendBtn.addClickListener(clickEvent -> sendMessage());
messageField.addEnterPressListener(enterPressEvent -> sendMessage());
}
Aggregations