use of javax.faces.component.UISelectItems in project acs-community-packaging by Alfresco.
the class UILanguageSelector method encodeBegin.
@Override
@SuppressWarnings("unchecked")
public void encodeBegin(FacesContext context) throws IOException {
// SelectItems component.
if (getChildren().size() == 0) {
UISelectItems items = (UISelectItems) context.getApplication().createComponent("javax.faces.SelectItems");
items.setId(this.getId() + "_items");
items.setValue(createList());
// add the child component
getChildren().add(items);
}
// do the default processing
super.encodeBegin(context);
}
use of javax.faces.component.UISelectItems in project acs-community-packaging by Alfresco.
the class UISearchCustomProperties method generateControl.
/**
* Generates an appropriate control for the given property
*
* @param context JSF context
* @param propDef The definition of the property to create the control for
* @param displayLabel Display label for the component
* @param beanBinding Combined name of the value bound bean and variable used for value binding expression
*
* @return UIComponent
*/
@SuppressWarnings("unchecked")
private UIComponent generateControl(FacesContext context, PropertyDefinition propDef, String displayLabel, String beanBinding) {
UIComponent control = null;
DataTypeDefinition dataTypeDef = propDef.getDataType();
QName typeName = dataTypeDef.getName();
javax.faces.application.Application facesApp = context.getApplication();
// create default value binding to a Map of values with a defined name
ValueBinding vb = facesApp.createValueBinding("#{" + beanBinding + "[\"" + propDef.getName().toString() + "\"]}");
// generate the appropriate input field
if (typeName.equals(DataTypeDefinition.BOOLEAN)) {
control = (UISelectBoolean) facesApp.createComponent(ComponentConstants.JAVAX_FACES_SELECT_BOOLEAN);
control.setRendererType(ComponentConstants.JAVAX_FACES_CHECKBOX);
control.setValueBinding(VALUE, vb);
} else if (typeName.equals(DataTypeDefinition.CATEGORY)) {
control = (UICategorySelector) facesApp.createComponent(RepoConstants.ALFRESCO_FACES_TAG_SELECTOR);
control.setValueBinding(VALUE, vb);
} else if (typeName.equals(DataTypeDefinition.DATETIME) || typeName.equals(DataTypeDefinition.DATE)) {
Boolean showTime = Boolean.valueOf(typeName.equals(DataTypeDefinition.DATETIME));
// create value bindings for the start year and year count attributes
ValueBinding startYearBind = null;
ValueBinding yearCountBind = null;
if (showTime) {
startYearBind = facesApp.createValueBinding("#{DateTimePickerGenerator.startYear}");
yearCountBind = facesApp.createValueBinding("#{DateTimePickerGenerator.yearCount}");
} else {
startYearBind = facesApp.createValueBinding("#{DatePickerGenerator.startYear}");
yearCountBind = facesApp.createValueBinding("#{DatePickerGenerator.yearCount}");
}
// Need to output component for From and To date selectors and labels
// also neeed checkbox for enable/disable state - requires an outer wrapper component
control = (UIPanel) facesApp.createComponent(ComponentConstants.JAVAX_FACES_PANEL);
control.setRendererType(ComponentConstants.JAVAX_FACES_GRID);
control.getAttributes().put("columns", Integer.valueOf(2));
// enabled state checkbox
UIInput checkbox = (UIInput) facesApp.createComponent(ComponentConstants.JAVAX_FACES_SELECT_BOOLEAN);
checkbox.setRendererType(ComponentConstants.JAVAX_FACES_CHECKBOX);
checkbox.setId(context.getViewRoot().createUniqueId());
ValueBinding vbCheckbox = facesApp.createValueBinding("#{" + beanBinding + "[\"" + propDef.getName().toString() + "\"]}");
checkbox.setValueBinding(VALUE, vbCheckbox);
control.getChildren().add(checkbox);
// main display label
UIOutput label = (UIOutput) context.getApplication().createComponent(ComponentConstants.JAVAX_FACES_OUTPUT);
label.setId(context.getViewRoot().createUniqueId());
label.setRendererType(ComponentConstants.JAVAX_FACES_TEXT);
label.setValue(displayLabel + ":");
control.getChildren().add(label);
// from date label
UIOutput labelFromDate = (UIOutput) context.getApplication().createComponent(ComponentConstants.JAVAX_FACES_OUTPUT);
labelFromDate.setId(context.getViewRoot().createUniqueId());
labelFromDate.setRendererType(ComponentConstants.JAVAX_FACES_TEXT);
labelFromDate.setValue(Application.getMessage(context, MSG_FROM));
control.getChildren().add(labelFromDate);
// from date control
UIInput inputFromDate = (UIInput) facesApp.createComponent(ComponentConstants.JAVAX_FACES_INPUT);
inputFromDate.setId(context.getViewRoot().createUniqueId());
inputFromDate.setRendererType(RepoConstants.ALFRESCO_FACES_DATE_PICKER_RENDERER);
inputFromDate.setValueBinding("startYear", startYearBind);
inputFromDate.setValueBinding("yearCount", yearCountBind);
inputFromDate.getAttributes().put("initialiseIfNull", Boolean.TRUE);
inputFromDate.getAttributes().put("showTime", showTime);
ValueBinding vbFromDate = facesApp.createValueBinding("#{" + beanBinding + "[\"" + PREFIX_DATE_FROM + propDef.getName().toString() + "\"]}");
inputFromDate.setValueBinding(VALUE, vbFromDate);
control.getChildren().add(inputFromDate);
// to date label
UIOutput labelToDate = (UIOutput) context.getApplication().createComponent(ComponentConstants.JAVAX_FACES_OUTPUT);
labelToDate.setId(context.getViewRoot().createUniqueId());
labelToDate.setRendererType(ComponentConstants.JAVAX_FACES_TEXT);
labelToDate.setValue(Application.getMessage(context, MSG_TO));
control.getChildren().add(labelToDate);
// to date control
UIInput inputToDate = (UIInput) facesApp.createComponent(ComponentConstants.JAVAX_FACES_INPUT);
inputToDate.setId(context.getViewRoot().createUniqueId());
inputToDate.setRendererType(RepoConstants.ALFRESCO_FACES_DATE_PICKER_RENDERER);
inputToDate.setValueBinding("startYear", startYearBind);
inputToDate.setValueBinding("yearCount", yearCountBind);
inputToDate.getAttributes().put("initialiseIfNull", Boolean.TRUE);
inputToDate.getAttributes().put("showTime", showTime);
ValueBinding vbToDate = facesApp.createValueBinding("#{" + beanBinding + "[\"" + PREFIX_DATE_TO + propDef.getName().toString() + "\"]}");
inputToDate.setValueBinding(VALUE, vbToDate);
control.getChildren().add(inputToDate);
} else if (typeName.equals(DataTypeDefinition.NODE_REF)) {
control = (UISpaceSelector) facesApp.createComponent(RepoConstants.ALFRESCO_FACES_SPACE_SELECTOR);
control.setValueBinding(VALUE, vb);
} else {
ListOfValuesConstraint constraint = getListOfValuesConstraint(propDef);
if (constraint != null && propDef != null && propDef.isProtected() == false) {
control = (UISelectOne) facesApp.createComponent(UISelectOne.COMPONENT_TYPE);
UISelectItems itemsComponent = (UISelectItems) facesApp.createComponent(ComponentConstants.JAVAX_FACES_SELECT_ITEMS);
List<SelectItem> items = new ArrayList<SelectItem>();
List<String> values = constraint.getAllowedValues();
for (String value : values) {
items.add(new SelectItem(value, value));
}
itemsComponent.setValue(items);
// add the items as a child component
control.getChildren().add(itemsComponent);
ValueBinding vbItemList = facesApp.createValueBinding("#{" + beanBinding + "[\"" + PREFIX_LOV_ITEM + propDef.getName().toString() + "\"]}");
control.setValueBinding(VALUE, vbItemList);
} else {
// any other type is represented as an input text field
control = (UIInput) facesApp.createComponent(ComponentConstants.JAVAX_FACES_INPUT);
control.setRendererType(ComponentConstants.JAVAX_FACES_TEXT);
control.setValueBinding("size", facesApp.createValueBinding("#{TextFieldGenerator.size}"));
control.setValueBinding("maxlength", facesApp.createValueBinding("#{TextFieldGenerator.maxLength}"));
control.setValueBinding(VALUE, vb);
}
}
// set up the common aspects of the control
control.setId(context.getViewRoot().createUniqueId());
return control;
}
use of javax.faces.component.UISelectItems in project acs-community-packaging by Alfresco.
the class UIStoreSelector method encodeBegin.
@Override
@SuppressWarnings("unchecked")
public void encodeBegin(FacesContext context) throws IOException {
if (getChildren().size() == 0) {
UISelectItems items = (UISelectItems) context.getApplication().createComponent("javax.faces.SelectItems");
items.setId(this.getId() + "_items");
items.setValue(createList());
// add the child component
getChildren().add(items);
}
// do the default processing
super.encodeBegin(context);
}
use of javax.faces.component.UISelectItems in project acs-community-packaging by Alfresco.
the class UICharsetSelector method encodeBegin.
@Override
@SuppressWarnings("unchecked")
public void encodeBegin(FacesContext context) throws IOException {
// SelectItems component.
if (getChildren().size() == 0) {
UISelectItems items = (UISelectItems) context.getApplication().createComponent("javax.faces.SelectItems");
items.setId(this.getId() + "_items");
items.setValue(createList());
// add the child component
getChildren().add(items);
}
// do the default processing
super.encodeBegin(context);
}
use of javax.faces.component.UISelectItems in project acs-community-packaging by Alfresco.
the class LanguageSelectorGenerator method generate.
@SuppressWarnings("unchecked")
public UIComponent generate(FacesContext context, String id) {
UIComponent component = context.getApplication().createComponent(UISelectOne.COMPONENT_TYPE);
FacesHelper.setupComponentId(context, component, id);
// create the list of choices
UISelectItems itemsComponent = (UISelectItems) context.getApplication().createComponent("javax.faces.SelectItems");
itemsComponent.setValue(getLanguageItems());
// add the items as a child component
component.getChildren().add(itemsComponent);
return component;
}
Aggregations