MediaWiki master
MediaWiki\Pager\CodexTablePager Class Reference

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

Inherits MediaWiki\Pager\TablePager.

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.
 
 getLimitForm ()
 Get a form with the items-per-page select.
 
 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.
 
- 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[]

 
- 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.
 
 getNavigationBuilder ()
 
 getNumRows ()
 Get the number of rows in the result set.
 
 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.
 
 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

 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.
 
 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.
 
- 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 ()
 
 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
 

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 35 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 visually-hidden caption element
?IContextSource$context
?LinkRenderer$linkRenderer

Definition at line 45 of file CodexTablePager.php.

References MediaWiki\Context\ContextSource\getOutput().

Member Function Documentation

◆ 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 235 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 248 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.

Definition at line 218 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.

Definition at line 211 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 70 of file CodexTablePager.php.

◆ getLimitForm()

MediaWiki\Pager\CodexTablePager::getLimitForm ( )

Get a form with the items-per-page select.

Returns
string HTML fragment

Reimplemented from MediaWiki\Pager\TablePager.

Definition at line 365 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 340 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 347 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 386 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 271 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 291 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 280 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.

Definition at line 186 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 262 of file CodexTablePager.php.

◆ getTfoot()

MediaWiki\Pager\CodexTablePager::getTfoot ( )
protected

Override to add a <tfoot> element.

Stability: stable
to override

Definition at line 202 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

Definition at line 100 of file CodexTablePager.php.

Member Data Documentation

◆ $mCaption

string MediaWiki\Pager\CodexTablePager::$mCaption
protected

Definition at line 36 of file CodexTablePager.php.


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