Class TDatePicker

Description

TDatePicker class.

TDatePicker displays a text box for date input purpose. When the text box receives focus, a calendar will pop up and users can pick up from it a date that will be automatically entered into the text box. The format of the date string displayed in the text box is determined by the DateFormat property. Valid formats are the combination of the following tokens,

  1.   Character Format Pattern (en-US)
  2.   -----------------------------------------
  3.   d          day digit
  4.   dd         padded day digit e.g0102
  5.   M          month digit
  6.   MM         padded month digit
  7.   MMMM       localized month namee.gMarchApril
  8.   yy         digit year
  9.   yyyy       digit year
  10.   -----------------------------------------

TDatePicker has four Mode to show the date picker popup.

  • Basic -- Only shows a text input, focusing on the input shows the date picker. This way you can access the popup using only the keyboard. Note that because of this, TAB-bing through this control will automatically select the current date if no previous date was selected. If you close the popup (eg. pressing the ESC key) you'll need to un-focus and re-focus the control again for the popup to reappear.
  • Clickable -- Only shows a text input, clicking on the input shows the date picker. This mode solves the two small problems of the Basic mode. It was first introduced in Prado 3.2.
  • Button -- Shows a button next to the text input, clicking on the button shows the date, button text can be by the ButtonText property
  • ImageButton -- Shows an image next to the text input, clicking on the image shows the date picker, image source can be change through the ButtonImageUrl property.
The CssClass property can be used to override the css class name for the date picker panel. CalendarStyle property sets the packages styles available. E.g. default.

The InputMode property can be set to "TextBox" or "DropDownList" with default as "TextBox". In DropDownList mode, in addition to the popup date picker, three drop down list (day, month and year) are presented to select the date .

The PositionMode property can be set to "Top" or "Bottom" with default as "Bottom". It specifies the position of the calendar popup, relative to the input field.

Located in /Web/UI/WebControls/TDatePicker.php (line 80)

TComponent
   |
   --TApplicationComponent
      |
      --TControl
         |
         --TWebControl
            |
            --TTextBox
               |
               --TDatePicker
Direct descendents
Class Description
TActiveDatePicker TActiveDatePicker class
Class Constant Summary
 SCRIPT_PATH = 'prado/datepicker'
Method Summary
string getAssetUrl ([string $file = ''])
string getButtonImageUrl ()
string getButtonText ()
string getCalendarStyle ()
string getCulture ()
string getCurrentCulture ()
integer getData ()
string getDate ()
string getDateFormat ()
array getDateFromPostData (string $key, array $values)
integer getFirstDayOfWeek ()
integer getFromYear ()
DateTimeFormatInfo getLocalizedCalendarInfo ()
array getLocalizedMonthNames (DateTimeFormatInfo $info)
boolean getShowCalendar ()
integer getTimeStamp ()
integer getUpToYear ()
void hasDayPattern ()
boolean loadPostData (string $key, array $values)
void onPreRender ( $param)
void render (THtmlWriter $writer)
void renderCalendarDayOptions (THtmlWriter $writer, [mixed $selected = null])
void renderCalendarMonthOptions (THtmlWriter $writer, [mixed $selected = null])
void renderCalendarSelections (THtmlWriter $writer, array $date)
void renderCalendarYearOptions (THtmlWriter $writer, [mixed $selected = null])
void renderDatePickerButtons ( $writer)
void renderDropDownListCalendar ( $writer)
void setAutoPostBack ( $value)
void setButtonImageUrl (string $value)
void setButtonText (string $value)
void setCalendarStyle (string $value)
void setCulture (string $value)
void setData (integer $value)
void setDate (string $value)
void setDateFormat (string $value)
void setFirstDayOfWeek (integer $value)
void setFromYear (integer $value)
void setMode (TDatePickerMode $value)
void setShowCalendar (boolean $value)
void setTimeStamp (float $value)
void setUpToYear (integer $value)
Variables

Inherited Variables

Inherited from TWebControl

TWebControl::$_decorator
Methods
addAttributesToRender (line 857)

Add the client id to the input textbox, and register the client scripts.

  • access: protected
void addAttributesToRender (THtmlWriter $writer)

Redefinition of:
TTextBox::addAttributesToRender()
Adds attribute name-value pairs to renderer.
createClientScript (line 385)
  • return: javascript validator event options.
  • access: protected
TDatePickerClientScript createClientScript ()
getAssetUrl (line 834)
  • return: date picker asset url.
  • access: protected
string getAssetUrl ([string $file = ''])
  • string $file: date picker asset file in the self::SCRIPT_PATH directory.
getButtonImageUrl (line 194)
  • return: the image url for "Image" UI mode.
  • access: public
string getButtonImageUrl ()
getButtonText (line 235)
  • return: text for the date picker button. Default is "...".
  • access: public
string getButtonText ()
getCalendarStyle (line 210)
  • return: current calendar style
  • access: public
string getCalendarStyle ()
getClientSide (line 375)

Gets the TDatePickerClientScript to set the TDatePicker event handlers.

The date picker on the client-side supports the following events.

  • <tt>OnDateChanged</tt> -- raised when the date is changed.
You can attach custom javascript code to each of these events

  • return: javascript validator event options.
  • access: public
TDatePickerClientScript getClientSide ()

Redefined in descendants as:
getCulturalOptions (line 560)

Get javascript localization options, e.g. month and weekday names.

  • return: localization options.
  • access: protected
array getCulturalOptions ()
getCulture (line 138)

Gets the current culture.

  • return: current culture, e.g. en_AU.
  • access: public
string getCulture ()
getCurrentCulture (line 576)
  • return: the current culture, falls back to application if culture is not set.
  • access: protected
string getCurrentCulture ()
getData (line 331)

Returns the timestamp selected by the user.

This method is required by IDataRenderer. It is the same as getTimeStamp().

integer getData ()

Redefinition of:
TTextBox::getData()
Returns the text content of the TTextBox control.
getDate (line 352)
  • return: the date string.
  • access: public
string getDate ()
getDateFormat (line 103)
  • return: the format of the date string
  • access: public
string getDateFormat ()
getDateFromPostData (line 492)

Loads date from drop down list data.

  • return: the date selected
  • access: protected
array getDateFromPostData (string $key, array $values)
  • string $key: the key that can be used to retrieve data from the input data collection
  • array $values: the input data collection
getDatePickerButtonID (line 789)

Gets the ID for the date picker trigger button.

  • return: unique button ID
  • access: protected
string getDatePickerButtonID ()
getDatePickerOptions (line 525)

Get javascript date picker options.

  • return: date picker client-side options
  • access: protected
array getDatePickerOptions ()

Redefined in descendants as:
getDropDownDayOptions (line 707)
  • return: list of day options for a drop down list.
  • access: protected
array getDropDownDayOptions ()
getFirstDayOfWeek (line 227)
  • return: first day of the week
  • access: public
integer getFirstDayOfWeek ()
getFromYear (line 259)
  • return: date picker starting year, default is -5 years
  • access: public
integer getFromYear ()
getInputMode (line 163)
  • return: input method of date values. Defaults to TDatePickerInputMode::TextBox.
  • access: public
TDatePickerInputMode getInputMode ()
getLocalizedCalendarInfo (line 586)
  • return: date time format information for the current culture.
  • access: protected
DateTimeFormatInfo getLocalizedCalendarInfo ()
getLocalizedMonthNames (line 746)

Returns the localized month names that depends on the month format pattern.

"MMMM" will return the month names, "MM" or "MMM" return abbr. month names and "M" return month digits.

  • return: localized month names.
  • access: protected
array getLocalizedMonthNames (DateTimeFormatInfo $info)
  • DateTimeFormatInfo $info: localized date format information.
getMode (line 179)
  • return: current calendar UI mode.
  • access: public
TDatePickerMode getMode ()
getPositionMode (line 291)
  • return: current calendar UI position.
  • access: public
TDatePickerPositionMode getPositionMode ()
getShowCalendar (line 120)
  • return: whether the calendar window should pop up when the control receives focus
  • access: public
boolean getShowCalendar ()
getTimeStamp (line 299)
  • return: current selected date from the date picker as timestamp, NULL if timestamp is not set previously.
  • access: public
integer getTimeStamp ()
getTimeStampFromText (line 659)

Gets the date from the text input using TSimpleDateFormatter

  • return: current selected date timestamp
  • access: protected
integer getTimeStampFromText ()
getUpToYear (line 275)
  • return: date picker ending year, default +10 years
  • access: public
integer getUpToYear ()
getValidationPropertyValue (line 395)

Returns the value to be validated.

This methid is required by IValidatable interface.

  • return: the interger timestamp if valid, otherwise the original text.
  • access: public
integer getValidationPropertyValue ()

Redefinition of:
TTextBox::getValidationPropertyValue()
Returns the value to be validated.
hasDayPattern (line 627)
  • access: protected
void hasDayPattern ()
loadPostData (line 472)

Loads user input data. Override parent implementation, when InputMode is DropDownList call getDateFromPostData to get date data.

This method is primarly used by framework developers.

  • return: whether the data of the component has been changed
  • access: public
boolean loadPostData (string $key, array $values)
  • string $key: the key that can be used to retrieve data from the input data collection
  • array $values: the input data collection

Redefinition of:
TTextBox::loadPostData()
Loads user input data.
onPreRender (line 406)

Publish the date picker Css asset files.

  • access: public
void onPreRender ( $param)
  • $param

Redefinition of:
TWebControl::onPreRender()
If your subclass overrides the onPreRender method be sure to call this method through parent::onPreRender($param); so your sub-class can be decorated, among other things.
publishCalendarStyle (line 844)

Publish the calendar style Css asset file.

  • return: Css file url.
  • access: protected
string publishCalendarStyle ()
registerCalendarClientScriptPost (line 877)
  • access: protected
void registerCalendarClientScriptPost ()

Redefined in descendants as:
registerCalendarClientScriptPre (line 868)

Registers the javascript code to initialize the date picker.

  • access: protected
void registerCalendarClientScriptPre ()

Redefined in descendants as:
render (line 427)

Renders body content.

This method overrides parent implementation by adding additional date picker button if Mode is Button or ImageButton.

  • access: public
void render (THtmlWriter $writer)

Redefinition of:
TWebControl::render()
Renders the control.
renderButtonDatePicker (line 798)

Adds an additional button such that when clicked it shows the date picker.

  • return: writer
  • access: protected
THtmlWriter renderButtonDatePicker ( $writer)
  • $writer
renderCalendarDayOptions (line 691)

Renders the day drop down list options.

  • access: protected
void renderCalendarDayOptions (THtmlWriter $writer, [mixed $selected = null])
  • THtmlWriter $writer: the writer used for the rendering purpose
  • mixed $selected: selected day.
renderCalendarMonthOptions (line 725)

Renders the month drop down list options.

  • access: protected
void renderCalendarMonthOptions (THtmlWriter $writer, [mixed $selected = null])
  • THtmlWriter $writer: the writer used for the rendering purpose
  • mixed $selected: selected month.
renderCalendarSelections (line 639)

Renders the calendar drop down list depending on the DateFormat pattern.

  • access: protected
void renderCalendarSelections (THtmlWriter $writer, array $date)
  • THtmlWriter $writer: the Html writer to render the drop down lists.
  • array $date: the current selected date
renderCalendarYearOptions (line 770)

Renders the year drop down list options.

  • access: protected
void renderCalendarYearOptions (THtmlWriter $writer, [mixed $selected = null])
  • THtmlWriter $writer: the writer used for the rendering purpose
  • mixed $selected: selected year.
renderDatePickerButtons (line 448)

Renders the date picker popup buttons.

  • access: protected
void renderDatePickerButtons ( $writer)
  • $writer
renderDropDownListCalendar (line 598)

Renders the drop down list date picker.

  • access: protected
void renderDropDownListCalendar ( $writer)
  • $writer
renderImageButtonDatePicker (line 814)

Adds an additional image button such that when clicked it shows the date picker.

  • return: writer
  • access: protected
THtmlWriter renderImageButtonDatePicker ( $writer)
  • $writer
setAutoPostBack (line 94)

AutoPostBack is not supported.

  • access: public
void setAutoPostBack ( $value)
  • $value

Redefinition of:
TTextBox::setAutoPostBack()
Sets the value indicating if postback automatically.

Redefined in descendants as:
setButtonImageUrl (line 186)
  • access: public
void setButtonImageUrl (string $value)
  • string $value: the image url for "Image" UI mode.
setButtonText (line 243)
  • access: public
void setButtonText (string $value)
  • string $value: text for the date picker button
setCalendarStyle (line 202)
  • access: public
void setCalendarStyle (string $value)
  • string $value: set the calendar style
setCulture (line 147)

Sets the culture/language for the date picker.

  • access: public
void setCulture (string $value)
  • string $value: a culture string, e.g. en_AU.
setData (line 344)

Sets the timestamp represented by this control.

This method is required by IDataRenderer. It is the same as setTimeStamp().

void setData (integer $value)
  • integer $value: the timestamp of the TDatePicker control.

Redefinition of:
TTextBox::setData()
Sets the text content of the TTextBox control.
setDate (line 360)
  • access: public
void setDate (string $value)
  • string $value: date string
setDateFormat (line 112)

Sets the format of the date string.

  • access: public
void setDateFormat (string $value)
  • string $value: the format of the date string
setFirstDayOfWeek (line 219)

Set the first day of week, with 0 as Sunday, 1 as Monday, etc.

  • access: public
void setFirstDayOfWeek (integer $value)
  • integer $value: 0 for Sunday, 1 for Monday, 2 for Tuesday, etc.
setFromYear (line 251)
  • access: public
void setFromYear (integer $value)
  • integer $value: date picker starting year, default is 2000.
setInputMode (line 155)
  • access: public
void setInputMode (TDatePickerInputMode $value)
setMode (line 171)
  • access: public
void setMode (TDatePickerMode $value)
setPositionMode (line 283)
  • access: public
void setPositionMode (TDatePickerPositionMode $value)
setShowCalendar (line 129)

Sets whether to pop up the calendar window when the control receives focus

  • access: public
void setShowCalendar (boolean $value)
  • boolean $value: whether to show the calendar window
setTimeStamp (line 311)

Sets the date for the date picker using timestamp.

  • access: public
void setTimeStamp (float $value)
  • float $value: time stamp for the date picker
setUpToYear (line 267)
  • access: public
void setUpToYear (integer $value)
  • integer $value: date picker ending year, default +10 years

Inherited Methods

Inherited From TTextBox

TTextBox::addAttributesToRender()
TTextBox::getAutoCompleteType()
TTextBox::getAutoPostBack()
TTextBox::getAutoTrim()
TTextBox::getCausesValidation()
TTextBox::getClientClassName()
TTextBox::getColumns()
TTextBox::getData()
TTextBox::getDataChanged()
TTextBox::getEnableClientScript()
TTextBox::getIsValid()
TTextBox::getMaxLength()
TTextBox::getPersistPassword()
TTextBox::getPostBackOptions()
TTextBox::getReadOnly()
TTextBox::getRows()
TTextBox::getSafeText()
TTextBox::getSafeTextParser()
TTextBox::getTagName()
TTextBox::getText()
TTextBox::getTextMode()
TTextBox::getValidationGroup()
TTextBox::getValidationPropertyValue()
TTextBox::getWrap()
TTextBox::loadPostData()
TTextBox::onTextChanged()
TTextBox::raisePostDataChangedEvent()
TTextBox::renderBeginTag()
TTextBox::renderClientControlScript()
TTextBox::renderContents()
TTextBox::setAutoCompleteType()
TTextBox::setAutoPostBack()
TTextBox::setAutoTrim()
TTextBox::setCausesValidation()
TTextBox::setColumns()
TTextBox::setData()
TTextBox::setEnableClientScript()
TTextBox::setIsValid()
TTextBox::setMaxLength()
TTextBox::setPersistPassword()
TTextBox::setReadOnly()
TTextBox::setRows()
TTextBox::setText()
TTextBox::setTextMode()
TTextBox::setValidationGroup()
TTextBox::setWrap()

Inherited From TWebControl

TWebControl::addAttributesToRender()
TWebControl::clearStyle()
TWebControl::copyBaseAttributes()
TWebControl::createStyle()
TWebControl::getAccessKey()
TWebControl::getBackColor()
TWebControl::getBorderColor()
TWebControl::getBorderStyle()
TWebControl::getBorderWidth()
TWebControl::getCssClass()
TWebControl::getDecorator()
TWebControl::getDisplay()
TWebControl::getEnsureId()
TWebControl::getFont()
TWebControl::getForeColor()
TWebControl::getHasStyle()
TWebControl::getHeight()
TWebControl::getStyle()
TWebControl::getTabIndex()
TWebControl::getTagName()
TWebControl::getToolTip()
TWebControl::getWidth()
TWebControl::onPreRender()
TWebControl::render()
TWebControl::renderBeginTag()
TWebControl::renderContents()
TWebControl::renderEndTag()
TWebControl::setAccessKey()
TWebControl::setBackColor()
TWebControl::setBorderColor()
TWebControl::setBorderStyle()
TWebControl::setBorderWidth()
TWebControl::setCssClass()
TWebControl::setDisplay()
TWebControl::setEnsureId()
TWebControl::setForeColor()
TWebControl::setHeight()
TWebControl::setStyle()
TWebControl::setTabIndex()
TWebControl::setToolTip()
TWebControl::setWidth()

Inherited From TControl

TControl::__construct()
TControl::addedControl()
TControl::addParsedObject()
TControl::addToPostDataLoader()
TControl::applyStyleSheetSkin()
TControl::autoBindProperty()
TControl::autoDataBindProperties()
TControl::bindProperty()
TControl::broadcastEvent()
TControl::bubbleEvent()
TControl::clearChildState()
TControl::clearControlState()
TControl::clearNamingContainer()
TControl::clearViewState()
TControl::convertUniqueIdToClientId()
TControl::createChildControls()
TControl::createControlCollection()
TControl::dataBind()
TControl::dataBindChildren()
TControl::dataBindProperties()
TControl::ensureChildControls()
TControl::findControl()
TControl::findControlsByID()
TControl::findControlsByType()
TControl::focus()
TControl::getAdapter()
TControl::getAllowChildControls()
TControl::getAttribute()
TControl::getAttributes()
TControl::getChildControlsCreated()
TControl::getClientID()
TControl::getControls()
TControl::getControlStage()
TControl::getControlState()
TControl::getCustomData()
TControl::getEnabled()
TControl::getEnableTheming()
TControl::getEnableViewState()
TControl::getHasAdapter()
TControl::getHasAttributes()
TControl::getHasChildInitialized()
TControl::getHasControls()
TControl::getHasInitialized()
TControl::getHasLoaded()
TControl::getHasLoadedPostData()
TControl::getHasPreRendered()
TControl::getID()
TControl::getIsSkinApplied()
TControl::getNamingContainer()
TControl::getPage()
TControl::getParent()
TControl::getRegisteredObject()
TControl::getSkinID()
TControl::getSourceTemplateControl()
TControl::getTemplateControl()
TControl::getUniqueID()
TControl::getViewState()
TControl::getVisible()
TControl::hasAttribute()
TControl::initRecursive()
TControl::isDescendentOf()
TControl::isObjectRegistered()
TControl::loadRecursive()
TControl::loadState()
TControl::loadStateRecursive()
TControl::onDataBinding()
TControl::onInit()
TControl::onLoad()
TControl::onPreRender()
TControl::onUnload()
TControl::preRenderRecursive()
TControl::raiseBubbleEvent()
TControl::registerObject()
TControl::removeAttribute()
TControl::removedControl()
TControl::render()
TControl::renderChildren()
TControl::renderControl()
TControl::saveState()
TControl::saveStateRecursive()
TControl::setAdapter()
TControl::setAttribute()
TControl::setChildControlsCreated()
TControl::setControlStage()
TControl::setControlState()
TControl::setCustomData()
TControl::setEnabled()
TControl::setEnableTheming()
TControl::setEnableViewState()
TControl::setID()
TControl::setPage()
TControl::setSkinID()
TControl::setTemplateControl()
TControl::setViewState()
TControl::setVisible()
TControl::trackViewState()
TControl::traverseChildControls()
TControl::unbindProperty()
TControl::unloadRecursive()
TControl::unregisterObject()
TControl::__get()

Inherited From TApplicationComponent

TApplicationComponent::getApplication()
TApplicationComponent::getRequest()
TApplicationComponent::getResponse()
TApplicationComponent::getService()
TApplicationComponent::getSession()
TApplicationComponent::getUser()
TApplicationComponent::publishAsset()
TApplicationComponent::publishFilePath()

Inherited From TComponent

TComponent::addParsedObject()
TComponent::attachEventHandler()
TComponent::canGetProperty()
TComponent::canSetProperty()
TComponent::createdOnTemplate()
TComponent::detachEventHandler()
TComponent::evaluateExpression()
TComponent::evaluateStatements()
TComponent::getEventHandlers()
TComponent::getSubProperty()
TComponent::hasEvent()
TComponent::hasEventHandler()
TComponent::hasProperty()
TComponent::raiseEvent()
TComponent::setSubProperty()
TComponent::__call()
TComponent::__get()
TComponent::__set()
TComponent::__sleep()
TComponent::__wakeup()
Class Constants

Documentation generated on Mon, 25 Jun 2012 14:37:56 +0200 by phpDocumentor 1.4.3