@Override protected boolean isApplicable() { return target != null && target.getSingleSelected() != null; }
@Override protected boolean isApplicable() { return target != null && target.getSingleSelected() != null && super.isApplicable(); }
@Override protected boolean isApplicable() { if (target != null) { Entity selectedItem = target.getSingleSelected(); if (selectedItem != null) { return !Objects.equals(getItem().getRootBandDefinition(), selectedItem); } } return false; }
@Override protected boolean isApplicable() { if (target != null) { Entity selectedItem = target.getSingleSelected(); if (selectedItem != null) { return !Objects.equals(getItem().getDefaultTemplate(), selectedItem); } } return false; }
@Override protected boolean isApplicable() { if (target != null) { BandDefinition selectedItem = (BandDefinition) target.getSingleSelected(); return selectedItem != null && selectedItem.getPosition() > 0 && isUpdatePermitted(); } return false; } });
@Override public void actionPerform(com.haulmont.cuba.gui.components.Component component) { if (component instanceof Component.BelongToFrame && component instanceof ListComponent) { Entity selectedItem = ((ListComponent) component).getSingleSelected(); if (selectedItem != null) { showInfo(selectedItem, selectedItem.getMetaClass(), (Component.BelongToFrame) component); } } }
@Override protected boolean isApplicable() { if (target != null && target.getDatasource() != null && target.getSingleSelected() != null) { @SuppressWarnings("unchecked") HierarchicalDatasource<Group, UUID> ds = (HierarchicalDatasource<Group, UUID>) target.getDatasource(); UUID selectedItemId = (UUID) target.getSingleSelected().getId(); return ds.getChildren(selectedItemId).isEmpty(); } return false; } });
@Override protected boolean isApplicable() { if (target != null) { ReportInputParameter item = (ReportInputParameter) target.getSingleSelected(); if (item != null && parametersDs.getItem() == item) { return item.getPosition() > 0 && isUpdatePermitted(); } } return false; } });
@SuppressWarnings("unchecked") protected <T> T getValue(Component component) { if (component instanceof HasValue) { return (T) ((HasValue) component).getValue(); } else if (component instanceof ListComponent) { ListComponent list = (ListComponent) component; //noinspection unchecked return list.isMultiSelect() ? (T)list.getSelected() : (T)list.getSingleSelected(); } else { return null; } }
@Override protected boolean isApplicable() { Stencil selected = (Stencil) target.getSingleSelected(); boolean isGroupAndHasChildren = (selected instanceof GroupStencil) && !stencilsDs.getChildren(selected.getId()).isEmpty(); return super.isApplicable() && selected.getEditable() && !isGroupAndHasChildren; } };
protected void initEnabledRules(UserManagementService userManagementService) { addEnabledRule(() -> { Set selected = target.getSelected(); if (!selected.isEmpty()) { return !(selected.contains(userSession.getUser()) || userSession.getCurrentOrSubstitutedUser().equals(target.getSingleSelected())); } return false; }); addEnabledRule(() -> { Set<User> selected = target.getSelected(); if (selected.isEmpty()) return false; List<String> logins = selected.stream() .map(User::getLogin) .collect(Collectors.toList()); return userManagementService.isUsersRemovingAllowed(logins); }); } }
@Override public void actionPerform(Component component) { BandDefinition definition = (BandDefinition) target.getSingleSelected(); if (definition != null && definition.getParentBandDefinition() != null) { BandDefinition parentDefinition = definition.getParentBandDefinition(); List<BandDefinition> definitionsList = parentDefinition.getChildrenBandDefinitions(); int index = definitionsList.indexOf(definition); if (index < definitionsList.size() - 1) { BandDefinition nextDefinition = definitionsList.get(index + 1); definition.setPosition(definition.getPosition() + 1); nextDefinition.setPosition(nextDefinition.getPosition() - 1); definitionsList.set(index, nextDefinition); definitionsList.set(index + 1, definition); treeDs.refresh(); } } }
@Override protected boolean isApplicable() { if (target != null) { BandDefinition bandDefinition = (BandDefinition) target.getSingleSelected(); if (bandDefinition != null) { BandDefinition parent = bandDefinition.getParentBandDefinition(); return parent != null && parent.getChildrenBandDefinitions() != null && bandDefinition.getPosition() < parent.getChildrenBandDefinitions().size() - 1 && isUpdatePermitted(); } } return false; } });
@Override protected boolean isApplicable() { if (target != null) { ReportInputParameter item = (ReportInputParameter) target.getSingleSelected(); if (item != null && parametersDs.getItem() == item) { return item.getPosition() < parametersDs.size() - 1 && isUpdatePermitted(); } } return false; } });
@Override public void actionPerform(Component component) { ReportTemplate template = (ReportTemplate) target.getSingleSelected(); if (template != null) { getItem().setDefaultTemplate(template); } refreshState(); templatesTable.focus(); }
@Override public void actionPerform(Component component) { BandDefinition definition = (BandDefinition) target.getSingleSelected(); if (definition != null && definition.getParentBandDefinition() != null) { BandDefinition parentDefinition = definition.getParentBandDefinition(); List<BandDefinition> definitionsList = parentDefinition.getChildrenBandDefinitions(); int index = definitionsList.indexOf(definition); if (index > 0) { BandDefinition previousDefinition = definitionsList.get(index - 1); definition.setPosition(definition.getPosition() - 1); previousDefinition.setPosition(previousDefinition.getPosition() + 1); definitionsList.set(index, previousDefinition); definitionsList.set(index - 1, definition); treeDs.refresh(); } } }
@Override protected boolean isPermitted() { if (getTarget().getSingleSelected() instanceof SoftDelete) { for (Object e : getTarget().getSelected()) { if (((SoftDelete) e).isDeleted()) return false; } } return super.isPermitted(); } };
@SuppressWarnings("unchecked") @Override public void actionPerform(Component component) { // if standard behaviour if (!hasSubscriptions(ActionPerformedEvent.class)) { if (!(target.getItems() instanceof EntityDataUnit)) { throw new IllegalStateException("EditAction target dataSource is null or does not implement EntityDataUnit"); } MetaClass metaClass = ((EntityDataUnit) target.getItems()).getEntityMetaClass(); if (metaClass == null) { throw new IllegalStateException("Target is not bound to entity"); } Entity editedEntity = target.getSingleSelected(); if (editedEntity == null) { throw new IllegalStateException("There is not selected item in EditAction target"); } Screen editor = screenBuilders.editor(target) .editEntity(editedEntity) .build(); editor.show(); } else { super.actionPerform(component); } } }
protected void sortTableDsByItemsOrderNum() { if (listComponent.getDatasource() instanceof CollectionDatasource.Sortable) { CollectionDatasource.Sortable.SortInfo sortInfo = new CollectionDatasource.Sortable.SortInfo(); sortInfo.setOrder(CollectionDatasource.Sortable.Order.ASC); sortInfo.setPropertyPath(listComponent.getSingleSelected().getMetaClass().getPropertyPath("orderNum")); ((CollectionDatasource.Sortable) listComponent.getDatasource()).sort(new CollectionDatasource.Sortable.SortInfo[]{sortInfo}); } }
/** * Adds an EditAction that enables controls for editing. */ protected void initBrowseEditAction() { ListComponent<T> table = getTable(); EditAction editAction = (EditAction) table.getActionNN("edit"); editAction.withHandler(actionPerformedEvent -> { if (table.getSelected().size() == 1) { if (lockIfNeeded(table.getSingleSelected())) { refreshOptionsForLookupFields(); enableEditControls(false); } } }); editAction.addEnabledRule(() -> table.getSelected().size() == 1 && getBeanLocator().get(Security.class).isEntityOpPermitted(getEntityClass(), EntityOp.UPDATE)); }