public function BootstrapDateTimeWidget::settingsForm in Bootstrap DateTime Picker 8
Returns a form to configure settings for the widget.
Invoked from \Drupal\field_ui\Form\EntityDisplayFormBase to allow administrators to configure the widget. The field_ui module takes care of handling submitted form values.
Parameters
array $form: The form where the settings form is being included in.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form definition for the widget settings.
Overrides WidgetBase::settingsForm
File
- src/
Plugin/ Field/ FieldWidget/ BootstrapDateTimeWidget.php, line 46
Class
- BootstrapDateTimeWidget
- Plugin implementation of the BootstrapDateTimeWidget widget.
Namespace
Drupal\bootstrap_datetime\Plugin\Field\FieldWidgetCode
public function settingsForm(array $form, FormStateInterface $form_state) {
$elements = [];
$elements['wrapper_class'] = [
'#type' => 'select',
'#title' => $this
->t('Wrapper Class'),
'#options' => [
'container' => $this
->t('Container'),
'fluid-container' => $this
->t('Fluid Container'),
],
'#description' => $this
->t('Select the wrapper class. Check https://getbootstrap.com/docs/4.3/layout/overview/'),
'#default_value' => $this
->getSetting('wrapper_class'),
];
$elements['column_size_class'] = [
'#type' => 'select',
'#title' => $this
->t('Column Size'),
'#description' => $this
->t('Select the column size based on bootstrap\'s grid system. Check https://getbootstrap.com/docs/4.0/layout/grid/'),
'#options' => [
'col-sm-1' => 1,
'col-sm-2' => 2,
'col-sm-3' => 3,
'col-sm-4' => 4,
'col-sm-5' => 5,
'col-sm-6' => 6,
'col-sm-7' => 7,
'col-sm-8' => 8,
'col-sm-9' => 9,
'col-sm-10' => 10,
'col-sm-11' => 11,
'col-sm-12' => 12,
],
'#default_value' => $this
->getSetting('column_size_class'),
];
$elements['hour_format'] = [
'#type' => 'select',
'#title' => $this
->t('Hours Format'),
'#description' => $this
->t('Select the hours format'),
'#options' => [
'12h' => $this
->t('12 Hours'),
'24h' => $this
->t('24 Hours'),
],
'#default_value' => $this
->getSetting('hour_format'),
'#required' => TRUE,
];
$elements['allow_times'] = [
'#type' => 'select',
'#title' => $this
->t('Minutes granularity'),
'#description' => $this
->t('Select granularity for minutes in calendar'),
'#options' => [
'5' => $this
->t('5 minutes'),
'10' => $this
->t('10 minutes'),
'15' => $this
->t('15 minutes'),
'30' => $this
->t('30 minutes'),
'60' => $this
->t('60 minutes'),
],
'#default_value' => $this
->getSetting('allow_times'),
'#required' => TRUE,
];
$elements['disable_days'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Disable specific days in week'),
'#description' => $this
->t('Select days which are disabled in calendar, etc. weekends or just Friday'),
'#options' => [
'1' => $this
->t('Monday'),
'2' => $this
->t('Tuesday'),
'3' => $this
->t('Wednesday'),
'4' => $this
->t('Thursday'),
'5' => $this
->t('Friday'),
'6' => $this
->t('Saturday'),
'7' => $this
->t('Sunday'),
],
'#default_value' => $this
->getSetting('disable_days'),
'#required' => FALSE,
];
$elements['exclude_date'] = [
'#type' => 'textarea',
'#title' => $this
->t('Disable specific dates from calendar'),
'#description' => $this
->t('Enter days in following format MM/DD/YY e.g. 03/07/2018. Separate multiple dates with comma. This is used for specific dates, if you want to disable all weekends use settings above, not this field.'),
'#default_value' => $this
->getSetting('exclude_date'),
'#required' => FALSE,
];
return $elements;
}