List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.evolveum.midpoint.web.component.dialog.UserBrowserDialog.java
License:Apache License
private List<IColumn<SelectableBean<UserType>, String>> initColumns() { List<IColumn<SelectableBean<UserType>, String>> columns = new ArrayList<IColumn<SelectableBean<UserType>, String>>(); columns.add(new IconColumn<SelectableBean<UserType>>(createStringResource("userBrowserDialog.type")) { @Override/*from www . j a v a2 s . com*/ protected IModel<String> createIconModel(final IModel<SelectableBean<UserType>> rowModel) { return new AbstractReadOnlyModel<String>() { @Override public String getObject() { UserType user = rowModel.getObject().getValue(); return WebMiscUtil.createUserIcon(user.asPrismContainer()); } }; } }); IColumn column = new LinkColumn<SelectableBean<UserType>>(createStringResource("userBrowserDialog.name"), "name", "value.name") { @Override public void onClick(AjaxRequestTarget target, IModel<SelectableBean<UserType>> rowModel) { UserType user = rowModel.getObject().getValue(); userDetailsPerformed(target, user); } }; columns.add(column); column = new PropertyColumn(createStringResource("userBrowserDialog.givenName"), "givenName", "value.givenName"); columns.add(column); column = new PropertyColumn(createStringResource("userBrowserDialog.familyName"), "familyName", "value.familyName"); columns.add(column); column = new PropertyColumn(createStringResource("userBrowserDialog.fullName"), "fullName", "value.fullName.orig"); columns.add(column); column = new AbstractColumn<SelectableBean<UserType>, String>( createStringResource("userBrowserDialog.email")) { @Override public void populateItem(Item<ICellPopulator<SelectableBean<UserType>>> cellItem, String componentId, IModel<SelectableBean<UserType>> rowModel) { String email = rowModel.getObject().getValue().getEmailAddress(); cellItem.add(new Label(componentId, new Model<String>(email))); } }; columns.add(column); return columns; }
From source file:com.evolveum.midpoint.web.component.FocusSummaryPanel.java
License:Apache License
@Override protected IModel<AbstractResource> getPhotoModel() { return new AbstractReadOnlyModel<AbstractResource>() { private static final long serialVersionUID = 1L; @Override//from w w w . j a va 2 s .c om public AbstractResource getObject() { byte[] jpegPhoto = null; O object = getModel().getObject(); if (object instanceof FocusType) { jpegPhoto = ((FocusType) object).getJpegPhoto(); } if (jpegPhoto == null) { return null; } else { return new ByteArrayResource("image/jpeg", jpegPhoto); } } }; }
From source file:com.evolveum.midpoint.web.component.form.AceEditorFormGroup.java
License:Apache License
private void initLayout(IModel<String> label, final String tooltipKey, boolean isTooltipInModal, String labelSize, String textSize, boolean required, int rowNumber) { WebMarkupContainer labelContainer = new WebMarkupContainer(ID_LABEL_CONTAINER); add(labelContainer);/*from w w w .ja v a2s.c o m*/ Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelSize)) { labelContainer.add(AttributeAppender.prepend("class", labelSize)); } labelContainer.add(l); Label tooltipLabel = new Label(ID_TOOLTIP, new Model<>()); tooltipLabel.add(new AttributeAppender("data-original-title", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getString(tooltipKey); } })); tooltipLabel.add(new InfoTooltipBehavior(isTooltipInModal)); tooltipLabel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return tooltipKey != null; } }); tooltipLabel.setOutputMarkupId(true); tooltipLabel.setOutputMarkupPlaceholderTag(true); labelContainer.add(tooltipLabel); WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER); if (StringUtils.isNotEmpty(textSize)) { textWrapper.add(AttributeAppender.prepend("class", textSize)); } add(textWrapper); AceEditor text = new AceEditor(ID_TEXT, getModel()); text.add(new AttributeModifier("rows", rowNumber)); text.setOutputMarkupId(true); text.setRequired(required); text.setLabel(label); text.add(AttributeAppender.replace("placeholder", label)); textWrapper.add(text); }
From source file:com.evolveum.midpoint.web.component.form.multivalue.GenericMultiValueLabelEditPanel.java
License:Apache License
private void initLayout(final IModel<String> label, final String labelSize, final String textSize) { Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelSize)) { l.add(AttributeAppender.prepend("class", labelSize)); }/*ww w . ja v a 2s . c om*/ add(l); WebMarkupContainer addFirstContainer = new WebMarkupContainer(ID_ADD_FIRST_CONTAINER); addFirstContainer.setOutputMarkupId(true); addFirstContainer.setOutputMarkupPlaceholderTag(true); addFirstContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getModelObject().isEmpty(); } }); add(addFirstContainer); AjaxLink addFirst = new AjaxLink(ID_ADD_FIRST) { @Override public void onClick(AjaxRequestTarget target) { addFirstPerformed(target); } }; addFirstContainer.add(addFirst); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> listItem) { WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER); textWrapper.add(AttributeAppender.prepend("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { StringBuilder sb = new StringBuilder(); if (StringUtils.isNotEmpty(textSize)) { sb.append(textSize).append(' '); } if (listItem.getIndex() > 0 && StringUtils.isNotEmpty(getOffsetClass())) { sb.append(getOffsetClass()).append(' '); sb.append(CLASS_MULTI_VALUE); } return sb.toString(); } })); listItem.add(textWrapper); TextField text = new TextField<>(ID_TEXT, createTextModel(listItem.getModel())); text.add(new AjaxFormComponentUpdatingBehavior("onblur") { @Override protected void onUpdate(AjaxRequestTarget ajaxRequestTarget) { } }); text.setEnabled(false); text.add(AttributeAppender.replace("placeholder", label)); text.setLabel(label); textWrapper.add(text); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(text)); textWrapper.add(feedback); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); buttonGroup.add(AttributeAppender.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (listItem.getIndex() > 0 && StringUtils.isNotEmpty(labelSize)) { return CLASS_MULTI_VALUE; } return null; } })); AjaxLink edit = new AjaxLink(ID_EDIT) { @Override public void onClick(AjaxRequestTarget target) { editValuePerformed(target, listItem.getModel()); } }; textWrapper.add(edit); listItem.add(buttonGroup); initButtons(buttonGroup, listItem); } }; initDialog(); add(repeater); }
From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueAutoCompleteTextPanel.java
License:Apache License
private void initLayout(final boolean inputEnabled) { WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(new VisibleEnableBehaviour() { @Override// w ww . j av a 2 s . com public boolean isVisible() { return getModel().getObject().isEmpty(); } }); add(placeholderContainer); AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) { @Override public void onClick(AjaxRequestTarget target) { addValuePerformed(target); } }; placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (buttonsDisabled()) { return " " + CSS_DISABLED; } return ""; } })); placeholderAdd.setOutputMarkupId(true); placeholderAdd.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(placeholderAdd); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> item) { AutoCompleteSettings autoCompleteSettings = new AutoCompleteSettings(); autoCompleteSettings.setShowListOnEmptyInput(true); AutoCompleteTextField<String> autoCompleteEditor = new AutoCompleteTextField<String>(ID_TEXT, createTextModel(item.getModel()), autoCompleteSettings) { @Override protected Iterator<String> getChoices(String input) { return createAutoCompleteObjectList(input); } }; autoCompleteEditor.add(createAutoCompleteValidator()); autoCompleteEditor.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); item.add(autoCompleteEditor); autoCompleteEditor.add(AttributeAppender.replace("placeholder", createEmptyItemPlaceholder())); if (!inputEnabled) { autoCompleteEditor.add(new AttributeModifier("disabled", "disabled")); } item.add(autoCompleteEditor); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); item.add(buttonGroup); initButtons(buttonGroup, item); } }; repeater.setOutputMarkupId(true); repeater.setOutputMarkupPlaceholderTag(true); repeater.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !getModel().getObject().isEmpty(); } }); add(repeater); }
From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueChoosePanel.java
License:Apache License
private void initLayout(final IModel<String> label, final String labelSize, final String textSize, final boolean required, Class<T> type) { Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelSize)) { l.add(AttributeAppender.prepend("class", labelSize)); }/* www .jav a2 s . c o m*/ add(l); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> listItem) { WebMarkupContainer textWrapper = new WebMarkupContainer(ID_TEXT_WRAPPER); textWrapper.add(AttributeAppender.prepend("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { StringBuilder sb = new StringBuilder(); if (StringUtils.isNotEmpty(textSize)) { sb.append(textSize).append(' '); } if (listItem.getIndex() > 0 && StringUtils.isNotEmpty(getOffsetClass())) { sb.append(getOffsetClass()).append(' '); sb.append(CLASS_MULTI_VALUE); } return sb.toString(); } })); listItem.add(textWrapper); TextField text = new TextField<>(ID_TEXT, createTextModel(listItem.getModel())); text.add(new AjaxFormComponentUpdatingBehavior("onblur") { @Override protected void onUpdate(AjaxRequestTarget ajaxRequestTarget) { } }); text.setRequired(required); text.setEnabled(false); text.add(AttributeAppender.replace("placeholder", label)); text.setLabel(label); textWrapper.add(text); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(text)); textWrapper.add(feedback); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); buttonGroup.add(AttributeAppender.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (listItem.getIndex() > 0 && StringUtils.isNotEmpty(labelSize)) { return CLASS_MULTI_VALUE; } return null; } })); AjaxLink edit = new AjaxLink(ID_EDIT) { @Override public void onClick(AjaxRequestTarget target) { editValuePerformed(target); } }; textWrapper.add(edit); listItem.add(buttonGroup); initButtons(buttonGroup, listItem); } }; initDialog(type); add(repeater); }
From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueDropDownPanel.java
License:Apache License
private void initLayout(final boolean nullValid) { WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(new VisibleEnableBehaviour() { @Override/*from ww w. java 2s. c o m*/ public boolean isVisible() { return getModel().getObject().isEmpty(); } }); add(placeholderContainer); AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) { @Override public void onClick(AjaxRequestTarget target) { addValuePerformed(target); } }; placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (buttonsDisabled()) { return " " + CSS_DISABLED; } return ""; } })); placeholderAdd.setOutputMarkupId(true); placeholderAdd.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(placeholderAdd); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> item) { DropDownChoice choice = new DropDownChoice<>(ID_INPUT, createDropDownItemModel(item.getModel()), createChoiceList(), createRenderer()); choice.setNullValid(nullValid); item.add(choice); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); item.add(buttonGroup); initButtons(buttonGroup, item); } }; repeater.setOutputMarkupId(true); repeater.setOutputMarkupPlaceholderTag(true); repeater.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !getModel().getObject().isEmpty(); } }); add(repeater); }
From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueDropDownPanel.java
License:Apache License
/** * Provides list of choices for drop-down component * *///from w w w.j ava 2 s . c o m protected IModel<List<T>> createChoiceList() { return new AbstractReadOnlyModel<List<T>>() { @Override public List<T> getObject() { return new ArrayList<>(); } }; }
From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueTextEditPanel.java
License:Apache License
private void initLayout(final boolean inputEnabled) { WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(new VisibleEnableBehaviour() { @Override// w w w . j a va 2s . c o m public boolean isVisible() { return getModel().getObject().isEmpty(); } }); add(placeholderContainer); AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) { @Override public void onClick(AjaxRequestTarget target) { addValuePerformed(target); } }; placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (buttonsDisabled()) { return " " + CSS_DISABLED; } return ""; } })); placeholderAdd.setOutputMarkupId(true); placeholderAdd.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(placeholderAdd); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> item) { TextField text = new TextField<>(ID_TEXT, createTextModel(item.getModel())); text.add(new AjaxFormComponentUpdatingBehavior("onblur") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); text.add(AttributeAppender.replace("placeholder", createEmptyItemPlaceholder())); if (!inputEnabled) { text.add(new AttributeModifier("disabled", "disabled")); } item.add(text); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); item.add(buttonGroup); initButtons(buttonGroup, item); } }; repeater.setOutputMarkupId(true); repeater.setOutputMarkupPlaceholderTag(true); repeater.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !getModel().getObject().isEmpty(); } }); add(repeater); }
From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueTextEditPanel.java
License:Apache License
private void initButtons(WebMarkupContainer buttonGroup, final ListItem<T> item) { AjaxSubmitLink edit = new AjaxSubmitLink(ID_EDIT) { @Override/*from w ww. jav a 2s . c o m*/ protected void onSubmit(AjaxRequestTarget target, Form<?> form) { editPerformed(target, item.getModelObject()); } }; edit.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (buttonsDisabled()) { return " " + CSS_DISABLED; } return ""; } })); buttonGroup.add(edit); AjaxLink add = new AjaxLink(ID_ADD) { @Override public void onClick(AjaxRequestTarget target) { addValuePerformed(target); } }; add.add(new AttributeAppender("class", getPlusClassModifier(item))); buttonGroup.add(add); AjaxLink remove = new AjaxLink(ID_REMOVE) { @Override public void onClick(AjaxRequestTarget target) { removeValuePerformed(target, item); } }; remove.add(new AttributeAppender("class", getMinusClassModifier())); buttonGroup.add(remove); }