You are here

public function NiceMenusSettingsForm::buildForm in Nice Menus 8

Parameters

array $form:

\Drupal\Core\Form\FormStateInterface $form_state:

Return value

array

Overrides ConfigFormBase::buildForm

File

src/Form/NiceMenusSettingsForm.php, line 39

Class

NiceMenusSettingsForm
Provides a nice menus settings form.

Namespace

Drupal\nice_menus\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $config = $this
    ->config('nice_menus.settings');

  // Use JavaScript configuration setting.
  $form['nice_menus_js'] = array(
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Use JavaScript'),
    '#description' => $this
      ->t('This will add Superfish jQuery to Nice menus. This is required for Nice menus to work properly in Internet Explorer.'),
    '#default_value' => $config
      ->get('nice_menus_js'),
  );
  $form['nice_menus_default_css'] = array(
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Use default css'),
    '#description' => $this
      ->t('This will add default nice menus style.'),
    '#default_value' => $config
      ->get('nice_menus_default_css'),
  );
  $form['nice_menus_sf_options'] = array(
    '#type' => 'fieldset',
    '#title' => $this
      ->t('Advanced: Superfish options'),
    '#description' => $this
      ->t('You can change the default Superfish options by filling out the desired values here. These only take effect if the Use JavaScript box above is checked.'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );

  // Mouse delay textfield for the time before the menus is closed.
  $form['nice_menus_sf_options']['nice_menus_sf_delay'] = array(
    '#type' => 'number',
    '#title' => $this
      ->t('Mouse delay'),
    '#description' => $this
      ->t('The delay in milliseconds that the mouse can remain outside a submenu without it closing.'),
    '#default_value' => $config
      ->get('nice_menus_sf_delay'),
    '#size' => 5,
  );

  // Display speed of the animation for the menu to open/close.
  $form['nice_menus_sf_options']['nice_menus_sf_speed'] = array(
    '#type' => 'select',
    '#title' => $this
      ->t('Animation speed'),
    '#description' => $this
      ->t('Speed of the menu open/close animation.'),
    '#options' => array(
      'slow' => $this
        ->t('slow'),
      'normal' => $this
        ->t('normal'),
      'fast' => $this
        ->t('fast'),
    ),
    '#default_value' => $config
      ->get('nice_menus_sf_speed'),
  );
  return parent::buildForm($form, $form_state);
}