use of org.apache.wicket.markup.html.list.ListItem in project midpoint by Evolveum.
the class SearchItemPanel method initPopover.
private void initPopover() {
WebMarkupContainer popover = new WebMarkupContainer(ID_POPOVER);
popover.setOutputMarkupId(true);
add(popover);
WebMarkupContainer popoverBody = new WebMarkupContainer(ID_POPOVER_BODY);
popoverBody.setOutputMarkupId(true);
popover.add(popoverBody);
ListView values = new ListView<DisplayableValue>(ID_VALUES, new PropertyModel<List<DisplayableValue>>(popoverModel, SearchItem.F_VALUES)) {
@Override
protected void populateItem(final ListItem<DisplayableValue> item) {
item.add(AttributeModifier.replace("style", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
return item.getIndex() != 0 ? "margin-top: 5px;" : null;
}
}));
SearchPopupPanel fragment = createPopoverFragment(item.getModel());
fragment.setRenderBodyOnly(true);
item.add(fragment);
}
};
popoverBody.add(values);
AjaxSubmitButton update = new AjaxSubmitButton(ID_UPDATE, createStringResource("SearchItemPanel.update")) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
updateItemPerformed(target);
}
};
popoverBody.add(update);
AjaxButton close = new AjaxButton(ID_CLOSE, createStringResource("SearchItemPanel.close")) {
@Override
public void onClick(AjaxRequestTarget target) {
closeEditPopoverPerformed(target);
}
};
popoverBody.add(close);
}
use of org.apache.wicket.markup.html.list.ListItem in project midpoint by Evolveum.
the class ObjectPolicyPanel method initLayout.
// public void updateModel(AjaxRequestTarget target, ObjectPolicyConfigurationTypeDto config) {
// model.setObject(new ObjectPolicyDialogDto(config, getPageBase()));
// target.add(getContent());
// }
public void initLayout() {
Form form = new Form(ID_FORM);
form.setOutputMarkupId(true);
add(form);
DropDownFormGroup type = new DropDownFormGroup<>(ID_TYPE, new PropertyModel<QName>(model, ObjectPolicyDialogDto.F_TYPE), createTypeChoiceList(), new QNameChoiceRenderer(), createStringResource("ObjectPolicyDialog.type"), ID_LABEL_SIZE, ID_INPUT_SIZE, false);
form.add(type);
type.getInput().setNullValid(false);
type.getInput().setRequired(true);
TextField<String> fieldSubtype = new TextField<>(ID_SUBTYPE, new PropertyModel<String>(model, ObjectPolicyDialogDto.F_SUBTYPE));
form.add(fieldSubtype);
form.add(fieldSubtype);
DropDownFormGroup template = new DropDownFormGroup<>(ID_OBJECT_TEMPLATE, new PropertyModel<ObjectTemplateConfigTypeReferenceDto>(model, ObjectPolicyDialogDto.F_TEMPLATE_REF), createObjectTemplateList(), new ChoiceableChoiceRenderer<ObjectTemplateConfigTypeReferenceDto>(), createStringResource("ObjectPolicyDialog.template"), ID_LABEL_SIZE, ID_INPUT_SIZE, false);
form.add(template);
template.getInput().setNullValid(false);
template.getInput().setRequired(true);
ListView repeater = new ListView<PropertyConstraintTypeDto>(ID_REPEATER, new PropertyModel<List<PropertyConstraintTypeDto>>(model, ObjectPolicyDialogDto.F_PROPERTY_LIST)) {
@Override
protected void populateItem(final ListItem item) {
WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER);
textWrapper.add(AttributeAppender.prepend("class", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
if (item.getIndex() > 0) {
return OFFSET_CLASS + " " + CLASS_MULTI_VALUE;
}
return null;
}
}));
item.add(textWrapper);
TextField property = new TextField<>(ID_PROPERTY, new PropertyModel<String>(item.getModel(), PropertyConstraintTypeDto.F_PROPERTY_PATH));
property.add(new AjaxFormComponentUpdatingBehavior("blur") {
@Override
protected void onUpdate(AjaxRequestTarget target) {
}
});
property.add(AttributeAppender.replace("placeholder", createStringResource("ObjectPolicyDialog.property.placeholder")));
textWrapper.add(property);
CheckBox oidBound = new CheckBox(ID_OID_BOUND, new PropertyModel<Boolean>(item.getModel(), PropertyConstraintTypeDto.F_OID_BOUND));
oidBound.add(AttributeModifier.replace("title", createStringResource("ObjectPolicyDialog.label.oidBound.help")));
textWrapper.add(oidBound);
WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP);
buttonGroup.add(AttributeAppender.append("class", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
if (item.getIndex() > 0) {
return CLASS_MULTI_VALUE;
}
return null;
}
}));
item.add(buttonGroup);
initButtons(buttonGroup, item);
}
};
form.add(repeater);
AjaxSubmitButton cancel = new AjaxSubmitButton(ID_BUTTON_CANCEL, createStringResource("ObjectPolicyDialog.button.cancel")) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
cancelPerformed(target);
}
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
cancelPerformed(target);
}
};
form.add(cancel);
AjaxSubmitButton save = new AjaxSubmitButton(ID_BUTTON_SAVE, createStringResource("ObjectPolicyDialog.button.save")) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
savePerformed(target);
}
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(form);
}
};
form.add(save);
}
use of org.apache.wicket.markup.html.list.ListItem in project midpoint by Evolveum.
the class AssignmentTablePanel method initLayout.
private void initLayout(IModel<String> labelText) {
final WebMarkupContainer assignments = new WebMarkupContainer(ID_ASSIGNMENTS);
assignments.setOutputMarkupId(true);
add(assignments);
Label label = new Label(ID_HEADER, labelText);
assignments.add(label);
InlineMenu assignmentMenu = new InlineMenu(ID_MENU, new Model((Serializable) createAssignmentMenu()));
assignmentMenu.setVisible(getAssignmentMenuVisibility());
assignments.add(assignmentMenu);
ListView<AssignmentEditorDto> list = new ListView<AssignmentEditorDto>(ID_LIST, getModel()) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem(ListItem<AssignmentEditorDto> item) {
AssignmentTablePanel.this.populateAssignmentDetailsPanel(item);
}
};
list.setOutputMarkupId(true);
assignments.add(list);
AjaxCheckBox checkAll = new AjaxCheckBox(ID_CHECK_ALL, new Model()) {
@Override
protected void onUpdate(AjaxRequestTarget target) {
List<AssignmentEditorDto> assignmentEditors = getAssignmentModel().getObject();
for (AssignmentEditorDto dto : assignmentEditors) {
dto.setSelected(this.getModelObject());
}
target.add(assignments);
}
};
checkAll.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
int count = 0;
for (AssignmentEditorDto dto : getModelObject()) {
if (dto.isSimpleView()) {
count++;
}
}
if (count == getModelObject().size()) {
return false;
} else {
return true;
}
}
});
assignments.add(checkAll);
}
use of org.apache.wicket.markup.html.list.ListItem in project midpoint by Evolveum.
the class MultipleAssignmentSelectorPanel method createTenantContainer.
private GenericMultiValueLabelEditPanel createTenantContainer() {
final GenericMultiValueLabelEditPanel tenantEditor = new GenericMultiValueLabelEditPanel<OrgType>(ID_TENANT_EDITOR, createTenantModel(), createStringResource("MultipleAssignmentSelector.tenant"), LABEL_SIZE, INPUT_SIZE, false) {
@Override
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 = QueryBuilder.queryFor(OrgType.class, getPageBase().getPrismContext()).item(OrgType.F_TENANT).eq(true).buildFilter();
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);
}
};
tenantEditor.setOutputMarkupId(true);
return tenantEditor;
}
use of org.apache.wicket.markup.html.list.ListItem in project midpoint by Evolveum.
the class MultipleAssignmentSelectorPanel method createOrgContainer.
private GenericMultiValueLabelEditPanel createOrgContainer() {
final GenericMultiValueLabelEditPanel orgUnitEditor = new GenericMultiValueLabelEditPanel<OrgType>(ID_ORG_EDITOR, createOrgUnitModel(), createStringResource("MultipleAssignmentSelector.orgUnit"), LABEL_SIZE, INPUT_SIZE, false) {
@Override
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) {
orgEditorObject.clear();
orgEditorObject.add(new OrgType());
target.add(getOrgUnitEditorContainer());
}
@Override
protected void editValuePerformed(AjaxRequestTarget target, IModel<OrgType> rowModel) {
List<QName> supportedTypes = new ArrayList<>();
supportedTypes.add(getPageBase().getPrismContext().getSchemaRegistry().findObjectDefinitionByCompileTimeClass(OrgType.class).getTypeName());
ObjectBrowserPanel<OrgType> orgPanel = new ObjectBrowserPanel<OrgType>(getPageBase().getMainPopupBodyId(), OrgType.class, supportedTypes, false, getPageBase()) {
@Override
protected void onSelectPerformed(AjaxRequestTarget target, OrgType org) {
super.onSelectPerformed(target, org);
orgEditorObject.clear();
orgEditorObject.add(org);
target.add(getOrgUnitEditorContainer());
}
};
getPageBase().showMainPopup(orgPanel, target);
}
};
orgUnitEditor.setOutputMarkupId(true);
return orgUnitEditor;
}
Aggregations