summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-03-26 12:16:18 +0000
committerDries Buytaert <dries@buytaert.net>2010-03-26 12:16:18 +0000
commit3cf8a44fb82da9e388fb43b5dd88e6525ac7d06f (patch)
tree6fd227f1c9d99e6891f378c9d36f95deae2239c7 /includes
parent73fbc2825370bbd01dfd24969e55e5fd4f82980b (diff)
downloadbrdo-3cf8a44fb82da9e388fb43b5dd88e6525ac7d06f.tar.gz
brdo-3cf8a44fb82da9e388fb43b5dd88e6525ac7d06f.tar.bz2
- Patch #667944 by sun: Javascript #states cannot hide fieldsets, radios, checkboxes.
Diffstat (limited to 'includes')
-rw-r--r--includes/form.inc27
1 files changed, 15 insertions, 12 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 931b54b61..35f86ef55 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -2027,13 +2027,15 @@ function theme_radio($variables) {
*/
function theme_radios($variables) {
$element = $variables['element'];
- $class = 'form-radios';
+ $attributes = array();
+ if (!empty($element['#id'])) {
+ $attributes['id'] = $element['#id'];
+ }
+ $attributes['class'] = 'form-radios';
if (!empty($element['#attributes']['class'])) {
- $class .= ' ' . implode(' ', $element['#attributes']['class']);
+ $attributes['class'] .= ' ' . implode(' ', $element['#attributes']['class']);
}
- $element['#children'] = '<div class="' . $class . '">' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
-
- return $element['#children'];
+ return '<div' . drupal_attributes($attributes) . '>' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
}
/**
@@ -2272,13 +2274,15 @@ function theme_checkbox($variables) {
*/
function theme_checkboxes($variables) {
$element = $variables['element'];
- $class = 'form-checkboxes';
+ $attributes = array();
+ if (!empty($element['#id'])) {
+ $attributes['id'] = $element['#id'];
+ }
+ $attributes['class'] = 'form-checkboxes';
if (!empty($element['#attributes']['class'])) {
- $class .= ' ' . implode(' ', $element['#attributes']['class']);
+ $attributes['class'] .= ' ' . implode(' ', $element['#attributes']['class']);
}
- $element['#children'] = '<div class="' . $class . '">' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
-
- return $element['#children'];
+ return '<div' . drupal_attributes($attributes) . '>' . (!empty($element['#children']) ? $element['#children'] : '') . '</div>';
}
/**
@@ -2297,7 +2301,6 @@ function form_pre_render_conditional_form_element($element) {
}
if (isset($element['#title']) || isset($element['#description'])) {
- unset($element['#id']);
$element['#theme_wrappers'][] = 'form_element';
}
return $element;
@@ -2537,7 +2540,7 @@ function form_process_fieldset(&$element, &$form_state) {
if (!isset($element['#attributes']['class'])) {
$element['#attributes']['class'] = array();
}
-
+ $element['#attributes']['class'][] = 'form-wrapper';
$element['#attributes']['class'][] = 'collapsible';
if (!empty($element['#collapsed'])) {
$element['#attributes']['class'][] = 'collapsed';