* @ingroup Pager
*/
+use MediaWiki\Linker\LinkRenderer;
+
/**
* Table-based display with a user-selectable sort order
* @ingroup Pager
/** @var stdClass */
protected $mCurrentRow;
- public function __construct( IContextSource $context = null ) {
+ public function __construct( IContextSource $context = null, LinkRenderer $linkRenderer = null ) {
if ( $context ) {
$this->setContext( $context );
}
$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 );
}
/**
// 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';
}
$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";
}
/**
+ * TablePager relies on `mw-datatable` for styling, see T214208
* @return string
*/
protected function getTableClass() {
- return 'TablePager';
+ return 'mw-datatable';
}
/**