The DateSpinner component uses a mobility-designed date selection component and may be optionally rendered depending on whether the mobile operating system is using iOS5 or Blackberry by using the "useNative" attribute. If the device is running iOS5 or Blackberry and useNative="true", then the inherent date selection component is used (so for iPhone, iPad running iOS5) the native dateSelection will be used (html5 input tag with type="date"). If iOS5 is not detected and the useNative attribute is false, then the <mobi:dateSpinner/> component renders a mobility designed non-browser solution which with popup selector, styled with <mobi:deviceStyleSheet/>. This component has mobi:ajax support.

Each device will popup the correct entry spinner that is styled as per the device; Jsf validation and conversion is supported. The non-iOS5 version will actually have built-in conversion for date, so as long as the default pattern of 'yyyy-MM-dd' is used, then no <f:convertDateTime pattern="yyyy-MM-dd" /> tag is required.
The developer will have to know what platforms they are creating applications for in that some of these options are not applicable to the iOS5 supported inherent selection.


How to use.

If enabling iOS5 if detected

<mobi:dateSpinner value="#{dateBean.someDate}" useNative="true"
    <f:convertDateTime pattern="yyyy-MM-dd" timezone="MST"/>

Common Attributes

readonly *disabled

singleSubmit if true, submits itself (element) and triggers a full page response using the ICEfaces dom-diff algorithm (in other words, only what has changed on the view page). If false, then the field is not submitted until the form is.

For non-iOS5 only

yearStart the year to start inclusion of the year selector, default = 1980
yearEnd the year to end inclusion of the year selector, default = 2020
pattern for built in conversion so convertDateTime tag not required for this component, default = 'yyyy-MM-dd' to make it same as default pattern for built-in iOS5 date selector. Supported patterns include dd/MM/yyyy, MM-dd-yyyy, dd-MM-yyyy, yyyy-MM-dd, yyyy-dd-MM
timeZone for built in conversion so convertDateTime tag not required for this component
locale for built in conversion so convertDateTime tag not required for this component

For iOS5 & Blackberry only

cols number of columns for textarea for initial render
rows number of rows for textarea
wrap wrap the text if get to end of textarea

Tag Documentation