List of usage examples for org.apache.wicket.markup.html.list ListView setReuseItems
public ListView<T> setReuseItems(boolean reuseItems)
From source file:au.org.theark.study.web.component.manageuser.form.DetailForm.java
License:Open Source License
@SuppressWarnings("unchecked") public void initialiseDetailForm() { userNameTxtField = new TextField<String>(Constants.USER_NAME); userNameTxtField.setOutputMarkupId(true); firstNameTxtField = new TextField<String>(Constants.FIRST_NAME); lastNameTxtField = new TextField<String>(Constants.LAST_NAME); emailTxtField = new TextField<String>(Constants.EMAIL); userPasswordField = new PasswordTextField(Constants.PASSWORD); confirmPasswordField = new PasswordTextField(Constants.CONFIRM_PASSWORD); oldPasswordField = new PasswordTextField(Constants.OLD_PASSWORD); groupPasswordContainer = new WebMarkupContainer("groupPasswordContainer"); IModel<List<ArkUserRole>> iModel = new LoadableDetachableModel() { private static final long serialVersionUID = 1L; @Override//from w ww. j av a 2s . co m protected Object load() { return containerForm.getModelObject().getArkUserRoleList(); } }; ListView listView = new ListView("arkUserRoleList", iModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem item) { // Each item will be ArkModuleVO use that to build the Module name and the drop down ArkUserRole arkUserRole = (ArkUserRole) item.getModelObject(); ArkModule arkModule = arkUserRole.getArkModule(); // Acts as the data source for ArkRoles ArrayList<ArkRole> arkRoleSourceList = iArkCommonService.getArkRoleLinkedToModule(arkModule); if (arkUserRole.getArkUser() == null && arkModule.getName().equalsIgnoreCase(au.org.theark.core.Constants.ARK_MODULE_STUDY)) { // If the ArkUserRole is not assigned and the module is Study then set the default Role ArkRole arkRole = iArkCommonService .getArkRoleByName(au.org.theark.core.Constants.ARK_STUDY_DEFAULT_ROLE); arkUserRole.setArkRole(arkRole); } PropertyModel arkUserRolePm = new PropertyModel(arkUserRole, "arkRole"); ChoiceRenderer<ArkRole> defaultChoiceRenderer = new ChoiceRenderer<ArkRole>(Constants.NAME, "id"); DropDownChoice<ArkRole> ddc = new DropDownChoice<ArkRole>("arkRole", arkUserRolePm, arkRoleSourceList, defaultChoiceRenderer); item.add(new Label("moduleName", arkModule.getName()));// arkModule within ArkUserRole item.add(ddc); } }; listView.setReuseItems(true); arkCrudContainerVO.getWmcForarkUserAccountPanel().add(listView); confirmationAnswer = new ConfirmationAnswer(false); confirmModal = new ModalWindow("modalWindow"); confirmModal.setCookieName("yesNoPanel"); confirmModal.setContent( new YesNoPanel(confirmModal.getContentId(), modalText, confirmModal, confirmationAnswer)); confirmModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { if (confirmationAnswer.isAnswer()) { //Add new roles for module wise to study iUserService.updateArkUserRoleListForExsistingUser(containerForm.getModelObject()); //Up date for all the child studies. reNewArkUserRoleForChildStudies(containerForm); containerForm.getModelObject().setMode(Constants.MODE_EDIT); //onSavePostProcess(target); successModal.show(target); } else {//if no nothing be done.Just close I guess } } }); successModal = new ModalWindow("successModalWindow"); successModal.setCookieName("okPanel"); successModal.setContent(new SuccessFullySaved(confirmModal.getContentId(), "The exsisting user added sucessfully to the Study", successModal)); initChildStudyPalette(); attachValidators(); addDetailFormComponents(); }
From source file:com.evolveum.midpoint.gui.impl.page.admin.configuration.component.NotificationConfigTabPanel.java
License:Apache License
protected void initLayout() { PropertyWrapperFromContainerWrapperModel<MailConfigurationType, NotificationConfigurationType> mailConfig = new PropertyWrapperFromContainerWrapperModel<MailConfigurationType, NotificationConfigurationType>( getModel().getObject(), NotificationConfigurationType.F_MAIL); add(createHeader(ID_MAIL_CONFIG_HEADER, mailConfig.getObject().getItemDefinition().getTypeName().getLocalPart() + ".details")); Form form = new Form<>("form"); mailConfigType = new RealValueFromSingleValuePropertyWrapperModel<MailConfigurationType>(mailConfig) .getObject();/*w ww . j a v a2s . c om*/ if (mailConfigType == null) { mailConfigType = new MailConfigurationType(); ((PrismPropertyValue<MailConfigurationType>) mailConfig.getObject().getValues().get(0).getValue()) .setValue(mailConfigType); } add(new TextFormGroup(ID_DEFAULT_FROM, new PropertyModel<String>(mailConfigType, "defaultFrom"), createStringResource( mailConfig.getObject().getItemDefinition().getTypeName().getLocalPart() + ".defaultFrom"), "", getInputCssClass(), false, true)); add(new TextFormGroup(ID_REDIRECT_TO_FILE, new PropertyModel<String>(mailConfigType, "redirectToFile"), createStringResource(mailConfig.getObject().getItemDefinition().getTypeName().getLocalPart() + ".redirectToFile"), "", getInputCssClass(), false, true)); add(new TextFormGroup(ID_LOG_TO_FILE, new PropertyModel<String>(mailConfigType, "logToFile"), createStringResource( mailConfig.getObject().getItemDefinition().getTypeName().getLocalPart() + ".logToFile"), "", getInputCssClass(), false, true)); add(new TriStateFormGroup(ID_DEBUG, new PropertyModel<Boolean>(mailConfigType, "debug"), createStringResource( mailConfig.getObject().getItemDefinition().getTypeName().getLocalPart() + ".debug"), "", getInputCssClass(), false, true)); add(createHeader(ID_MAIL_SERVER_CONFIG_HEADER, MailServerConfigurationType.COMPLEX_TYPE.getLocalPart() + ".details")); add(initServersTable()); add(createHeader(ID_FILE_CONFIG_HEADER, FileConfigurationType.COMPLEX_TYPE.getLocalPart() + ".details")); PropertyWrapperFromContainerWrapperModel<FileConfigurationType, NotificationConfigurationType> fileConfig = new PropertyWrapperFromContainerWrapperModel<FileConfigurationType, NotificationConfigurationType>( getModel().getObject(), NotificationConfigurationType.F_FILE); WebMarkupContainer files = new WebMarkupContainer(ID_FILE_CONFIG); files.setOutputMarkupId(true); add(files); ListView<ValueWrapper<FileConfigurationType>> values = new ListView<ValueWrapper<FileConfigurationType>>( "values", new PropertyModel<>(fileConfig, "values")) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<ValueWrapper<FileConfigurationType>> item) { FileConfigurationType fileConfigType = item.getModelObject().getValue().getRealValue(); item.add(createHeader(ID_VALUE_HEADER, fileConfigType == null || fileConfigType.getName() == null || fileConfigType.getName().isEmpty() ? (FileConfigurationType.COMPLEX_TYPE.getLocalPart() + ".details") : fileConfigType.getName())); AjaxLink removeButton = new AjaxLink(ID_REMOVE_BUTTON) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { ((PrismPropertyValue<FileConfigurationType>) item.getModelObject().getValue()) .setValue(null); item.getParent().remove(item.getId()); target.add(files); } }; item.add(removeButton); TextFormGroup name = new TextFormGroup(ID_FILE_NAME, fileConfigType != null ? new PropertyModel<String>(fileConfigType, "name") : Model.of(""), createStringResource(fileConfigType == null ? "" : (fileConfigType.COMPLEX_TYPE.getLocalPart() + ".name")), "", getInputCssClass(), false, true); name.getField().add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { ((FileConfigurationType) item.getModelObject().getValue().getRealValue()) .setName(name.getModelObject()); } }); item.add(name); TextFormGroup file = new TextFormGroup(ID_FILE_PATH, fileConfigType != null ? new PropertyModel<String>(fileConfigType, "file") : Model.of(""), createStringResource(fileConfigType == null ? "" : (fileConfigType.COMPLEX_TYPE.getLocalPart() + ".file")), "", getInputCssClass(), false, true); file.getField().add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { ((FileConfigurationType) item.getModelObject().getValue().getRealValue()) .setFile(file.getModelObject()); } }); item.add(file); item.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return fileConfigType != null; } }); } }; values.add(new AttributeModifier("class", "col-md-6")); values.setReuseItems(true); files.add(values); AjaxLink addButton = new AjaxLink(ID_ADD_BUTTON) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { ValueWrapper<FileConfigurationType> newValue = fileConfig.getObject().createAddedValue(); ((PrismPropertyValue<FileConfigurationType>) newValue.getValue()) .setValue(new FileConfigurationType()); fileConfig.getObject().getValues().add(newValue); target.add(files); } }; add(addButton); }
From source file:com.evolveum.midpoint.web.component.prism.ContainerValuePanel.java
License:Apache License
private <IW extends ItemWrapper> WebMarkupContainer addOrReplaceProperties( IModel<ContainerValueWrapper<C>> model, final Form form, ItemVisibilityHandler isPanalVisible, boolean isToBeReplaced) { isVisibleShowMoreButton = false;//from w w w .j av a 2 s . c o m WebMarkupContainer propertiesLabel = new WebMarkupContainer(ID_PROPERTIES_LABEL); propertiesLabel.setOutputMarkupId(true); ListView<IW> properties = new ListView<IW>("properties", new PropertyModel<>(model, "properties")) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<IW> item) { item.setOutputMarkupId(true); if (item.getModelObject() instanceof PropertyOrReferenceWrapper) { PrismPropertyPanel propertyPanel = new PrismPropertyPanel("property", item.getModel(), form, isPanalVisible, pageBase); propertyPanel.setOutputMarkupId(true); propertyPanel.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { if (!model.getObject().isExpanded()) { return false; } return propertyPanel.isVisible(); } }); item.add(propertyPanel); item.add(AttributeModifier.append("class", createStyleClassModel((IModel<ItemWrapper>) item.getModel()))); if (propertyPanel.isVisible(isPanalVisible) || ((PropertyOrReferenceWrapper) item.getModel().getObject()).isOnlyHide()) { isVisibleShowMoreButton = true; } return; } WebMarkupContainer property = new WebMarkupContainer("property"); item.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return false; } }); item.add(property); } }; properties.setReuseItems(true); properties.setOutputMarkupId(true); if (isToBeReplaced) { replace(propertiesLabel); propertiesLabel.add(properties); } else { add(propertiesLabel); propertiesLabel.add(properties); } return propertiesLabel; }
From source file:com.evolveum.midpoint.web.component.prism.ContainerValuePanel.java
License:Apache License
private <IW extends ItemWrapper> void addOrReplaceContainers(IModel<ContainerValueWrapper<C>> model, final Form form, ItemVisibilityHandler isPanalVisible, boolean isToBeReplaced) { ListView<IW> containers = new ListView<IW>("containers", new PropertyModel<>(model, "properties")) { private static final long serialVersionUID = 1L; @Override/*ww w. jav a 2 s . c om*/ protected void populateItem(final ListItem<IW> item) { item.setOutputMarkupId(true); if (item.getModel().getObject() instanceof ContainerWrapper) { PrismContainerPanel<C> containerPanel = new PrismContainerPanel<C>("container", (IModel<ContainerWrapper<C>>) item.getModel(), true, form, isPanalVisible, pageBase, false); containerPanel.setOutputMarkupId(true); item.add(containerPanel); item.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { if (!model.getObject().isExpanded() && !model.getObject().getContainer().isShowOnTopLevel()) { return false; } if (((ContainerWrapper) item.getModelObject() != null && ((ContainerWrapper) item.getModelObject()).getItemDefinition() != null && ((ContainerWrapper) item.getModelObject()).getItemDefinition() .getTypeName() != null && ((ContainerWrapper) item.getModelObject()).getItemDefinition().getTypeName() .equals(MetadataType.COMPLEX_TYPE)) && (((ContainerWrapper) item.getModelObject()).getValues() != null && ((ContainerWrapper) item.getModelObject()).getValues().get(0) != null && !((ContainerWrapper<MetadataType>) item.getModelObject()).getValues() .get(0).isVisible())) { return false; } if (model.getObject().containsMultipleMultivalueContainer(isPanalVisible) && item.getModelObject().getItemDefinition().isMultiValue() && CollectionUtils.isEmpty(item.getModelObject().getValues())) { return false; } return containerPanel.isPanelVisible(isPanalVisible, (IModel<ContainerWrapper<C>>) item.getModel()); } }); if (!((ContainerWrapper) item.getModelObject() != null && ((ContainerWrapper) item.getModelObject()).getItemDefinition() != null && ((ContainerWrapper) item.getModelObject()).getItemDefinition().getTypeName() != null && ((ContainerWrapper) item.getModelObject()).getItemDefinition().getTypeName() .equals(MetadataType.COMPLEX_TYPE))) { item.add(AttributeModifier.append("class", "container-wrapper")); } return; } WebMarkupContainer container = new WebMarkupContainer("container"); item.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return false; } }); item.add(container); } }; containers.setReuseItems(true); containers.setOutputMarkupId(true); if (isToBeReplaced) { replace(containers); } else { add(containers); } }
From source file:com.evolveum.midpoint.web.component.prism.PrismContainerPanel.java
License:Apache License
private void initLayout(final IModel<ContainerWrapper> model, final Form form) { WebMarkupContainer header = new WebMarkupContainer("header"); header.add(new VisibleEnableBehaviour() { @Override/*from w ww . ja v a 2 s. c om*/ public boolean isVisible() { return !model.getObject().isMain(); } }); add(header); header.add(new Label("label", new PropertyModel<>(model, "displayName"))); ListView<PropertyWrapper> properties = new ListView<PropertyWrapper>("properties", new PropertyModel(model, "properties")) { @Override protected void populateItem(ListItem<PropertyWrapper> item) { item.add(new PrismPropertyPanel("property", item.getModel(), form)); item.add(AttributeModifier.append("class", createStyleClassModel(item.getModel()))); } }; properties.setReuseItems(true); add(properties); }
From source file:com.evolveum.midpoint.web.component.prism.PrismObjectPanel.java
License:Apache License
private void initLayout(final IModel<ObjectWrapper> model, ResourceReference image, final Form form) { add(createHeader(ID_HEADER, model)); WebMarkupContainer headerPanel = new WebMarkupContainer("headerPanel"); headerPanel.add(new AttributeAppender("class", createHeaderClassModel(model), " ")); // TODO - attempt to fix row color application when certain actions performed, similar to AssignmentEditorPanel. // headerPanel.add(AttributeModifier.append("class", createHeaderClassModel(model))); // headerPanel.setOutputMarkupId(true); add(headerPanel);// w w w .j av a2 s. com headerPanel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return isShowHeader(); } }); Image shield = new Image("shield", new PackageResourceReference(ImgResources.class, ImgResources.SHIELD)); shield.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { ObjectWrapper wrapper = model.getObject(); return wrapper.isProtectedAccount(); } }); headerPanel.add(shield); Label header = new Label("header", createDisplayName(model)); header.add(new AttributeAppender("class", createHeaderNameClassModel(model), " ")); header.add(createHeaderOnClickBehaviour(model)); headerPanel.add(header); Label description = new Label("description", createDescription(model)); description.add(new AttributeModifier("title", createDescription(model))); description.add(createHeaderOnClickBehaviour(model)); headerPanel.add(description); Image headerImg = new Image("headerImg", image); headerImg.add(createHeaderOnClickBehaviour(model)); headerPanel.add(headerImg); initButtons(headerPanel, model); WebMarkupContainer body = new WebMarkupContainer("body"); body.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { ObjectWrapper wrapper = model.getObject(); return !wrapper.isMinimalized(); } }); add(body); ListView<ContainerWrapper> containers = new ListView<ContainerWrapper>("containers", new PropertyModel<List<ContainerWrapper>>(model, "containers")) { @Override protected void populateItem(ListItem<ContainerWrapper> item) { item.add(new PrismContainerPanel("container", item.getModel(), form)); } }; containers.setReuseItems(true); body.add(containers); }
From source file:com.evolveum.midpoint.web.component.prism.PrismPanel.java
License:Apache License
private void addOrReplaceContainers(final Form form, ItemVisibilityHandler isPanelVisible, boolean isToBeReplaced) { ListView<ContainerWrapper<C>> containers = new ListView<ContainerWrapper<C>>(ID_CONTAINERS, getModel()) { private static final long serialVersionUID = 1L; @Override/*from w w w . j a va 2s . co m*/ protected void populateItem(ListItem<ContainerWrapper<C>> item) { createContainerPanel(item, isPanelVisible, form); } }; containers.setReuseItems(true); if (isToBeReplaced) { replace(containers); } else { add(containers); } }
From source file:com.evolveum.midpoint.web.component.prism.PrismPropertyColumn.java
License:Apache License
private void initLayout(final IModel<IW> model, final Form form) { ListView<ValueWrapper> values = new ListView<ValueWrapper>("values", new PropertyModel<>(model, "values")) { private static final long serialVersionUID = 1L; @Override//from w w w . j av a 2s . c om protected void populateItem(final ListItem<ValueWrapper> item) { BasePanel panel = new PrismValuePanel("value", item.getModel(), createStringResource("smth"), form, getValueCssClass(), getInputCssClass()); item.add(panel); item.add(AttributeModifier.append("class", createStyleClassModel(item.getModel()))); item.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return isVisibleValue(item.getModel()); } }); } }; values.add(new AttributeModifier("class", getValuesClass())); values.setReuseItems(true); add(values); }
From source file:com.evolveum.midpoint.web.component.prism.PrismPropertyPanel.java
License:Apache License
private void initLayout(final IModel<PropertyWrapper> model, final Form form) { final IModel<String> label = createDisplayName(model); add(new Label("label", label)); final IModel<String> helpText = new LoadableModel<String>(false) { @Override//from w ww . j a v a 2s . co m protected String load() { return loadHelpText(model); } }; Label help = new Label(ID_HELP); help.add(AttributeModifier.replace("title", helpText)); help.add(new InfoTooltipBehavior()); help.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return StringUtils.isNotEmpty(helpText.getObject()); } }); add(help); WebMarkupContainer required = new WebMarkupContainer("required"); required.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { PropertyWrapper wrapper = model.getObject(); PrismProperty property = wrapper.getItem(); PrismPropertyDefinition def = property.getDefinition(); if (ObjectType.F_NAME.equals(def.getName())) { //fix for "name as required" MID-789 return true; } return def.isMandatory(); } }); add(required); WebMarkupContainer hasOutbound = new WebMarkupContainer("hasOutbound"); hasOutbound.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return hasOutbound(model); } }); add(hasOutbound); WebMarkupContainer hasPendingModification = new WebMarkupContainer(ID_HAS_PENDING_MODIFICATION); hasPendingModification.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return hasPendingModification(model); } }); add(hasPendingModification); ListView<ValueWrapper> values = new ListView<ValueWrapper>("values", new PropertyModel<List<ValueWrapper>>(model, "values")) { @Override protected void populateItem(final ListItem<ValueWrapper> item) { item.add(new PrismValuePanel("value", item.getModel(), label, form)); item.add(AttributeModifier.append("class", createStyleClassModel(item.getModel()))); item.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return isVisibleValue(item.getModel()); } }); } }; values.setReuseItems(true); add(values); }
From source file:com.evolveum.midpoint.web.component.prism.show.SceneItemPanel.java
License:Apache License
private void initLayout(final IModel<SceneItemDto> model) { ListView<SceneItemLineDto> items = new ListView<SceneItemLineDto>(ID_ITEM_LINES, new PropertyModel<List<SceneItemLineDto>>(model, SceneItemDto.F_LINES)) { @Override/* w w w .j a va2s .com*/ protected void populateItem(ListItem<SceneItemLineDto> item) { SceneItemLinePanel panel = new SceneItemLinePanel(ID_ITEM_LINE, item.getModel()); item.add(panel); } }; items.setReuseItems(true); add(items); }