Class DateTimeWidget
Input widget class for generating a date time input widget.
This class is intended as an internal implementation detail of Cake\View\Helper\FormHelper and is not intended for direct use.
- Cake\View\Widget\DateTimeWidget implements Cake\View\Widget\WidgetInterface
Properties summary
-
$_select
protectedSelect box widget. -
$_selects
protectedarray
List of inputs that can be rendered -
$_templates
protectedTemplate instance.
Method Summary
-
__construct() public
Constructor -
_adjustValue() protected
Adjust $value based on rounding settings. -
_daySelect() protected
Generates a day select -
_deconstructDate() protected
Deconstructs the passed date value into all time units -
_generateNumbers() protected
Generates a range of numbers -
_getMonthNames() protected
Returns a translated list of month names -
_hourSelect() protected
Generates a hour select -
_meridianSelect() protected
Generates a meridian select -
_minuteSelect() protected
Generates a minute select -
_monthSelect() protected
Generates a month select -
_normalizeData() protected
Normalize data. -
_secondSelect() protected
Generates a second select -
_yearSelect() protected
Generates a year select -
render() public
Renders a date time widget -
secureFields() public
Returns a list of fields that need to be secured for this widget.
Method Detail
__construct() public ¶
__construct( Cake\View\StringTemplate
$templates , Cake\View\Widget\SelectBoxWidget
$selectBox )
Constructor
Parameters
-
Cake\View\StringTemplate
$templates - Templates list.
-
Cake\View\Widget\SelectBoxWidget
$selectBox - Selectbox widget instance.
_adjustValue() protected ¶
_adjustValue( integer $value , array $options )
Adjust $value based on rounding settings.
Parameters
- integer $value
- The value to adjust.
- array $options
- The options containing interval and possibly round.
Returns
The amount to adjust $value by.
_daySelect() protected ¶
_daySelect( array $options , Cake\View\Form\ContextInterface
$context )
Generates a day select
Parameters
- array $options
- The options to generate a day select with.
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
_deconstructDate() protected ¶
_deconstructDate( string|integer|array|DateTime|null $value , array $options )
Deconstructs the passed date value into all time units
Parameters
- string|integer|array|DateTime|null $value
- Value to deconstruct.
- array $options
- Options for conversion.
Returns
_generateNumbers() protected ¶
_generateNumbers( integer $start , integer $end , array $options [] )
Generates a range of numbers
Options
- leadingZeroKey - Set to true to add a leading 0 to single digit keys.
- leadingZeroValue - Set to true to add a leading 0 to single digit values.
- interval - The interval to generate numbers for. Defaults to 1.
Parameters
- integer $start
- Start of the range of numbers to generate
- integer $end
- End of the range of numbers to generate
- array $options optional []
- Options list.
Returns
_getMonthNames() protected ¶
_getMonthNames( boolean $leadingZero false )
Returns a translated list of month names
Parameters
- boolean $leadingZero optional false
- Whether to generate month keys with leading zero.
Returns
_hourSelect() protected ¶
_hourSelect( array $options , Cake\View\Form\ContextInterface
$context )
Generates a hour select
Parameters
- array $options
- The options to generate an hour select with
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
_meridianSelect() protected ¶
_meridianSelect( array $options , Cake\View\Form\ContextInterface
$context )
Generates a meridian select
Parameters
- array $options
- The options to generate a meridian select with.
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
_minuteSelect() protected ¶
_minuteSelect( array $options , Cake\View\Form\ContextInterface
$context )
Generates a minute select
Parameters
- array $options
- The options to generate a minute select with.
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
_monthSelect() protected ¶
_monthSelect( array $options , Cake\View\Form\ContextInterface
$context )
Generates a month select
Parameters
- array $options
- The options to build the month select with
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
_normalizeData() protected ¶
_normalizeData( array $data )
Normalize data.
Parameters
- array $data
- Data to normalize.
Returns
Normalized data.
_secondSelect() protected ¶
_secondSelect( array $options , Cake\View\Form\ContextInterface
$context )
Generates a second select
Parameters
- array $options
- The options to generate a second select with
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
_yearSelect() protected ¶
_yearSelect( array $options , Cake\View\Form\ContextInterface
$context )
Generates a year select
Parameters
- array $options
- Options list.
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
render() public ¶
render( array $data , Cake\View\Form\ContextInterface
$context )
Renders a date time widget
name
- Set the input name.disabled
- Either true or an array of options to disable.val
- A date time string, integer or DateTime objectempty
- Set to true to add an empty option at the top of the option elements. Set to a string to define the display value of the empty option.
In addition to the above options, the following options allow you to control which input elements are generated. By setting any option to false you can disable that input picker. In addition each picker allows you to set additional options that are set as HTML properties on the picker.
year
- Array of options for the year select box.month
- Array of options for the month select box.day
- Array of options for the day select box.hour
- Array of options for the hour select box.minute
- Array of options for the minute select box.second
- Set to true to enable the seconds input. Defaults to false.meridian
- Set to true to enable the meridian input. Defaults to false. The meridian will be enabled automatically if you choose a 12 hour format.
The year
option accepts the start
and end
options. These let you control
the year range that is generated. It defaults to +-5 years from today.
The month
option accepts the name
option which allows you to get month
names instead of month numbers.
The hour
option allows you to set the following options:
format
option which accepts 12 or 24, allowing you to indicate which hour format you want.start
The hour to start the options at.end
The hour to stop the options at.
The start and end options are dependent on the format used. If the value is out of the start/end range it will not be included.
The minute
option allows you to define the following options:
interval
The interval to round options to.round
Acceptsup
ordown
. Defines which direction the current value should be rounded to match the select options.
Parameters
- array $data
- Data to render with.
-
Cake\View\Form\ContextInterface
$context - The current form context.
Returns
A generated select box.
Throws
When option data is invalid.
Implementation of
secureFields() public ¶
secureFields( array $data )
Returns a list of fields that need to be secured for this widget.
When the hour picker is in 24hr mode (null or format=24) the meridian picker will be omitted.
Parameters
- array $data
- The data to render.
Returns
Array of fields to secure.