public function DateAPStyleSettings::buildForm in AP Style Date 8
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfigFormBase::buildForm
File
- src/
Form/ DateAPStyleSettings.php, line 32
Class
- DateAPStyleSettings
- Configuration for the default AP Style Date settings.
Namespace
Drupal\date_ap_style\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('date_ap_style.dateapstylesettings');
$form['date_ap_style_settings'] = [
'#type' => 'fieldset',
'#title' => $this
->t('AP Style Date Display Settings'),
'#description' => $this
->t('Configure AP date style default settings when using the AP date style format.'),
];
$form['date_ap_style_settings']['always_display_year'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Always display year'),
'#description' => $this
->t('When unchecked, the year will not be displayed if the date is in the same year as the current date.'),
'#default_value' => $config
->get('always_display_year'),
];
$form['date_ap_style_settings']['use_today'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Use today'),
'#default_value' => $config
->get('use_today'),
];
$form['date_ap_style_settings']['cap_today'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Capitalize today'),
'#default_value' => $config
->get('cap_today'),
];
$form['date_ap_style_settings']['display_day'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Display day of the week'),
'#default_value' => $config
->get('display_day'),
'#description' => $this
->t('Display the day of the week when the date is in the same week as the current date. (Not available for date range fields.)'),
];
$form['date_ap_style_settings']['display_time'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Display time'),
'#default_value' => $config
->get('display_time'),
];
$form['date_ap_style_settings']['time_before_date'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Display time before date'),
'#description' => $this
->t('When checked, the time will be displayed before the date. Otherwise it will be displayed after the date.'),
'#default_value' => $config
->get('time_before_date'),
'#states' => [
'visible' => [
':input[name="display_time"]' => [
'checked' => TRUE,
],
],
],
];
$form['date_ap_style_settings']['use_all_day'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Show "All Day" instead of midnight'),
'#default_value' => $config
->get('display_noon_and_midnight'),
'#states' => [
'visible' => [
':input[name="display_time"]' => [
'checked' => TRUE,
],
],
'unchecked' => [
':input[name="display_noon_and_midnight"]' => [
'checked' => TRUE,
],
],
],
];
$form['date_ap_style_settings']['display_noon_and_midnight'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Display noon and midnight'),
'#description' => $this
->t('Converts 12:00 p.m. to "noon" and 12:00 a.m. to "midnight."'),
'#default_value' => $config
->get('display_noon_and_midnight'),
'#states' => [
'visible' => [
':input[name="display_time"]' => [
'checked' => TRUE,
],
],
'unchecked' => [
':input[name="use_all_day"]' => [
'checked' => TRUE,
],
],
],
];
$form['date_ap_style_settings']['capitalize_noon_and_midnight'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Capitalize noon and midnight'),
'#default_value' => $config
->get('capitalize_noon_and_midnight'),
'#states' => [
'visible' => [
':input[name="display_time"]' => [
'checked' => TRUE,
],
':input[name="display_noon_and_midnight"]' => [
'checked' => TRUE,
],
],
],
];
$form['date_ap_style_settings']['separator'] = [
'#type' => 'select',
'#title' => $this
->t('Date range separator'),
'#options' => [
'endash' => $this
->t('En dash'),
'to' => $this
->t('to'),
],
'#default_value' => $config
->get('separator'),
];
$form['date_ap_style_settings']['timezone'] = [
'#type' => 'select',
'#title' => $this
->t('Time zone'),
'#options' => [
'' => $this
->t('- Default site/user time zone -'),
] + system_time_zones(FALSE),
'#size' => 1,
'#default_value' => $config
->get('timezone'),
];
return parent::buildForm($form, $form_state);
}