You are here

function slide_with_style_field_widget_process in Select with Style 7

Element #process callback retains slider value in case of validation errors.

Without this a validation error elsewhere on the form will result in the slider falling back to the value it had when the form was first loaded.

1 string reference to 'slide_with_style_field_widget_process'
slide_with_style_field_widget_form in slide_with_style/slide_with_style.module
Implements hook_field_widget_form().

File

slide_with_style/slide_with_style.module, line 187
Defines a slider RANGE widget to create filters for numeric and list fields.

Code

function slide_with_style_field_widget_process($element, &$form_state, $form) {
  $parents = $element['#parents'];
  foreach ($element['#attached']['js'][0]['data']['slider'] as &$slider_parameters) {

    // Loops only once. PS: Surely there's a more elegant way...
    if (!empty($form_state['values'][$parents[0]]) && is_array($form_state['values'][$parents[0]]) && !empty($form_state['values'][$parents[0]][$parents[1]][$parents[2]][$parents[3]])) {
      $slider_parameters['value'] = $form_state['values'][$parents[0]][$parents[1]][$parents[2]][$parents[3]];
    }
  }
  return $element;
}