Icon icon = (Icon) application.createComponent(Icon.COMPONENT_TYPE);
String buttonIconName = getButtonIconName();
icon.setName(buttonIconName);
// Create a button component that that is also to remain detached from the component tree.
Button button = (Button) application.createComponent(Button.COMPONENT_TYPE);
List<UIComponent> buttonChildren = button.getChildren();
buttonChildren.add(icon);
button.setDisabled(disabled);
// If the component is enabled, then
if (!disabled) {
if ("button".equals(showOn)) {
String buttonClientId = getButtonClientId(facesContext, inputDateTime);
button.setId(buttonClientId);
}
else {
// If the both the button and the input are supposed to trigger the datePicker, set the button's
// onclick to focus and click the input.
String onClick = BUTTON_ON_CLICK_EVENT.replace("{0}", inputClientId);
button.setOnclick(onClick);
}
}
// Invoke the button's renderer so that it renders itself and its child icon.
button.encodeAll(facesContext);
}
// If the component is enabled, then create the boundingBox and contentBox of the picker.
if (!disabled) {