package net.techreadiness.ui.theme;
import static net.techreadiness.ui.theme.ReadinessTheme.addClass;
import java.io.IOException;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.struts2.components.template.TemplateRenderingContext;
import org.apache.struts2.views.java.Attributes;
import org.apache.struts2.views.java.simple.AbstractTagHandler;
public class ToolbarItemHandler extends AbstractTagHandler {
private boolean renderingToolbar;
@Override
public void setup(TemplateRenderingContext context) {
super.setup(context);
renderingToolbar = "true".equals(context.getStack().findString("renderingToolbar"));
if (renderingToolbar) {
context.getParameters().put("type", "button");
}
}
private boolean isButton() {
return "button".equals(context.getParameters().get("type"));
}
@Override
@SuppressWarnings("rawtypes")
public void start(String name, Attributes attributes) throws IOException {
if (isButton() && !StringUtils.contains(attributes.get("class"), "-button")) {
addClass(attributes, "gray-button");
}
if (attributes.containsKey("disabled")) {
addClass(attributes, "disabled-button");
}
if (((Map) context.getParameters().get("dynamicAttributes")).containsKey("confirm")) {
addClass(attributes, "confirm");
}
super.start(name, attributes);
}
@Override
public void end(String name) throws IOException {
super.end(name);
}
}