|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.wicket.behavior.AbstractBehavior
org.apache.wicket.extensions.yui.calendar.DatePicker
public class DatePicker
Pops up a YUI calendar component so that the user can select a date. On selection, the date is
set in the component it is coupled to, after which the popup is closed again. This behavior can
only be used with components that either implement AbstractTextComponent.ITextFormatProvider
or that use
DateConverter
configured with an instance of SimpleDateFormat
(like Wicket's
default configuration has).
To use, simply add a new instance to your component, which would typically a TextField, like
DateTextField
.
The CalendarNavigator can be configured by overriding configure(Map)
and setting the
property or by returning true
for enableMonthYearSelection()
.
Field Summary | |
---|---|
static String |
FORMAT_DATE
Format to be used when configuring YUI calendar. |
static String |
FORMAT_PAGEDATE
For specifying which page (month/year) to show in the calendar, use this format for the date. |
Constructor Summary | |
---|---|
DatePicker()
Construct. |
Method Summary | |
---|---|
protected boolean |
alignWithIcon()
Whether to position the date picker relative to the trigger icon. |
void |
bind(Component component)
Bind this handler to the given component. |
protected void |
configure(Map<String,Object> widgetProperties)
Gives overriding classes the option of adding (or even changing/ removing) configuration properties for the javascript widget. |
protected void |
configureWidgetProperties(Map<String,Object> widgetProperties)
Deprecated. Please use configure(Map) instead. |
protected boolean |
enableMonthYearSelection()
Indicates whether plain text is rendered or two select boxes are used to allow direct selection of month and year. |
protected String[] |
filterEmpty(String[] array)
Filter all empty elements (workaround for DateFormatSymbols returning arrays with
empty elements). |
protected String |
getAdditionalJavascript()
Override this method to further customize the YUI Calendar with additional Javascript code. |
protected String |
getComponentMarkupId()
Gets the id of the component that the calendar widget will get attached to. |
protected String |
getDatePattern()
Gets the date pattern to use for putting selected values in the coupled component. |
protected String |
getEscapedComponentMarkupId()
Gets the escaped DOM id that the calendar widget will get attached to. |
protected CharSequence |
getIconAltText()
Gets the icon alt text for the datepicker icon |
protected String |
getIconId()
Gets the id of the icon that triggers the popup. |
protected String |
getIconStyle()
Gets the style of the icon that triggers the popup. |
protected CharSequence |
getIconTitle()
Gets the title attribute of the datepicker icon |
protected CharSequence |
getIconUrl()
Gets the url for the popup button. |
protected Locale |
getLocale()
Gets the locale that should be used to configure this widget. |
protected boolean |
hideOnSelect()
Indicates whether the calendar should be hidden after a date was selected. |
protected boolean |
includeYUILibraries()
Controls whether or not datepicker will contribute YUI libraries to the page as part of its rendering lifecycle. |
boolean |
isEnabled(Component component)
Called when a components is rendering and wants to render this behavior. |
protected void |
localize(Map<String,Object> widgetProperties)
Configure the localized strings for the datepicker widget. |
protected boolean |
notifyComponentOnDateSelected()
Whether to notify the associated component when a date is selected. |
void |
onRendered(Component component)
Called when a component that has this behavior coupled was rendered. |
void |
renderHead(IHeaderResponse response)
Render to the web response whatever the component wants to contribute to the head section. |
protected boolean |
renderOnLoad()
Indicates whether the calendar should be rendered after it has been loaded. |
DatePicker |
setShowOnFieldClick(boolean show)
|
protected boolean |
showOnFieldClick()
Indicates whether the calendar should be shown when corresponding text input is clicked. |
protected String[] |
substring(String[] array,
int len)
Makes a copy of the provided array and for each element copy the substring 0..len to the new array |
protected String[] |
substring(String[] array,
int start,
int len)
Makes a copy of the provided array and for each element copy the substring 0..len to the new array |
Methods inherited from class org.apache.wicket.behavior.AbstractBehavior |
---|
afterRender, beforeRender, cleanup, detach, detachModel, exception, getStatelessHint, isTemporary, onComponentTag, onConfigure, onException, rendered |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static String FORMAT_DATE
public static String FORMAT_PAGEDATE
Constructor Detail |
---|
public DatePicker()
Method Detail |
---|
public void bind(Component component)
IBehavior
bind
in interface IBehavior
bind
in class AbstractBehavior
component
- the component to bind toAbstractBehavior.bind(org.apache.wicket.Component)
public void onRendered(Component component)
AbstractBehavior
onRendered
in class AbstractBehavior
component
- the component that has this behavior coupledAbstractBehavior.onRendered(org.apache.wicket.Component)
protected boolean includeYUILibraries()
false
.
public void renderHead(IHeaderResponse response)
IHeaderContributor
renderHead
in interface IHeaderContributor
renderHead
in class AbstractBehavior
response
- Response objectIHeaderContributor.renderHead(org.apache.wicket.markup.html.IHeaderResponse)
protected boolean alignWithIcon()
protected void configure(Map<String,Object> widgetProperties)
localize(Map)
manually if you like localized strings to be added.
widgetProperties
- the current widget properties@Deprecated protected final void configureWidgetProperties(Map<String,Object> widgetProperties)
configure(Map)
instead.
protected final String[] filterEmpty(String[] array)
DateFormatSymbols
returning arrays with
empty elements).
array
- array to filter
protected final String getComponentMarkupId()
protected String getDatePattern()
protected final String getEscapedComponentMarkupId()
protected final String getIconId()
protected String getIconStyle()
protected CharSequence getIconTitle()
protected CharSequence getIconAltText()
protected CharSequence getIconUrl()
protected Locale getLocale()
protected void localize(Map<String,Object> widgetProperties)
DateFormatSymbols
and some slight string manupilation to get the strings for months
and week days. Also, the first week day is set according to the Locale
returned by
getLocale()
. It should work well for most locales.
This method is called from configureWidgetProperties(Map)
and can be overridden if
you want to customize setting up the localized strings but are happy with the rest of
configureWidgetProperties(Map)
's behavior. Note that you can call (overridable)
method getLocale()
to get the locale that should be used for setting up the widget.
See YUI Calendar's German and Japanese examples for more info.
widgetProperties
- the current widget propertiesprotected boolean notifyComponentOnDateSelected()
AjaxEventBehavior
to that component to get a call back to the server. The
default is true.
protected final String[] substring(String[] array, int len)
array
- array to copy fromlen
- size of substring for each element to copy
protected final String[] substring(String[] array, int start, int len)
array
- array to copy fromstart
- start position of the substringlen
- size of substring for each element to copy
protected boolean enableMonthYearSelection()
true
if select boxes should be rendered to allow month and year
selection.false
to render just plain text.protected boolean hideOnSelect()
true
(default) if the calendar should be hidden after the date selection false
if the calendar should remain visible after the date selection.protected boolean showOnFieldClick()
true
false
(default)public DatePicker setShowOnFieldClick(boolean show)
#showOnFieldClick()}
protected boolean renderOnLoad()
true
if the calendar should be rendered after it has been loaded.false
(default) if it's initially hidden.protected String getAdditionalJavascript()
${calendar}
in
your code.protected String getAdditionalJavascript() { return "${calendar}.addRenderer(\"10/3\", ${calendar}.renderCellStyleHighlight1);"; }
public boolean isEnabled(Component component)
IBehavior
isEnabled
in interface IBehavior
isEnabled
in class AbstractBehavior
component
- the component that has this behavior coupled
AbstractBehavior.isEnabled(org.apache.wicket.Component)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |