Search in sources :

Example 11 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageAssignmentConflicts method initLayout.

private void initLayout() {
    MidpointForm mainForm = new MidpointForm(ID_MAIN_FORM);
    mainForm.setOutputMarkupId(true);
    add(mainForm);
    RepeatingView conflictsPanel = new RepeatingView(ID_CONFLICTS_PANEL);
    conflictsPanel.setOutputMarkupId(true);
    List<ConflictDto> conflicts = getSessionStorage().getRoleCatalog().getConflictsList();
    for (ConflictDto dto : conflicts) {
        AssignmentConflictPanel panel = new AssignmentConflictPanel(conflictsPanel.newChildId(), Model.of(dto));
        conflictsPanel.add(panel);
    }
    mainForm.add(conflictsPanel);
    AjaxSubmitButton back = new AjaxSubmitButton(ID_BACK, createStringResource("PageAssignmentConflicts.back")) {

        @Override
        public void onSubmit(AjaxRequestTarget target) {
            redirectBack();
        }
    };
    mainForm.add(back);
    AjaxSubmitButton submit = new AjaxSubmitButton(ID_SUBMIT, createStringResource("PageAssignmentConflicts.submit")) {

        @Override
        public void onSubmit(AjaxRequestTarget target) {
            processConflictDecisions();
            redirectBack();
        }
    };
    mainForm.add(submit);
}
Also used : AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) AjaxSubmitButton(com.evolveum.midpoint.web.component.AjaxSubmitButton) ConflictDto(com.evolveum.midpoint.web.page.self.dto.ConflictDto) RepeatingView(org.apache.wicket.markup.repeater.RepeatingView) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) AssignmentConflictPanel(com.evolveum.midpoint.web.page.self.component.AssignmentConflictPanel)

Example 12 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageAssignmentDetails method initLayout.

public void initLayout(final IModel<AssignmentEditorDto> assignmentModel) {
    setOutputMarkupId(true);
    MidpointForm mainForm = new MidpointForm(ID_FORM);
    mainForm.setOutputMarkupId(true);
    add(mainForm);
    AssignmentDetailsPanel detailsPanel = new AssignmentDetailsPanel(ID_DETAILS_PANEL, assignmentModel);
    detailsPanel.setOutputMarkupId(true);
    mainForm.add(detailsPanel);
    AjaxButton back = new AjaxButton(ID_BACK, createStringResource("PageAssignmentDetails.backButton")) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            redirectBack();
        }
    };
    mainForm.add(back);
    AjaxButton addToCart = new AjaxButton(ID_ADD_TO_CART, createStringResource("PageAssignmentDetails.addToCartButton")) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            RoleCatalogStorage storage = getSessionStorage().getRoleCatalog();
            if (storage.getAssignmentShoppingCart() == null) {
                storage.setAssignmentShoppingCart(new ArrayList<>());
            }
            AssignmentEditorDto dto = assignmentModel.getObject();
            dto.setMinimized(true);
            dto.setSimpleView(true);
            storage.getAssignmentShoppingCart().add(dto);
            redirectBack();
        }
    };
    mainForm.add(addToCart);
}
Also used : AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) AjaxButton(com.evolveum.midpoint.web.component.AjaxButton) AssignmentEditorDto(com.evolveum.midpoint.web.component.assignment.AssignmentEditorDto) RoleCatalogStorage(com.evolveum.midpoint.web.session.RoleCatalogStorage) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) AssignmentDetailsPanel(com.evolveum.midpoint.web.component.assignment.AssignmentDetailsPanel)

Example 13 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageAssignmentsList method initLayout.

public void initLayout() {
    setOutputMarkupId(true);
    MidpointForm mainForm = new MidpointForm(ID_FORM);
    mainForm.setOutputMarkupId(true);
    add(mainForm);
    AssignmentTablePanel panel = new AssignmentTablePanel<UserType>(ID_ASSIGNMENT_TABLE_PANEL, assignmentsModel) {

        private static final long serialVersionUID = 1L;

        @Override
        protected List<InlineMenuItem> createAssignmentMenu() {
            List<InlineMenuItem> items = new ArrayList<>();
            InlineMenuItem item = new InlineMenuItem(createStringResource("PageAssignmentsList.deleteAllItemsFromShoppingCart")) {

                private static final long serialVersionUID = 1L;

                @Override
                public InlineMenuItemAction initAction() {
                    return new InlineMenuItemAction() {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            getModelObject().forEach(assignmentEditorDto -> assignmentEditorDto.setSelected(true));
                            deleteAssignmentPerformed(target, null);
                        }
                    };
                }
            };
            items.add(item);
            return items;
        }

        @Override
        public IModel<String> getLabel() {
            return createStringResource("PageAssignmentsList.assignmentsToRequest");
        }

        @Override
        protected boolean isRelationEditable() {
            return false;
        }

        @Override
        protected void reloadMainFormButtons(AjaxRequestTarget target) {
            Component requestButton = PageAssignmentsList.this.get(createComponentPath(ID_FORM, ID_REQUEST_BUTTON));
            if (requestButton != null) {
                refreshRequestButton(requestButton);
            }
            target.add(getFeedbackPanel());
            target.add(requestButton);
        }
    };
    mainForm.add(panel);
    UserSelectionButton targetUserPanel = new UserSelectionButton(ID_TARGET_USER_PANEL, new IModel<List<UserType>>() {

        @Override
        public List<UserType> getObject() {
            return WebComponentUtil.loadTargetUsersListForShoppingCart(OPERATION_LOAD_ASSIGNMENT_TARGET_USER_OBJECT, PageAssignmentsList.this);
        }
    }, true, createStringResource("AssignmentCatalogPanel.selectTargetUser")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected String getUserButtonLabel() {
            return getTargetUserSelectionButtonLabel(getModelObject());
        }

        @Override
        protected void onDeleteSelectedUsersPerformed(AjaxRequestTarget target) {
            super.onDeleteSelectedUsersPerformed(target);
            getSessionStorage().getRoleCatalog().setTargetUserOidsList(new ArrayList<>());
            targetUserChangePerformed(target);
        }

        @Override
        protected void multipleUsersSelectionPerformed(AjaxRequestTarget target, List<UserType> usersList) {
            if (CollectionUtils.isNotEmpty(usersList)) {
                List<String> usersOidsList = new ArrayList<>();
                usersList.forEach(user -> usersOidsList.add(user.getOid()));
                getSessionStorage().getRoleCatalog().setTargetUserOidsList(usersOidsList);
            }
            targetUserChangePerformed(target);
        }
    };
    targetUserPanel.setOutputMarkupId(true);
    mainForm.add(targetUserPanel);
    TextArea<String> descriptionInput = new TextArea<>(ID_DESCRIPTION, descriptionModel);
    descriptionInput.add(new AjaxFormComponentUpdatingBehavior("blur") {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            getSessionStorage().getRoleCatalog().setRequestDescription(getDescriptionComponent().getValue());
        }
    });
    mainForm.add(descriptionInput);
    AjaxButton back = new AjaxButton(ID_BACK, createStringResource("PageAssignmentDetails.backButton")) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            redirectBack();
        }
    };
    mainForm.add(back);
    AjaxButton requestAssignments = new AjaxButton(ID_REQUEST_BUTTON, createStringResource("PageAssignmentsList.requestButton")) {

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (getSessionStorage().getRoleCatalog().getTargetUserOidsList() == null || getSessionStorage().getRoleCatalog().getTargetUserOidsList().size() <= 1) {
                onSingleUserRequestPerformed(target);
            } else {
                onMultiUserRequestPerformed(target);
            }
        }
    };
    requestAssignments.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isEnabled() {
            return isRequestButtonEnabled();
        }
    });
    mainForm.add(requestAssignments);
    refreshRequestButton(requestAssignments);
    AjaxSubmitButton resolveAssignments = new AjaxSubmitButton(ID_RESOLVE_CONFLICTS_BUTTON, createStringResource("PageAssignmentsList.resolveConflicts")) {

        @Override
        protected void onError(AjaxRequestTarget target) {
            target.add(getFeedbackPanel());
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            PageAssignmentsList.this.navigateToNext(PageAssignmentConflicts.class);
        }
    };
    resolveAssignments.add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            return !getSessionStorage().getRoleCatalog().isMultiUserRequest() && !areConflictsResolved();
        }
    });
    mainForm.add(resolveAssignments);
}
Also used : AjaxFormComponentUpdatingBehavior(org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior) AjaxSubmitButton(com.evolveum.midpoint.web.component.AjaxSubmitButton) UserSelectionButton(com.evolveum.midpoint.web.component.assignment.UserSelectionButton) TextArea(org.apache.wicket.markup.html.form.TextArea) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) AssignmentTablePanel(com.evolveum.midpoint.web.component.assignment.AssignmentTablePanel) AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) AjaxButton(com.evolveum.midpoint.web.component.AjaxButton) InlineMenuItemAction(com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction) InlineMenuItem(com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem) VisibleEnableBehaviour(com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour) Component(org.apache.wicket.Component)

Example 14 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageMessageTemplates method initLayout.

private void initLayout() {
    Form mainForm = new MidpointForm(ID_MAIN_FORM);
    add(mainForm);
    MainObjectListPanel<MessageTemplateType> table = new MainObjectListPanel<>(ID_TABLE, MessageTemplateType.class) {

        @Override
        protected TableId getTableId() {
            return TableId.TABLE_MESSAGE_TEMPLATES;
        }

        @Override
        protected IColumn<SelectableBean<MessageTemplateType>, String> createCheckboxColumn() {
            return null;
        }
    };
    table.setOutputMarkupId(true);
    mainForm.add(table);
}
Also used : MainObjectListPanel(com.evolveum.midpoint.gui.api.component.MainObjectListPanel) Form(org.apache.wicket.markup.html.form.Form) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) MessageTemplateType(com.evolveum.midpoint.xml.ns._public.common.common_3.MessageTemplateType) SelectableBean(com.evolveum.midpoint.web.component.util.SelectableBean) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm)

Example 15 with MidpointForm

use of com.evolveum.midpoint.web.component.form.MidpointForm in project midpoint by Evolveum.

the class PageArchetypes method initLayout.

private void initLayout() {
    Form mainForm = new MidpointForm(ID_MAIN_FORM);
    add(mainForm);
    MainObjectListPanel<ArchetypeType> table = new MainObjectListPanel<ArchetypeType>(ID_TABLE, ArchetypeType.class) {

        @Override
        protected TableId getTableId() {
            return UserProfileStorage.TableId.TABLE_ARCHETYPES;
        }

        @Override
        protected IColumn<SelectableBean<ArchetypeType>, String> createCheckboxColumn() {
            return null;
        }
    };
    table.setOutputMarkupId(true);
    mainForm.add(table);
}
Also used : MainObjectListPanel(com.evolveum.midpoint.gui.api.component.MainObjectListPanel) ArchetypeType(com.evolveum.midpoint.xml.ns._public.common.common_3.ArchetypeType) Form(org.apache.wicket.markup.html.form.Form) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm) SelectableBean(com.evolveum.midpoint.web.component.util.SelectableBean) MidpointForm(com.evolveum.midpoint.web.component.form.MidpointForm)

Aggregations

MidpointForm (com.evolveum.midpoint.web.component.form.MidpointForm)75 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)41 Form (org.apache.wicket.markup.html.form.Form)39 AjaxSubmitButton (com.evolveum.midpoint.web.component.AjaxSubmitButton)20 WebMarkupContainer (org.apache.wicket.markup.html.WebMarkupContainer)19 InlineMenuItem (com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem)17 VisibleEnableBehaviour (com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour)17 UserProfileStorage (com.evolveum.midpoint.web.session.UserProfileStorage)15 MainObjectListPanel (com.evolveum.midpoint.gui.api.component.MainObjectListPanel)14 ArrayList (java.util.ArrayList)14 Label (org.apache.wicket.markup.html.basic.Label)14 IModel (org.apache.wicket.model.IModel)14 IColumn (org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn)11 AjaxButton (com.evolveum.midpoint.web.component.AjaxButton)9 ListItem (org.apache.wicket.markup.html.list.ListItem)8 SelectableBean (com.evolveum.midpoint.web.component.util.SelectableBean)7 VisibleBehaviour (com.evolveum.midpoint.web.component.util.VisibleBehaviour)7 List (java.util.List)7 OnChangeAjaxBehavior (org.apache.wicket.ajax.form.OnChangeAjaxBehavior)7 ItemPath (com.evolveum.midpoint.prism.path.ItemPath)6