View source
<?php
function _sliderfield_theme_sliderfield() {
$data['sliderfield_sliderfield'] = array(
'render element' => 'element',
'file' => 'sliderfield_element_sliderfield.inc',
);
return $data;
}
function _sliderfield_element_info_sliderfield() {
$types['slider'] = array(
'#input' => TRUE,
'#process' => array(
'_sliderfield_sliderfield_process',
),
'#element_validate' => array(
'sliderfield_sliderfield_validate',
),
'#theme' => array(
'sliderfield_sliderfield',
),
'#theme_wrappers' => array(
'form_element',
),
'#title' => NULL,
'#title2' => NULL,
'#input_title' => t('Min'),
'#input2_title' => t('Max'),
'#adjust_field_min' => NULL,
'#adjust_field_max' => NULL,
'#animate' => 'fast',
'#disabled' => FALSE,
'#max' => 100,
'#min' => 0,
'#orientation' => 'horizontal',
'#range' => FALSE,
'#step' => 1,
'#default_value' => NULL,
'#slider_style' => NULL,
'#size' => 3,
'#display_inputs' => TRUE,
'#display_values' => FALSE,
'#display_values_format' => '%{value}%',
'#display_bubble' => FALSE,
'#display_bubble_format' => '%{value}%',
'#slider_length' => NULL,
'#display_inside_fieldset' => FALSE,
'#group' => NULL,
'#group_type' => 'same',
'#group_master' => FALSE,
'#validate_range' => TRUE,
'#fields_to_sync_css_selector' => NULL,
'#display_ignore_button' => FALSE,
'#hide_slider_handle_when_no_value' => FALSE,
'#no_value_text_auto_hide' => FALSE,
'#no_value_first_select_slider_effect' => TRUE,
'#no_value_text' => 'Please click on any part of the slider to select a value.',
);
$types['jslider'] = $types['slider'];
return $types;
}
function _sliderfield_element_sliderfield_structure($element, &$form_state) {
$element['#tree'] = TRUE;
if (is_array($element['#value'])) {
$value = isset($element['#value']['value']) ? $element['#value']['value'] : NULL;
$value2 = isset($element['#value']['value2']) ? $element['#value']['value2'] : NULL;
}
else {
$value = $element['#value'];
$value2 = NULL;
}
if ($element['#display_inside_fieldset']) {
$element['slider'] = array(
'#type' => 'fieldset',
'#title' => $element['#title'],
);
}
elseif ($element['#title']) {
$element['slider'] = array(
'#type' => 'container',
);
}
if (!is_null($value) && $value !== '') {
if ($value < $element['#min']) {
$value = $element['#min'];
}
if ($value > $element['#max']) {
$value = $element['#max'];
}
}
$values = array();
$values[] = $value;
$group_css = '';
if ($element['#group']) {
$group_css = 'sliderfield-group-' . $element['#group'];
if ($element['#group_master']) {
$group_css .= ' sliderfield-group-master';
}
}
if ($element['#display_ignore_button'] && !$element['#display_inputs']) {
$element['ignore'] = array(
'#type' => 'checkbox',
'#title' => t('Not Selected (Uncheck to select a value)'),
'#value' => is_null($value) || $value === '',
'#disabled' => $element['#disabled'],
'#attributes' => array(
'class' => array(
'sliderfield-ignore',
),
),
);
}
$element['value'] = array(
'#tree' => TRUE,
'#prefix' => '<div id="' . $element['#id'] . '" class="sliderfield ' . $group_css . '">' . '<div class="sliderfield-event-field-container">',
'#suffix' => '</div>',
'#type' => 'textfield',
'#required' => $element['#required'],
'#element_validate' => array(
'sliderfield_validate_number',
),
'#title' => $element['#input_title'],
'#default_value' => $value,
'#disabled' => $element['#disabled'],
'#size' => $element['#size'],
'#attributes' => array(
'class' => array(
'sliderfield-value-field',
),
),
);
if (is_null($value2)) {
$element['value']['#title'] = NULL;
}
if (isset($element['#ajax'])) {
$ajax = @$element['#ajax'];
if (!isset($ajax['trigger_as']) && isset($element['#name'])) {
$value = NULL;
$ajax['trigger_as'] = array(
'name' => $element['#name'],
'value' => $value,
);
}
if (!isset($ajax['event'])) {
$ajax['event'] = 'change';
}
$element['value']['#ajax'] = $ajax;
}
if (!is_null($value2)) {
if (!is_null($value2) && $value2 !== '') {
if ($value2 < $element['#min']) {
$value2 = $element['#min'];
}
if ($value2 > $element['#max']) {
$value2 = $element['#max'];
}
}
if ($value2 < $value) {
$value2 = $value;
}
$values[] = $value2;
$element['value2'] = array(
'#type' => 'textfield',
'#default_value' => $value2,
'#required' => $element['#required'],
'#title' => $element['#input2_title'],
'#element_validate' => array(
'sliderfield_validate_number',
),
'#disabled' => $element['#disabled'],
'#size' => $element['#size'],
'#attributes' => array(
'class' => array(
'sliderfield-value2-field',
),
),
);
}
if ($element['#range'] === TRUE && (!isset($value2) || is_null($value2))) {
$element['#range'] = FALSE;
}
if ($element['#display_values']) {
foreach ($values as $key => $value) {
$values[$key] = str_replace('%{value}%', $value, $element['#display_values_format']);
}
$element['values_text'] = array(
'#markup' => '<div class="sliderfield-display-values-field">' . htmlentities(implode(' - ', $values)) . '</div>',
);
}
$style = NULL;
if (!is_null($element['#slider_length'])) {
if ($element['#orientation'] == 'horizontal') {
$style = "width : {$element['#slider_length']}";
}
else {
$style = "height : {$element['#slider_length']}";
}
}
if ($element['#hide_slider_handle_when_no_value'] && !empty($element['#no_value_text'])) {
$element['note'] = array(
'#type' => 'markup',
'#markup' => '<div class="sliderfield-selectvalue-description">' . t($element['#no_value_text']) . '</div>',
);
}
$_attributes_new = array(
'class' => array(
'sliderfield-container',
$element['#slider_style'],
),
'style' => $style,
);
if (isset($element['#attributes']) && is_array($element['#attributes'])) {
$_attributes_new = drupal_array_merge_deep($_attributes_new, $element['#attributes']);
}
$element['container'] = array(
'#type' => 'container',
'#attributes' => $_attributes_new,
'#attached' => array(
'library' => array(
array(
'system',
'ui.slider',
),
),
'js' => array(
drupal_get_path('module', 'sliderfield') . '/sliderfield_element_sliderfield.js',
array(
'data' => array(
'sliderfield_' . $element['#id'] => array(
'animate' => $element['#animate'],
'adjust_field_min_css_selector' => $element['#adjust_field_min'],
'adjust_field_max_css_selector' => $element['#adjust_field_max'],
'disabled' => $element['#disabled'],
'max' => $element['#max'] * 1,
'min' => $element['#min'] * 1,
'orientation' => $element['#orientation'],
'range' => $element['#range'],
'step' => $element['#step'] * 1,
'display_inputs' => $element['#display_inputs'],
'display_values_format' => $element['#display_values_format'],
'display_bubble' => $element['#display_bubble'],
'display_bubble' => $element['#display_bubble'],
'display_bubble_format' => $element['#display_bubble_format'],
'display_values' => $element['#display_values'],
'group' => $element['#group'],
'group_type' => $element['#group_type'],
'group_master' => $element['#group_master'],
'fields_to_sync_css_selector' => $element['#fields_to_sync_css_selector'],
'display_ignore_button' => $element['#display_ignore_button'],
'hide_slider_handle_when_no_value' => $element['#hide_slider_handle_when_no_value'],
'no_value_text_auto_hide' => $element['#no_value_text_auto_hide'],
'no_value_first_select_slider_effect' => $element['#no_value_first_select_slider_effect'],
'no_value_text' => $element['#no_value_text'],
),
),
'type' => 'setting',
),
),
'css' => array(
array(
'data' => drupal_get_path('module', 'sliderfield') . '/sliderfield_element_sliderfield.css',
'type' => 'file',
'weight' => 2000,
),
),
),
'#markup' => '',
'#suffix' => '</div>',
);
if ($element['#title2']) {
$element['title2'] = array(
'#type' => 'item',
'#markup' => '<label>' . $element['#title2'] . '</label>',
);
}
if (!empty($element['#adjust_field_min'])) {
$element['container']['min_value'] = array(
'#tree' => TRUE,
'#type' => 'hidden',
'#default_value' => $element['#min'],
'#attributes' => array(
'class' => array(
'sliderfield-min-value-field',
),
),
);
}
if (!empty($element['#adjust_field_max'])) {
$element['container']['max_value'] = array(
'#tree' => TRUE,
'#type' => 'hidden',
'#default_value' => $element['#max'],
'#attributes' => array(
'class' => array(
'sliderfield-max-value-field',
),
),
);
}
return $element;
}
function _sliderfield_sliderfield_process($element, &$form_state) {
$element = _sliderfield_element_sliderfield_structure($element, $form_state);
$element['#process_called'] = TRUE;
return $element;
}
function sliderfield_sliderfield_validate($element, &$form_state) {
$form_state_value = $form_state['values'];
foreach ($element['#parents'] as $parent) {
$form_state_value = isset($form_state_value[$parent]) ? $form_state_value[$parent] : 0;
}
$element_value = $form_state_value;
if ($element['#validate_range']) {
if (@isset($form_state['values']['instance']['settings']['min'])) {
$element['#max'] = $form_state['values']['instance']['settings']['max'];
$element['#min'] = $form_state['values']['instance']['settings']['min'];
}
if ($element_value['value'] > $element['#max'] || $element_value['value'] < $element['#min']) {
form_error($element, t("The entered values are not within valid range."));
}
if (isset($element_value['value2']) && is_null($element_value['value2'])) {
if ($element_value['value2'] > $element['#max'] || $element_value['value2'] < $element['#min']) {
form_error($element, t("The entered values are not within valid range."));
}
}
}
}
function theme_sliderfield_sliderfield($vars) {
if (!isset($variables['element']['#process_called']) && 1 == 0) {
$element = _sliderfield_element_sliderfield_structure($variables['element']);
$html = '';
if (isset($element['slider'])) {
$html .= drupal_render($element['slider']);
}
return $html;
}
}
function _sliderfield_field_widget_info_sliderfield() {
return array(
'sliderfield' => array(
'label' => t('Slider'),
'field types' => array(
'number_decimal',
'number_integer',
'number_float',
),
'behaviors' => array(
'multiple values' => FIELD_BEHAVIOR_CUSTOM,
),
'settings' => array(
'sliderfield_settings' => array(
'animate' => TRUE,
'adjust_field_min' => NULL,
'adjust_field_max' => NULL,
'orientation' => 'horizontal',
'range' => FALSE,
'step' => 1,
'slider_style' => NULL,
'display_values' => TRUE,
'display_values_format' => '%{value}%',
'display_bubble' => FALSE,
'display_bubble_format' => '%{value}%',
'slider_length' => NULL,
'hide_inputs' => TRUE,
'multi_value' => FALSE,
'display_ignore_button' => TRUE,
'hide_slider_handle_when_no_value' => FALSE,
'no_value_text_auto_hide' => FALSE,
'no_value_first_select_slider_effect' => TRUE,
'no_value_text' => 'Please click on any part of the slider to select a value.',
),
),
),
);
}
function _sliderfield_field_widget_settings_form_sliderfield($field = NULL, $instance = NULL) {
$widget = $instance['widget'];
$form = array();
if ($widget['type'] == 'sliderfield') {
$settings = $widget['settings']['sliderfield_settings'];
$form['sliderfield_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Slider Settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#weight' => 0,
);
if (!is_null($field) && !is_null($instance)) {
$entity_fields = field_info_instances($instance['entity_type'], $instance['bundle']);
$all_fields = field_info_fields();
$supported_field_types = array(
'number_decimal',
'number_integer',
'number_float',
);
$valid_fields = array();
foreach ($all_fields as $_field) {
if (array_key_exists($_field['field_name'], $entity_fields)) {
if (in_array($_field['type'], array_values($supported_field_types)) && $_field['field_name'] != $field['field_name']) {
$valid_fields[$_field['field_name']] = $entity_fields[$_field['field_name']]['label'];
}
}
}
$valid_fields = array(
'' => '--',
) + $valid_fields;
$form['sliderfield_settings']['adjust_field_min'] = array(
'#type' => 'select',
'#title' => t('Adjust the Minimum value from field'),
'#default_value' => isset($settings['adjust_field_min']) ? $settings['adjust_field_min'] : '',
'#options' => $valid_fields,
'#description' => t('Select which field you would like to use to adjust the slider\'s Minimum value.'),
);
$valid_fields = array(
'' => '--',
) + $valid_fields;
$form['sliderfield_settings']['adjust_field_max'] = array(
'#type' => 'select',
'#title' => t('Adjust the Maximum value from field'),
'#default_value' => isset($settings['adjust_field_max']) ? $settings['adjust_field_max'] : '',
'#options' => $valid_fields,
'#description' => t('Select which field you would like to use to adjust the slider\'s Maximum value.'),
);
}
$form['sliderfield_settings']['animate'] = array(
'#type' => 'select',
'#title' => t('Animate'),
'#options' => array(
FALSE => t('Disable'),
TRUE => t('Default'),
'fast' => t('Fast'),
'slow' => t('Slow'),
'custom' => t('Custom'),
),
'#default_value' => $settings['animate'],
);
$form['sliderfield_settings']['orientation'] = array(
'#type' => 'select',
'#title' => t('Orientation'),
'#options' => array(
'horizontal' => t('Horizontal'),
'vertical' => t('Vertical'),
),
'#require' => TRUE,
'#description' => t('Determines whether the slider handles move horizontally (min on left, max on right) or vertically (min on bottom, max on top).'),
'#default_value' => $settings['orientation'],
);
$form['sliderfield_settings']['range'] = array(
'#type' => 'select',
'#title' => t('Range'),
'#options' => array(
FALSE => t('Disable'),
TRUE => t('Auto'),
'min' => t('Minimum'),
'max' => t('Maximum'),
),
'#description' => t('Whether the slider represents a range.'),
'#default_value' => $settings['range'],
);
$form['sliderfield_settings']['step'] = array(
'#type' => 'textfield',
'#title' => t('Step'),
'#size' => 5,
'#description' => t('Determines the size or amount of each interval or step the slider takes between the min and max. The full specified value range of the slider (max - min) should be evenly divisible by the step.'),
'#required' => TRUE,
'#element_validate' => array(
'sliderfield_validate_positive_number',
),
'#default_value' => $settings['step'],
);
$form['sliderfield_settings']['slider_style'] = array(
'#type' => 'select',
'#title' => t('Style'),
'#options' => sliderfield_get_styles(),
'#description' => t('Some default color styles for ease of use'),
'#default_value' => $settings['slider_style'],
);
$form['sliderfield_settings']['display_values'] = array(
'#type' => 'checkbox',
'#title' => t('Display Values'),
'#description' => t('If enabled display the current values of slider as simple text.'),
'#default_value' => $settings['display_values'],
);
if (!isset($settings['display_values_format'])) {
$settings['display_values_format'] = '%{value}%';
}
$form['sliderfield_settings']['display_values_format'] = array(
'#type' => 'textfield',
'#title' => t('Display Values Format'),
'#size' => 15,
'#description' => t('Format of the displayed values, The usage is mostly for showing $,% or other signs near the value. Use %{value}% as slider value'),
'#default_value' => $settings['display_values_format'],
);
if (!isset($settings['display_bubble'])) {
$settings['display_bubble'] = FALSE;
}
$form['sliderfield_settings']['display_bubble'] = array(
'#type' => 'checkbox',
'#title' => t('Display bubble/hint'),
'#description' => t('Display a hint/bubble near each slider handle showing the value of that handle.'),
'#default_value' => $settings['display_bubble'],
);
if (!isset($settings['display_bubble_format'])) {
$settings['display_bubble_format'] = '%{value}%';
}
$form['sliderfield_settings']['display_bubble_format'] = array(
'#type' => 'textfield',
'#size' => 15,
'#title' => t('Display bubble/hint format'),
'#description' => t('Format of the displayed values in bubble/hint, The usage is mostly for showing $,% or other signs near the value. Use %{value}% as slider value. For range slider it can have two values separated by || like "$%{value}%MIN||$%{value}%MAX"'),
'#default_value' => $settings['display_bubble_format'],
);
$form['sliderfield_settings']['slider_length'] = array(
'#type' => 'textfield',
'#title' => t('Slider Length'),
'#size' => 5,
'#description' => t('Acceptable types are the same as css width and height (100px) and it will be used as width or height depending on #orientation'),
'#default_value' => $settings['slider_length'],
);
$form['sliderfield_settings']['hide_inputs'] = array(
'#type' => 'checkbox',
'#title' => t('Hide Input Textfields'),
'#description' => t('If enabled displays only the slider and hides input textfields.'),
'#default_value' => $settings['hide_inputs'],
);
$form['sliderfield_settings']['multi_value'] = array(
'#type' => 'select',
'#title' => t('Multi Value'),
'#options' => array(
FALSE => t('Disable'),
'separate' => t('Enable'),
),
'#description' => t('Uses field\'s multi value feature to store the values, currently only 2 values are supported. A separate handle for each value will be shown on slider'),
'#default_value' => !isset($settings['multi_value']) ? '' : $settings['multi_value'],
);
$form['sliderfield_settings']['display_ignore_button'] = array(
'#type' => 'checkbox',
'#title' => t('Display ignore button'),
'#description' => t('When field is not required, and hide input fields option is active a checkbox will be shown allowing user to ignore the field allowing user to ignore the field and enter no value.'),
'#default_value' => $settings['display_ignore_button'],
);
$form['sliderfield_settings']['hide_slider_handle_when_no_value'] = array(
'#type' => 'checkbox',
'#title' => t('Hide slider handle when there is no value'),
'#description' => t('When the slider does not have any value by enabling this option it won\'t show the slider handle unless user clicks on the slider to select a value.'),
'#default_value' => $settings['hide_slider_handle_when_no_value'],
);
$form['sliderfield_settings']['no_value_first_select_slider_effect'] = array(
'#type' => 'select',
'#title' => t('Slider handler appearance effect'),
'#options' => array(
FALSE => t('Disable'),
TRUE => t('Default'),
'fast' => t('Fast'),
'slow' => t('Slow'),
),
'#description' => t('When slider handler is hidden due to lack of default value, display different effect for displaying the slider.'),
'#default_value' => isset($settings['no_value_first_select_slider_effect']) ? $settings['no_value_first_select_slider_effect'] : TRUE,
);
$form['sliderfield_settings']['no_value_text'] = array(
'#type' => 'textfield',
'#size' => 50,
'#title' => t('Display a text when no default value is provided'),
'#description' => t('When no default value is provided, display a guiding message.'),
'#default_value' => isset($settings['no_value_text']) ? $settings['no_value_text'] : 'Please click on any part of the slider to select a value.',
);
$form['sliderfield_settings']['no_value_text_auto_hide'] = array(
'#type' => 'checkbox',
'#title' => t('Hide no value text when a value is selected'),
'#description' => t('When any value is entered/selected , automatically hides no value text.'),
'#default_value' => isset($settings['no_value_text_auto_hide']) ? $settings['no_value_text_auto_hide'] : FALSE,
);
}
return $form;
}
function _sliderfield_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
switch ($instance['widget']['type']) {
case 'sliderfield':
if (!is_null($field)) {
$multiple = $field['cardinality'] > 1 || $field['cardinality'] == FIELD_CARDINALITY_UNLIMITED;
}
$settings = $instance['widget']['settings']['sliderfield_settings'];
$value = NULL;
if (!empty($items) && isset($items[$delta]) && isset($items[$delta]['value'])) {
$value = $items[$delta]['value'];
}
else {
$value = $instance['settings']['min'];
}
$element['#element_validate'] = array(
'sliderfield_sliderfield_container_validate',
);
if (!isset($settings['display_values_format'])) {
$settings['display_values_format'] = '%{value}%';
}
if (!isset($settings['display_bubble'])) {
$settings['display_bubble'] = FALSE;
}
if (!isset($settings['display_bubble_format'])) {
$settings['display_bubble_format'] = '%{value}%';
}
$element['value'] = array(
'#title' => $instance['label'],
'#default_value' => $value,
'#description' => $instance['description'],
'#type' => 'slider',
'#input_title' => NULL,
'#required' => $instance['required'],
'#input2_title' => t('Max'),
'#animate' => $settings['animate'],
'#adjust_field_min' => isset($settings['adjust_field_min']) ? '.' . drupal_clean_css_identifier('sliderfield-field-adjust-' . $settings['adjust_field_min']) : '',
'#adjust_field_max' => isset($settings['adjust_field_max']) ? '.' . drupal_clean_css_identifier('sliderfield-field-adjust-' . $settings['adjust_field_max']) : '',
'#disabled' => isset($element['#disabled']) ? $element['#disabled'] : FALSE,
'#max' => $instance['settings']['max'],
'#min' => $instance['settings']['min'],
'#orientation' => $settings['orientation'],
'#range' => $settings['range'],
'#step' => $settings['step'],
'#slider_style' => $settings['slider_style'],
'#size' => 3,
'#display_inputs' => !$settings['hide_inputs'],
'#display_values' => $settings['display_values'],
'#display_values_format' => $settings['display_values_format'],
'#slider_length' => $settings['slider_length'],
'#display_inside_fieldset' => FALSE,
'#validate_range' => FALSE,
'#display_bubble' => $settings['display_bubble'],
'#display_ignore_button' => $settings['display_ignore_button'],
'#hide_slider_handle_when_no_value' => $settings['hide_slider_handle_when_no_value'],
'#no_value_first_select_slider_effect' => $settings['no_value_first_select_slider_effect'],
'#no_value_text' => $settings['no_value_text'],
'#no_value_text_auto_hide' => $settings['no_value_text_auto_hide'],
'#fields_to_sync_css_selector' => @$settings['fields_to_sync_css_selector'],
);
break;
}
return $element;
}
function sliderfield_sliderfield_container_validate($element, &$form_state) {
if (isset($element['value']['container']['max_value'])) {
$form_state_value = $form_state['values'];
foreach ($element['value']['container']['max_value']['#parents'] as $parent) {
$form_state_value = isset($form_state_value[$parent]) ? $form_state_value[$parent] : 0;
}
$element_max_value = $form_state_value;
$element['#max'] = $element_max_value;
$field_state = field_form_get_state($element['#field_parents'], $element['#field_name'], $element['#language'], $form_state);
$field_state['instance']['settings']['max'] = $element['#max'];
field_form_set_state($element['#field_parents'], $element['#field_name'], $element['#language'], $form_state, $field_state);
$s = field_widget_instance($element, $form_state);
}
if (isset($element['value']['container']['min_value'])) {
$form_state_value = $form_state['values'];
foreach ($element['value']['container']['min_value']['#parents'] as $parent) {
$form_state_value = isset($form_state_value[$parent]) ? $form_state_value[$parent] : 0;
}
$element_min_value = $form_state_value;
$element['#min'] = $element_min_value;
$form_state['field'][$element['#field_name']][$element['#language']]['instance']['settings']['min'] = $element['#min'];
}
$form_state_value = $form_state['values'];
foreach ($element['#parents'] as $parent) {
$form_state_value = isset($form_state_value[$parent]) ? $form_state_value[$parent] : 0;
}
$element_value = $form_state_value;
if (isset($element_value['value'])) {
$element_value = $element_value['value'];
}
form_set_value($element, array(
'item' => $element_value,
), $form_state);
}
function _sliderfield_sliderfield_field_validate($entity_type, $entity, $field, $instance, $langcode, $items, &$errors) {
}
function sliderfield_sliderfield_widget_value_callback(&$element, $input = FALSE, $form_state = NULL) {
}
function _sliderfield_form_field_ui_field_edit_form_alter_sliderfield(&$form, &$form_state) {
if ($form['#instance']['widget']['type'] == 'sliderfield') {
$form['instance']['settings']['min']['#weight'] = 0;
$form['instance']['settings']['max']['#weight'] = 0;
$form['instance']['settings']['min']['#required'] = TRUE;
$form['instance']['settings']['max']['#required'] = TRUE;
}
}
function _sliderfield_sliderfield_widget_field_widget_form_alter(&$element, &$form_state, $context) {
$instance = $context['instance'];
if ($instance['widget']['type'] == 'sliderfield') {
}
if ($instance['widget']['type'] == 'number') {
$entity_fields = field_info_instances($instance['entity_type'], $instance['bundle']);
if (array_key_exists($instance['field_name'], $entity_fields)) {
$element['value']['#process'][] = '_sliderfield_sliderfield_widget_adjust_process';
}
}
}
function _sliderfield_sliderfield_widget_adjust_process($element, &$form_state, $form) {
$instance = field_widget_instance($element, $form_state);
$widget_settings = $instance['widget']['settings'];
$element['#attributes']['class'][] = 'sliderfield-field-adjust-' . drupal_clean_css_identifier($element['#field_name']);
return $element;
}