From 7818e2d4603d352c0a20574051ec72c9727a190d Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Wed, 3 Mar 2010 19:46:26 +0000 Subject: - Patch #676800 by casey, sun, james.elliott, cosmicdreams, seutje, Jacine: made fieldsets work on all browser. --- modules/comment/comment.admin.inc | 3 +-- modules/node/node.admin.inc | 3 +-- modules/node/node.module | 2 +- modules/path/path.admin.inc | 10 +++++----- modules/search/search.module | 11 +++++------ modules/search/search.pages.inc | 2 +- modules/simpletest/simpletest.test | 6 ++---- modules/system/system-behavior-rtl.css | 4 ++-- modules/system/system-behavior.css | 30 ++++++++++++++---------------- modules/system/system.admin.inc | 3 +-- modules/trigger/trigger.admin.inc | 4 ++-- modules/user/user.admin.inc | 3 +-- modules/user/user.test | 2 +- 13 files changed, 37 insertions(+), 46 deletions(-) (limited to 'modules') 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' => '
', - '#suffix' => '
', + '#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' => '
', - '#suffix' => '
', + '#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' => '
', '#suffix' => '
'); - $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' => '
', '#suffix' => '
'); - $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' => '
', - '#suffix' => '
', + '#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' => "
", - '#suffix' => '
', + '#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' => '
', - '#suffix' => '
', + '#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('
Account information', t('Account settings fieldset was not hidden.')); + $this->assertText(t('Account information'), t('Account settings fieldset was not hidden.')); } } -- cgit v1.2.3