diff --git a/core/includes/form.inc b/core/includes/form.inc index 5deb493..2aa14b8 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -1596,18 +1596,19 @@ function form_process_container($element, &$form_state) { } /** - * Returns HTML for a table with radio buttons or checkboxes. + * Prepares a 'tableselect' #type element for rendering. * - * @param $variables - * An associative array containing: - * - element: An associative array containing the properties and children of - * the tableselect element. Properties used: #header, #options, #empty, - * and #js_select. The #options property is an array of selection options; - * each array element of #options is an array of properties. These - * properties can include #attributes, which is added to the - * table row's HTML attributes; see theme_table(). An example of per-row - * options: - * @code + * Adds a column of radio buttons or checkboxes for each row of a table. + * + * @param array $element + * An associative array containing the properties and children of + * the tableselect element. Properties used: #header, #options, #empty, + * and #js_select. The #options property is an array of selection options; + * each array element of #options is an array of properties. These + * properties can include #attributes, which is added to the + * table row's HTML attributes; see theme_table(). An example of per-row + * options: + * @code * $options = array( * array( * 'title' => 'How to Learn Drupal', @@ -1633,15 +1634,12 @@ function form_process_container($element, &$form_state) { * '#options' => $options, * '#empty' => t('No content available.'), * ); - * @endcode + * @endcode * - * @ingroup themeable + * @return array + * The processed element. */ -function theme_tableselect($variables) { - $element = $variables['element']; - $table = array( - '#type' => 'table', - ); +function form_pre_render_tableselect($element) { $rows = array(); $header = $element['#header']; if (!empty($element['#options'])) { @@ -1681,7 +1679,7 @@ function theme_tableselect($variables) { // checkboxes/radios in the first table column. if ($element['#js_select']) { // Add a "Select all" checkbox. - $table['#attached']['library'][] = 'core/drupal.tableselect'; + $element['#attached']['library'][] = 'core/drupal.tableselect'; array_unshift($header, array('class' => array('select-all'))); } else { @@ -1690,14 +1688,11 @@ function theme_tableselect($variables) { array_unshift($header, ''); } } - $table += array( - '#header' => $header, - '#rows' => $rows, - '#empty' => $element['#empty'], - '#attributes' => $element['#attributes'], - ); - return drupal_render($table); + $element['#header'] = $header; + $element['#rows'] = $rows; + + return $element; } /** @@ -1789,7 +1784,6 @@ function form_process_tableselect($element) { * The processed element. * * @see form_process_tableselect() - * @see theme_tableselect() */ function form_process_table($element, &$form_state) { if ($element['#tableselect']) { diff --git a/core/includes/theme.inc b/core/includes/theme.inc index fbcc619..db4583f 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -2659,9 +2659,6 @@ function drupal_common_theme() { 'render element' => 'element', 'template' => 'textarea', ), - 'tableselect' => array( - 'render element' => 'element', - ), 'form_element' => array( 'render element' => 'element', 'template' => 'form-element', diff --git a/core/modules/comment/src/Form/CommentAdminOverview.php b/core/modules/comment/src/Form/CommentAdminOverview.php index efcd19e..ab6ab97 100644 --- a/core/modules/comment/src/Form/CommentAdminOverview.php +++ b/core/modules/comment/src/Form/CommentAdminOverview.php @@ -202,15 +202,22 @@ public function buildForm(array $form, array &$form_state, $type = 'new') { '#title' => $comment->getSubject(), ) + $comment_permalink->toRenderArray(), ), - 'author' => drupal_render($username), + 'author' => array( + 'data' => $username, + 'class' => array(RESPONSIVE_PRIORITY_MEDIUM), + ), 'posted_in' => array( 'data' => array( '#type' => 'link', '#title' => $commented_entity->label(), '#access' => $commented_entity->access('view'), ) + $commented_entity->urlInfo()->toRenderArray(), + 'class' => array(RESPONSIVE_PRIORITY_LOW), + ), + 'changed' => array( + 'data' => $this->date->format($comment->getChangedTime(), 'short'), + 'class' => array(RESPONSIVE_PRIORITY_LOW), ), - 'changed' => $this->date->format($comment->getChangedTime(), 'short'), ); $comment_uri_options = $comment->urlInfo()->getOptions(); $links = array(); diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 7fbfd99..41cf3b8 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -541,10 +541,13 @@ function system_element_info() { '#input' => TRUE, '#js_select' => TRUE, '#multiple' => TRUE, + '#responsive' => TRUE, + '#sticky' => FALSE, + '#pre_render' => array('drupal_pre_render_table','form_pre_render_tableselect'), '#process' => array('form_process_tableselect'), '#options' => array(), '#empty' => '', - '#theme' => 'tableselect', + '#theme' => 'table__tableselect', ); // Form structure.