public function Table::settingsForm in Double Field 8.3
Same name and namespace in other branches
- 4.x src/Plugin/Field/FieldFormatter/Table.php \Drupal\double_field\Plugin\Field\FieldFormatter\Table::settingsForm()
Returns a form to configure settings for the formatter.
Invoked from \Drupal\field_ui\Form\EntityDisplayFormBase to allow administrators to configure the formatter. 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 elements for the formatter settings.
Overrides Base::settingsForm
File
- src/
Plugin/ Field/ FieldFormatter/ Table.php, line 34
Class
- Table
- Plugin implementations for 'table' formatter.
Namespace
Drupal\double_field\Plugin\Field\FieldFormatterCode
public function settingsForm(array $form, FormStateInterface $form_state) {
$settings = $this
->getSettings();
$element['number_column'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Enable row number column'),
'#default_value' => $settings['number_column'],
'#attributes' => [
'class' => [
'js-double-field-number-column',
],
],
];
$element['number_column_label'] = [
'#type' => 'textfield',
'#title' => $this
->t('Number column label'),
'#size' => 30,
'#default_value' => $settings['number_column_label'],
'#states' => [
'visible' => [
'.js-double-field-number_column' => [
'checked' => TRUE,
],
],
],
];
foreach ([
'first',
'second',
] as $subfield) {
$element[$subfield . '_column_label'] = [
'#type' => 'textfield',
'#title' => $subfield == 'first' ? $this
->t('First column label') : $this
->t('Second column label'),
'#size' => 30,
'#default_value' => $settings[$subfield . '_column_label'],
];
}
return $element + parent::settingsForm($form, $form_state);
}