@Override protected boolean isApplicable() { return target != null && !target.getSelected().isEmpty(); }
@Override public void actionPerform(Component component) { if (table.getSelected().size() == 1) { if (lockIfNeeded((Entity) table.getSelected().iterator().next())) { super.actionPerform(component); } } }
@Override protected boolean isApplicable() { return super.isApplicable() && target.getSelected().size() == 1; } }
protected void swapItems() { int selectedCnt = listComponent.getSelected().size(); if (selectedCnt == 1) { swapSingleItemWithNeighbour(); } else if (selectedCnt > 1) { moveFewItems(); } }
protected boolean needExportAll() { if (target.getSelected().isEmpty()) { return true; } CollectionContainer container = ((ContainerDataUnit) target.getItems()).getContainer(); return container != null && container.getItems().size() <= 1; }
@Override public void actionPerform(Component component) { final Set selected = target.getSelected(); if (selected.size() == 1) { final CollectionDatasource datasource = target.getDatasource(); internalOpenEditor((Constraint) datasource.getItem()); } }
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); }); } }
@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; } }
/** * This method is invoked by the action owner component. * * @param component component invoking the action */ @Override public void actionPerform(Component component) { final Set<Entity> selected = target.getSelected(); target.getFrame().openWindow("admintools$generateScriptsDialog", WindowManager.OpenType.DIALOG, ParamsMap.of("selectedEntities", selected) ); }
protected <E extends Entity> void triggerAction(RemoveBuilder<E> builder) { List<E> selectedItems = Collections.emptyList(); if (builder.getItems() != null) { selectedItems = builder.getItems(); } else if (builder.getListComponent() != null) { selectedItems = new ArrayList<>(builder.getListComponent().getSelected()); } if (!selectedItems.isEmpty()) { if (builder.isConfirmationRequired()) { performActionWithConfirmation(builder, selectedItems); } else { performAction(builder, selectedItems); } } }
@Override public void actionPerform(Component component) { if (beforeActionPerformedHandler != null) { if (!beforeActionPerformedHandler.beforeActionPerformed()) return; } RelatedEntitiesAPI.RelatedScreenDescriptor descriptor = new RelatedEntitiesAPI.RelatedScreenDescriptor(screen, openType); descriptor.setFilterCaption(filterCaption); //noinspection unchecked relatedEntitiesApi.openRelatedScreen(target.getSelected(), metaClass, metaProperty, descriptor); }
/** * This method is invoked by the action owner component. * * @param component component invoking the action */ @Override public void actionPerform(Component component) { if (!isEnabled()) { return; } if (beforeActionPerformedHandler != null) { if (!beforeActionPerformedHandler.beforeActionPerformed()) return; } @SuppressWarnings("unchecked") Set<Entity> selected = target.getSelected(); if (!selected.isEmpty()) { if (confirm) { confirmAndRemove(selected); } else { remove(selected); } } }
@Override public void actionPerform(Component component) { Set<Entity> ownerSelection = target.getSelected(); if (!ownerSelection.isEmpty()) { String entityType; if (target.getItems() instanceof EntityDataUnit) { MetaClass metaClass = ((EntityDataUnit) target.getItems()).getEntityMetaClass(); entityType = metaClass.getName(); } else { throw new UnsupportedOperationException("Unsupported data unit " + target.getItems()); } String[] strings = ValuePathHelper.parse(ComponentsHelper.getFilterComponentPath(filter)); String componentId = ValuePathHelper.format(Arrays.copyOfRange(strings, 1, strings.length)); Map<String, Object> params = new HashMap<>(); params.put("entityType", entityType); params.put("items", ownerSelection); params.put("componentPath", ComponentsHelper.getFilterComponentPath(filter)); params.put("componentId", componentId); params.put("foldersPane", filterHelper.getFoldersPane()); params.put("entityClass", adapter.getMetaClass().getJavaClass().getName()); params.put("query", adapter.getQuery()); WindowManager wm = (WindowManager) ComponentsHelper.getScreenContext(filter).getScreens(); WindowInfo windowInfo = windowConfig.getWindowInfo("saveSetInFolder"); wm.openWindow(windowInfo, OpenType.DIALOG, params); } } }
@Override protected boolean isPermitted() { if (getTarget().getSingleSelected() instanceof SoftDelete) { for (Object e : getTarget().getSelected()) { if (((SoftDelete) e).isDeleted()) return false; } } return super.isPermitted(); } };
/** * 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)); }
@Override public void actionPerform(Component component) { if (!isEnabled()) return; if (beforeActionPerformedHandler != null) { if (!beforeActionPerformedHandler.beforeActionPerformed()) return; } @SuppressWarnings("unchecked") Set<Entity> selected = target.getSelected(); if (!selected.isEmpty()) { if (confirm) { confirmAndRemove(selected); } else { doRemove(selected, autocommit); afterRemove(selected); if (afterRemoveHandler != null) { afterRemoveHandler.handle(selected); } } } }
@Override public void init(Map<String, Object> params) { lookupFrame = openWindow(lookupWindowId, WindowManager.OpenType.DIALOG, widgetRepository.getWidgetParams(widget)); for (ListComponent c : findListComponents(lookupFrame)) { c.getDatasource().addItemChangeListener(e -> events.publish(new ItemsSelectedEvent(widget, c.getSelected()))); } lookupFrame.close(Window.CLOSE_ACTION_ID, true); lookupFrame.setSizeFull(); scroll.add(lookupFrame.getFrame()); }
Set selected = target.getSelected(); if (selected.isEmpty()) { return;
protected void showPivotTable(ShowPivotMode mode) { ParamsMap paramsMap = ParamsMap.of(); if (mode == ALL_ROWS) { paramsMap.pair("dataItems", convertEntitiesToDataItems(target.getDatasource().getItems())); } else { paramsMap.pair("dataItems", convertEntitiesToDataItems(target.getSelected())); } paramsMap.pair("properties", getPropertiesWithLocale()); paramsMap.pair("nativeJson", nativeJson); WindowManager wm = target.getFrame().getWindowManager(); WindowConfig windowConfig = AppBeans.get(WindowConfig.NAME); wm.openWindow(windowConfig.getWindowInfo(SCREEN_ID), WindowManager.OpenType.NEW_TAB, paramsMap.create()); }
@Override public void actionPerform(Component component) { if (beforeActionPerformedHandler != null) { if (!beforeActionPerformedHandler.beforeActionPerformed()) return; } Messages messages = AppBeans.get(Messages.NAME); if (target.getSelected().isEmpty() || target.getDatasource().size() <= 1) { showPivotTable(ALL_ROWS); } else { Action[] actions = new Action[]{ new BaseAction("actions.showPivotAction.SELECTED_ROWS") .withCaption(messages.getMainMessage("actions.showPivotAction.SELECTED_ROWS")) .withHandler(event -> showPivotTable(SELECTED_ROWS)), new BaseAction("actions.showPivotAction.ALL_ROWS") .withCaption(messages.getMainMessage("actions.showPivotAction.ALL_ROWS")) .withHandler(event -> showPivotTable(ALL_ROWS)), new DialogAction(DialogAction.Type.CANCEL) }; WindowManager wm = target.getFrame().getWindowManager(); wm.showOptionDialog( messages.getMainMessage("actions.showPivotAction.dialogTitle"), messages.getMainMessage("actions.showPivotAction.dialogMessage"), Frame.MessageType.CONFIRMATION, actions); } }