You are here

public function PaceAdminSettingsForm::buildForm in PACE - Page load progress bar 8

Same name and namespace in other branches
  1. 2.0.x src/Form/PaceAdminSettingsForm.php \Drupal\pace\Form\PaceAdminSettingsForm::buildForm()

Form constructor.

Parameters

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

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

Return value

array The form structure.

Overrides ConfigFormBase::buildForm

File

src/Form/PaceAdminSettingsForm.php, line 35
Contains \Drupal\pace\Form\PaceAdminSettingsForm.

Class

PaceAdminSettingsForm
Implements settings form.

Namespace

Drupal\pace\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $config = $this
    ->config('pace.settings');
  $form['pace_theme'] = array(
    '#title' => t('Select the theme that PACE should use'),
    '#description' => t('Pace comes with a lot of themes for the progress loader. Please select the one that you prefer. You can see them all here: http://github.hubspot.com/pace/docs/welcome/'),
    '#type' => 'radios',
    '#options' => array(
      'minimal' => 'minimal',
      'barber-shop' => 'barber',
      'big-counter' => 'big counter',
      'bounce' => 'bounce',
      'center-atom' => 'center atom',
      'center-circle' => 'center circle',
      'center-radar' => 'center radar',
      'center-simple' => 'center simple',
      'corner-indicator' => 'corner indicator',
      'fill-left' => 'fill left',
      'flash' => 'flash',
      'flat-top' => 'flat top',
      'loading-bar' => 'loading bar',
      'mac-osx' => 'mac osx',
      'material' => 'material',
    ),
    '#default_value' => $config
      ->get('pace_theme') ?: 'minimal',
  );
  $form['pace_color'] = [
    '#title' => t('Select the color of the theme'),
    '#type' => 'radios',
    '#options' => [
      'black' => 'black',
      'blue' => 'blue',
      'green' => 'green',
      'orange' => 'orange',
      'pink' => 'pink',
      'purple' => 'purple',
      'red' => 'red',
      'silver' => 'silver',
      'white' => 'white',
      'yellow' => 'yellow',
    ],
    '#default_value' => $config
      ->get('pace_color') ?: 'blue',
  ];
  $form['pace_load_on_admin_enabled'] = array(
    '#title' => t('Load in administration pages.'),
    '#description' => t('PACE is disabled by default on administration pages. Check to enable'),
    '#type' => 'checkbox',
    '#default_value' => $config
      ->get('pace_load_on_admin_enabled') ?: FALSE,
  );
  $form['color_notes'] = [
    '#type' => 'markup',
    '#markup' => t('<legend><strong>PACE Styling</strong></legend>To style PACE add a style tag like:<br><code>.pace .pace-progress { background: red; }</code><br> in your html.html.twig file inside the head tag.<br>It doesn\'t work for all PACE themes.<br>Setting the color from the UI is disabled because of <a href="https://drupal.stackexchange.com/questions/212376/attach-dynamic-inline-css-to-head" target="_blank">this</a>.'),
  ];
  return parent::buildForm($form, $form_state);
}