List of usage examples for com.vaadin.event.dd.acceptcriteria And And
public And(ClientSideCriterion... criteria)
From source file:com.haulmont.cuba.web.app.accessgroup.AccessGroupCompanion.java
License:Apache License
@Override public void initDragAndDrop(Table<User> usersTable, Tree<Group> groupsTree, Consumer<UserGroupChangedEvent> userGroupChangedHandler) { com.vaadin.ui.Table vTable = usersTable.unwrap(com.vaadin.ui.Table.class); vTable.setDragMode(com.vaadin.ui.Table.TableDragMode.MULTIROW); CubaTree vTree = groupsTree.unwrap(CubaTree.class); vTree.setDragMode(com.vaadin.ui.Tree.TreeDragMode.NODE); vTree.setDropHandler(new DropHandler() { @Override//from w ww . j a v a2 s. co m public void drop(DragAndDropEvent dropEvent) { DataBoundTransferable transferable = (DataBoundTransferable) dropEvent.getTransferable(); AbstractSelect.AbstractSelectTargetDetails dropData = ((AbstractSelect.AbstractSelectTargetDetails) dropEvent .getTargetDetails()); Component sourceComponent = transferable.getSourceComponent(); List<User> users = null; if (sourceComponent instanceof com.vaadin.ui.Table) { users = new ArrayList<>(usersTable.getSelected()); } if (users == null) { return; } if (users.isEmpty()) { User user = convertToEntity(vTable.getItem(transferable.getItemId()), User.class); users.add(user); } final Object targetItemId = dropData.getItemIdOver(); if (targetItemId == null) { return; } Group group = convertToEntity(vTree.getItem(targetItemId), Group.class); if (group == null) { return; } userGroupChangedHandler.accept(new UserGroupChangedEvent(groupsTree, users, group)); } @Override public AcceptCriterion getAcceptCriterion() { return new And(AbstractSelect.AcceptItem.ALL); } }); }
From source file:com.rdonasco.security.group.controllers.GroupEditorViewController.java
License:Apache License
private void configureRoleCapabilityTable() { Table roleCapabilitiesTable = getControlledView().getGroupRolesTable(); roleCapabilitiesTable.setSelectable(true); roleCapabilitiesTable.setContainerDataSource(groupRolesContainer); roleCapabilitiesTable.setVisibleColumns(EDITABLE_COLUMNS); roleCapabilitiesTable.setColumnHeaders(EDITABLE_HEADERS); roleCapabilitiesTable.setCellStyleGenerator(CELL_STYLE_GENERATOR); groupRolesDropHandler = new DropHandler() { private static final long serialVersionUID = 1L; @Override/*from w ww .ja v a2 s . c o m*/ public void drop(DragAndDropEvent dropEvent) { try { final DataBoundTransferable transferredData = (DataBoundTransferable) dropEvent .getTransferable(); final Container sourceContainer = transferredData.getSourceContainer(); if (transferredData.getItemId() instanceof RoleItemVO) { sessionSecurityChecker.checkCapabilityTo(ActionConstants.ADD, GroupConstants.RESOURCE_GROUP_ROLES); LOG.log(Level.FINE, "drop allowed at group role panel"); final RoleItemVO roleItemVO = (RoleItemVO) transferredData.getItemId(); addDroppedRoleItemVO(roleItemVO); for (Object object : sourceContainer.getItemIds()) { if (getAvailableRolesTableSource().isSelected(object)) { addDroppedRoleItemVO((RoleItemVO) object); } } } else { LOG.log(Level.FINE, "invalid data dropped in group role panel"); } } catch (Exception e) { exceptionPopupProvider.popUpErrorException(e); } } @Override public AcceptCriterion getAcceptCriterion() { ClientSideCriterion sourceCriterion = new SourceIs(getAvailableRolesTableSource()); return new And(sourceCriterion); } private void addDroppedRoleItemVO(final RoleItemVO roleItemVO) { final GroupRoleItemVO newGroupRoleItemVO = createGroupRoleItemVO(roleItemVO.getRoleVO()); BeanItem<GroupRoleItemVO> addedItem = groupRolesContainer.addItem(newGroupRoleItemVO); LOG.log(Level.FINE, "addedItem = {0}", addedItem); } }; getControlledView().getGroupRolesTable().setDropHandler(groupRolesDropHandler); }