You are here

function sliderfield_webform_component_render_alter in SliderField 7.2

Implements webform_component_render_alter().

File

./sliderfield.module, line 300

Code

function sliderfield_webform_component_render_alter(&$element, $component) {
  if ($component['type'] == 'number') {
    $type = $component['extra']['type'];
    if ($type == 'slider') {
      module_load_include('inc', 'sliderfield', 'sliderfield_element_sliderfield');
      $default = _sliderfield_field_widget_info_sliderfield();
      $default = reset($default);
      $default['type'] = 'sliderfield';
      if ($component) {
        $default['settings']['sliderfield_settings'] = array_merge($default['settings']['sliderfield_settings'], $component['extra']);
      }
      $instance = array(
        'settings' => $default['settings'],
        'widget' => $default,
      );
      $instance['label'] = $element['#title'];
      $instance['required'] = $component['required'];
      $instance['description'] = $element['#description'];
      $instance['settings']['min'] = $component['extra']['min'];
      $instance['settings']['max'] = $component['extra']['max'];
      $special_css_class = "edit-submitted-{$component['form_key']}-forsliderfield";
      $instance['widget']['settings']['sliderfield_settings']['fields_to_sync_css_selector'] = '.' . $special_css_class;
      $delta = 0;
      $items = array(
        $delta => array(
          'value' => $component['value'],
        ),
      );
      $component['extra']['type'] = 'textfield';
      module_load_include('inc', 'webform', 'components/number');
      $element_original = $element;
      $element = _webform_render_number($component, $component['value']);
      $element['#disabled'] = $component['extra']['disabled'];
      $element['#theme_wrappers'] = array(
        'sliderfield_webform_element',
      );
      $element['#attributes']['class'][] = $special_css_class;
      $element['#title_display'] = 'none';
      if (isset($element_original['#default_value'])) {
        $element['#default_value'] = $element_original['#default_value'];
      }
      $element['#description'] = NULL;
      $element['#type'] = 'hidden';
      $element['#wrapper_attributes']['class'][] = 'sliderfield';
      $element['#wrapper_attributes']['class'][] = 'webform-sliderfield';
      $element['#webform_component'] = $element_original['#webform_component'];
      $form = array();
      $form_state = array();
      $element_new = _sliderfield_field_widget_form($form, $form_state, NULL, $instance, NULL, $items, $delta, $element);
      $element['value_field'] = $element_new['value'];
      $element['value_field']['#parents'] = array(
        '__sliderfield',
        'submitted',
        $component['form_key'],
      );
      if (isset($element_new['#default_value'])) {
        $element['value_field']['#default_value'] = $element_new['#default_value'];
      }
      if ($element_original['#title_display'] == 'inline') {
        $element['value_field']['#title_display'] = 'none';

        //$element_original['#title_display'];
        $element['#title'] = $element_original['#title'];
        $element['#title_display'] = $element_original['#title_display'];
      }
      else {
        $element['value_field']['#title_display'] = $element_original['#title_display'];
      }
    }
  }
}