PHP Class Prado\Web\UI\WebControls\TDatePicker

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, Character Format Pattern (en-US) ----------------------------------------- d day digit dd padded day digit e.g. 01, 02 M month digit MM padded month digit MMMM localized month name, e.g. March, April yy 2 digit year yyyy 4 digit year ----------------------------------------- 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.
Since: 3.0
Author: Carl G. Mathisen ([email protected])
Inheritance: extends TTextBox
Mostrar archivo Open project: pradosoft/prado Class Usage Examples

Public Methods

Method Description
getButtonImageUrl ( ) : string
getButtonText ( ) : string
getCalendarStyle ( ) : string
getClientSide ( ) : TDatePickerClientScript Gets the TDatePickerClientScript to set the TDatePicker event handlers.
getCulture ( ) : string Gets the current culture.
getData ( ) : integer Returns the timestamp selected by the user.
getDate ( ) : string
getDateFormat ( ) : string
getFirstDayOfWeek ( ) : integer
getFromYear ( ) : integer
getInputMode ( ) : TDatePickerInputMode
getMode ( ) : TDatePickerMode
getPositionMode ( ) : TDatePickerPositionMode
getShowCalendar ( ) : boolean
getTimeStamp ( ) : integer
getUpToYear ( ) : integer
getValidationPropertyValue ( ) : integer Returns the value to be validated.
loadPostData ( $key, $values ) : boolean Loads user input data. Override parent implementation, when InputMode is DropDownList call getDateFromPostData to get date data.
onPreRender ( $param ) Publish the date picker Css asset files.
render ( $writer ) Renders body content.
setAutoPostBack ( $value ) AutoPostBack is not supported.
setButtonImageUrl ( $value )
setButtonText ( $value )
setCalendarStyle ( $value )
setCulture ( $value ) Sets the culture/language for the date picker.
setData ( $value ) Sets the timestamp represented by this control.
setDate ( $value )
setDateFormat ( $value ) Sets the format of the date string.
setFirstDayOfWeek ( $value ) Set the first day of week, with 0 as Sunday, 1 as Monday, etc.
setFromYear ( $value )
setInputMode ( $value )
setMode ( $value )
setPositionMode ( $value )
setShowCalendar ( $value ) Sets whether to pop up the calendar window when the control receives focus
setTimeStamp ( $value ) Sets the date for the date picker using timestamp.
setUpToYear ( $value )

Protected Methods

Method Description
addAttributesToRender ( $writer ) Add the client id to the input textbox, and register the client scripts.
createClientScript ( ) : TDatePickerClientScript
getAssetUrl ( $file = '' ) : string
getCulturalOptions ( ) : array Get javascript localization options, e.g. month and weekday names.
getCurrentCulture ( ) : string
getDateFromPostData ( $key, $values ) : array Loads date from drop down list data.
getDatePickerButtonID ( ) : string Gets the ID for the date picker trigger button.
getDatePickerOptions ( ) : array Get javascript date picker options.
getDropDownDayOptions ( ) : array
getLocalizedCalendarInfo ( ) : DateTimeFormatInfo
getLocalizedMonthNames ( $info ) : array Returns the localized month names that depends on the month format pattern.
getTimeStampFromText ( ) : integer Gets the date from the text input using TSimpleDateFormatter
hasDayPattern ( )
publishCalendarStyle ( ) : string Publish the calendar style Css asset file.
registerCalendarClientScriptPre ( ) Registers the javascript code to initialize the date picker.
renderButtonDatePicker ( $writer ) : THtmlWriter Adds an additional button such that when clicked it shows the date picker.
renderCalendarDayOptions ( $writer, $selected = null ) Renders the day drop down list options.
renderCalendarMonthOptions ( $writer, $selected = null ) Renders the month drop down list options.
renderCalendarSelections ( $writer, $date ) Renders the calendar drop down list depending on the DateFormat pattern.
renderCalendarYearOptions ( $writer, $selected = null ) Renders the year drop down list options.
renderClientControlScript ( $writer )
renderDatePickerButtons ( $writer ) Renders the date picker popup buttons.
renderDropDownListCalendar ( $writer ) Renders the drop down list date picker.
renderImageButtonDatePicker ( $writer ) : THtmlWriter Adds an additional image button such that when clicked it shows the date picker.

Private Methods

Method Description
renderDropDownListOptions ( $writer, $options, $selected = null ) Renders a drop down lists.

Method Details

addAttributesToRender() protected method

Add the client id to the input textbox, and register the client scripts.
protected addAttributesToRender ( $writer )

createClientScript() protected method

protected createClientScript ( ) : TDatePickerClientScript
return TDatePickerClientScript javascript validator event options.

getAssetUrl() protected method

protected getAssetUrl ( $file = '' ) : string
return string date picker asset url.

getButtonImageUrl() public method

public getButtonImageUrl ( ) : string
return string the image url for "Image" UI mode.

getButtonText() public method

public getButtonText ( ) : string
return string text for the date picker button. Default is "...".

getCalendarStyle() public method

public getCalendarStyle ( ) : string
return string current calendar style

getClientSide() public method

The date picker on the client-side supports the following events. # OnDateChanged -- raised when the date is changed. You can attach custom javascript code to each of these events
public getClientSide ( ) : TDatePickerClientScript
return TDatePickerClientScript javascript validator event options.

getCulturalOptions() protected method

Get javascript localization options, e.g. month and weekday names.
protected getCulturalOptions ( ) : array
return array localization options.

getCulture() public method

Gets the current culture.
public getCulture ( ) : string
return string current culture, e.g. en_AU.

getCurrentCulture() protected method

protected getCurrentCulture ( ) : string
return string the current culture, falls back to application if culture is not set.

getData() public method

This method is required by {@link \Prado\IDataRenderer}. It is the same as {@link getTimeStamp()}.
See also: getTimeStamp
Since: 3.1.2
public getData ( ) : integer
return integer the timestamp of the TDatePicker control.

getDate() public method

public getDate ( ) : string
return string the date string.

getDateFormat() public method

public getDateFormat ( ) : string
return string the format of the date string

getDateFromPostData() protected method

Loads date from drop down list data.
protected getDateFromPostData ( $key, $values ) : array
return array the date selected

getDatePickerButtonID() protected method

Gets the ID for the date picker trigger button.
protected getDatePickerButtonID ( ) : string
return string unique button ID

getDatePickerOptions() protected method

Get javascript date picker options.
protected getDatePickerOptions ( ) : array
return array date picker client-side options

getDropDownDayOptions() protected method

protected getDropDownDayOptions ( ) : array
return array list of day options for a drop down list.

getFirstDayOfWeek() public method

public getFirstDayOfWeek ( ) : integer
return integer first day of the week

getFromYear() public method

public getFromYear ( ) : integer
return integer date picker starting year, default is -5 years

getInputMode() public method

public getInputMode ( ) : TDatePickerInputMode
return TDatePickerInputMode input method of date values. Defaults to TDatePickerInputMode::TextBox.

getLocalizedCalendarInfo() protected method

protected getLocalizedCalendarInfo ( ) : DateTimeFormatInfo
return DateTimeFormatInfo date time format information for the current culture.

getLocalizedMonthNames() protected method

"MMMM" will return the month names, "MM" or "MMM" return abbr. month names and "M" return month digits.
protected getLocalizedMonthNames ( $info ) : array
return array localized month names.

getMode() public method

public getMode ( ) : TDatePickerMode
return TDatePickerMode current calendar UI mode.

getPositionMode() public method

public getPositionMode ( ) : TDatePickerPositionMode
return TDatePickerPositionMode current calendar UI position.

getShowCalendar() public method

public getShowCalendar ( ) : boolean
return boolean whether the calendar window should pop up when the control receives focus

getTimeStamp() public method

public getTimeStamp ( ) : integer
return integer current selected date from the date picker as timestamp, NULL if timestamp is not set previously.

getTimeStampFromText() protected method

Gets the date from the text input using TSimpleDateFormatter
protected getTimeStampFromText ( ) : integer
return integer current selected date timestamp

getUpToYear() public method

public getUpToYear ( ) : integer
return integer date picker ending year, default +10 years

getValidationPropertyValue() public method

This methid is required by \Prado\Web\UI\IValidatable interface.
public getValidationPropertyValue ( ) : integer
return integer the interger timestamp if valid, otherwise the original text.

hasDayPattern() protected method

protected hasDayPattern ( )

loadPostData() public method

This method is primarly used by framework developers.
public loadPostData ( $key, $values ) : boolean
return boolean whether the data of the component has been changed

onPreRender() public method

Publish the date picker Css asset files.
public onPreRender ( $param )

publishCalendarStyle() protected method

Publish the calendar style Css asset file.
protected publishCalendarStyle ( ) : string
return string Css file url.

registerCalendarClientScriptPre() protected method

Registers the javascript code to initialize the date picker.

render() public method

This method overrides parent implementation by adding additional date picker button if Mode is Button or ImageButton.
public render ( $writer )

renderButtonDatePicker() protected method

Adds an additional button such that when clicked it shows the date picker.
protected renderButtonDatePicker ( $writer ) : THtmlWriter
return THtmlWriter writer

renderCalendarDayOptions() protected method

Renders the day drop down list options.
protected renderCalendarDayOptions ( $writer, $selected = null )

renderCalendarMonthOptions() protected method

Renders the month drop down list options.
protected renderCalendarMonthOptions ( $writer, $selected = null )

renderCalendarSelections() protected method

Renders the calendar drop down list depending on the DateFormat pattern.
protected renderCalendarSelections ( $writer, $date )

renderCalendarYearOptions() protected method

Renders the year drop down list options.
protected renderCalendarYearOptions ( $writer, $selected = null )

renderClientControlScript() protected method

protected renderClientControlScript ( $writer )

renderDatePickerButtons() protected method

Renders the date picker popup buttons.
protected renderDatePickerButtons ( $writer )

renderDropDownListCalendar() protected method

Renders the drop down list date picker.
protected renderDropDownListCalendar ( $writer )

renderImageButtonDatePicker() protected method

Adds an additional image button such that when clicked it shows the date picker.
protected renderImageButtonDatePicker ( $writer ) : THtmlWriter
return THtmlWriter writer

setAutoPostBack() public method

AutoPostBack is not supported.
public setAutoPostBack ( $value )

setButtonImageUrl() public method

public setButtonImageUrl ( $value )

setButtonText() public method

public setButtonText ( $value )

setCalendarStyle() public method

public setCalendarStyle ( $value )

setCulture() public method

Sets the culture/language for the date picker.
public setCulture ( $value )

setData() public method

This method is required by {@link \Prado\IDataRenderer}. It is the same as {@link setTimeStamp()}.
See also: setTimeStamp
Since: 3.1.2
public setData ( $value )

setDate() public method

public setDate ( $value )

setDateFormat() public method

Sets the format of the date string.
public setDateFormat ( $value )

setFirstDayOfWeek() public method

Set the first day of week, with 0 as Sunday, 1 as Monday, etc.
public setFirstDayOfWeek ( $value )

setFromYear() public method

public setFromYear ( $value )

setInputMode() public method

public setInputMode ( $value )

setMode() public method

public setMode ( $value )

setPositionMode() public method

public setPositionMode ( $value )

setShowCalendar() public method

Sets whether to pop up the calendar window when the control receives focus
public setShowCalendar ( $value )

setTimeStamp() public method

Sets the date for the date picker using timestamp.
public setTimeStamp ( $value )

setUpToYear() public method

public setUpToYear ( $value )