List of usage examples for org.apache.wicket.ajax AjaxRequestTarget add
void add(Component... components);
From source file:com.evolveum.midpoint.web.component.assignment.DelegationEditorPanel.java
License:Apache License
protected void initBodyLayout(WebMarkupContainer body) { DateInput validFrom = new DateInput(ID_DELEGATION_VALID_FROM, AssignmentsUtil .createDateModel(new PropertyModel<>(getModel(), AssignmentEditorDto.F_ACTIVATION + ".validFrom"))); validFrom.setEnabled(getModel().getObject().isEditable()); body.add(validFrom);//from ww w.j av a2 s .c o m DateInput validTo = new DateInput(ID_DELEGATION_VALID_TO, AssignmentsUtil .createDateModel(new PropertyModel<>(getModel(), AssignmentEditorDto.F_ACTIVATION + ".validTo"))); validTo.setEnabled(getModel().getObject().isEditable()); body.add(validTo); TextArea<String> description = new TextArea<>(ID_DESCRIPTION, new PropertyModel<String>(getModel(), AssignmentEditorDto.F_DESCRIPTION)); description.setEnabled(getModel().getObject().isEditable()); body.add(description); WebMarkupContainer assignmentPrivilegesContainer = new WebMarkupContainer( ID_ASSIGNMENT_PRIVILEGES_CONTAINER); assignmentPrivilegesContainer.setOutputMarkupId(true); assignmentPrivilegesContainer.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { if (!UserDtoStatus.ADD.equals(getModelObject().getStatus())) { return true; } List<AssignmentInfoDto> privilegesList = privilegesListModel.getObject(); return privilegesList != null && privilegesList.size() > 0; } }); body.add(assignmentPrivilegesContainer); AjaxCheckBox assignmentPrivilegesCheckbox = new AjaxCheckBox(ID_ASSIGNMENT_PRIVILEGES_CHECKBOX, new IModel<Boolean>() { private static final long serialVersionUID = 1L; @Override public Boolean getObject() { return getModelObject().getPrivilegeLimitationList() != null && getModelObject().getPrivilegeLimitationList().size() > 0; } @Override public void setObject(Boolean value) { if (value) { getModelObject().setPrivilegeLimitationList(privilegesListModel.getObject()); } else { getModelObject().setPrivilegeLimitationList(new ArrayList<>()); } } @Override public void detach() { } }) { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { target.add(DelegationEditorPanel.this.get(ID_BODY).get(ID_ASSIGNMENT_PRIVILEGES_CONTAINER)); } }; assignmentPrivilegesCheckbox.setOutputMarkupId(true); assignmentPrivilegesCheckbox.add(new AjaxFormComponentUpdatingBehavior("blur") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); assignmentPrivilegesCheckbox.add(new VisibleEnableBehaviour() { @Override public boolean isEnabled() { return UserDtoStatus.ADD.equals(getModelObject().getStatus()); } }); assignmentPrivilegesContainer.add(assignmentPrivilegesCheckbox); WebMarkupContainer labelContainer = new WebMarkupContainer(ID_ASSIGNMENT_PRIVILEGES_LABEL_CONTAINER); labelContainer.setOutputMarkupId(true); assignmentPrivilegesContainer.add(labelContainer); Label assignmentPrivilegesLabel = new Label(ID_ASSIGNMENT_PRIVILEGES_LABEL, createStringResource("DelegationEditorPanel.allPrivilegesLabel")); assignmentPrivilegesLabel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return true; } }); assignmentPrivilegesLabel.setOutputMarkupId(true); labelContainer.add(assignmentPrivilegesLabel); addPrivilegesPanel(assignmentPrivilegesContainer); AjaxButton limitPrivilegesButton = new AjaxButton(ID_LIMIT_PRIVILEGES_BUTTON, createStringResource("DelegationEditorPanel.limitPrivilegesButton")) { @Override public void onClick(AjaxRequestTarget target) { DelegationTargetLimitationDialog assignmentsDialog = new DelegationTargetLimitationDialog( getPageBase().getMainPopupBodyId(), selectExistingPrivileges(privilegesListModel.getObject()), getPageBase()) { @Override protected void addButtonClicked(AjaxRequestTarget target, List<AssignmentInfoDto> dtoList) { DelegationEditorPanel.this.getModelObject().setPrivilegeLimitationList(dtoList); getPageBase().hideMainPopup(target); } }; getPageBase().showMainPopup(assignmentsDialog, target); } }; limitPrivilegesButton.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return UserDtoStatus.ADD.equals(getModelObject().getStatus()) && assignmentPrivilegesCheckbox.getModelObject(); } }); labelContainer.add(limitPrivilegesButton); AjaxCheckBox approvalRights = new AjaxCheckBox(ID_DELEGATE_APPROVAL_WI, new IModel<Boolean>() { private static final long serialVersionUID = 1L; @Override public Boolean getObject() { AssignmentEditorDto dto = getModelObject(); if (dto.getPrivilegesLimitation() == null || dto.getPrivilegesLimitation().getApprovalWorkItems() == null || dto.getPrivilegesLimitation().getApprovalWorkItems().isAll() == null) { return false; } return dto.getPrivilegesLimitation().getApprovalWorkItems().isAll(); } @Override public void setObject(Boolean value) { AssignmentEditorDto dto = getModelObject(); OtherPrivilegesLimitationType limitations = dto.getPrivilegesLimitation(); if (limitations == null) { limitations = new OtherPrivilegesLimitationType(); dto.setPrivilegesLimitation(limitations); } WorkItemSelectorType workItemSelector = new WorkItemSelectorType(); workItemSelector.all(value); limitations.setApprovalWorkItems(workItemSelector); } @Override public void detach() { } }) { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }; approvalRights.setOutputMarkupId(true); approvalRights.add(new AjaxFormComponentUpdatingBehavior("blur") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); approvalRights.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return getModel().getObject().isEditable(); } }); body.add(approvalRights); AjaxCheckBox certificationRights = new AjaxCheckBox(ID_DELEGATE_CERTIFICATION_WI, new IModel<Boolean>() { private static final long serialVersionUID = 1L; @Override public Boolean getObject() { AssignmentEditorDto dto = getModelObject(); if (dto.getPrivilegesLimitation() == null || dto.getPrivilegesLimitation().getCertificationWorkItems() == null || dto.getPrivilegesLimitation().getCertificationWorkItems().isAll() == null) { return false; } return dto.getPrivilegesLimitation().getCertificationWorkItems().isAll(); } @Override public void setObject(Boolean value) { AssignmentEditorDto dto = getModelObject(); OtherPrivilegesLimitationType limitations = dto.getPrivilegesLimitation(); if (limitations == null) { limitations = new OtherPrivilegesLimitationType(); dto.setPrivilegesLimitation(limitations); } WorkItemSelectorType workItemSelector = new WorkItemSelectorType(); workItemSelector.all(value); limitations.setCertificationWorkItems(workItemSelector); } @Override public void detach() { } }) { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }; certificationRights.add(new AjaxFormComponentUpdatingBehavior("blur") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); certificationRights.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return getModel().getObject().isEditable(); } }); certificationRights.setOutputMarkupId(true); body.add(certificationRights); AjaxCheckBox managementWorkItems = new AjaxCheckBox(ID_DELEGATE_MANAGEMENT_WI, new Model<>(false)) { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }; managementWorkItems.setOutputMarkupId(true); managementWorkItems.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { //TODO not implemented yet return false; } }); body.add(managementWorkItems); AjaxCheckBox allowTransitive = new AjaxCheckBox(ID_ALLOW_TRANSITIVE, new IModel<Boolean>() { private static final long serialVersionUID = 1L; @Override public Boolean getObject() { return getModelObject().isLimitTargetAllowTransitive(); } @Override public void setObject(Boolean value) { getModelObject().setLimitTargetAllowTransitive(value); } @Override public void detach() { } }) { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }; allowTransitive.add(new AjaxFormComponentUpdatingBehavior("blur") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); allowTransitive.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return getModel().getObject().isEditable(); } }); allowTransitive.setOutputMarkupId(true); body.add(allowTransitive); addAjaxOnUpdateBehavior(body); }
From source file:com.evolveum.midpoint.web.component.assignment.GridViewComponent.java
License:Apache License
protected WebMarkupContainer createFooter() { WebMarkupContainer footerContainer = new WebMarkupContainer(ID_FOOTER_CONTAINER); footerContainer.setOutputMarkupId(true); footerContainer.add(new VisibleEnableBehaviour() { @Override// ww w. ja v a 2 s. c om public boolean isVisible() { return GridViewComponent.this.getGridView().getPageCount() > 1; } }); final Label count = new Label(ID_COUNT, new IModel<String>() { @Override public String getObject() { return ""; } }); count.setOutputMarkupId(true); footerContainer.add(count); BoxedPagingPanel nb2 = new BoxedPagingPanel(ID_PAGING, getGridView(), true) { @Override protected void onPageChanged(AjaxRequestTarget target, long page) { GridViewComponent.this.getGridView().setCurrentPage(page); target.add(GridViewComponent.this.getGridView().getParent()); target.add(count); } }; footerContainer.add(nb2); return footerContainer; }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelector.java
License:Apache License
private Component createRowLink(String id, final IModel<SelectableBean<AssignmentEditorDto>> rowModel) { AjaxLink<SelectableBean<AssignmentEditorDto>> button = new AjaxLink<SelectableBean<AssignmentEditorDto>>(id, rowModel) {//from w w w . ja v a 2 s .co m @Override public IModel<?> getBody() { AssignmentEditorDto dto = (AssignmentEditorDto) rowModel.getObject(); String name = StringUtils.isNotEmpty(dto.getNameForTargetObject()) ? dto.getNameForTargetObject() : dto.getName(); return new Model<>(name); } @Override public void onClick(AjaxRequestTarget target) { LOGGER.trace("{} CLICK: {}", this, rowModel.getObject()); toggleRow(rowModel); target.add(this); } @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); if (rowModel.getObject().isSelected()) { tag.put("class", "list-group-item active"); tag.put("style", "background-color: #eee; border-color: #d6d6d6; color: #000;"); } else { tag.put("class", "list-group-item"); } String description = ((AssignmentEditorDto) rowModel.getObject()).getDescription(); if (description != null) { tag.put("title", description); } } }; button.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return ((AssignmentEditorDto) rowModel.getObject()).getStatus() != UserDtoStatus.DELETE; } }); button.setOutputMarkupId(true); return button; }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelector.java
License:Apache License
private void searchPerformed(ObjectQuery query, AjaxRequestTarget target) { MultipleAssignmentSelector.this.searchQuery = query; if (filterModel != null && filterModel.getObject() != null) { if (query == null) { query = new ObjectQuery(); }/* w w w .j a v a2s . c o m*/ query.addFilter(filterModel.getObject()); filterObjectIsAdded = true; } BoxedTablePanel panel = getTable(); panel.setCurrentPage(null); provider.setQuery(query); target.add(panel); }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelector.java
License:Apache License
private void initUserDialog(IModel<String> title, AjaxRequestTarget target) { List<QName> supportedTypes = new ArrayList<>(); supportedTypes.add(getPageBase().getPrismContext().getSchemaRegistry() .findObjectDefinitionByCompileTimeClass(targetFocusClass).getTypeName()); ObjectBrowserPanel<H> focusBrowser = new ObjectBrowserPanel<H>(getPageBase().getMainPopupBodyId(), targetFocusClass, supportedTypes, false, getPageBase()) { @Override//ww w . jav a2 s. c om protected void onSelectPerformed(AjaxRequestTarget target, H filterUser) { super.onSelectPerformed(target, filterUser); filterObject = filterUser; filterByUserPerformed(); replaceTable(target); labelValue += " " + filterUser.getName().toString(); target.add(getFilterButton()); } }; getPageBase().showMainPopup(focusBrowser, target); }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelector.java
License:Apache License
private void replaceTable(AjaxRequestTarget target) { BoxedTablePanel table = initTablePanel(); MultipleAssignmentSelector.this.replace(table); target.add(MultipleAssignmentSelector.this); }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelectorPanel.java
License:Apache License
private void initLayout(Class<H> targetFocusClass, PageBase page) { IModel<List<AssignmentEditorDto>> availableAssignmentModel = createAvailableAssignmentModel(); final MultipleAssignmentSelector availableAssignmentsPanel = new MultipleAssignmentSelector<F, H>( ID_AVAILABLE_ASSIGNMENTS, availableAssignmentModel, targetFocusClass, type, focus, getFilterModel(true), page); final MultipleAssignmentSelector currentAssignmentsPanel = new MultipleAssignmentSelector<F, H>( ID_CURRENT_ASSIGNMENTS, assignmentsModel, targetFocusClass, type, null, getFilterModel(true), page) {//from w ww . ja v a2 s. co m @Override protected List<AssignmentEditorDto> getListProviderDataList() { return assignmentsModel.getObject(); } }; currentAssignmentsPanel.setFilterButtonVisibility(false); AjaxButton add = new AjaxButton(ID_BUTTON_ADD) { @Override protected void onSubmit(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form form) { addToAssignmentsModel(target, availableAssignmentsPanel, currentAssignmentsPanel); } }; AjaxButton remove = new AjaxButton(ID_BUTTON_REMOVE) { @Override protected void onSubmit(AjaxRequestTarget target, org.apache.wicket.markup.html.form.Form form) { deleteFromAssignmentsModel(target, currentAssignmentsPanel, availableAssignmentsPanel); } }; remove.add(new VisibleEnableBehaviour() { @Override public boolean isEnabled() { return WebComponentUtil.isAuthorized(AuthorizationConstants.AUTZ_UI_UNASSIGN_ACTION_URL); } }); AjaxLink<String> buttonReset = new AjaxLink<String>(ID_BUTTON_RESET) { @Override public void onClick(AjaxRequestTarget target) { reset(currentAssignmentsPanel); target.add(currentAssignmentsPanel); } }; buttonReset.setBody(createStringResource("MultipleAssignmentSelector.reset")); Form<?> form = new Form<Void>(ID_FORM); form.add(createTenantContainer()); form.add(createOrgContainer()); form.add(availableAssignmentsPanel); form.add(currentAssignmentsPanel); form.add(buttonReset); form.add(add); form.add(remove); add(form); }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelectorPanel.java
License:Apache License
private void addToAssignmentsModel(AjaxRequestTarget target, MultipleAssignmentSelector from, MultipleAssignmentSelector to) { List<AssignmentEditorDto> fromProviderList = from.getProvider().getAvailableData(); List<AssignmentEditorDto> listToBeAdded = new ArrayList<>(); List<AssignmentEditorDto> assignmentsList = assignmentsModel.getObject(); if (tenantEditorObject != null && StringUtils.isNotEmpty(tenantEditorObject.get(0).getOid()) || orgEditorObject != null && StringUtils.isNotEmpty(orgEditorObject.get(0).getOid())) { setTenantAndOrgToAssignmentsList(fromProviderList); }// w w w . ja v a 2 s . c o m for (AssignmentEditorDto dto : fromProviderList) { if (dto.isSelected()) { boolean toBeAdded = true; for (AssignmentEditorDto assignmentDto : assignmentsList) { String assignmentOid = getAssignmentDtoOid(assignmentDto); String dtoOid = getAssignmentDtoOid(dto); if (assignmentOid != null && dtoOid != null && assignmentOid.equals(dtoOid)) { if (areEqualReferenceObjects(assignmentDto.getTenantRef(), dto.getTenantRef()) && areEqualReferenceObjects(assignmentDto.getOrgRef(), dto.getOrgRef())) { if (assignmentDto.getStatus().equals(UserDtoStatus.DELETE)) { assignmentDto.setStatus(UserDtoStatus.MODIFY); } assignmentDto.setTenantRef(dto.getTenantRef()); assignmentDto.setOrgRef(dto.getOrgRef()); toBeAdded = false; } } } if (toBeAdded) { dto.setStatus(UserDtoStatus.ADD); listToBeAdded.add(dto); } dto.setSelected(false); } } assignmentsList.addAll(listToBeAdded); target.add(to); target.add(from); }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelectorPanel.java
License:Apache License
private void deleteFromAssignmentsModel(AjaxRequestTarget target, MultipleAssignmentSelector from, MultipleAssignmentSelector to) { List<AssignmentEditorDto> fromProviderList = ((BaseSortableDataProvider) from.getProvider()) .getAvailableData();/*from ww w. j a va 2 s .c o m*/ List<AssignmentEditorDto> listToBeRemoved = new ArrayList<>(); List<AssignmentEditorDto> assignmentsList = assignmentsModel.getObject(); for (AssignmentEditorDto dto : fromProviderList) { if (dto.isSelected()) { for (AssignmentEditorDto assignmentDto : assignmentsList) { String assignmentDtoOid = getAssignmentDtoOid(assignmentDto); String dtoOid = getAssignmentDtoOid(dto); if (assignmentDtoOid != null && dtoOid != null && assignmentDtoOid.equals(dtoOid) && areEqualReferenceObjects(assignmentDto.getTenantRef(), dto.getTenantRef()) && areEqualReferenceObjects(assignmentDto.getOrgRef(), dto.getOrgRef())) { if (assignmentDto.getStatus().equals(UserDtoStatus.ADD)) { listToBeRemoved.add(assignmentDto); } else { assignmentDto.setStatus(UserDtoStatus.DELETE); } } } dto.setSelected(false); } } assignmentsList.removeAll(listToBeRemoved); target.add(to); target.add(from); }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelectorPanel.java
License:Apache License
private GenericMultiValueLabelEditPanel createTenantContainer() { final GenericMultiValueLabelEditPanel tenantEditor = new GenericMultiValueLabelEditPanel<OrgType>( ID_TENANT_EDITOR, createTenantModel(), createStringResource("MultipleAssignmentSelector.tenant"), LABEL_SIZE, INPUT_SIZE, false) { @Override/* w ww. j a v a 2 s.c o m*/ protected boolean getLabelVisibility() { return false; } @Override protected IModel<String> createTextModel(final IModel<OrgType> model) { return new IModel<String>() { @Override public String getObject() { return WebComponentUtil.getName(model.getObject().asPrismObject()); } @Override public void setObject(String s) { } @Override public void detach() { } }; } @Override protected void removeValuePerformed(AjaxRequestTarget target, ListItem<OrgType> item) { tenantEditorObject.clear(); tenantEditorObject.add(new OrgType()); target.add(getTenantEditorContainer()); } @Override protected void editValuePerformed(AjaxRequestTarget target, IModel<OrgType> rowModel) { List<QName> supportedTypes = new ArrayList<>(); supportedTypes.add(getPageBase().getPrismContext().getSchemaRegistry() .findObjectDefinitionByCompileTimeClass(OrgType.class).getTypeName()); ObjectFilter filter = EqualFilter.createEqual(OrgType.F_TENANT, OrgType.class, getPageBase().getPrismContext(), null, true); ObjectBrowserPanel<OrgType> tenantPanel = new ObjectBrowserPanel<OrgType>( getPageBase().getMainPopupBodyId(), OrgType.class, supportedTypes, false, getPageBase(), filter) { @Override protected void onSelectPerformed(AjaxRequestTarget target, OrgType org) { super.onSelectPerformed(target, org); tenantEditorObject.clear(); tenantEditorObject.add(org); target.add(getTenantEditorContainer()); } }; // OrgTreeAssignablePanel tenantPanel = new OrgTreeAssignablePanel( // getPageBase().getMainPopupBodyId(), false, getPageBase()) { // // @Override // protected void onItemSelect(SelectableBean<OrgType> selected, AjaxRequestTarget target) { // closeModalWindow(target); // tenantEditorObject.clear(); // tenantEditorObject.add(selected.getValue()); // target.add(getTenantEditorContainer()); } // }; getPageBase().showMainPopup(tenantPanel, target); } // @Override // protected void setDialogSize() { // getPageBase().getMainPopup().setInitialWidth(900); // getPageBase().getMainPopup().setInitialHeight(700); // } }; tenantEditor.setOutputMarkupId(true); return tenantEditor; }