function paragraphs_ee_field_widget_third_party_settings_form in Paragraphs Editor Enhancements 8
Implements hook_field_widget_third_party_settings_form().
File
- ./
paragraphs_ee.module, line 374 - Main functions for "Paragraphs Editor Enhancements" module.
Code
function paragraphs_ee_field_widget_third_party_settings_form(WidgetInterface $plugin, FieldDefinitionInterface $field_definition, $form_mode, $form, FormStateInterface $form_state) {
$elements = [];
if (!$plugin instanceof ParagraphsWidget) {
return $elements;
}
$settings_defaults = [
'dialog_off_canvas' => FALSE,
'dialog_style' => 'tiles',
'easy_access_count' => 2,
];
$settings = $plugin
->getThirdPartySetting('paragraphs_ee', 'paragraphs_ee', $settings_defaults);
// Define rule for enabling/disabling options that depend on modal add mode.
$modal_related_options_rule = [
':input[name="fields[' . $field_definition
->getName() . '][settings_edit_form][settings][add_mode]"]' => [
'value' => 'modal',
],
];
$elements['paragraphs_ee'] = [
'#type' => 'fieldgroup',
'#title' => t('Paragraphs Editor Enhancements'),
'#attributes' => [
'class' => [
'fieldgroup',
'form-composite',
],
],
];
$elements['paragraphs_ee']['dialog_off_canvas'] = [
'#type' => 'checkbox',
'#title' => t('Use off-canvas instead of modal dialog'),
'#default_value' => $settings['dialog_off_canvas'] ?? FALSE,
'#attributes' => [
'class' => [
'paragraphs-ee__dialog-off-canvas__option',
],
],
'#states' => [
'enabled' => $modal_related_options_rule,
'visible' => $modal_related_options_rule,
],
];
$elements['paragraphs_ee']['dialog_style'] = [
'#type' => 'select',
'#title' => t('Display Paragraphs in dialog as'),
'#default_value' => $settings['dialog_style'] ?? 'tiles',
'#attributes' => [
'class' => [
'paragraphs-ee__dialog-style__option',
],
],
'#options' => [
'tiles' => t('Tiles', [], [
'context' => 'Paragraphs Editor Enhancements',
]),
'list' => t('List', [], [
'context' => 'Paragraphs Editor Enhancements',
]),
],
'#states' => [
'enabled' => $modal_related_options_rule,
'visible' => $modal_related_options_rule,
],
];
$elements['paragraphs_ee']['easy_access_count'] = [
'#type' => 'number',
'#title' => t('Number of easy-access-buttons', [], [
'context' => 'Paragraphs Editor Enhancements',
]),
'#default_value' => isset($settings['easy_access_count']) ? $settings['easy_access_count'] : 2,
'#min' => 0,
'#description' => t('Set the number of buttons available to directly add a paragraph type without using the modal/off-canvas.', [], [
'context' => 'Paragraphs Editor Enhancements',
]),
'#attributes' => [
'class' => [
'paragraphs-ee__easy-access-count__option',
],
],
'#states' => [
'enabled' => $modal_related_options_rule,
'visible' => $modal_related_options_rule,
],
];
return $elements;
}