List of usage examples for org.apache.wicket.feedback ComponentFeedbackMessageFilter ComponentFeedbackMessageFilter
public ComponentFeedbackMessageFilter(Component component)
From source file:au.com.scds.isis.viewer.wicket.ui.components.entity.properties.MyEntityPropertiesForm.java
License:Apache License
private void addFeedbackGui(final MarkupContainer markupContainer) { feedback = new NotificationPanel(ID_FEEDBACK, this, new ComponentFeedbackMessageFilter(this)); feedback.setOutputMarkupPlaceholderTag(true); markupContainer.addOrReplace(feedback); // to avoid potential XSS attacks, no longer escape model strings // (risk is low but could just happen: error message being rendered // might accidentally or deliberately contain rogue Javascript) // feedback.setEscapeModelStrings(false); final ObjectAdapter adapter = getEntityModel().getObject(); if (adapter == null) { feedback.error("cannot locate object:" + getEntityModel().getObjectAdapterMemento().toString()); }//from w ww .j a v a2 s . c o m }
From source file:com.cubeia.backoffice.web.wallet.EditCurrencies.java
License:Open Source License
/** * Constructor that is invoked when page is invoked without a session. * */// w ww .j a v a 2s .c o m @SuppressWarnings("serial") public EditCurrencies() { add(new FeedbackPanel("feedback", new ComponentFeedbackMessageFilter(EditCurrencies.this))); IModel<List<Currency>> currencyModel = new LoadableDetachableModel<List<Currency>>() { @Override protected List<Currency> load() { CurrencyListResult supportedCurrencies = walletService.getSupportedCurrencies(); if (supportedCurrencies == null) { return Collections.<Currency>emptyList(); } ArrayList<Currency> curs = new ArrayList<Currency>(supportedCurrencies.getCurrencies()); log.debug("got currencies: {}", curs); Collections.sort(curs, new Comparator<Currency>() { @Override public int compare(Currency o1, Currency o2) { return o1.getCode().compareTo(o2.getCode()); } }); return curs; } }; add(new ListView<Currency>("currencies", currencyModel) { @Override protected void populateItem(ListItem<Currency> item) { final Currency c = item.getModelObject(); item.add(new Label("code", Model.of(c.getCode()))); item.add(new Label("digits", Model.of(c.getFractionalDigits()))); item.add(new Link<String>("removeLink") { @Override public void onClick() { log.debug("removing currency: {}", c); walletService.removeCurrency(c.getCode()); } }.add(new ConfirmOnclickAttributeModifier("Really remove this currency?"))); } }); final CompoundPropertyModel<Currency> newCurrencyModel = new CompoundPropertyModel<Currency>( new Currency(null, 2)); Form<Currency> addForm = new Form<Currency>("addForm", newCurrencyModel) { @Override protected void onSubmit() { Currency cur = getModelObject(); log.debug("submit: {}", cur); try { walletService.addCurrency(cur); } catch (Exception e) { error("Error creating currency: " + e.getMessage()); return; } info("Added currency " + cur.getCode() + " with " + cur.getFractionalDigits() + " fractional digits"); newCurrencyModel.setObject(new Currency(null, 2)); } }; addForm.add(new RequiredTextField<String>("code", newCurrencyModel.<String>bind("code")) .add(StringValidator.exactLength(3))); addForm.add(new RequiredTextField<Integer>("digits", newCurrencyModel.<Integer>bind("fractionalDigits")) .add(new RangeValidator<Integer>(0, 8))); addForm.add(new FeedbackPanel("feedback", new ContainerFeedbackMessageFilter(addForm))); addForm.add(new WebMarkupContainer("submitButton") .add(new ConfirmOnclickAttributeModifier("Are you sure you want to add this currency?"))); add(addForm); }
From source file:com.cubeia.games.poker.admin.wicket.pages.wallet.EditCurrencies.java
License:Open Source License
/** * Constructor that is invoked when page is invoked without a session. * *//*from www.j a v a 2s .c o m*/ @SuppressWarnings("serial") public EditCurrencies(PageParameters parameters) { super(parameters); add(new FeedbackPanel("feedback", new ComponentFeedbackMessageFilter(EditCurrencies.this))); IModel<List<Currency>> currencyModel = new LoadableDetachableModel<List<Currency>>() { @Override protected List<Currency> load() { CurrencyListResult supportedCurrencies = walletService.getSupportedCurrencies(); if (supportedCurrencies == null) { return Collections.<Currency>emptyList(); } ArrayList<Currency> curs = new ArrayList<Currency>(supportedCurrencies.getCurrencies()); log.debug("got currencies: {}", curs); Collections.sort(curs, new Comparator<Currency>() { @Override public int compare(Currency o1, Currency o2) { return o1.getCode().compareTo(o2.getCode()); } }); return curs; } }; add(new ListView<Currency>("currencies", currencyModel) { @Override protected void populateItem(ListItem<Currency> item) { final Currency c = item.getModelObject(); item.add(new Label("code", Model.of(c.getCode()))); item.add(new Label("digits", Model.of(c.getFractionalDigits()))); item.add(new Link<String>("removeLink") { @Override public void onClick() { log.debug("removing currency: {}", c); walletService.removeCurrency(c.getCode()); } }.add(new ConfirmOnclickAttributeModifier("Really remove this currency?"))); } }); final CompoundPropertyModel<Currency> newCurrencyModel = new CompoundPropertyModel<Currency>( new Currency(null, 2)); Form<Currency> addForm = new Form<Currency>("addForm", newCurrencyModel) { @Override protected void onSubmit() { Currency cur = getModelObject(); log.debug("submit: {}", cur); try { walletService.addCurrency(cur); } catch (Exception e) { error("Error creating currency: " + e.getMessage()); return; } info("Added currency " + cur.getCode() + " with " + cur.getFractionalDigits() + " fractional digits"); newCurrencyModel.setObject(new Currency(null, 2)); } }; addForm.add(new RequiredTextField<String>("code", newCurrencyModel.<String>bind("code")) .add(StringValidator.exactLength(3))); addForm.add(new RequiredTextField<Integer>("digits", newCurrencyModel.<Integer>bind("fractionalDigits")) .add(new RangeValidator<Integer>(0, 8))); addForm.add(new FeedbackPanel("feedback", new ContainerFeedbackMessageFilter(addForm))); addForm.add(new WebMarkupContainer("submitButton") .add(new ConfirmOnclickAttributeModifier("Are you sure you want to add this currency?"))); add(addForm); }
From source file:com.evolveum.midpoint.gui.impl.component.form.TriStateFormGroup.java
License:Apache License
private void initLayout(IModel<String> label, final String tooltipKey, boolean isTooltipInModal, String labelCssClass, String textCssClass, boolean required, boolean isSimilarAsPropertyPanel) { WebMarkupContainer labelContainer = new WebMarkupContainer(ID_LABEL_CONTAINER); add(labelContainer);//from ww w .j a va 2 s .com Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelCssClass)) { labelContainer.add(AttributeAppender.prepend("class", labelCssClass)); } if (isSimilarAsPropertyPanel) { labelContainer.add(AttributeAppender.prepend("class", " col-xs-2 prism-property-label ")); } else { labelContainer.add(AttributeAppender.prepend("class", " control-label ")); } labelContainer.add(l); Label tooltipLabel = new Label(ID_TOOLTIP, new Model<>()); tooltipLabel.add(new AttributeAppender("data-original-title", new IModel<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 requiredContainer = new WebMarkupContainer(ID_REQUIRED); requiredContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return required; } }); labelContainer.add(requiredContainer); WebMarkupContainer propertyLabel = new WebMarkupContainer(ID_PROPERTY_LABEL); WebMarkupContainer rowLabel = new WebMarkupContainer(ID_ROW); WebMarkupContainer valueWrapper = new WebMarkupContainer(ID_VALUE_WRAPPER); if (StringUtils.isNotEmpty(textCssClass)) { valueWrapper.add(AttributeAppender.prepend("class", textCssClass)); } if (isSimilarAsPropertyPanel) { propertyLabel.add(AttributeAppender.prepend("class", " col-md-10 prism-property-value ")); rowLabel.add(AttributeAppender.prepend("class", " row ")); } propertyLabel.add(rowLabel); rowLabel.add(valueWrapper); add(propertyLabel); TriStateComboPanel triStateCombo = new TriStateComboPanel(ID_VALUE, getModel()); ; valueWrapper.add(triStateCombo); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(triStateCombo.getBaseFormComponent())); feedback.setOutputMarkupId(true); valueWrapper.add(feedback); }
From source file:com.evolveum.midpoint.web.component.data.TableConfigurationPanel.java
License:Apache License
private void initPopoverLayout() { WebMarkupContainer popover = new WebMarkupContainer(ID_POPOVER); popover.setOutputMarkupId(true);//from w ww . j a v a 2 s . c o m add(popover); Form form = new Form(ID_FORM); popover.add(form); AjaxSubmitButton button = new AjaxSubmitButton(ID_BUTTON) { @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(TableConfigurationPanel.this .get(createComponentPath(ID_POPOVER, ID_FORM, "inputFeedback"))); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { pageSizeChanged(target); } }; form.add(button); TextField input = new TextField(ID_INPUT, createInputModel()); input.add(new RangeValidator(5, 100)); input.setLabel(createStringResource("PageSizePopover.title")); input.add(new SearchFormEnterBehavior(button)); input.setType(Integer.class); input.setOutputMarkupId(true); FeedbackPanel feedback = new FeedbackPanel("inputFeedback", new ComponentFeedbackMessageFilter(input)); feedback.setOutputMarkupId(true); form.add(feedback); form.add(input); }
From source file:com.evolveum.midpoint.web.component.form.DateFormGroup.java
License:Apache License
private void initLayout(IModel<String> label, String labelSize, String textSize, boolean required) { Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelSize)) { l.add(AttributeAppender.prepend("class", labelSize)); }/* www. j av a 2 s . c o m*/ add(l); WebMarkupContainer dateWrapper = new WebMarkupContainer(ID_DATE_WRAPPER); if (StringUtils.isNotEmpty(textSize)) { dateWrapper.add(AttributeAppender.prepend("class", textSize)); } add(dateWrapper); DateInput date = new DateInput(ID_DATE, new XmlGregorianCalendarModel(getModel())); date.setRequired(required); date.setLabel(label); dateWrapper.add(date); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(date)); dateWrapper.add(feedback); }
From source file:com.evolveum.midpoint.web.component.form.DropDownFormGroup.java
License:Apache License
private void initLayout(IModel<List<T>> choices, IChoiceRenderer renderer, IModel<String> label, String labelSize, String textSize, boolean required) { Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelSize)) { l.add(AttributeAppender.prepend("class", labelSize)); }/*ww w .j a v a 2 s.com*/ add(l); WebMarkupContainer selectWrapper = new WebMarkupContainer(ID_SELECT_WRAPPER); if (StringUtils.isNotEmpty(textSize)) { selectWrapper.add(AttributeAppender.prepend("class", textSize)); } add(selectWrapper); DropDownChoice select = createDropDown(ID_SELECT, choices, renderer, required); select.setLabel(label); selectWrapper.add(select); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(select)); feedback.setOutputMarkupId(true); selectWrapper.add(feedback); }
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)); }/*from w w w . j a v a 2 s . c o m*/ 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.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)); }/*from w ww . j av a 2 s . co 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.MultiValueTextFormGroup.java
License:Apache License
private void initLayout(final IModel<String> label, final String labelSize, final String textSize, final boolean required) { Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelSize)) { l.add(AttributeAppender.prepend("class", labelSize)); }/*from ww w. j av a2s.c o m*/ add(l); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> item) { 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 (item.getIndex() > 0 && StringUtils.isNotEmpty(getOffsetClass())) { sb.append(getOffsetClass()).append(' '); sb.append(CLASS_MULTI_VALUE); } return sb.toString(); } })); item.add(textWrapper); TextField text = new TextField(ID_TEXT, createTextModel(item.getModel())); text.add(new AjaxFormComponentUpdatingBehavior("onblur") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); text.setRequired(required); 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 (item.getIndex() > 0 && StringUtils.isNotEmpty(labelSize)) { return CLASS_MULTI_VALUE; } return null; } })); item.add(buttonGroup); initButtons(buttonGroup, item); } }; add(repeater); }