Class DatePicker

    • Field Detail

      • FORMAT_DATE

        public static String FORMAT_DATE
        Format to be used when configuring YUI calendar. Can be used when using the "selected" property.
      • FORMAT_PAGEDATE

        public static String FORMAT_PAGEDATE
        For specifying which page (month/year) to show in the calendar, use this format for the date. This is to be used together with the property "pagedate"
    • Constructor Detail

      • DatePicker

        public DatePicker()
        Construct.
    • Method Detail

      • includeYUILibraries

        protected boolean includeYUILibraries()
        Controls whether or not datepicker will contribute YUI libraries to the page as part of its rendering lifecycle. There may be cases when the user wants to use their own version of YUI contribution code, in those cases this method should be overridden to return false.
        Returns:
        a flag whether to contribute YUI libraries to the page. true by default.
      • renderHeadInit

        protected void renderHeadInit​(IHeaderResponse response)
        Renders yui & wicket calendar js module loading. It is done only once per page.
        Parameters:
        response - header response
      • alignWithIcon

        protected boolean alignWithIcon()
        Whether to position the date picker relative to the trigger icon.
        Returns:
        If true, the date picker is aligned with the left position of the icon, and with the top right under. If false, the date picker will skip positioning and will let you do the positioning yourself. Returns true by default.
      • configure

        protected void configure​(Map<String,​Object> widgetProperties,
                                 IHeaderResponse response,
                                 Map<String,​Object> initVariables)
        Gives overriding classes the option of adding (or even changing/ removing) configuration properties for the javascript widget. See the widget's documentation for the available options. If you want to override/ remove properties, you should call super.configure(properties) first. If you don't call that, be aware that you will have to call localize(java.util.Map, org.apache.wicket.markup.head.IHeaderResponse, java.util.Map) manually if you like localized strings to be added.
        Parameters:
        widgetProperties - the current widget properties
        response - the header response
        initVariables - variables passed to the Wicket.DateTime.init() js method
      • filterEmpty

        protected final String[] filterEmpty​(String[] stringArray)
        Filter all empty elements (workaround for DateFormatSymbols returning arrays with empty elements).
        Parameters:
        stringArray - array to filter
        Returns:
        filtered array (without null or empty string elements)
      • getComponentMarkupId

        protected final String getComponentMarkupId()
        Gets the id of the component that the calendar widget will get attached to.
        Returns:
        The DOM id of the component
      • getDatePattern

        protected String getDatePattern()
        Gets the date pattern to use for putting selected values in the coupled component.
        Returns:
        The date pattern
      • getEscapedComponentMarkupId

        protected final String getEscapedComponentMarkupId()
        Gets the escaped DOM id that the calendar widget will get attached to. All non word characters (\W) will be removed from the string.
        Returns:
        The DOM id of the calendar widget - same as the component's markup id + 'Dp'}
      • getIconId

        protected final String getIconId()
        Gets the id of the icon that triggers the popup.
        Returns:
        The id of the icon
      • getIconStyle

        protected String getIconStyle()
        Gets the style of the icon that triggers the popup.
        Returns:
        The style of the icon, e.g. 'cursor: point' etc.
      • getIconTitle

        protected CharSequence getIconTitle()
        Gets the title attribute of the datepicker icon
        Returns:
        text
      • getIconAltText

        protected CharSequence getIconAltText()
        Gets the icon alt text for the datepicker icon
        Returns:
        text
      • getIconUrl

        protected CharSequence getIconUrl()
        Gets the url for the popup button. Users can override to provide their own icon URL.
        Returns:
        the url to use for the popup button/ icon
      • getLocale

        protected Locale getLocale()
        Gets the locale that should be used to configure this widget.
        Returns:
        By default the locale of the bound component.
      • getFirstDayOfWeek

        protected int getFirstDayOfWeek​(Locale locale)
        Gets the first day of week of a given locale.
        Returns:
        By default the first day of week accordingly to Calendar class.
      • notifyComponentOnDateSelected

        protected boolean notifyComponentOnDateSelected()
        Whether to notify the associated component when a date is selected. Notifying is done by calling the associated component's onchange JavaScript event handler. You can for instance attach an AjaxEventBehavior to that component to get a call back to the server. The default is true.
        Returns:
        if true, notifies the associated component when a date is selected
      • substring

        protected final 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
        Parameters:
        array - array to copy from
        len - size of substring for each element to copy
        Returns:
        copy of the array filled with substrings.
      • substring

        protected final 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
        Parameters:
        array - array to copy from
        start - start position of the substring
        len - size of substring for each element to copy
        Returns:
        copy of the array filled with substrings.
      • enableMonthYearSelection

        protected boolean enableMonthYearSelection()
        Indicates whether plain text is rendered or two select boxes are used to allow direct selection of month and year.
        Returns:
        true if select boxes should be rendered to allow month and year selection.
        false to render just plain text.
      • hideOnSelect

        protected boolean hideOnSelect()
        Indicates whether the calendar should be hidden after a date was selected.
        Returns:
        true (default) if the calendar should be hidden after the date selection
        false if the calendar should remain visible after the date selection.
      • showOnFieldClick

        protected boolean showOnFieldClick()
        Indicates whether the calendar should be shown when corresponding text input is clicked.
        Returns:
        true
        false (default)
      • setShowOnFieldClick

        public DatePicker setShowOnFieldClick​(boolean show)
        Parameters:
        show - a flag indicating whether to show the picker on click event
        Returns:
        this instance to be able to chain calls
      • autoHide

        protected boolean autoHide()
        Indicates whether the calendar should be hidden when the user clicks on an area of the document outside of the dialog.
        Returns:
        true
        false (default)
      • setAutoHide

        public DatePicker setAutoHide​(boolean autoHide)
        Parameters:
        autoHide - a flag indicating whether to hide the picker on click event
        Returns:
        this instance to be able to chain calls
      • closeLabel

        protected String closeLabel()
        The string to use for the close button label.
        Returns:
        label
      • setCloseLabel

        public void setCloseLabel​(String closeLabel)
        Parameters:
        closeLabel - The string to use for the close button label.
      • renderOnLoad

        protected boolean renderOnLoad()
        Indicates whether the calendar should be rendered after it has been loaded.
        Returns:
        true if the calendar should be rendered after it has been loaded.
        false (default) if it's initially hidden.
      • getAdditionalJavaScript

        protected String getAdditionalJavaScript()
        Override this method to further customize the YUI Calendar with additional JavaScript code. The code returned by this method is executed right after the Calendar has been constructed and initialized. To refer to the actual Calendar DOM object, use ${calendar} in your code.
        See the widget's documentation for more information about the YUI Calendar.
        Example:
         protected String getAdditionalJavaScript()
         {
                return "${calendar}.addRenderer(\"10/3\", ${calendar}.renderCellStyleHighlight1);";
         }
         
        Returns:
        a String containing additional JavaScript code