package er.modern.directtoweb.components.buttons;
import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.directtoweb.D2WPage;
import com.webobjects.directtoweb.SelectPageInterface;
/**
* Select button for repetitions
*
* @binding object
*
* @d2wKey selectButtonLabel
* @d2wKey classForSelectObjButton
* @d2wKey idForParentMainContainer
*
* @author davidleber
*
*/
public class ERMDSelectButton extends ERMDActionButton {
public interface Keys extends ERMDActionButton.Keys {
public static final String selectButtonLabel = "selectButtonLabel";
public static final String classForSelectObjButton = "classForSelectObjButton";
public static final String idForParentMainContainer = "idForParentMainContainer";
}
public ERMDSelectButton(WOContext context) {
super(context);
}
/**
* Label for select button
* <p>
* Defaults to "Select"
*/
public String buttonLabel() {
if (_buttonLabel == null) {
_buttonLabel = stringValueForBinding(Keys.selectButtonLabel, "Select");
}
return _buttonLabel;
}
/**
* CSS class for the select button
* <p>
* Defaults to "Button ObjButton SelectObjButton"
*/
public String buttonClass() {
if (_buttonClass == null) {
_buttonClass = stringValueForBinding(Keys.classForSelectObjButton, "Button ObjButton SelectObjButton");
}
return _buttonClass;
}
/**
* Action performed by the select button
*/
public WOComponent selectObjectAction() {
SelectPageInterface parent = parentSelectPage();
if(parent != null) {
parent.setSelectedObject(object());
return nextPageInPage((D2WPage)parent);
}
throw new IllegalStateException("This page is not an instance of SelectPageInterface. I can't select here.");
}
@Override
public String updateContainer() {
if (_updateContainer == null) {
_updateContainer = stringValueForBinding(Keys.idForParentMainContainer);
}
return _updateContainer;
}
}