package er.directtoweb.components.relationships._ajax;
import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.directtoweb.D2WComponent;
import er.extensions.foundation.ERXValueUtilities;
/**
* Adds a filter for the select list.
* How to use: Set a delayed boolean assignment on restrictedChoiceKey or restrictedFetchSpecification based on the condition key defined by filterKey
*
* @see ERD2WEditToOneRelationshipWithNew
*
* @author mendis
*
*/
public class ERD2WEditToOneRelationshipWithFilter extends D2WComponent {
public ERD2WEditToOneRelationshipWithFilter(WOContext context) {
super(context);
}
// accessors
public String filterKey() {
return (String) _localContext.valueForKey("filterKey");
}
private boolean isFiltered() {
return ERXValueUtilities.booleanValue(_localContext.valueForKey(filterKey()));
}
private void setIsFiltered(boolean flag) {
_localContext.takeValueForKey(flag, filterKey());
}
public String container() {
return _localContext.valueForKey("id") + "_container";
}
/*
* button
*/
public String value() {
return isFiltered() ? "Show All" : "Filter";
}
// actions (ajax)
public WOComponent toggleFilter() {
setIsFiltered(!isFiltered());
return this;
}
}