diff --git a/core/includes/form.inc b/core/includes/form.inc index 0dc2ab2..428b446 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -3158,6 +3158,10 @@ function form_process_radios($element) { '#ajax' => isset($element['#ajax']) ? $element['#ajax'] : NULL, '#weight' => $weight, ); + // Allow the parent to hide the title display of the child. + if (!isset($element[$key]['#title_display']) && isset($element['#title_display']) && $element['#title_display'] == 'invisible') { + $element[$key]['#title_display'] = 'invisible'; + } } } return $element; @@ -3308,6 +3312,10 @@ function form_process_checkboxes($element) { '#ajax' => isset($element['#ajax']) ? $element['#ajax'] : NULL, '#weight' => $weight, ); + // Allow the parent to hide the title display of the child. + if (!isset($element[$key]['#title_display']) && isset($element['#title_display']) && $element['#title_display'] == 'invisible') { + $element[$key]['#title_display'] = 'invisible'; + } } } return $element; diff --git a/core/modules/book/book.admin.inc b/core/modules/book/book.admin.inc index 63118ab..523d0e6 100644 --- a/core/modules/book/book.admin.inc +++ b/core/modules/book/book.admin.inc @@ -160,6 +160,8 @@ function _book_admin_table_tree($tree, &$form) { 'depth' => array('#type' => 'value', '#value' => $data['link']['depth']), 'href' => array('#type' => 'value', '#value' => $data['link']['href']), 'title' => array( + '#title' => t('Title'), + '#title_display' => 'invisible', '#type' => 'textfield', '#default_value' => $data['link']['link_title'], '#maxlength' => 255, diff --git a/core/modules/comment/comment.admin.inc b/core/modules/comment/comment.admin.inc index ac186cc..89f3ae6 100644 --- a/core/modules/comment/comment.admin.inc +++ b/core/modules/comment/comment.admin.inc @@ -119,6 +119,7 @@ function comment_admin_overview($form, &$form_state, $arg) { '#account' => comment_prepare_author($comment), ); $options[$comment->id()] = array( + 'title' => array('data' => array('#title' => $comment->subject->value)), 'subject' => array( 'data' => array( '#type' => 'link', diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc index 041398e..117347c 100644 --- a/core/modules/language/language.admin.inc +++ b/core/modules/language/language.admin.inc @@ -570,12 +570,18 @@ function language_negotiation_configure_browser_form($form, &$form_state) { '#default_value' => $browser_langcode, '#size' => 20, '#required' => TRUE, + '#property_validate' => array( + '#title' => array(), + ), ), 'drupal_langcode' => array( '#type' => 'select', '#options' => $language_options, '#default_value' => $drupal_langcode, '#required' => TRUE, + '#property_validate' => array( + '#title' => array(), + ), ), ); } diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php index b0cbb7b..304c0b1 100644 --- a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php +++ b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php @@ -1396,6 +1396,7 @@ public function buildOptionsForm(&$form, &$form_state) { case 'title': $form['#title'] .= t('The title of this view'); $form['title'] = array( + '#title' => t('Title'), '#type' => 'textfield', '#description' => t('This title will be displayed with the view, wherever titles are normally displayed; i.e, as the page title, block title, etc.'), '#default_value' => $this->getOption('title'), @@ -1611,6 +1612,7 @@ public function buildOptionsForm(&$form, &$form_state) { $form['#title'] .= t('How should this view be styled'); $style_plugin = $this->getPlugin('style'); $form['style'] = array( + '#title' => t('Style'), '#type' => 'radios', '#options' => views_fetch_plugin_names('style', $this->getType(), array($this->view->storage->get('base_table'))), '#default_value' => $style_plugin->definition['id'], @@ -1653,6 +1655,7 @@ public function buildOptionsForm(&$form, &$form_state) { $form['#title'] .= t('How should each row in this view be styled'); $row_plugin_instance = $this->getPlugin('row'); $form['row'] = array( + '#title' => t('Row'), '#type' => 'radios', '#options' => views_fetch_plugin_names('row', $this->getType(), array($this->view->storage->get('base_table'))), '#default_value' => $row_plugin_instance->definition['id'], @@ -1677,6 +1680,7 @@ public function buildOptionsForm(&$form, &$form_state) { $options['custom_url'] = t('Custom URL'); if (count($options)) { $form['link_display'] = array( + '#title' => t('Custom URL'), '#type' => 'radios', '#options' => $options, '#description' => t("Which display to use to get this display's path for things like summary links, rss feed links, more links, etc."), @@ -1844,6 +1848,8 @@ public function buildOptionsForm(&$form, &$form_state) { '#suffix' => '', ); $form['box']['theme'] = array( + '#title' => t('Theme'), + '#title_display' => 'invisible', '#type' => 'select', '#options' => $options, '#default_value' => $this->theme, diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php index aa40b27..92306db 100644 --- a/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php +++ b/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php @@ -955,12 +955,13 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) { // In each row, we have to display the operator form and the value from // $row acts as a fake form to render each widget in a row. $row = array(); - $groups[$item_id] = ''; + $groups[$item_id] = t('Grouping @id', array('@id' => $item_id)); $this->operatorForm($row, $form_state); // Force the operator form to be a select box. Some handlers uses // radios and they occupy a lot of space in a table row. $row['operator']['#type'] = 'select'; $row['operator']['#title'] = ''; + $row['operator']['#property_validate']['#title'] = array(); $this->valueForm($row, $form_state); // Fix the dependencies to update value forms when operators @@ -986,7 +987,7 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) { unset($row['value'][$children]['#states']['visible'][$key]); } - $row['value'][$children]['#title'] = ''; + $row['value'][$children]['#property_validate']['#title'] = array(); if (!empty($this->options['group_info']['group_items'][$item_id]['value'][$children])) { $row['value'][$children]['#default_value'] = $this->options['group_info']['group_items'][$item_id]['value'][$children]; @@ -1013,6 +1014,8 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) { // Per item group, we have a title that identifies it. $form['group_info']['group_items'][$item_id] = array( 'title' => array( + '#title' => t('Label'), + '#title_display' => 'invisible', '#type' => 'textfield', '#size' => 20, '#default_value' => $default_title, @@ -1020,12 +1023,16 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) { 'operator' => $row['operator'], 'value' => $row['value'], 'remove' => array( + '#title' => t('Remove'), + '#title_display' => 'invisible', '#type' => 'checkbox', '#id' => 'views-removed-' . $item_id, '#attributes' => array('class' => array('views-remove-checkbox')), '#default_value' => 0, ), 'weight' => array( + '#title' => t('Weight'), + '#title_display' => 'invisible', '#type' => 'weight', '#delta' => 10, '#default_value' => $default_weight++, @@ -1036,12 +1043,16 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) { // From all groups, let chose which is the default. $form['group_info']['default_group'] = array( '#type' => 'radios', + '#title_display' => 'invisible', '#options' => $groups, '#default_value' => $this->options['group_info']['default_group'], '#required' => TRUE, '#attributes' => array( 'class' => array('default-radios'), - ) + ), + '#property_validate' => array( + '#title' => array(), + ), ); // From all groups, let chose which is the default. $form['group_info']['default_group_multiple'] = array( @@ -1050,7 +1061,10 @@ protected function buildExposedFiltersGroupForm(&$form, &$form_state) { '#default_value' => $this->options['group_info']['default_group_multiple'], '#attributes' => array( 'class' => array('default-checkboxes'), - ) + ), + '#property_validate' => array( + '#title' => array(), + ), ); $form['group_info']['add_group'] = array( diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php index ddd022c..d9b6326 100644 --- a/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php +++ b/core/modules/views/lib/Drupal/views/Plugin/views/sort/SortPluginBase.php @@ -164,6 +164,7 @@ protected function showSortForm(&$form, &$form_state) { $options = $this->sortOptions(); if (!empty($options)) { $form['order'] = array( + '#title' => t('Order'), '#type' => 'radios', '#options' => $options, '#default_value' => $this->options['order'], diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/style/Table.php b/core/modules/views/lib/Drupal/views/Plugin/views/style/Table.php index 178af9f..d8d49f2 100644 --- a/core/modules/views/lib/Drupal/views/Plugin/views/style/Table.php +++ b/core/modules/views/lib/Drupal/views/Plugin/views/style/Table.php @@ -301,12 +301,16 @@ public function buildOptionsForm(&$form, &$form_state) { $column_selector = ':input[name="style_options[columns][' . $field . ']"]'; $form['columns'][$field] = array( + '#title' => t('Columns for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'select', '#options' => $field_names, '#default_value' => $column, ); if ($handlers[$field]->clickSortable()) { $form['info'][$field]['sortable'] = array( + '#title' => t('Sortable for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'checkbox', '#default_value' => !empty($this->options['info'][$field]['sortable']), '#states' => array( @@ -316,6 +320,8 @@ public function buildOptionsForm(&$form, &$form_state) { ), ); $form['info'][$field]['default_sort_order'] = array( + '#title' => t('Default sort order for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'select', '#options' => array('asc' => t('Ascending'), 'desc' => t('Descending')), '#default_value' => !empty($this->options['info'][$field]['default_sort_order']) ? $this->options['info'][$field]['default_sort_order'] : 'asc', @@ -329,6 +335,8 @@ public function buildOptionsForm(&$form, &$form_state) { // Provide an ID so we can have such things. $radio_id = drupal_html_id('edit-default-' . $field); $form['default'][$field] = array( + '#title' => t('Default sort for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'radio', '#return_value' => $field, '#parents' => array('style_options', 'default'), @@ -344,6 +352,8 @@ public function buildOptionsForm(&$form, &$form_state) { ); } $form['info'][$field]['align'] = array( + '#title' => t('Alignment for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'select', '#default_value' => !empty($this->options['info'][$field]['align']) ? $this->options['info'][$field]['align'] : '', '#options' => array( @@ -359,6 +369,8 @@ public function buildOptionsForm(&$form, &$form_state) { ), ); $form['info'][$field]['separator'] = array( + '#title' => t('Separator for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'textfield', '#size' => 10, '#default_value' => isset($this->options['info'][$field]['separator']) ? $this->options['info'][$field]['separator'] : '', @@ -369,6 +381,8 @@ public function buildOptionsForm(&$form, &$form_state) { ), ); $form['info'][$field]['empty_column'] = array( + '#title' => t('Hide empty column for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'checkbox', '#default_value' => isset($this->options['info'][$field]['empty_column']) ? $this->options['info'][$field]['empty_column'] : FALSE, '#states' => array( @@ -378,6 +392,8 @@ public function buildOptionsForm(&$form, &$form_state) { ), ); $form['info'][$field]['responsive'] = array( + '#title' => t('Responsive setting for @field', array('@field' => $field)), + '#title_display' => 'invisible', '#type' => 'select', '#default_value' => isset($this->options['info'][$field]['responsive']) ? $this->options['info'][$field]['responsive'] : '', '#options' => array('' => t('High'), RESPONSIVE_PRIORITY_MEDIUM => t('Medium'), RESPONSIVE_PRIORITY_LOW => t('Low')), @@ -396,6 +412,8 @@ public function buildOptionsForm(&$form, &$form_state) { // Provide a radio for no default sort $form['default'][-1] = array( + '#title' => t('No default sort'), + '#title_display' => 'invisible', '#type' => 'radio', '#return_value' => -1, '#parents' => array('style_options', 'default'), diff --git a/core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display_extender/DisplayExtenderTest.php b/core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display_extender/DisplayExtenderTest.php index 248526b..94df8e2 100644 --- a/core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display_extender/DisplayExtenderTest.php +++ b/core/modules/views/tests/modules/views_test_data/lib/Drupal/views_test_data/Plugin/views/display_extender/DisplayExtenderTest.php @@ -68,6 +68,7 @@ public function buildOptionsForm(&$form, &$form_state) { case 'test_extender_test_option': $form['#title'] .= t('Test option'); $form['test_extender_test_option'] = array( + '#title' => t('Test option'), '#type' => 'textfield', '#description' => t('This is a textfield for test_option.'), '#default_value' => $this->displayHandler->getOption('test_extender_test_option'), diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/RearrangeFilter.php b/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/RearrangeFilter.php index e49cc96..30c4e63 100644 --- a/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/RearrangeFilter.php +++ b/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/RearrangeFilter.php @@ -157,11 +157,15 @@ public function buildForm(array $form, array &$form_state) { $form['#group_renders'][$field['group']][] = $id; $form['filters'][$id]['weight'] = array( + '#title' => t('Weight for @id', array('@id' => $id)), + '#title_display' => 'invisible', '#type' => 'textfield', '#default_value' => ++$count, '#size' => 8, ); $form['filters'][$id]['group'] = array( + '#title' => t('Group for @id', array('@id' => $id)), + '#title_display' => 'invisible', '#type' => 'select', '#options' => $group_options, '#default_value' => $field['group'], @@ -185,6 +189,8 @@ public function buildForm(array $form, array &$form_state) { $form['filters'][$id]['name'] = array('#markup' => t('Broken field @id', array('@id' => $id))); } $form['filters'][$id]['removed'] = array( + '#title' => t('Remove @id', array('@id' => $id)), + '#title_display' => 'invisible', '#type' => 'checkbox', '#id' => 'views-removed-' . $id, '#attributes' => array('class' => array('views-remove-checkbox')), diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php b/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php index cc921ae..7915b74 100644 --- a/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php +++ b/core/modules/views_ui/lib/Drupal/views_ui/Form/Ajax/ReorderDisplays.php @@ -98,6 +98,8 @@ public function buildForm(array $form, array &$form_state) { $form['displays'][$id]['removed'] = array( 'checkbox' => array( + '#title' => t('Remove @id', array('@id' => $id)), + '#title_display' => 'invisible', '#type' => 'checkbox', '#id' => 'display-removed-' . $id, '#attributes' => array(