use of cz.metacentrum.perun.webgui.json.registrarManager.RemoveGroupsFromAutoRegistration in project perun by CESNET.
the class AutoRegistrationGroupsTabItem method draw.
@Override
public Widget draw() {
VerticalPanel vp = new VerticalPanel();
vp.setSize("100%", "100%");
TabMenu menu = new TabMenu();
vp.add(menu);
vp.setCellHeight(menu, "30px");
menu.addWidget(UiElements.getRefreshButton(this));
final GetAutoRegistrationGroups groups = new GetAutoRegistrationGroups(voId);
final JsonCallbackEvents events = JsonCallbackEvents.refreshTableEvents(groups);
if (!session.isVoAdmin(voId)) {
groups.setCheckable(false);
}
CustomButton addButton = TabMenu.getPredefinedButton(ButtonType.ADD, true, ButtonTranslation.INSTANCE.addGroupToAutoReg(), event -> session.getTabManager().addTabToCurrentTab(new AddAutoRegGroupTabItem(vo), true));
if (!session.isVoAdmin(voId))
addButton.setEnabled(false);
menu.addWidget(addButton);
// remove selected groups button
final CustomButton removeButton = TabMenu.getPredefinedButton(ButtonType.REMOVE, ButtonTranslation.INSTANCE.removeGroupFromAutoReg());
removeButton.addClickHandler(event -> {
final ArrayList<Group> groupsToRemove = groups.getTableSelectedList();
String text = "Following groups will be removed from the auto registration.";
UiElements.showDeleteConfirm(groupsToRemove, text, clickEvent -> {
RemoveGroupsFromAutoRegistration request = new RemoveGroupsFromAutoRegistration(JsonCallbackEvents.disableButtonEvents(removeButton, events));
request.deleteGroups(groupsToRemove);
});
});
menu.addWidget(removeButton);
// filter box
menu.addFilterWidget(new ExtendedSuggestBox(groups.getOracle()), new PerunSearchEvent() {
public void searchFor(String text) {
groups.filterTable(text);
}
}, ButtonTranslation.INSTANCE.filterGroup());
// add a table with a onclick
CellTable<Group> table = groups.getTable();
table.addStyleName("perun-table");
ScrollPanel sp = new ScrollPanel(table);
sp.addStyleName("perun-tableScrollPanel");
vp.add(table);
contentWidget.setWidget(vp);
return getWidget();
}
Aggregations