com.vaadin.flow.component.textfield.TextField.setPlaceholder()

Here are the examples of the java api com.vaadin.flow.component.textfield.TextField.setPlaceholder() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

10 Examples 7

15 Source : FilteredGrid.java
with Apache License 2.0
from kochetkov-ma

private void addFilter(Col<T> spec, HeaderRow.HeaderCell headerCell) {
    final TextField filterField = new TextField();
    filterField.addValueChangeListener(event -> {
        dataProvider.addFilter(row -> {
            var value = spec.getValue().apply(row);
            return StringUtils.containsIgnoreCase(Str.toStr(value), filterField.getValue());
        });
        updateFooters();
    });
    filterField.setValueChangeMode(ValueChangeMode.LAZY);
    filterField.setValueChangeTimeout(1000);
    filterField.setClearButtonVisible(true);
    filterField.setPlaceholder("Filter contains ...");
    headerCell.setComponent(filterField);
}

12 Source : ListView.java
with The Unlicense
from vaadin-learning-center

private HorizontalLayout getToolBar() {
    filterText.setPlaceholder("Filter by name...");
    filterText.setClearButtonVisible(true);
    filterText.setValueChangeMode(ValueChangeMode.LAZY);
    filterText.addValueChangeListener(e -> updateList());
    Button addContactButton = new Button("Add contact", click -> addContact());
    HorizontalLayout toolbar = new HorizontalLayout(filterText, addContactButton);
    toolbar.addClreplacedName("toolbar");
    return toolbar;
}

11 Source : JwtGeneratorView.java
with Apache License 2.0
from alibaba

VerticalLayout makeGeneratorForm() {
    VerticalLayout content = new VerticalLayout();
    appNameText = new TextField("App Name");
    appNameText.setWidth("300px");
    appNameText.setPlaceholder("your-app-name");
    ownersText = new TextField("Owners");
    ownersText.setWidth("300px");
    orgIdsText = new TextField("Org IDs");
    orgIdsText.setPlaceholder("1");
    orgIdsText.setWidth("300px");
    serviceAccountsText = new TextField("Service Accounts");
    serviceAccountsText.setValue("default");
    serviceAccountsText.setWidth("300px");
    rolesText = new TextField("Roles");
    rolesText.setWidth("300px");
    rolesText.setValue("user");
    authoritiesText = new TextField("Authorities");
    rolesText.setWidth("300px");
    rolesText.setValue("");
    tokenTextArea = new TextArea("JWT Token");
    tokenTextArea.setWidth("800px");
    tokenTextArea.setHeight("240px");
    tokenTextArea.setReadOnly(true);
    rolesText.setWidth("200px");
    HorizontalLayout buttons = new HorizontalLayout();
    generateBtn = new Button("Generate", buttonClickEvent -> {
        String appName = appNameText.getValue();
        String[] orgIds = orgIdsText.getValue().trim().split("[,;\\s]*");
        String[] serviceAccounts = serviceAccountsText.getValue().trim().split("[,;\\s]*");
        String[] owners = ownersText.getValue().trim().split("[,;\\s]*");
        String[] roles = rolesText.getValue().trim().split("[,;\\s]*");
        String[] authorities = authoritiesText.getValue().trim().split("[,;\\s]*");
        try {
            String token = authenticationService.generateCredentials(UUID.randomUUID().toString(), orgIds, serviceAccounts, roles, authorities, appName, owners);
            tokenTextArea.setValue(token);
        } catch (Exception ignore) {
        }
    });
    content.add(appNameText);
    content.add(ownersText);
    content.add(orgIdsText);
    content.add(serviceAccountsText);
    content.add(rolesText);
    content.add(authoritiesText);
    content.add(tokenTextArea);
    buttons.add(generateBtn);
    buttons.add(new Button("Clear", buttonClickEvent -> {
        clearForm();
    }));
    content.add(buttons);
    return content;
}

9 Source : UserToGroupView.java
with MIT License
from netcore-jsa

private void buildView() {
    setHeightFull();
    setSpacing(false);
    RoleDto role = securityService.getLoggedUserRole();
    Grid<RadiusUserToGroupDto> grid = new Grid<>(RadiusUserToGroupDto.clreplaced, false);
    grid.addColumns("username", "groupName", "userInRadman", "groupInRadman");
    DataProvider<RadiusUserToGroupDto, Object> dataProvider = new SpringDataProviderBuilder<>((pageable, o) -> userService.pageRadiusUserToGroupRecords(filter, pageable), value -> userService.countRadiusUserToGroupRecords(filter)).withDefaultSort("username", SortDirection.ASCENDING).build();
    grid.setDataProvider(dataProvider);
    grid.setSortableColumns("username", "groupName");
    grid.setColumnReorderingAllowed(true);
    grid.setMinHeight("500px");
    grid.setHeight("100%");
    Button addUserToGroup = new Button("Add user to group", event -> {
        AddUserToGroupDialog addDialog = new AddUserToGroupDialog((source, bean) -> grid.getDataProvider().refreshAll());
        addDialog.startAdding();
    });
    addUserToGroup.setEnabled(role == RoleDto.ADMIN);
    ConfirmationDialog deleteDialog = new ConfirmationDialog();
    deleteDialog.setreplacedle("Delete User to Group mapping");
    deleteDialog.setDescription("Are you sure?");
    deleteDialog.setConfirmButtonCaption("Delete");
    deleteDialog.setConfirmListener(() -> {
        Optional<RadiusUserToGroupDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        try {
            optional.ifPresent(userService::removeRadiusUserFromGroup);
            grid.getDataProvider().refreshAll();
        } catch (Exception e) {
            log.warn("Failed to delete user to group mapping. Reason = '{}'", e.getMessage());
            ErrorNotification.show("Error", "Ooops, something went wrong, try again please");
        }
        deleteDialog.setOpened(false);
    });
    Button removeUserFromGroup = new Button("Remove user from group", event -> deleteDialog.setOpened(true));
    removeUserFromGroup.setEnabled(false);
    grid.replacedingleSelect().addValueChangeListener(event -> removeUserFromGroup.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN));
    TextField search = new TextField(event -> {
        filter.setSearchText(event.getValue());
        grid.getDataProvider().refreshAll();
    });
    search.setValueChangeMode(ValueChangeMode.EAGER);
    search.setPlaceholder("Search...");
    add(new H4("Data from Radius DB - \"radusergroup\" table"));
    HorizontalLayout horizontalLayout = new HorizontalLayout();
    horizontalLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.BASELINE);
    horizontalLayout.add(new H3("Users to Groups"));
    horizontalLayout.add(addUserToGroup);
    horizontalLayout.add(removeUserFromGroup);
    horizontalLayout.add(search);
    add(horizontalLayout);
    add(grid);
}

9 Source : UsersView.java
with MIT License
from netcore-jsa

private void buildView() {
    setHeightFull();
    setSpacing(false);
    RoleDto role = securityService.getLoggedUserRole();
    Grid<RadiusUserDto> grid = new Grid<>(RadiusUserDto.clreplaced, false);
    grid.addColumns("username", "description");
    DataProvider<RadiusUserDto, Object> dataProvider = new SpringDataProviderBuilder<>((pageable, o) -> userService.pageRadiusUsers(filter, pageable), value -> userService.countRadiusUsers(filter)).withDefaultSort("id", SortDirection.ASCENDING).build();
    grid.getColumns().forEach(column -> column.setResizable(true));
    grid.setDataProvider(dataProvider);
    grid.setMinHeight("500px");
    grid.setHeight("100%");
    UserCreationDialog creationDialog = new UserCreationDialog((source, bean) -> grid.getDataProvider().refreshAll());
    UserEditDialog editDialog = new UserEditDialog((source, bean) -> grid.getDataProvider().refrereplacedem(bean));
    Checkbox removeFromRadius = new Checkbox("Remove from Radius");
    ConfirmationDialog deleteDialog = new ConfirmationDialog("400px");
    deleteDialog.setreplacedle("Delete Radius user");
    deleteDialog.setConfirmButtonCaption("Delete");
    deleteDialog.setConfirmListener(() -> {
        Optional<RadiusUserDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        optional.ifPresent(radiusUserDto -> {
            try {
                userService.deleteRadiusUser(radiusUserDto, removeFromRadius.getValue());
                grid.getDataProvider().refreshAll();
            } catch (Exception e) {
                log.warn("Failed to delete user. Reason = '{}'", e.getMessage());
                ErrorNotification.show("Error", "Ooops, something went wrong, try again please");
            }
        });
        deleteDialog.setOpened(false);
    });
    deleteDialog.addOpenedChangeListener(event -> {
        if (event.isOpened()) {
            removeFromRadius.setValue(false);
        }
    });
    Button createBtn = new Button("Create", event -> creationDialog.startCreation());
    createBtn.setEnabled(role == RoleDto.ADMIN);
    Button editBtn = new Button("Edit", event -> {
        RadiusUserDto dto = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
        if (Objects.nonNull(dto)) {
            editDialog.edit(dto);
            deleteDialog.setOpened(false);
        }
    });
    editBtn.setEnabled(false);
    Button deleteBtn = new Button("Delete", event -> {
        Optional<RadiusUserDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        optional.ifPresent(radiusUserDto -> {
            deleteDialog.setContent(removeFromRadius, new Label("Are you sure you want to delete '" + radiusUserDto.getUsername() + "' user?"));
            deleteDialog.setOpened(true);
        });
    });
    deleteBtn.setEnabled(false);
    Button loadUsers = new Button("Load from Radius", event -> {
        LoadingResult result = userService.loadRadiusUsersFromRadiusDB();
        LoadingResultNotification.show("Users load result", result);
        grid.getDataProvider().refreshAll();
    });
    loadUsers.setEnabled(role == RoleDto.ADMIN);
    grid.replacedingleSelect().addValueChangeListener(event -> {
        editBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
        deleteBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
    });
    TextField search = new TextField(event -> {
        filter.setSearchText(event.getValue());
        grid.getDataProvider().refreshAll();
    });
    search.setValueChangeMode(ValueChangeMode.EAGER);
    search.setPlaceholder("Search...");
    add(new H4("Data from RadMan DB"));
    HorizontalLayout horizontalLayout = new HorizontalLayout();
    horizontalLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.BASELINE);
    horizontalLayout.add(new H3("Users"));
    horizontalLayout.add(createBtn);
    horizontalLayout.add(editBtn);
    horizontalLayout.add(deleteBtn);
    horizontalLayout.add(loadUsers);
    horizontalLayout.add(search);
    add(horizontalLayout);
    add(grid);
}

9 Source : UserGroupsView.java
with MIT License
from netcore-jsa

private void buildView() {
    setHeightFull();
    setSpacing(false);
    RoleDto role = securityService.getLoggedUserRole();
    Grid<RadiusGroupDto> grid = new Grid<>(RadiusGroupDto.clreplaced, false);
    grid.addColumns("name", "description");
    DataProvider<RadiusGroupDto, Object> dataProvider = new SpringDataProviderBuilder<>((pageable, o) -> service.pageRadiusUsersGroup(filter, pageable), value -> service.countRadiusUsersGroup(filter)).withDefaultSort("id", SortDirection.ASCENDING).build();
    grid.getColumns().forEach(column -> column.setResizable(true));
    grid.setDataProvider(dataProvider);
    grid.setMinHeight("500px");
    grid.setHeight("100%");
    UserGroupCreationDialog creationDialog = new UserGroupCreationDialog((source, bean) -> grid.getDataProvider().refreshAll());
    UserGroupEditDialog editDialog = new UserGroupEditDialog((source, bean) -> grid.getDataProvider().refrereplacedem(bean));
    Checkbox removeFromRadius = new Checkbox("Remove from Radius");
    ConfirmationDialog deleteDialog = new ConfirmationDialog("400px");
    deleteDialog.setreplacedle("Delete Radius group");
    deleteDialog.setContent(removeFromRadius, new Label("Are you sure?"));
    deleteDialog.setConfirmButtonCaption("Delete");
    deleteDialog.setConfirmListener(() -> {
        Optional<RadiusGroupDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        optional.ifPresent(radiusGroupDto -> {
            try {
                service.deleteRadiusUsersGroup(radiusGroupDto, removeFromRadius.getValue());
                grid.getDataProvider().refreshAll();
            } catch (Exception e) {
                log.warn("Failed to delete users group. Reason = '{}'", e.getMessage());
                ErrorNotification.show("Error", "Ooops, something went wrong, try again please");
            }
        });
        deleteDialog.setOpened(false);
    });
    deleteDialog.addOpenedChangeListener(event -> {
        if (event.isOpened()) {
            removeFromRadius.setValue(false);
        }
    });
    Button createBtn = new Button("Create", event -> creationDialog.startCreation());
    createBtn.setEnabled(role == RoleDto.ADMIN);
    Button editBtn = new Button("Edit", event -> {
        RadiusGroupDto dto = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
        if (Objects.nonNull(dto)) {
            editDialog.edit(dto);
            deleteDialog.setOpened(false);
        }
    });
    editBtn.setEnabled(false);
    Button deleteBtn = new Button("Delete", event -> {
        Optional<RadiusGroupDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        optional.ifPresent(radiusGroupDto -> {
            deleteDialog.setContent(removeFromRadius, new Label("Are you sure you want to delete '" + radiusGroupDto.getName() + "' user group?"));
            deleteDialog.setOpened(true);
        });
    });
    deleteBtn.setEnabled(false);
    Button loadUserGroups = new Button("Load from Radius", event -> {
        LoadingResult result = service.loadRadiusGroupsFromRadiusDB();
        LoadingResultNotification.show("Groups load result", result);
        grid.getDataProvider().refreshAll();
    });
    loadUserGroups.setEnabled(role == RoleDto.ADMIN);
    grid.replacedingleSelect().addValueChangeListener(event -> {
        editBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
        deleteBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
    });
    TextField search = new TextField(event -> {
        filter.setSearchText(event.getValue());
        grid.getDataProvider().refreshAll();
    });
    search.setValueChangeMode(ValueChangeMode.EAGER);
    search.setPlaceholder("Search...");
    add(new H4("Data from RadMan DB"));
    HorizontalLayout horizontalLayout = new HorizontalLayout();
    horizontalLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.BASELINE);
    horizontalLayout.add(new H3("Users"));
    horizontalLayout.add(createBtn);
    horizontalLayout.add(editBtn);
    horizontalLayout.add(deleteBtn);
    horizontalLayout.add(loadUserGroups);
    horizontalLayout.add(search);
    add(horizontalLayout);
    add(grid);
}

8 Source : SystemUsersView.java
with MIT License
from netcore-jsa

@SuppressWarnings("Duplicates")
private void buildView() {
    setHeightFull();
    setSpacing(false);
    RoleDto role = securityService.getLoggedUserRole();
    if (role == RoleDto.READ_ONLY) {
        add(new H2("Sorry, you don't have access to this view"));
    } else {
        Grid<SystemUserDto> grid = new Grid<>(SystemUserDto.clreplaced, false);
        grid.addColumns("username", "role");
        grid.addColumn(new LocalDateTimeRenderer<>(systemUserDto -> {
            if (systemUserDto.getLastLoginTime() == null) {
                return null;
            }
            return LocalDateTime.ofEpochSecond(systemUserDto.getLastLoginTime(), 0, OffsetDateTime.now().getOffset());
        }, DateTimeFormatter.ofPattern("EEEE, MMMM d, yyyy h:mm, a", Locale.US), "never")).setSortable(true).setHeader("Last login time").setSortProperty("lastLoginTime");
        grid.addColumn("authProvider").setHeader("Authentication provider");
        DataProvider<SystemUserDto, Object> dataProvider = new SpringDataProviderBuilder<>((pageable, o) -> service.pageSystemUsers(filter.getSearchText(), pageable), value -> service.countSystemUsers(filter.getSearchText())).withDefaultSort("id", SortDirection.ASCENDING).build();
        grid.getColumns().forEach(column -> column.setResizable(true));
        grid.setColumnReorderingAllowed(true);
        grid.setDataProvider(dataProvider);
        grid.setMinHeight("500px");
        grid.setHeight("100%");
        SystemUserCreationDialog createDialog = new SystemUserCreationDialog((source, bean) -> grid.getDataProvider().refreshAll());
        SystemUserEditDialog editDialog = new SystemUserEditDialog((source, bean) -> grid.getDataProvider().refrereplacedem(bean));
        ConfirmationDialog deleteDialog = new ConfirmationDialog();
        deleteDialog.setreplacedle("Delete system user");
        deleteDialog.setConfirmButtonCaption("Confirm");
        deleteDialog.setConfirmListener(() -> {
            SystemUserDto user = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
            if (Objects.nonNull(user)) {
                service.deleteSystemUser(user);
                grid.getDataProvider().refreshAll();
                deleteDialog.setOpened(false);
            }
        });
        Button createBtn = new Button("Create", event -> createDialog.startCreation());
        Button editBtn = new Button("Edit", event -> {
            SystemUserDto user = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
            if (Objects.nonNull(user)) {
                editDialog.edit(user);
            }
        });
        editBtn.setEnabled(false);
        Button deleteBtn = new Button("Delete", event -> {
            SystemUserDto user = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
            if (Objects.nonNull(user)) {
                deleteDialog.setDescription("Are you sure you want to delete '" + user.getUsername() + "' user?");
                deleteDialog.setOpened(true);
            }
        });
        deleteBtn.setEnabled(false);
        grid.replacedingleSelect().addValueChangeListener(event -> {
            editBtn.setEnabled(Objects.nonNull(event.getValue()));
            deleteBtn.setEnabled(Objects.nonNull(event.getValue()));
        });
        TextField search = new TextField(event -> {
            filter.setSearchText(event.getValue());
            grid.getDataProvider().refreshAll();
        });
        search.setValueChangeMode(ValueChangeMode.EAGER);
        search.setPlaceholder("Search...");
        add(new H4("Data from RadMan DB"));
        HorizontalLayout horizontalLayout = new HorizontalLayout();
        horizontalLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.BASELINE);
        horizontalLayout.add(new H3("System users"));
        horizontalLayout.add(createBtn);
        horizontalLayout.add(editBtn);
        horizontalLayout.add(deleteBtn);
        horizontalLayout.add(search);
        add(horizontalLayout);
        add(grid);
    }
}

8 Source : NasGroupsView.java
with MIT License
from netcore-jsa

private void buildView() {
    setHeightFull();
    setSpacing(false);
    RoleDto role = securityService.getLoggedUserRole();
    Grid<NasGroupDto> grid = new Grid<>(NasGroupDto.clreplaced, false);
    grid.setColumns("groupName", "nasIpAddress", "nasPortId");
    DataProvider<NasGroupDto, Object> dataProvider = new SpringDataProviderBuilder<>((pageable, o) -> nreplacedervice.pageNasGroupRecords(filter.getSearchText(), pageable), value -> nreplacedervice.countNasGroupRecords(filter.getSearchText())).withDefaultSort("id", SortDirection.ASCENDING).build();
    grid.getColumns().forEach(column -> column.setResizable(true));
    grid.setColumnReorderingAllowed(true);
    grid.setDataProvider(dataProvider);
    grid.setMinHeight("500px");
    grid.setHeight("100%");
    NasGroupCreateDialog createDialog = new NasGroupCreateDialog(nreplacedervice, (source, bean) -> grid.getDataProvider().refreshAll());
    NasGroupEditDialog editDialog = new NasGroupEditDialog(nreplacedervice, (source, bean) -> grid.getDataProvider().refrereplacedem(bean));
    ConfirmationDialog deleteDialog = new ConfirmationDialog("400px");
    deleteDialog.setreplacedle("Delete NAS group");
    deleteDialog.setConfirmButtonCaption("Delete");
    deleteDialog.setConfirmListener(() -> {
        Optional<NasGroupDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        optional.ifPresent(nasGroupDto -> {
            try {
                nreplacedervice.deleteNasGroup(nasGroupDto);
                grid.getDataProvider().refreshAll();
            } catch (Exception e) {
                log.warn("Failed to delete NAS group. Reason = '{}'", e.getMessage());
                ErrorNotification.show("Error", "Ooops, something went wrong, try again please");
            }
            deleteDialog.setOpened(false);
        });
    });
    Button createBtn = new Button("Create", event -> createDialog.startNasGroupCreation());
    createBtn.setEnabled(role == RoleDto.ADMIN);
    Button editBtn = new Button("Edit", event -> {
        NasGroupDto dto = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
        if (Objects.nonNull(dto)) {
            editDialog.editNasGroup(dto);
        }
    });
    editBtn.setEnabled(false);
    Button deleteBtn = new Button("Delete", event -> {
        Optional<NasGroupDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        optional.ifPresent(nasGroupDto -> {
            deleteDialog.setDescription("Are you sure you want to delete '" + nasGroupDto.getGroupName() + "' NAS group?");
            deleteDialog.setOpened(true);
        });
    });
    deleteBtn.setEnabled(false);
    grid.replacedingleSelect().addValueChangeListener(event -> {
        editBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
        deleteBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
    });
    TextField search = new TextField(event -> {
        filter.setSearchText(event.getValue());
        grid.getDataProvider().refreshAll();
    });
    search.setValueChangeMode(ValueChangeMode.EAGER);
    search.setPlaceholder("Search...");
    add(new H4("Data from Radius DB - \"radhuntgroup\" table"));
    HorizontalLayout horizontalLayout = new HorizontalLayout();
    horizontalLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.BASELINE);
    horizontalLayout.add(new H3("NAS groups"));
    horizontalLayout.add(createBtn);
    horizontalLayout.add(editBtn);
    horizontalLayout.add(deleteBtn);
    horizontalLayout.add(search);
    add(horizontalLayout);
    add(grid);
}

7 Source : NasView.java
with MIT License
from netcore-jsa

private void buildView() {
    setHeightFull();
    setSpacing(false);
    RoleDto role = securityService.getLoggedUserRole();
    Grid<NasDto> grid = new Grid<>(NasDto.clreplaced, false);
    grid.addColumns("nasName", "shortName", "description");
    grid.addColumn((ValueProvider<NasDto, String>) nasDto -> nasDto.getSecret().replaceAll(".", "*")).setHeader("Secret");
    grid.addColumns("server", "community", "ports", "type");
    DataProvider<NasDto, Object> dataProvider = new SpringDataProviderBuilder<>((pageable, o) -> nreplacedervice.pageNasRecords(filter.getSearchText(), pageable), value -> nreplacedervice.countNasRecords(filter.getSearchText())).withDefaultSort("id", SortDirection.ASCENDING).build();
    grid.setDataProvider(dataProvider);
    grid.getColumns().forEach(column -> column.setResizable(true));
    grid.setColumnReorderingAllowed(true);
    grid.setMinHeight("500px");
    grid.setHeight("100%");
    ConfirmationDialog nasDeleteDialog = new ConfirmationDialog("400px");
    nasDeleteDialog.setreplacedle("Delete NAS");
    nasDeleteDialog.setConfirmButtonCaption("Delete");
    nasDeleteDialog.setConfirmListener(() -> {
        NasDto nasDto = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
        if (Objects.nonNull(nasDto)) {
            try {
                nreplacedervice.deleteNas(nasDto);
                grid.getDataProvider().refreshAll();
            } catch (Exception e) {
                log.warn("Failed to delete NAS. Reason = '{}'", e.getMessage());
                ErrorNotification.show("Error", "Ooops, something went wrong, try again please");
            }
        }
        nasDeleteDialog.setOpened(false);
    });
    NasEditDialog nasEditDialog = new NasEditDialog(nreplacedervice, (source, bean) -> grid.getDataProvider().refrereplacedem(bean));
    NasCreateDialog nasCreateDialog = new NasCreateDialog(nreplacedervice, (source, bean) -> grid.getDataProvider().refreshAll());
    Button createBtn = new Button("Create", event -> nasCreateDialog.startNasCreation());
    createBtn.setEnabled(role == RoleDto.ADMIN);
    Button editBtn = new Button("Edit", event -> {
        NasDto nasDto = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
        if (Objects.nonNull(nasDto)) {
            nasEditDialog.editNas(nasDto);
        }
    });
    editBtn.setEnabled(false);
    Button deleteBtn = new Button("Delete", event -> {
        NasDto nasDto = grid.getSelectionModel().getFirstSelectedItem().orElse(null);
        if (Objects.nonNull(nasDto)) {
            nasDeleteDialog.setDescription("Are you sure you want to delete '" + nasDto.getNasName() + "' NAS?");
            nasDeleteDialog.setOpened(true);
        }
    });
    deleteBtn.setEnabled(false);
    grid.replacedingleSelect().addValueChangeListener(event -> {
        editBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
        deleteBtn.setEnabled(Objects.nonNull(event.getValue()) && role == RoleDto.ADMIN);
    });
    TextField search = new TextField(event -> {
        filter.setSearchText(event.getValue());
        grid.getDataProvider().refreshAll();
    });
    search.setValueChangeMode(ValueChangeMode.EAGER);
    search.setPlaceholder("Search...");
    add(new H4("Data from Radius DB - \"nas\" table"));
    HorizontalLayout horizontalLayout = new HorizontalLayout();
    horizontalLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.BASELINE);
    horizontalLayout.add(new H3("NAS"));
    horizontalLayout.add(createBtn);
    horizontalLayout.add(editBtn);
    horizontalLayout.add(deleteBtn);
    horizontalLayout.add(search);
    add(horizontalLayout);
    add(grid);
}

5 Source : AccountingView.java
with MIT License
from netcore-jsa

private void buildView() {
    setHeightFull();
    setSpacing(false);
    Grid<AccountingDto> grid = new Grid<>(AccountingDto.clreplaced, false);
    grid.addColumns("username", "callingStationId", "nasIpAddress", "serviceType");
    grid.addColumn(new LocalDateTimeRenderer<>((ValueProvider<AccountingDto, LocalDateTime>) accountingDto -> {
        if (Objects.isNull(accountingDto.getAcctStartTime())) {
            return null;
        }
        return LocalDateTime.ofInstant(accountingDto.getAcctStartTime().toInstant(), TimeZone.getDefault().toZoneId());
    })).setSortProperty("acctStartTime").setHeader("Acct Start Time");
    grid.addColumn(new LocalDateTimeRenderer<>((ValueProvider<AccountingDto, LocalDateTime>) accountingDto -> {
        if (Objects.isNull(accountingDto.getAcctStopTime())) {
            return null;
        }
        return LocalDateTime.ofInstant(accountingDto.getAcctStopTime().toInstant(), TimeZone.getDefault().toZoneId());
    })).setSortProperty("acctStopTime").setHeader("Acct Stop Time");
    grid.addColumns("acctTerminateCause", "framedIpAddress", "framedProtocol");
    grid.addColumns("acctAuthentic", "acctInputOctets", "acctInterval", "acctOutputOctets", "acctSessionId");
    grid.addColumn(accountingDto -> {
        if (Objects.isNull(accountingDto.getAcctSessionTime())) {
            return null;
        }
        return DurationFormatUtils.formatDurationHMS(accountingDto.getAcctSessionTime());
    }).setSortProperty("acctSessionTime").setHeader("Acct Session Time");
    grid.addColumns("acctUniqueId", "acctUpdateTime", "calledStationId", "connectInfoStart", "connectInfoStop", "nasPortId", "nasPortType", "radAcctId", "realm");
    DataProvider<AccountingDto, Object> dataProvider = new SpringDataProviderBuilder<>((pageable, o) -> accountingService.pageAccountingRecords(filter, pageable), value -> accountingService.countAccountingRecords(filter)).withDefaultSort("acctStartTime", SortDirection.DESCENDING).build();
    grid.setDataProvider(dataProvider);
    grid.getColumns().forEach(column -> column.setResizable(true));
    grid.setColumnReorderingAllowed(true);
    grid.setMinHeight("500px");
    grid.setHeight("100%");
    TextField search = new TextField(event -> {
        filter.setSearchText(event.getValue());
        grid.getDataProvider().refreshAll();
    });
    search.setValueChangeMode(ValueChangeMode.EAGER);
    search.setPlaceholder("Search...");
    SetAcctStopTimeDialog setAcctStopTimeDialog = new SetAcctStopTimeDialog((source, bean) -> grid.getDataProvider().refrereplacedem(bean));
    Button setAcctStopTimeButton = new Button("Set Acct Stop Time", event -> {
        Optional<AccountingDto> optional = grid.getSelectionModel().getFirstSelectedItem();
        optional.ifPresent(setAcctStopTimeDialog::set);
    });
    setAcctStopTimeButton.setEnabled(false);
    grid.replacedingleSelect().addValueChangeListener(event -> setAcctStopTimeButton.setEnabled(Objects.nonNull(event.getValue())));
    Checkbox onlyActiveSessions = new Checkbox("Filter only active sessions");
    onlyActiveSessions.setValue(filter.isSearchOnlyActiveSessions());
    onlyActiveSessions.addValueChangeListener(event -> {
        filter.setSearchOnlyActiveSessions(event.getValue());
        grid.getDataProvider().refreshAll();
    });
    add(new H4("Data from Radius DB - \"radacct\" table"));
    HorizontalLayout horizontalLayout = new HorizontalLayout();
    horizontalLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.BASELINE);
    horizontalLayout.add(new H3("Accounting"));
    horizontalLayout.add(setAcctStopTimeButton);
    horizontalLayout.add(search);
    horizontalLayout.add(onlyActiveSessions);
    add(horizontalLayout);
    add(grid);
}