protected void onTableReady(Table<DataSet> dataSets, Datasource<BandDefinition> bandDefinitionDs) { CollectionDatasource<DataSet, UUID> dataSetsDs = dataSets.getDatasource(); initCrossDatasets(dataSetsDs, bandDefinitionDs); }
public void reloadAttributes() { attributesTable.getDatasource().refresh(); }
protected boolean moveSelectedUsersToGroup(UserGroupChangedEvent event) { List<UUID> userIds = event.getUsers().stream() .map(BaseUuidEntity::getId) .collect(Collectors.toList()); if (userManagementService.moveUsersToGroup(userIds, event.getGroup().getId()) != 0) { usersTable.getDatasource().refresh(); return true; } return false; }
@Override public void actionPerform(Component component) { Set<CategoryAttribute> selected = categoryAttrsTable.getSelected(); if (!selected.isEmpty()) { AttributeEditor editor = (AttributeEditor) openEditor( "sys$CategoryAttribute.edit", selected.iterator().next(), OpenType.DIALOG, categoryAttrsTable.getDatasource()); editor.addCloseListener(actionId -> { categoryAttrsTable.getDatasource().refresh(); categoryAttrsTable.focus(); // restore selection from ds categoryAttrsTable.setSelected(categoryAttrsDs.getItem()); }); } } }
protected void moveUsersToGroup(Set<User> selected) { Map<String, Object> lookupParams = ParamsMap.of( "exclude", groupsTree.getSelected().iterator().next(), "excludeChildren", false); AbstractLookup lookupWindow = openLookup(Group.class, items -> { if (items.size() == 1) { Group group = (Group) items.iterator().next(); List<UUID> usersForModify = new ArrayList<>(); for (User user : selected) { usersForModify.add(user.getId()); } userManagementService.moveUsersToGroup(usersForModify, group.getId()); if (selected.size() == 1) { User user = selected.iterator().next(); showNotification(formatMessage("userMovedToGroup", user.getLogin(), group.getName())); } else { showNotification(formatMessage("usersMovedToGroup", group.getName())); } usersTable.getDatasource().refresh(); } }, OpenType.DIALOG, lookupParams); lookupWindow.addCloseListener(actionId -> usersTable.requestFocus() ); }
protected void handleEditorCommit(Entity editorItem, Entity rowItem, String columnId) { MetaPropertyPath mpp = rowItem.getMetaClass().getPropertyPath(columnId); if (mpp == null) { throw new IllegalStateException(String.format("Unable to find metaproperty %s for class %s", columnId, rowItem.getMetaClass())); } if (mpp.getRange().isClass()) { DatasourceImplementation ds = ((DatasourceImplementation) table.getDatasource()); boolean modifiedInTable = ds.getItemsToUpdate().contains(rowItem); boolean ownerDsModified = ds.isModified(); rowItem.setValueEx(columnId, null); rowItem.setValueEx(columnId, editorItem); // restore modified for owner datasource // remove from items to update if it was not modified before setValue if (!modifiedInTable) { ds.getItemsToUpdate().remove(rowItem); } ds.setModified(ownerDsModified); } else { //noinspection unchecked table.getDatasource().updateItem(editorItem); } }
@Override public void init(Map<String, Object> params) { LinkColumnHelper.initColumn(historyTable, "caption", entity -> { close("windowClose"); openUrl(entity); }); historyTable.addAction(new ShowLinkAction(historyTable.getDatasource(), entity -> entity != null ? ((ScreenHistoryEntity) entity).getUrl() : "") ); }
@Override public void actionPerform(Component component) { final CategoryAttribute attribute = metadata.create(CategoryAttribute.class); attribute.setCategory((Category) categoryDs.getItem()); assignNextOrderNo(attribute); AttributeEditor editor = (AttributeEditor) openEditor( "sys$CategoryAttribute.edit", attribute, OpenType.DIALOG, categoryAttrsTable.getDatasource()); editor.addCloseListener(actionId -> { categoryAttrsTable.getDatasource().refresh(); categoryAttrsTable.focus(); // restore selection from ds categoryAttrsTable.setSelected(categoryAttrsDs.getItem()); }); } }
protected void disconnectSession(Set<UserSessionEntity> selected) { for (UserSessionEntity session : selected) { if (!session.getId().equals(userSessionSource.getUserSession().getId())) { uss.killSession(session.getId()); } else { showNotification(getMessage("killUnavailable"), NotificationType.WARNING); } } sessionsTable.getDatasource().refresh(); sessionsTable.focus(); } }
if (VALID == dataSets.getDatasource().getState()) { onTableReady(dataSets, bandDefinitionDs); } else { dataSets.getDatasource().addStateChangeListener(new Datasource.StateChangeListener<DataSet>() { @Override public void stateChanged(Datasource.StateChangeEvent<DataSet> e) {
protected void initUsersTableActions() { userCreateAction = new GroupPropertyCreateAction(usersTable); userCreateAction.setAfterCommitHandler(entity -> usersTable.getDatasource().refresh() ); usersTable.addAction(userCreateAction); usersTable.addAction(new UserRemoveAction(usersTable, userManagementService)); Action moveToGroupAction = new ItemTrackingAction("moveToGroup") .withIcon("icons/move.png") .withCaption(getMessage("moveToGroup")) .withHandler(event -> { Set<User> selected = usersTable.getSelected(); if (!selected.isEmpty()) { moveUsersToGroup(selected); } }); moveToGroupAction.setEnabled(security.isEntityOpPermitted(User.class, EntityOp.UPDATE)); usersTable.addAction(moveToGroupAction); }
CollectionDatasource ds = usersTable.getDatasource(); if (ds instanceof CollectionDatasource.SupportsPaging) { ((CollectionDatasource.SupportsPaging) ds).setFirstResult(0);