Index: includes/form.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/form.inc,v retrieving revision 1.368 diff -u -p -r1.368 form.inc --- includes/form.inc 29 Aug 2009 16:30:14 -0000 1.368 +++ includes/form.inc 1 Sep 2009 14:45:15 -0000 @@ -2196,6 +2196,41 @@ function form_process_tableselect($eleme } /** + * Attaches the slider behavior to a checkbox or checkboxes form element. + * + * @param $element + * An associative array containing the properties and children of the + * checkbox element. + * @return + * The processed element. + */ +function form_process_slider_checkbox($element) { + // Add the slider behavior + if ($element['#slider'] !== FALSE && !isset($js_added[$element['#id']])) { + $class = array('slider'); + + if ($element['#type'] == 'checkboxes') { + if (isset($element['#options']) && count($element['#options']) > 0) { + foreach (array_keys($element['#options']) as $key) { + if (isset($element[$key]['#attributes']['class'])) { + $element[$key]['#attributes']['class'][] = 'slider'; + } + else { + $element[$key]['#attributes']['class'] = array('slider'); + } + } + } + } + else { + _form_set_class($element, $class); + } + $element['#attached_js'] = array('misc/slider.js'); + } + return $element; +} + + +/** * Adds fieldsets to the specified group or adds group members to this * fieldset. * Index: modules/system/system.module =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.module,v retrieving revision 1.783 diff -u -p -r1.783 system.module --- modules/system/system.module 31 Aug 2009 17:06:10 -0000 1.783 +++ modules/system/system.module 1 Sep 2009 14:45:17 -0000 @@ -387,17 +387,19 @@ function system_elements() { $type['checkboxes'] = array( '#input' => TRUE, '#tree' => TRUE, - '#process' => array('form_process_checkboxes'), + '#process' => array('form_process_checkboxes', 'form_process_slider_checkbox'), '#theme_wrappers' => array('checkboxes'), + '#slider' => FALSE, '#pre_render' => array('form_pre_render_conditional_form_element'), ); $type['checkbox'] = array( '#input' => TRUE, '#return_value' => 1, - '#process' => array('ajax_process_form'), + '#process' => array('ajax_process_form', 'form_process_slider_checkbox'), '#theme' => 'checkbox', '#theme_wrappers' => array('form_element'), + '#slider' => FALSE, '#form_element_skip_title' => TRUE, );