You are here

public function MeanMenu::settingsForm in Responsive Menus 8

Form constructor.

Parameters

array $form: An associative array containing the initial structure of the plugin form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the complete form.

Return value

array The form structure.

Overrides ResponsiveMenusPluginBase::settingsForm

File

src/Plugin/ResponsiveMenus/MeanMenu.php, line 54

Class

MeanMenu
Defines the "mean_menu" plugin.

Namespace

Drupal\responsive_menus\Plugin\ResponsiveMenus

Code

public function settingsForm(array $form, FormStateInterface $form_state) {
  $form['responsive_menus_mean_menu_css_selectors'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('CSS selectors for which menu to responsify'),
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_css_selectors'),
    '#description' => $this
      ->t('Enter CSS/jQuery selector of menus to responsify.'),
  ];
  $form['responsive_menus_mean_menu_container'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('CSS selector for where to attach the menu on the page'),
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_container'),
    '#description' => $this
      ->t('Enter CSS/jQuery selector of where MeanMenu gets attached.'),
  ];
  $form['responsive_menus_mean_menu_trigger_txt'] = [
    '#type' => 'textarea',
    '#title' => $this
      ->t('Text or HTML for trigger button'),
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_trigger_txt'),
    '#description' => $this
      ->t('Default of 3 spans will show the triple bars (!bars).', [
      '!bars' => '☰',
    ]),
  ];
  $form['responsive_menus_mean_menu_close_txt'] = [
    '#type' => 'textarea',
    '#title' => $this
      ->t('Text or HTML for close button'),
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_close_txt'),
  ];
  $form['responsive_menus_mean_menu_close_size'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Size of close button'),
    '#size' => 5,
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_close_size'),
    '#description' => $this
      ->t('Size in px, em, %'),
  ];
  $form['responsive_menus_mean_menu_position'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Position of the open/close buttons'),
    '#options' => [
      'right' => $this
        ->t('right'),
      'left' => $this
        ->t('left'),
      'center' => $this
        ->t('center'),
    ],
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_position'),
  ];
  $form['responsive_menus_mean_menu_media_size'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Screen width to respond to'),
    '#size' => 5,
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_media_size'),
    '#description' => $this
      ->t('Width in pixels when we swap out responsive menu e.g. 768'),
  ];
  $form['responsive_menus_mean_menu_show_children'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Allow multi-level menus'),
    '#options' => [
      1 => $this
        ->t('Yes'),
      0 => $this
        ->t('No'),
    ],
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_show_children'),
  ];
  $form['responsive_menus_mean_menu_expand_children'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Ability to expand & collapse children'),
    '#options' => [
      1 => $this
        ->t('Yes'),
      0 => $this
        ->t('No'),
    ],
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_expand_children'),
  ];
  $form['responsive_menus_mean_menu_expand_txt'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Text for the expand children button'),
    '#size' => 5,
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_expand_txt'),
  ];
  $form['responsive_menus_mean_menu_contract_txt'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Text for the collapse children button'),
    '#size' => 5,
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_contract_txt'),
  ];
  $form['responsive_menus_mean_menu_remove_attrs'] = [
    '#type' => 'select',
    '#title' => $this
      ->t('Temporarily remove other classes & IDs (Recommended)'),
    '#options' => [
      1 => $this
        ->t('Yes'),
      0 => $this
        ->t('No'),
    ],
    '#default_value' => $this
      ->getSetting('responsive_menus_mean_menu_remove_attrs'),
    '#description' => $this
      ->t('This will help ensure the style of Mean Menus.'),
  ];
  return $form;
}