Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.advance.common.entity.TestEntity;
- import io.jmix.core.DataManager;
- import io.jmix.core.LoadContext;
- import io.jmix.ui.Notifications;
- import io.jmix.ui.UiComponents;
- import io.jmix.ui.component.Button;
- import io.jmix.ui.component.Component;
- import io.jmix.ui.component.DataGrid.ColumnGeneratorEvent;
- import io.jmix.ui.component.HBoxLayout;
- import io.jmix.ui.component.LinkButton;
- import io.jmix.ui.model.CollectionLoader;
- import io.jmix.ui.screen.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import java.util.List;
- import static io.jmix.ui.icon.JmixIcon.TOGGLE_ON;
- @UiController("Test.browse")
- @UiDescriptor("test-browse.xml")
- public class TestBrowse extends StandardLookup<TestEntity> {
- @Autowired private DataManager dataManager;
- @Autowired private UiComponents uiComponents;
- @Autowired private Notifications notifications;
- @Autowired private CollectionLoader<TestEntity> testDl;
- @Subscribe
- public void onBeforeShow(final BeforeShowEvent event) {
- testDl.load();
- }
- @Subscribe("refreshBtn")
- public void onRefreshBtnClick(Button.ClickEvent event) {
- testDl.load();
- }
- @Install(to = "testDl", target = Target.DATA_LOADER)
- private List<TestEntity> testDlLoadDelegate(final LoadContext<TestEntity> loadContext) {
- return dataManager.load(TestEntity.class).all().list();
- }
- @Install(to = "testTable.id", subject = "columnGenerator")
- private String testTableIdCoulmnGeneratr(ColumnGeneratorEvent<TestEntity> event) {
- return event.getItem()
- .getId()
- .toString();
- }
- @Install(to = "testTable.name", subject = "columnGenerator")
- private String testTableNameCoulmnGeneratr(ColumnGeneratorEvent<TestEntity> event) {
- return event.getItem()
- .getName();
- }
- @Install(to = "testTable.description", subject = "columnGenerator")
- private String testTableDescriptionCoulmnGeneratr(ColumnGeneratorEvent<TestEntity> event) {
- return event.getItem()
- .getDescription();
- }
- @Install(to = "testTable.actions", subject = "columnGenerator")
- private Component testTableActionsCoulmnGeneratr(ColumnGeneratorEvent<TestEntity> event) {
- var hbox = uiComponents.create(HBoxLayout.class);
- var firstButton = createButton("first");
- var secondButton = createButton("second");
- hbox.add(firstButton);
- hbox.add(secondButton);
- return hbox;
- }
- private Button createButton(String id) {
- var button = uiComponents.create(LinkButton.class);
- button.setIcon(TOGGLE_ON.source());
- button.addClickListener(e ->
- notifications.create()
- .withCaption(id + " was clicked")
- .show());
- return button;
- }
- }
Add Comment
Please, Sign In to add comment