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
15
Source : FilteredGrid.java
with Apache License 2.0
from kochetkov-ma
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
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
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
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
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
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
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
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
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
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);
}