Merge "Preserve grapheme clusters in upper corner completion suggester highlighting"
[lhc/web/wiklou.git] / includes / pager / TablePager.php
index f6445f5..f611699 100644 (file)
@@ -21,6 +21,8 @@
  * @ingroup Pager
  */
 
+use MediaWiki\Linker\LinkRenderer;
+
 /**
  * Table-based display with a user-selectable sort order
  * @ingroup Pager
@@ -32,7 +34,7 @@ abstract class TablePager extends IndexPager {
        /** @var stdClass */
        protected $mCurrentRow;
 
-       public function __construct( IContextSource $context = null ) {
+       public function __construct( IContextSource $context = null, LinkRenderer $linkRenderer = null ) {
                if ( $context ) {
                        $this->setContext( $context );
                }
@@ -49,7 +51,8 @@ abstract class TablePager extends IndexPager {
                        $this->mDefaultDirection = IndexPager::DIR_DESCENDING;
                } /* Else leave it at whatever the class default is */
 
-               parent::__construct();
+               // Parent constructor needs mSort set, so we call it last
+               parent::__construct( null, $linkRenderer );
        }
 
        /**
@@ -132,12 +135,12 @@ abstract class TablePager extends IndexPager {
                                        // We don't actually know in which direction other fields will be sorted by default…
                                        if ( $this->mDefaultDirection == IndexPager::DIR_DESCENDING ) {
                                                $linkType = 'asc';
-                                               $class = "$sortClass TablePager_sort-descending";
+                                               $class = "$sortClass mw-datatable-is-sorted mw-datatable-is-descending";
                                                $query['asc'] = '1';
                                                $query['desc'] = '';
                                        } else {
                                                $linkType = 'desc';
-                                               $class = "$sortClass TablePager_sort-ascending";
+                                               $class = "$sortClass mw-datatable-is-sorted mw-datatable-is-ascending";
                                                $query['asc'] = '';
                                                $query['desc'] = '1';
                                        }
@@ -152,7 +155,7 @@ abstract class TablePager extends IndexPager {
 
                $tableClass = $this->getTableClass();
                $ret = Html::openElement( 'table', [
-                       'class' => "mw-datatable $tableClass" ]
+                       'class' => " $tableClass" ]
                );
                $ret .= Html::rawElement( 'thead', [], Html::rawElement( 'tr', [], "\n" . $s . "\n" ) );
                $ret .= Html::openElement( 'tbody' ) . "\n";
@@ -266,10 +269,11 @@ abstract class TablePager extends IndexPager {
        }
 
        /**
+        * TablePager relies on `mw-datatable` for styling, see T214208
         * @return string
         */
        protected function getTableClass() {
-               return 'TablePager';
+               return 'mw-datatable';
        }
 
        /**