package org.springmodules.feedxt.web.ajax.support;
import org.springframework.context.MessageSource;
import org.springframework.context.MessageSourceAware;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springmodules.xt.ajax.AjaxAction;
import org.springmodules.xt.ajax.AjaxSubmitEvent;
import org.springmodules.xt.ajax.action.ReplaceContentAction;
import org.springmodules.xt.ajax.action.SetAttributeAction;
import org.springmodules.xt.ajax.action.prototype.scriptaculous.Effect;
import org.springmodules.xt.ajax.component.Image;
import org.springmodules.xt.ajax.component.TaggedText;
import org.springmodules.xt.ajax.validation.SuccessRenderingCallback;
/**
* @author Sergio Bossa
*/
public class SuccessMessageCallback implements SuccessRenderingCallback, MessageSourceAware {
private MessageSource messageSource;
public AjaxAction[] getSuccessActions(AjaxSubmitEvent ajaxSubmitEvent) {
Image img = new Image(ajaxSubmitEvent.getHttpRequest().getContextPath() + "/images/ok.gif", "success");
TaggedText msg = new TaggedText(
this.messageSource.getMessage("message.successful", null, "Successful", LocaleContextHolder.getLocale()),
TaggedText.Tag.SPAN);
ReplaceContentAction action1 = new ReplaceContentAction("onSuccessMessage", img, msg);
Effect action2 = new Effect("Shake", "onSuccessMessage");
SetAttributeAction action3 = new SetAttributeAction("name.field", "value", "");
SetAttributeAction action4 = new SetAttributeAction("url.field", "value", "");
return new AjaxAction[]{action1, action2, action3, action4};
}
public void setMessageSource(MessageSource messageSource) {
this.messageSource = messageSource;
}
}