public function DisplayOverview::multistepSubmit

Form submission handler for multistep buttons.

File

drupal/core/modules/field_ui/lib/Drupal/field_ui/DisplayOverview.php, line 495
Definition of Drupal\field_ui\DisplayOverview.

Class

DisplayOverview
Field UI display overview form.

Namespace

Drupal\field_ui

Code

public function multistepSubmit($form, &$form_state) {
  $trigger = $form_state['triggering_element'];
  $op = $trigger['#op'];
  switch ($op) {
    case 'edit':

      // Store the field whose settings are currently being edited.
      $field_name = $trigger['#field_name'];
      $form_state['formatter_settings_edit'] = $field_name;
      break;
    case 'update':

      // Store the saved settings, and set the field back to 'non edit' mode.
      $field_name = $trigger['#field_name'];
      $values = $form_state['values']['fields'][$field_name]['settings_edit_form']['settings'];
      $form_state['formatter_settings'][$field_name] = $values;
      unset($form_state['formatter_settings_edit']);
      break;
    case 'cancel':

      // Set the field back to 'non edit' mode.
      unset($form_state['formatter_settings_edit']);
      break;
    case 'refresh_table':

      // If the currently edited field is one of the rows to be refreshed, set
      // it back to 'non edit' mode.
      $updated_rows = explode(' ', $form_state['values']['refresh_rows']);
      if (isset($form_state['formatter_settings_edit']) && in_array($form_state['formatter_settings_edit'], $updated_rows)) {
        unset($form_state['formatter_settings_edit']);
      }
      break;
  }
  $form_state['rebuild'] = TRUE;
}