summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-03-03 19:46:26 +0000
committerDries Buytaert <dries@buytaert.net>2010-03-03 19:46:26 +0000
commit7818e2d4603d352c0a20574051ec72c9727a190d (patch)
treec31801a92495abf256380874b9a4e55b1a066f60 /modules
parente824801b2be98a7c76662b328684b8edb1dc396b (diff)
downloadbrdo-7818e2d4603d352c0a20574051ec72c9727a190d.tar.gz
brdo-7818e2d4603d352c0a20574051ec72c9727a190d.tar.bz2
- Patch #676800 by casey, sun, james.elliott, cosmicdreams, seutje, Jacine: made fieldsets work on all browser.
Diffstat (limited to 'modules')
-rw-r--r--modules/comment/comment.admin.inc3
-rw-r--r--modules/node/node.admin.inc3
-rw-r--r--modules/node/node.module2
-rw-r--r--modules/path/path.admin.inc10
-rw-r--r--modules/search/search.module11
-rw-r--r--modules/search/search.pages.inc2
-rw-r--r--modules/simpletest/simpletest.test6
-rw-r--r--modules/system/system-behavior-rtl.css4
-rw-r--r--modules/system/system-behavior.css30
-rw-r--r--modules/system/system.admin.inc3
-rw-r--r--modules/trigger/trigger.admin.inc4
-rw-r--r--modules/user/user.admin.inc3
-rw-r--r--modules/user/user.test2
13 files changed, 37 insertions, 46 deletions
diff --git a/modules/comment/comment.admin.inc b/modules/comment/comment.admin.inc
index d68e4e0fb..764a5adbd 100644
--- a/modules/comment/comment.admin.inc
+++ b/modules/comment/comment.admin.inc
@@ -39,8 +39,7 @@ function comment_admin_overview($form, &$form_state, $arg) {
$form['options'] = array(
'#type' => 'fieldset',
'#title' => t('Update options'),
- '#prefix' => '<div class="container-inline">',
- '#suffix' => '</div>',
+ '#attributes' => array('class' => array('container-inline')),
);
$options = array();
foreach (comment_operations($arg == 'approval' ? 'publish' : 'unpublish') as $key => $value) {
diff --git a/modules/node/node.admin.inc b/modules/node/node.admin.inc
index b4aa7733c..ad982dedf 100644
--- a/modules/node/node.admin.inc
+++ b/modules/node/node.admin.inc
@@ -388,8 +388,7 @@ function node_admin_nodes() {
$form['options'] = array(
'#type' => 'fieldset',
'#title' => t('Update options'),
- '#prefix' => '<div class="container-inline">',
- '#suffix' => '</div>',
+ '#attributes' => array('class' => array('container-inline')),
'#access' => $admin_access,
);
$options = array();
diff --git a/modules/node/node.module b/modules/node/node.module
index 6c3609bab..3e290f77b 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -2611,7 +2611,7 @@ function node_search_validate($form, &$form_state) {
$keys .= ' "' . str_replace('"', ' ', $form_state['values']['phrase']) . '"';
}
if (!empty($keys)) {
- form_set_value($form['basic']['inline']['processed_keys'], trim($keys), $form_state);
+ form_set_value($form['basic']['processed_keys'], trim($keys), $form_state);
}
}
diff --git a/modules/path/path.admin.inc b/modules/path/path.admin.inc
index bb31d1bfd..b400aa344 100644
--- a/modules/path/path.admin.inc
+++ b/modules/path/path.admin.inc
@@ -231,23 +231,23 @@ function path_admin_delete_confirm_submit($form, &$form_state) {
function path_admin_filter_form($form, &$form_state, $keys = '') {
$form['#attributes'] = array('class' => array('search-form'));
$form['basic'] = array('#type' => 'fieldset',
- '#title' => t('Filter aliases')
+ '#title' => t('Filter aliases'),
+ '#attributes' => array('class' => array('container-inline')),
);
- $form['basic']['inline'] = array('#prefix' => '<div class="container-inline">', '#suffix' => '</div>');
- $form['basic']['inline']['filter'] = array(
+ $form['basic']['filter'] = array(
'#type' => 'textfield',
'#title' => '',
'#default_value' => $keys,
'#maxlength' => 128,
'#size' => 25,
);
- $form['basic']['inline']['submit'] = array(
+ $form['basic']['submit'] = array(
'#type' => 'submit',
'#value' => t('Filter'),
'#submit' => array('path_admin_filter_form_submit_filter'),
);
if ($keys) {
- $form['basic']['inline']['reset'] = array(
+ $form['basic']['reset'] = array(
'#type' => 'submit',
'#value' => t('Reset'),
'#submit' => array('path_admin_filter_form_submit_reset'),
diff --git a/modules/search/search.module b/modules/search/search.module
index 36a0c1820..c82e85d1a 100644
--- a/modules/search/search.module
+++ b/modules/search/search.module
@@ -901,19 +901,18 @@ function search_form($form, &$form_state, $action = '', $keys = '', $type = NULL
$form['#action'] = $action;
$form['#attributes']['class'][] = 'search-form';
$form['module'] = array('#type' => 'value', '#value' => $type);
- $form['basic'] = array('#type' => 'item', '#title' => $prompt, '#id' => 'edit-keys');
- $form['basic']['inline'] = array('#prefix' => '<div class="container-inline">', '#suffix' => '</div>');
- $form['basic']['inline']['keys'] = array(
+ $form['basic'] = array('#type' => 'container', '#attributes' => array('class' => array('container-inline')));
+ $form['basic']['keys'] = array(
'#type' => 'textfield',
- '#title' => '',
+ '#title' => $prompt,
'#default_value' => $keys,
'#size' => $prompt ? 40 : 20,
'#maxlength' => 255,
);
// processed_keys is used to coordinate keyword passing between other forms
// that hook into the basic search form.
- $form['basic']['inline']['processed_keys'] = array('#type' => 'value', '#value' => array());
- $form['basic']['inline']['submit'] = array('#type' => 'submit', '#value' => t('Search'));
+ $form['basic']['processed_keys'] = array('#type' => 'value', '#value' => array());
+ $form['basic']['submit'] = array('#type' => 'submit', '#value' => t('Search'));
return $form;
}
diff --git a/modules/search/search.pages.inc b/modules/search/search.pages.inc
index 7c1c95048..355fcdc5d 100644
--- a/modules/search/search.pages.inc
+++ b/modules/search/search.pages.inc
@@ -122,7 +122,7 @@ function template_preprocess_search_result(&$variables) {
* value for the basic search form.
*/
function search_form_validate($form, &$form_state) {
- form_set_value($form['basic']['inline']['processed_keys'], trim($form_state['values']['keys']), $form_state);
+ form_set_value($form['basic']['processed_keys'], trim($form_state['values']['keys']), $form_state);
}
/**
diff --git a/modules/simpletest/simpletest.test b/modules/simpletest/simpletest.test
index b1a1f264d..375dab881 100644
--- a/modules/simpletest/simpletest.test
+++ b/modules/simpletest/simpletest.test
@@ -220,11 +220,11 @@ class SimpleTestFunctionalTest extends DrupalWebTestCase {
if ($this->parse()) {
if ($fieldset = $this->getResultFieldSet()) {
// Code assumes this is the only test in group.
- $results['summary'] = $this->asText($fieldset->div[1]);
+ $results['summary'] = $this->asText($fieldset->div->div[1]);
$results['name'] = $this->asText($fieldset->legend);
$results['assertions'] = array();
- $tbody = $fieldset->table->tbody;
+ $tbody = $fieldset->div->table->tbody;
foreach ($tbody->tr as $row) {
$assertion = array();
$assertion['message'] = $this->asText($row->td[0]);
@@ -243,8 +243,6 @@ class SimpleTestFunctionalTest extends DrupalWebTestCase {
/**
* Get the fieldset containing the results for group this test is in.
- *
- * @return fieldset containing the results for group this test is in.
*/
function getResultFieldSet() {
$fieldsets = $this->xpath('//fieldset');
diff --git a/modules/system/system-behavior-rtl.css b/modules/system/system-behavior-rtl.css
index 7238a341c..9951071f2 100644
--- a/modules/system/system-behavior-rtl.css
+++ b/modules/system/system-behavior-rtl.css
@@ -14,12 +14,12 @@ html.js input.throbbing {
/**
* Collapsing fieldsets
*/
-html.js fieldset.collapsible legend a {
+html.js fieldset.collapsible .fieldset-legend {
padding-left: 0;
padding-right: 15px;
background-position: 98% 75%;
}
-html.js fieldset.collapsed legend a {
+html.js fieldset.collapsed .fieldset-legend {
background-image: url(../../misc/menu-collapsed-rtl.png);
background-position: 98% 50%;
}
diff --git a/modules/system/system-behavior.css b/modules/system/system-behavior.css
index 7850a56b8..0ff2f875b 100644
--- a/modules/system/system-behavior.css
+++ b/modules/system/system-behavior.css
@@ -46,35 +46,28 @@ html.js fieldset.collapsed {
margin-bottom: 0;
height: 1em;
}
-html.js fieldset.collapsed * {
+html.js fieldset.collapsed .fieldset-wrapper {
display: none;
}
-html.js fieldset.collapsed legend, html.js fieldset.collapsed legend a span.element-invisible {
+html.js fieldset.collapsible .fieldset-legend {
display: block;
- overflow: hidden;
-}
-html.js fieldset.collapsible legend a {
- display: inline;
padding-left: 15px; /* LTR */
background: url(../../misc/menu-expanded.png) 5px 75% no-repeat; /* LTR */
}
+html.js fieldset.collapsed .fieldset-legend {
+ background-image: url(../../misc/menu-collapsed.png); /* LTR */
+ background-position: 5px 50%; /* LTR */
+}
html.js fieldset.collapsible legend span.summary {
- display: inline;
font-size: 0.9em;
color: #999;
margin-left: 0.5em;
}
-html.js fieldset.collapsed legend a {
- background-image: url(../../misc/menu-collapsed.png); /* LTR */
- background-position: 5px 50%; /* LTR */
-}
-/* Note: IE-only fix due to '* html' (breaks Konqueror otherwise). */
-* html.js fieldset.collapsed legend,
-* html.js fieldset.collapsed legend *,
+/* IE6: Fix due to '* html' (breaks Konqueror otherwise). */
* html.js fieldset.collapsed table * {
display: inline;
}
-/* For Safari 2 to prevent collapsible fieldsets containing tables from dissapearing due to tableheader.js. */
+/* Safari 2: Tables in collapsible fieldsets disappear due to tableheader.js. */
html.js fieldset.collapsible {
position: relative;
}
@@ -267,9 +260,14 @@ div.password-confirm {
/**
* Inline items (need to override above)
*/
-.container-inline div, .container-inline label {
+.container-inline div,
+.container-inline label {
display: inline;
}
+/* Fieldset contents always need to be rendered as block. */
+.container-inline .fieldset-wrapper {
+ display: block;
+}
.nowrap {
white-space: nowrap;
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index 5e7fa8a2e..41ac3a4a0 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -2900,8 +2900,7 @@ function system_actions_manage_form($form, &$form_state, $options = array()) {
$form['parent'] = array(
'#type' => 'fieldset',
'#title' => t('Create an advanced action'),
- '#prefix' => '<div class="container-inline">',
- '#suffix' => '</div>',
+ '#attributes' => array('class' => array('container-inline')),
);
$form['parent']['action'] = array(
'#type' => 'select',
diff --git a/modules/trigger/trigger.admin.inc b/modules/trigger/trigger.admin.inc
index f716c84a4..7568bbb2b 100644
--- a/modules/trigger/trigger.admin.inc
+++ b/modules/trigger/trigger.admin.inc
@@ -160,8 +160,8 @@ function trigger_assign_form($form, $form_state, $module, $hook, $label) {
}
$form[$hook]['parent'] = array(
- '#prefix' => "<div class='container-inline'>",
- '#suffix' => '</div>',
+ '#type' => 'container',
+ '#attributes' => array('class' => array('container-inline')),
);
// List possible actions that may be assigned.
if (count($options) != 0) {
diff --git a/modules/user/user.admin.inc b/modules/user/user.admin.inc
index 44575850b..1a6f7ca3d 100644
--- a/modules/user/user.admin.inc
+++ b/modules/user/user.admin.inc
@@ -168,8 +168,7 @@ function user_admin_account() {
$form['options'] = array(
'#type' => 'fieldset',
'#title' => t('Update options'),
- '#prefix' => '<div class="container-inline">',
- '#suffix' => '</div>',
+ '#attributes' => array('class' => array('container-inline')),
);
$options = array();
foreach (module_invoke_all('user_operations') as $operation => $array) {
diff --git a/modules/user/user.test b/modules/user/user.test
index 8ee7629b7..70925ad8c 100644
--- a/modules/user/user.test
+++ b/modules/user/user.test
@@ -143,7 +143,7 @@ class UserRegistrationTestCase extends DrupalWebTestCase {
variable_set('user_default_timezone', DRUPAL_USER_TIMEZONE_SELECT);
$this->drupalLogout();
$this->drupalGet('user/register');
- $this->assertRaw('<fieldset id="edit-account"><legend>Account information</legend>', t('Account settings fieldset was not hidden.'));
+ $this->assertText(t('Account information'), t('Account settings fieldset was not hidden.'));
}
}