public function DateTimeDayFieldItemList::defaultValuesForm in Date time day 8
Returns a form for the default value input.
Invoked from \Drupal\field_ui\Form\FieldConfigEditForm to allow administrators to configure instance-level default value.
Parameters
array $form: The form where the settings form is being included in.
\Drupal\Core\Form\FormStateInterface $form_state: The form state of the (entire) configuration form.
Return value
array The form definition for the field default value.
Overrides DateTimeFieldItemList::defaultValuesForm
File
- src/
Plugin/ Field/ FieldType/ DateTimeDayFieldItemList.php, line 21
Class
- DateTimeDayFieldItemList
- Represents a configurable entity datetimeday field.
Namespace
Drupal\date_time_day\Plugin\Field\FieldTypeCode
public function defaultValuesForm(array &$form, FormStateInterface $form_state) {
if (empty($this
->getFieldDefinition()
->getDefaultValueCallback())) {
$default_value = $this
->getFieldDefinition()
->getDefaultValueLiteral();
$element = parent::defaultValuesForm($form, $form_state);
// Start date properties.
$element['default_start_time_type'] = [
'#type' => 'select',
'#title' => $this
->t('Default start time type'),
'#description' => $this
->t('Set a default value for the start time.'),
'#default_value' => isset($default_value[0]['default_start_time_type']) ? $default_value[0]['default_start_time_type'] : '',
'#options' => [
static::DEFAULT_VALUE_NOW => $this
->t('Current date'),
static::DEFAULT_VALUE_CUSTOM => $this
->t('Relative date'),
],
'#empty_value' => '',
];
$element['default_start_time'] = [
'#type' => 'textfield',
'#title' => $this
->t('Relative default start time value'),
'#description' => $this
->t("Describe a time by reference to the current day, like '+90 days' (90 days from the day the field is created) or '+1 Saturday' (the next Saturday). See <a href=\"http://php.net/manual/function.strtotime.php\">strtotime</a> for more details."),
'#default_value' => isset($default_value[0]['default_start_time_type']) && $default_value[0]['default_start_time_type'] == static::DEFAULT_VALUE_CUSTOM ? $default_value[0]['default_start_time'] : '',
'#states' => [
'visible' => [
':input[id="edit-default-value-input-default-start-time-type"]' => [
'value' => static::DEFAULT_VALUE_CUSTOM,
],
],
],
];
// Start date properties.
$element['default_end_time_type'] = [
'#type' => 'select',
'#title' => $this
->t('Default end time type'),
'#description' => $this
->t('Set a default value for the end time.'),
'#default_value' => isset($default_value[0]['default_end_time_type']) ? $default_value[0]['default_end_time_type'] : '',
'#options' => [
static::DEFAULT_VALUE_NOW => $this
->t('Current date'),
static::DEFAULT_VALUE_CUSTOM => $this
->t('Relative date'),
],
'#empty_value' => '',
];
$element['default_end_time'] = [
'#type' => 'textfield',
'#title' => $this
->t('Relative default end time value'),
'#description' => $this
->t("Describe a time by reference to the current day, like '+90 days' (90 days from the day the field is created) or '+1 Saturday' (the next Saturday). See <a href=\"http://php.net/manual/function.strtotime.php\">strtotime</a> for more details."),
'#default_value' => isset($default_value[0]['default_end_time_type']) && $default_value[0]['default_end_time_type'] == static::DEFAULT_VALUE_CUSTOM ? $default_value[0]['default_end_time'] : '',
'#states' => [
'visible' => [
':input[id="edit-default-value-input-default-end-time-type"]' => [
'value' => static::DEFAULT_VALUE_CUSTOM,
],
],
],
];
return $element;
}
}