MediaWiki master
MediaWiki\Pager\CodexTablePager Class Reference

Codex Table display of sortable data with pagination. More...

Inherits MediaWiki\Pager\TablePager.

Inherited by MediaWiki\Specials\Pager\EditWatchlistPager.

Collaboration diagram for MediaWiki\Pager\CodexTablePager:

Public Member Functions

 __construct (string $caption, ?IContextSource $context=null, ?LinkRenderer $linkRenderer=null)
 
 getFullOutput ()
 Get the entire Codex table markup, including the wrapper element, pagers, table wrapper (which enables horizontal scroll), and the table element.
 
 getLimitSelect (array $attribs=[])
 Get a <select> element with options for items-per-page limits.
 
 getLimitSelectList ()
 Get a list of items to show as options in the item-per-page select.
 
 getModuleStyles ()
 ResourceLoader modules that must be loaded to provide correct styling for this pager.
Stability: stable
to override
Since
1.38
Returns
string[]

 
 getNavigationBar ()
 Pager bar with per-page limit and pager buttons.
 
 getNavigationBuilder ()
 
- Public Member Functions inherited from MediaWiki\Pager\TablePager
 __construct (?IContextSource $context=null, ?LinkRenderer $linkRenderer=null)
 
 formatRow ( $row)
 
 formatValue ( $name, $value)
 Format a table cell.
 
 getBodyOutput ()
 Get the formatted result list.
 
 getDefaultSort ()
 The database field name used as a default sort order.
 
 getHiddenFields ( $noResubmit=[])
 Get \<input type="hidden"\> elements for use in a method="get" form.
 
 getIndexField ()
 Returns the name of the index field.If the pager supports multiple orders, it may return an array of 'querykey' => 'indexfield' pairs, so that a request with &order=querykey will use indexfield to sort. In this case, the first returned key is the default.Needless to say, it's really not a good idea to use a non-unique index for this! That won't page right.The pager may paginate on multiple fields in combination. If paginating on multiple fields, they should be unique in combination (e.g. when paginating on user and timestamp, rows may have the same user, rows may have the same timestamp, but rows should all have a different combination of user and timestamp).Examples:

  • Always paginate on the user field: 'user'
  • Paginate on either the user or the timestamp field (default to user): [ 'name' => 'user', 'time' => 'timestamp', ]
  • Always paginate on the combination of user and timestamp: [ [ 'user', 'timestamp' ] ]
  • Paginate on the user then timestamp, or the timestamp then user: [ 'nametime' => [ 'user', 'timestamp' ], 'timename' => [ 'timestamp', 'user' ], ]
Returns
string|string[]|array[]

 
 getLimitForm ()
 Get a form containing a limit selection dropdown.
 
- Public Member Functions inherited from MediaWiki\Pager\IndexPager
 doQuery ()
 Do the query, using information from the object context.
 
 getBody ()
 Get the formatted result list.
 
 getDatabase ()
 Get the Database object in use.
 
 getDefaultQuery ()
 Get an array of query parameters that should be put into self-links.
 
 getLimit ()
 Get the current limit.
 
 getNumRows ()
 Get the number of rows in the result set.
 
 getOffset ()
 
 getOffsetQuery ()
 Get the current offset for the URL query parameter.
 
 getPagingQueries ()
 Get a URL query array for the prev, next, first and last links.
 
 getQueryInfo ()
 Provides all parameters needed for the main paged query.
 
 getQueryOrder ()
 
 getResult ()
 
 getResultOffset ()
 
 reallyDoQuery ( $offset, $limit, $order)
 Do a query with specified parameters, rather than using the object context.
 
 setIncludeOffset ( $include)
 Set whether a row matching exactly the offset should be also included in the result or not.
 
 setLimit ( $limit)
 Set the limit from an other source than the request.
 
 setOffset ( $offset)
 Set the offset from an other source than the request.
 
- Public Member Functions inherited from MediaWiki\Context\ContextSource
 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage().
 
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID.
 
 getActionName ()
 Get the action name for the current web request.
 
 getAuthority ()
 
 getConfig ()
 
 getContext ()
 Get the base IContextSource object.
 
 getCsrfTokenSet ()
 Get a repository to obtain and match CSRF tokens.
 
 getLanguage ()
 
 getLanguageCode ()
 
 getOutput ()
 
 getRequest ()
 
 getSkin ()
 
 getTiming ()
 
 getTitle ()
 
 getUser ()
 
 getWikiPage ()
 Get the WikiPage object.
 
 msg ( $key,... $params)
 Get a Message object with context set Parameters are the same as wfMessage()
 
 setContext (IContextSource $context)
 

Protected Member Functions

 createNavigationBuilder ()
 Create a new navigation builder instance.Subclasses can override this method to provide a custom navigation builder, such as CodexPagerNavigationBuilder for Codex-styled navigation.
Stability: stable
to override
Since
1.46
Returns
PagerNavigationBuilder

 
 getCellAlignment (string $field)
 Add alignment per column.
 
 getCellAttrs ( $field, $value)
 Add extra attributes to be applied to the given cell.
 
 getEmptyBody ()
 Get markup for the "no results" UI.
 
 getEndBody ()
 Get the closing tbody tag through the closing table tag.
 
 getHeader ()
 
 getNavClass ()
 Class for the outermost element of the pager UI.
 
 getSortHeaderClass ()
 Class for th elements of sortable columns.
 
 getStartBody ()
 Get the opening table tag through the opening tbody tag.
 
 getTableClass ()
 Class for the <table> element.
 
 getTfoot ()
 Override to add a <tfoot> element.
 
 getThead ()
 Generate the <thead> element.
 
 shouldShowVisibleCaption ()
 Returns whether a visible table caption should be shown.
 
- Protected Member Functions inherited from MediaWiki\Pager\TablePager
 getCurrentRow ()
 
 getFieldNames ()
 An array mapping database field names to a textual description of the field name, for use in the table header.
 
 getRowAttrs ( $row)
 Get attributes to be applied to the given row.
 
 getRowClass ( $row)
 Get a class name to be applied to the given row.
 
 isFieldSortable ( $field)
 Return true if the named field should be sortable by the UI, false otherwise.
 
- Protected Member Functions inherited from MediaWiki\Pager\IndexPager
 buildQueryInfo ( $offset, $limit, $order)
 Build variables to use by the database wrapper.
 
 doBatchLookups ()
 Called from getBody(), before getStartBody() is called and after doQuery() was called.
 
 extractResultInfo ( $isFirst, $limit, IResultWrapper $res)
 Extract some useful data from the result object for use by the navigation bar, put it into $this.
 
 getDefaultDirections ()
 Return the default sorting direction: DIR_ASCENDING or DIR_DESCENDING.
 
 getExtraSortFields ()
 Returns the names of secondary columns to order by in addition to the column in getIndexField().
 
 getFooter ()
 Classes can extend to output a footer at the bottom of the pager list.
 
 getLinkRenderer ()
 
 getOffsetCondsAndSortOptions ( $offset, int $limit, bool $order)
 Get $conds and $options relevant for sorting.
 
 getRow ( $row)
 Get the HTML of a pager row.
 
 getSqlComment ()
 Get some text to go in brackets in the "function name" part of the SQL comment.
 
 isNavigationBarShown ()
 Returns whether to show the "navigation bar".
 
 makeLink ( $text, ?array $query=null, $type=null)
 Make a self-link.
 
 preprocessResults ( $result)
 Pre-process results; useful for performing batch existence checks, etc.
 

Protected Attributes

string $mCaption
 
- Protected Attributes inherited from MediaWiki\Pager\TablePager
stdClass $mCurrentRow
 
string $mSort
 
- Protected Attributes inherited from MediaWiki\Pager\IndexPager
array null $mDefaultQuery
 
string[] $mExtraSortFields
 An array of secondary columns to order by.
 
array $mFirstShown
 
bool $mIncludeOffset = false
 Whether to include the offset in the query.
 
string string[] $mIndexField
 The index to actually be used for ordering.
 
array $mLastShown
 
string null $mNavigationBar
 
string null $mOrderType
 For pages that support multiple types of ordering, which one to use.
 
array $mPastTheEndIndex
 
PagerNavigationBuilder $navigationBuilder = null
 

Additional Inherited Members

- Public Attributes inherited from MediaWiki\Pager\IndexPager
IReadableDatabase $mDb
 
bool null $mDefaultDirection
 $mDefaultDirection gives the direction to use when sorting results: DIR_ASCENDING or DIR_DESCENDING.
 
int $mDefaultLimit = 50
 The default entry limit choosen for clients.
 
bool $mIsBackwards
 
bool $mIsFirst
 True if the current result set is the first one.
 
bool $mIsLast
 
int $mLimit
 The maximum number of entries to show.
 
int[] $mLimitsShown = [ 20, 50, 100, 250, 500 ]
 List of default entry limit options to be presented to clients.
 
mixed $mOffset
 The starting point to enumerate entries.
 
stdClass bool null $mPastTheEndRow
 Extra row fetched at the end to see if the end was reached.
 
bool $mQueryDone = false
 Whether the listing query completed.
 
WebRequest $mRequest
 
IResultWrapper $mResult
 Result object for the query.
 
const DIR_ASCENDING = false
 Backwards-compatible constant for $mDefaultDirection field (do not change)
 
const DIR_DESCENDING = true
 Backwards-compatible constant for $mDefaultDirection field (do not change)
 
const QUERY_ASCENDING = true
 Backwards-compatible constant for reallyDoQuery() (do not change)
 
const QUERY_DESCENDING = false
 Backwards-compatible constant for reallyDoQuery() (do not change)
 
- Static Protected Member Functions inherited from MediaWiki\Pager\IndexPager
static oppositeOrder ( $order)
 

Detailed Description

Codex Table display of sortable data with pagination.

Stability: stable
to extend

Definition at line 22 of file CodexTablePager.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Pager\CodexTablePager::__construct ( string $caption,
?IContextSource $context = null,
?LinkRenderer $linkRenderer = null )
Stability: stable
to call
Parameters
string$captionText for the caption element
?IContextSource$context
?LinkRenderer$linkRenderer

Definition at line 32 of file CodexTablePager.php.

References MediaWiki\Context\ContextSource\getOutput().

Member Function Documentation

◆ createNavigationBuilder()

MediaWiki\Pager\CodexTablePager::createNavigationBuilder ( )
protected

Create a new navigation builder instance.Subclasses can override this method to provide a custom navigation builder, such as CodexPagerNavigationBuilder for Codex-styled navigation.

Stability: stable
to override
Since
1.46
Returns
PagerNavigationBuilder

Reimplemented from MediaWiki\Pager\IndexPager.

Reimplemented in MediaWiki\Specials\Pager\EditWatchlistPager.

Definition at line 290 of file CodexTablePager.php.

◆ getCellAlignment()

MediaWiki\Pager\CodexTablePager::getCellAlignment ( string $field)
protected

Add alignment per column.

Parameters
string$fieldThe column
Returns
string start (default), center, end, or number (always to the right)

Definition at line 223 of file CodexTablePager.php.

◆ getCellAttrs()

MediaWiki\Pager\CodexTablePager::getCellAttrs ( $field,
$value )
protected

Add extra attributes to be applied to the given cell.

Stability: stable
to override
Parameters
string$fieldThe column
string$valueThe cell contents
Returns
array Array of attr => value

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 236 of file CodexTablePager.php.

◆ getEmptyBody()

MediaWiki\Pager\CodexTablePager::getEmptyBody ( )
protected

Get markup for the "no results" UI.

This is placed inside the tbody tag.

Reimplemented from MediaWiki\Pager\TablePager.

Reimplemented in MediaWiki\Specials\Pager\EditWatchlistPager.

Definition at line 206 of file CodexTablePager.php.

◆ getEndBody()

MediaWiki\Pager\CodexTablePager::getEndBody ( )
protected

Get the closing tbody tag through the closing table tag.

Stability: stable
to override

Reimplemented from MediaWiki\Pager\TablePager.

Reimplemented in MediaWiki\Specials\Pager\EditWatchlistPager.

Definition at line 199 of file CodexTablePager.php.

◆ getFullOutput()

MediaWiki\Pager\CodexTablePager::getFullOutput ( )

Get the entire Codex table markup, including the wrapper element, pagers, table wrapper (which enables horizontal scroll), and the table element.

Since
1.44

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 57 of file CodexTablePager.php.

◆ getHeader()

MediaWiki\Pager\CodexTablePager::getHeader ( )
protected

Reimplemented in MediaWiki\Specials\Pager\EditWatchlistPager.

Definition at line 340 of file CodexTablePager.php.

◆ getLimitSelect()

MediaWiki\Pager\CodexTablePager::getLimitSelect ( array $attribs = [])

Get a <select> element with options for items-per-page limits.

Parameters
string[]$attribsExtra attributes to set
Returns
string HTML fragment

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 310 of file CodexTablePager.php.

◆ getLimitSelectList()

MediaWiki\Pager\CodexTablePager::getLimitSelectList ( )

Get a list of items to show as options in the item-per-page select.

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 318 of file CodexTablePager.php.

◆ getModuleStyles()

MediaWiki\Pager\CodexTablePager::getModuleStyles ( )

ResourceLoader modules that must be loaded to provide correct styling for this pager.

Stability: stable
to override
Since
1.38
Returns
string[]

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 326 of file CodexTablePager.php.

◆ getNavClass()

MediaWiki\Pager\CodexTablePager::getNavClass ( )
protected

Class for the outermost element of the pager UI.

Stability: stable
to override

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 259 of file CodexTablePager.php.

◆ getNavigationBar()

MediaWiki\Pager\CodexTablePager::getNavigationBar ( )

Pager bar with per-page limit and pager buttons.

Stability: stable
to override
Returns
string HTML for the pager UI

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 279 of file CodexTablePager.php.

◆ getNavigationBuilder()

MediaWiki\Pager\CodexTablePager::getNavigationBuilder ( )
Returns
CodexPagerNavigationBuilder

Reimplemented from MediaWiki\Pager\IndexPager.

Definition at line 299 of file CodexTablePager.php.

◆ getSortHeaderClass()

MediaWiki\Pager\CodexTablePager::getSortHeaderClass ( )
protected

Class for th elements of sortable columns.

Stability: stable
to override

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 268 of file CodexTablePager.php.

◆ getStartBody()

MediaWiki\Pager\CodexTablePager::getStartBody ( )
protected

Get the opening table tag through the opening tbody tag.

This method should generally not be overridden: use getThead() to create a custom <thead> and getTableClass to set additional classes on the <table> element.

Stability: stable
to override

Reimplemented from MediaWiki\Pager\TablePager.

Reimplemented in MediaWiki\Specials\Pager\EditWatchlistPager.

Definition at line 174 of file CodexTablePager.php.

◆ getTableClass()

MediaWiki\Pager\CodexTablePager::getTableClass ( )
protected

Class for the <table> element.

Stability: stable
to override

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 250 of file CodexTablePager.php.

◆ getTfoot()

MediaWiki\Pager\CodexTablePager::getTfoot ( )
protected

Override to add a <tfoot> element.

Stability: stable
to override

Definition at line 190 of file CodexTablePager.php.

◆ getThead()

MediaWiki\Pager\CodexTablePager::getThead ( )
protected

Generate the <thead> element.

This creates a thead with a single tr and includes sort buttons if applicable. To customize the thead layout, override this method.

Stability: stable
to override

Reimplemented in MediaWiki\Specials\Pager\EditWatchlistPager.

Definition at line 88 of file CodexTablePager.php.

◆ shouldShowVisibleCaption()

MediaWiki\Pager\CodexTablePager::shouldShowVisibleCaption ( )
protected

Returns whether a visible table caption should be shown.

Since
1.46
Stability: stable
to override

Definition at line 336 of file CodexTablePager.php.

Member Data Documentation

◆ $mCaption

string MediaWiki\Pager\CodexTablePager::$mCaption
protected

Definition at line 23 of file CodexTablePager.php.


The documentation for this class was generated from the following file: