Example usage for org.apache.wicket.ajax AjaxRequestTarget add

List of usage examples for org.apache.wicket.ajax AjaxRequestTarget add

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxRequestTarget add.

Prototype

void add(Component... components);

Source Link

Document

Adds components to the list of components to be rendered.

Usage

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentDataTablePanel.java

License:Apache License

private void addOrReplaceAssignmentsTable(WebMarkupContainer assignmentsContainer) {
    fillInRelationAssignmentsMap();//from  w  ww . j ava  2s  .c om
    DropDownChoicePanel relation = WebComponentUtil.createEnumPanel(RelationTypes.class, ID_RELATION,
            WebComponentUtil.createReadonlyModelFromEnum(RelationTypes.class), relationModel, this, false);
    relation.getBaseFormComponent().add(new AjaxFormComponentUpdatingBehavior("change") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            relationModel.setObject((RelationTypes) relation.getBaseFormComponent().getConvertedInput());
            addOrReplaceAssignmentsTable(getAssignmentsContainer());
            target.add(AssignmentDataTablePanel.this.get(ID_ASSIGNMENTS).get(ID_ASSIGNMENTS_TABLE));
        }
    });
    relation.setOutputMarkupId(true);
    relation.setOutputMarkupPlaceholderTag(true);
    assignmentsContainer.addOrReplace(relation);

    AjaxButton showAllAssignmentsButton = new AjaxButton(ID_SHOW_ALL_ASSIGNMENTS_BUTTON,
            createStringResource("AssignmentTablePanel.menu.showAllAssignments")) {
        @Override
        public void onClick(AjaxRequestTarget ajaxRequestTarget) {
            showAllAssignments(ajaxRequestTarget);
        }
    };
    assignmentsContainer.addOrReplace(showAllAssignmentsButton);

    ListDataProvider<AssignmentEditorDto> assignmentsProvider = new ListDataProvider<AssignmentEditorDto>(this,
            Model.ofList(relationAssignmentsMap.get(relationModel.getObject())), false) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void saveProviderPaging(ObjectQuery query, ObjectPaging paging) {
            getAssignmentsStorage().setPaging(paging);
        }

    };
    BoxedTablePanel<AssignmentEditorDto> assignmentTable = new BoxedTablePanel<AssignmentEditorDto>(
            ID_ASSIGNMENTS_TABLE, assignmentsProvider, initColumns(),
            UserProfileStorage.TableId.ASSIGNMENTS_TAB_TABLE,
            (int) getPageBase().getItemsPerPage(UserProfileStorage.TableId.ASSIGNMENTS_TAB_TABLE)) {
        private static final long serialVersionUID = 1L;

        //            @Override
        //            protected Item<AssignmentEditorDto> customizeNewRowItem(Item<AssignmentEditorDto> item, IModel<AssignmentEditorDto> model) {
        //                    item.add(AttributeModifier.append("class", AssignmentsUtil.createAssignmentStatusClassModel(model)));
        //                return item;
        //            }

        @Override
        public int getItemsPerPage() {
            return getPageBase().getSessionStorage().getUserProfile().getTables()
                    .get(UserProfileStorage.TableId.ASSIGNMENTS_TAB_TABLE);
        }

    };
    assignmentTable.setOutputMarkupId(true);
    assignmentTable.setCurrentPage(getAssignmentsStorage().getPaging());
    assignmentsContainer.addOrReplace(assignmentTable);

}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentDataTablePanel.java

License:Apache License

protected void reloadMainAssignmentsComponent(AjaxRequestTarget target) {
    addOrReplaceAssignmentsTable(getAssignmentsContainer());
    target.add(getAssignmentsContainer());
}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentEditorPanel.java

License:Apache License

private void nameClickPerformed(AjaxRequestTarget target) {
    AssignmentEditorDto dto = getModel().getObject();
    boolean minimized = dto.isMinimized();
    if (minimized) {
        //            dto.startEditing();//todo ???
    }//w w w  . j av a  2s . c om

    dto.setMinimized(!minimized);

    target.add(get(ID_MAIN));
    target.add(get(ID_HEADER_ROW));
}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentPanel.java

License:Apache License

private void initLayout() {

    MultivalueContainerListPanelWithDetailsPanel<AssignmentType> multivalueContainerListPanel = new MultivalueContainerListPanelWithDetailsPanel<AssignmentType>(
            ID_ASSIGNMENTS, getModel(), getTableId(), getAssignmentsTabStorage()) {

        private static final long serialVersionUID = 1L;

        @Override/*from  ww w  .j a  v  a  2  s . c o m*/
        protected void initPaging() {
            initCustomPaging();
        }

        @Override
        protected boolean enableActionNewObject() {
            try {
                return getParentPage().isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ASSIGN_ACTION_URI,
                        AuthorizationPhaseType.REQUEST, getFocusObject(), null, null, null);
            } catch (Exception ex) {
                return WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_ADMIN_ASSIGN_ACTION_URI);
            }
        }

        @Override
        protected ObjectQuery createQuery() {
            return createObjectQuery();
        }

        @Override
        protected List<IColumn<ContainerValueWrapper<AssignmentType>, String>> createColumns() {
            return initBasicColumns();
        }

        @Override
        protected void newItemPerformed(AjaxRequestTarget target) {
            newAssignmentClickPerformed(target);
        }

        @Override
        protected boolean isNewObjectButtonEnabled() {
            return !isAssignmentsLimitReached();
        }

        @Override
        protected IModel<String> getNewObjectButtonTitleModel() {
            return getAssignmentsLimitReachedTitleModel("MainObjectListPanel.newObject");
        }

        @Override
        protected void deleteItemPerformed(AjaxRequestTarget target,
                List<ContainerValueWrapper<AssignmentType>> toDeleteList) {
            int countAddedAssignments = 0;
            for (ContainerValueWrapper<AssignmentType> assignment : toDeleteList) {
                if (ValueStatus.ADDED.equals(assignment.getStatus())) {
                    countAddedAssignments++;
                }
            }
            boolean isLimitReached = isAssignmentsLimitReached(toDeleteList.size() - countAddedAssignments,
                    true);
            if (isLimitReached) {
                warn(getParentPage().getString("AssignmentPanel.assignmentsLimitReachedWarning",
                        assignmentsRequestsLimit));
                target.add(getPageBase().getFeedbackPanel());
                return;
            }
            super.deleteItemPerformed(target, toDeleteList);
        }

        @Override
        protected List<ContainerValueWrapper<AssignmentType>> postSearch(
                List<ContainerValueWrapper<AssignmentType>> assignments) {
            return customPostSearch(assignments);
        }

        @Override
        protected MultivalueContainerDetailsPanel<AssignmentType> getMultivalueContainerDetailsPanel(
                ListItem<ContainerValueWrapper<AssignmentType>> item) {
            return createMultivalueContainerDetailsPanel(item);
        }

        @Override
        protected WebMarkupContainer getSearchPanel(String contentAreaId) {
            return getCustomSearchPanel(contentAreaId);
        }

        @Override
        protected List<SearchItemDefinition> initSearchableItems(
                PrismContainerDefinition<AssignmentType> containerDef) {
            return createSearchableItems(containerDef);
        }

        @Override
        protected WebMarkupContainer initButtonToolbar(String id) {
            WebMarkupContainer buttonToolbar = initCustomButtonToolbar(id);
            if (buttonToolbar == null) {
                return super.initButtonToolbar(id);
            }
            return buttonToolbar;
        }

    };
    add(multivalueContainerListPanel);

    setOutputMarkupId(true);
}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentPanel.java

License:Apache License

protected void addSelectedAssignmentsPerformed(AjaxRequestTarget target,
        List<AssignmentType> newAssignmentsList) {
    if (newAssignmentsList == null || newAssignmentsList.isEmpty()) {
        warn(getParentPage().getString("AssignmentTablePanel.message.noAssignmentSelected"));
        target.add(getPageBase().getFeedbackPanel());
        return;//from w  ww.j  a va 2  s  .c  o  m
    }
    boolean isAssignmentsLimitReached = isAssignmentsLimitReached(
            newAssignmentsList != null ? newAssignmentsList.size() : 0, true);
    if (isAssignmentsLimitReached) {
        warn(getParentPage().getString("AssignmentPanel.assignmentsLimitReachedWarning",
                assignmentsRequestsLimit));
        target.add(getPageBase().getFeedbackPanel());
        return;
    }

    newAssignmentsList.forEach(assignment -> {
        PrismContainerDefinition<AssignmentType> definition = getModelObject().getItem().getDefinition();
        PrismContainerValue<AssignmentType> newAssignment;
        try {
            newAssignment = definition.instantiate().createNewValue();
            AssignmentType assignmentType = newAssignment.asContainerable();

            if (assignment.getConstruction() != null && assignment.getConstruction().getResourceRef() != null) {
                assignmentType.setConstruction(assignment.getConstruction());
            } else {
                assignmentType.setTargetRef(assignment.getTargetRef());
            }
            getMultivalueContainerListPanel().createNewItemContainerValueWrapper(newAssignment, getModel());
            getMultivalueContainerListPanel().refreshTable(target);
            getMultivalueContainerListPanel().reloadSavePreviewButtons(target);
        } catch (SchemaException e) {
            getSession().error("Cannot create new assignment " + e.getMessage());
            target.add(getPageBase().getFeedbackPanel());
            target.add(this);
        }

    });

}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentTablePanel.java

License:Apache License

private void initPanelLayout(IModel<String> labelModel) {
    final WebMarkupContainer assignments = new WebMarkupContainer(ID_ASSIGNMENTS);
    assignments.setOutputMarkupId(true);
    add(assignments);//w w  w  . j av  a2 s  .  c  om

    Label label = new Label(ID_HEADER, labelModel);
    assignments.add(label);

    InlineMenu assignmentMenu = new InlineMenu(ID_MENU, new Model((Serializable) createAssignmentMenu()));
    assignments.add(assignmentMenu);

    ListView<AssignmentEditorDto> list = new ListView<AssignmentEditorDto>(ID_LIST, assignmentModel) {

        @Override
        protected void populateItem(ListItem<AssignmentEditorDto> item) {
            AssignmentEditorPanel editor = new AssignmentEditorPanel(ID_ROW, item.getModel());
            item.add(editor);
        }
    };
    list.setOutputMarkupId(true);
    assignments.add(list);

    AjaxCheckBox checkAll = new AjaxCheckBox(ID_CHECK_ALL, new Model()) {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            List<AssignmentEditorDto> assignmentEditors = assignmentModel.getObject();

            for (AssignmentEditorDto dto : assignmentEditors) {
                dto.setSelected(this.getModelObject());
            }

            target.add(assignments);
        }
    };
    assignments.add(checkAll);

    initModalWindows();
}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentTablePanel.java

License:Apache License

private void deleteAssignmentPerformed(AjaxRequestTarget target) {
    List<AssignmentEditorDto> selected = getSelectedAssignments();

    if (selected.isEmpty()) {
        warn(getString("AssignmentTablePanel.message.noAssignmentSelected"));
        target.add(getPageBase().getFeedbackPanel());
        return;/*from   www  .jav a2  s.c  om*/
    }

    showModalWindow(ID_MODAL_DELETE_ASSIGNMENT, target);
}

From source file:com.evolveum.midpoint.web.component.assignment.AssignmentTablePanel.java

License:Apache License

private void addSelectedAssignablePerformed(AjaxRequestTarget target, List<ObjectType> newAssignments) {
    ModalWindow window = (ModalWindow) get(ID_MODAL_ASSIGN);
    window.close(target);/*w ww . j a v a 2 s.com*/

    if (newAssignments.isEmpty()) {
        warn(getString("AssignmentTablePanel.message.noAssignmentSelected"));
        target.add(getPageBase().getFeedbackPanel());
        return;
    }

    List<AssignmentEditorDto> assignments = assignmentModel.getObject();

    for (ObjectType object : newAssignments) {
        try {

            if (object instanceof ResourceType) {
                addSelectedResourceAssignPerformed((ResourceType) object);
                continue;
            }

            AssignmentEditorDtoType aType = AssignmentEditorDtoType.getType(object.getClass());

            ObjectReferenceType targetRef = new ObjectReferenceType();
            targetRef.setOid(object.getOid());
            targetRef.setType(aType.getQname());

            AssignmentType assignment = new AssignmentType();
            assignment.setTargetRef(targetRef);

            AssignmentEditorDto dto = new AssignmentEditorDto(object, aType, UserDtoStatus.ADD, assignment);
            dto.setMinimized(false);
            dto.setShowEmpty(true);

            assignments.add(dto);
        } catch (Exception e) {
            error(getString("AssignmentTablePanel.message.couldntAssignObject", object.getName(),
                    e.getMessage()));
            LoggingUtils.logException(LOGGER, "Couldn't assign object", e);
        }
    }

    target.add(getPageBase().getFeedbackPanel(), get(ID_ASSIGNMENTS));
}

From source file:com.evolveum.midpoint.web.component.assignment.AutzActionsTablePanel.java

License:Apache License

private void addSelectedAssignableActionsPerformed(AjaxRequestTarget target, List<AutzActionsTableDto> toAdd) {
    ModalWindow window = (ModalWindow) get(ID_MODAL_ACTIONS_ASSIGN);
    window.close(target);/* w  ww  .  j a  v  a 2 s  . c  om*/

    if (toAdd.isEmpty()) {
        warn(getString("AutzActionsTablePanel.message.noAssignmentSelected"));
        target.add(getPageBase().getFeedbackPanel());
        return;
    } else {
        List<AutzActionsTableDto> authActions = getModel().getObject();
        authActions.addAll(toAdd);
        target.add(getPageBase().getFeedbackPanel(), get(ID_AUTZACTIONS));
    }

}

From source file:com.evolveum.midpoint.web.component.assignment.ConstructionAssociationPanel.java

License:Apache License

private void addNewShadowRefValuePerformed(AjaxRequestTarget target, RefinedAssociationDefinition def) {
    ObjectFilter filter = WebComponentUtil.createAssociationShadowRefFilter(def,
            getPageBase().getPrismContext(), resourceModel.getObject().getOid());
    ObjectBrowserPanel<ShadowType> objectBrowserPanel = new ObjectBrowserPanel<ShadowType>(
            getPageBase().getMainPopupBodyId(), ShadowType.class, Arrays.asList(ShadowType.COMPLEX_TYPE), false,
            getPageBase(), filter) {/* w  ww. jav a 2s  .  c  o  m*/
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSelectPerformed(AjaxRequestTarget target, ShadowType object) {
            getPageBase().hideMainPopup(target);
            ContainerWrapper<ConstructionType> constructionContainerWrapper = ConstructionAssociationPanel.this
                    .getModelObject();
            ContainerWrapper associationWrapper = constructionContainerWrapper.findContainerWrapper(
                    constructionContainerWrapper.getPath().append(ConstructionType.F_ASSOCIATION));
            PrismContainerValue newAssociation = associationWrapper.getItem().createNewValue();
            ItemName associationRefPath = def.getName();
            ((ResourceObjectAssociationType) newAssociation.asContainerable())
                    .setRef(new ItemPathType(associationRefPath));
            ExpressionType newAssociationExpression = ((ResourceObjectAssociationType) newAssociation
                    .asContainerable()).beginOutbound().beginExpression();
            ExpressionUtil.addShadowRefEvaluatorValue(newAssociationExpression, object.getOid(),
                    getPageBase().getPrismContext());
            ContainerWrapperFactory factory = new ContainerWrapperFactory(getPageBase());
            Task task = getPageBase().createAnonymousTask("Adding new shadow");
            ContainerValueWrapper<ResourceObjectAssociationType> valueWrapper = factory
                    .createContainerValueWrapper(associationWrapper, newAssociation,
                            associationWrapper.getObjectStatus(), ValueStatus.ADDED,
                            associationWrapper.getPath(), task);
            associationWrapper.getValues().add(valueWrapper);

            target.add(ConstructionAssociationPanel.this);
        }

    };

    getPageBase().showMainPopup(objectBrowserPanel, target);

}