List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.evolveum.midpoint.web.component.ObjectPolicyConfigurationEditor.java
License:Apache License
@Override protected void initLayout() { final Label label = new Label(ID_LABEL, createStringResource("objectPolicyConfigurationEditor.label")); add(label);/* www .jav a 2 s.c o m*/ ListView repeater = new ListView<ObjectPolicyConfigurationTypeDto>(ID_REPEATER, getModel()) { @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 name = new TextField<>(ID_NAME, createNameModel(item.getModel())); name.setOutputMarkupId(true); name.add(new AjaxFormComponentUpdatingBehavior("onblur") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); name.setEnabled(false); name.add(AttributeAppender.replace("placeholder", createStringResource("objectPolicyConfigurationEditor.name.placeholder"))); textWrapper.add(name); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(name)); textWrapper.add(feedback); AjaxLink edit = new AjaxLink(ID_BUTTON_EDIT) { @Override public void onClick(AjaxRequestTarget target) { editPerformed(target, item); } }; textWrapper.add(edit); 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); } }; initDialog(); repeater.setOutputMarkupId(true); add(repeater); }
From source file:com.evolveum.midpoint.web.component.prism.CheckTableHeader.java
License:Apache License
@Override protected void initLayout() { AjaxCheckBox check = new AjaxCheckBox(ID_CHECK, new PropertyModel<Boolean>(getModel(), ObjectWrapper.F_SELECTED)) { @Override/*from ww w . j a va2 s .c om*/ protected void onUpdate(AjaxRequestTarget target) { } }; add(check); Label icon = new Label(ID_ICON); icon.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return createAccountIcon(); } })); add(icon); Label trigger = new Label(ID_TRIGGER); trigger.add(AttributeModifier.replace("title", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return createTriggerTooltip(); } })); trigger.add(new TooltipBehavior()); trigger.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return hasTriggers(); } }); add(trigger); Label protectedIcon = new Label(ID_PROTECTED); protectedIcon.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { ObjectWrapper wrapper = getModelObject(); return wrapper.isProtectedAccount(); } }); add(protectedIcon); BootstrapLabel status = new BootstrapLabel(ID_STATUS, createStringResource("CheckTableHeader.label.error"), new Model(BootstrapLabel.State.DANGER)); status.add(createFetchErrorVisibleBehaviour()); add(status); AjaxLink showMore = new AjaxLink(ID_SHOW_MORE) { @Override public void onClick(AjaxRequestTarget target) { onShowMorePerformed(target); } }; showMore.add(createFetchErrorVisibleBehaviour()); add(showMore); AjaxLink link = new AjaxLink(ID_LINK) { @Override public void onClick(AjaxRequestTarget target) { onClickPerformed(target); } }; add(link); Label name = new Label(ID_NAME, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getDisplayName(); } }); link.add(name); Label description = new Label(ID_DESCRIPTION, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getDescription(); } }); add(description); final IModel<List<InlineMenuItem>> items = new Model((Serializable) createMenuItems()); InlineMenu menu = new InlineMenu(ID_MENU, items, true); menu.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { List<InlineMenuItem> list = items.getObject(); return list != null && !list.isEmpty(); } }); add(menu); }
From source file:com.evolveum.midpoint.web.component.prism.H3Header.java
License:Apache License
@Override protected void initLayout() { Label title = new Label(ID_TITLE, new AbstractReadOnlyModel<String>() { @Override/* w w w . j a v a 2 s.c om*/ public String getObject() { return getDisplayName(); } }); add(title); final IModel<List<InlineMenuItem>> items = new Model((Serializable) createMenuItems()); InlineMenu menu = new InlineMenu(ID_MENU, items); menu.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { List<InlineMenuItem> list = items.getObject(); return list != null && !list.isEmpty(); } }); add(menu); BootstrapLabel status = new BootstrapLabel(ID_STATUS, createStringResource("H3Header.label.error"), new Model(BootstrapLabel.State.DANGER)); status.add(createFetchErrorVisibleBehaviour()); add(status); AjaxLink showMore = new AjaxLink(ID_SHOW_MORE) { @Override public void onClick(AjaxRequestTarget target) { onShowMorePerformed(target); } }; showMore.add(createFetchErrorVisibleBehaviour()); add(showMore); }
From source file:com.evolveum.midpoint.web.component.prism.PrismContainerPanel.java
License:Apache License
private IModel<String> createStyleClassModel(final IModel<PropertyWrapper> wrapper) { return new AbstractReadOnlyModel<String>() { @Override/*w w w.j a va 2 s .c o m*/ public String getObject() { PropertyWrapper property = wrapper.getObject(); return property.isVisible() ? "visible" : null; } }; }
From source file:com.evolveum.midpoint.web.component.prism.PrismHeaderPanel.java
License:Apache License
private void initLayout(final IModel model) { VisibleEnableBehaviour buttonsVisibleBehaviour = new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override/* w ww . j a va2 s .c o m*/ public boolean isVisible() { return PrismHeaderPanel.this.isButtonsVisible(); } }; ToggleIconButton showEmptyFieldsButton = new ToggleIconButton(ID_SHOW_EMPTY_FIELDS, GuiStyleConstants.CLASS_ICON_SHOW_EMPTY_FIELDS, GuiStyleConstants.CLASS_ICON_NOT_SHOW_EMPTY_FIELDS) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { ObjectWrapper objectWrapper = getObjectWrapper(model); objectWrapper.setShowEmpty(!objectWrapper.isShowEmpty()); onButtonClick(target); } @Override public boolean isOn() { return getObjectWrapper(model).isShowEmpty(); } }; showEmptyFieldsButton.add(buttonsVisibleBehaviour); add(showEmptyFieldsButton); ToggleIconButton sortPropertiesButton = new ToggleIconButton(ID_SORT_PROPERTIES, GuiStyleConstants.CLASS_ICON_SORT_ALPHA_ASC, GuiStyleConstants.CLASS_ICON_SORT_AMOUNT_ASC) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { ObjectWrapper objectWrapper = getObjectWrapper(model); objectWrapper.setSorted(!objectWrapper.isSorted()); objectWrapper.sort((PageBase) getPage()); onButtonClick(target); } @Override public boolean isOn() { return getObjectWrapper(model).isSorted(); } }; sortPropertiesButton.add(buttonsVisibleBehaviour); add(sortPropertiesButton); IModel<String> headerLabelModel = new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { Object wrapper = model.getObject(); String displayName = null; if (wrapper instanceof ContainerWrapper) { displayName = ((ContainerWrapper) wrapper).getDisplayName(); } else if (wrapper instanceof ObjectWrapper) { // HACK HACK HACK // If we would display label for the object itself, display label for main container instead // the "object label" is actually displayed in front of main container ContainerWrapper mainContainerWrapper = ((ObjectWrapper) wrapper).findMainContainerWrapper(); if (mainContainerWrapper != null) { displayName = mainContainerWrapper.getDisplayName(); } else { displayName = ((ObjectWrapper) wrapper).getDisplayName(); // e.g. resource wizard needs this } } return getString(displayName, null, displayName); } }; add(new Label(ID_LABEL, headerLabelModel)); }
From source file:com.evolveum.midpoint.web.component.prism.PrismObjectPanel.java
License:Apache License
private IModel<String> createHeaderClassModel(final IModel<ObjectWrapper> model) { return new AbstractReadOnlyModel<String>() { @Override//from w ww .j a va 2s .c om public String getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isProtectedAccount()) { return "protected"; } return wrapper.getHeaderStatus().name().toLowerCase(); } }; }
From source file:com.evolveum.midpoint.web.component.prism.PrismObjectPanel.java
License:Apache License
private IModel<String> createHeaderNameClassModel(final IModel<ObjectWrapper> model) { return new AbstractReadOnlyModel<String>() { @Override//from w w w .j av a2 s .co m public String getObject() { ObjectWrapper wrapper = model.getObject(); if (isDisabled(wrapper)) { return "disable"; } return ""; } }; }
From source file:com.evolveum.midpoint.web.component.prism.PrismObjectPanel.java
License:Apache License
private IModel<String> createEmptyLabel(final IModel<ObjectWrapper> model) { return new AbstractReadOnlyModel<String>() { @Override// w w w .j ava2 s . c o m public String getObject() { ObjectWrapper wrapper = model.getObject(); String key = wrapper.isShowEmpty() ? "PrismObjectPanel.hideEmpty" : "PrismObjectPanel.showEmpty"; return new StringResourceModel(key, PrismObjectPanel.this, null, key).getString(); } }; }
From source file:com.evolveum.midpoint.web.component.prism.PrismObjectPanel.java
License:Apache License
private IModel<String> createMinMaxLabel(final IModel<ObjectWrapper> model) { return new AbstractReadOnlyModel<String>() { @Override/*w w w . j a va 2 s . c o m*/ public String getObject() { ObjectWrapper wrapper = model.getObject(); String key = wrapper.isMinimalized() ? "PrismObjectPanel.maximize" : "PrismObjectPanel.minimize"; return new StringResourceModel(key, PrismObjectPanel.this, null, key).getString(); } }; }
From source file:com.evolveum.midpoint.web.component.prism.PrismOptionButtonPanel.java
License:Apache License
private void initButtons(final IModel<ObjectWrapper> model) { AjaxLink showEmpty = new AjaxLink("showEmptyButton") { @Override//from w w w . j av a 2 s .com public void onClick(AjaxRequestTarget target) { showEmptyOnClick(target); } }; add(showEmpty); showEmpty.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !model.getObject().isReadonly(); } }); Image showEmptyImg = new Image("showEmptyImg", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isShowEmpty()) { return new PackageResourceReference(PrismObjectPanel.class, "ShowEmptyFalse.png"); } return new PackageResourceReference(PrismObjectPanel.class, "ShowEmptyTrue.png"); } }); showEmptyImg.add(new AttributeAppender("title", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isShowEmpty()) { return getString("prismOptionButtonPanel.hideEmpty"); } return getString("prismOptionButtonPanel.showEmpty"); } }, "")); showEmpty.add(showEmptyImg); AjaxLink minimize = new AjaxLink("minimizeButton") { @Override public void onClick(AjaxRequestTarget target) { minimizeOnClick(target); } }; add(minimize); Image minimizeImg = new Image("minimizeImg", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isMinimalized()) { return new PackageResourceReference(PrismObjectPanel.class, "Maximize.png"); } return new PackageResourceReference(PrismObjectPanel.class, "Minimize.png"); } }); minimizeImg.add(new AttributeAppender("title", new AbstractReadOnlyModel() { @Override public Object getObject() { ObjectWrapper wrapper = model.getObject(); if (wrapper.isMinimalized()) { return getString("prismOptionButtonPanel.maximize"); } return getString("prismOptionButtonPanel.minimize"); } }, "")); minimize.add(minimizeImg); }