Esanders has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/349997 )
Change subject: WIP OOUI-ificiation of TablePager nav
......................................................................
WIP OOUI-ificiation of TablePager nav
Bug: T163715
Change-Id: Ia750131aae52c35181209277c5b951a447db1b5a
---
M includes/pager/TablePager.php
M resources/src/mediawiki/mediawiki.pager.tablePager.less
2 files changed, 23 insertions(+), 78 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/97/349997/1
diff --git a/includes/pager/TablePager.php b/includes/pager/TablePager.php
index 770c1c6..c1e4703 100644
--- a/includes/pager/TablePager.php
+++ b/includes/pager/TablePager.php
@@ -289,9 +289,13 @@
* @return string HTML
*/
public function getNavigationBar() {
+ global $wgOut;
+
if ( !$this->isNavigationBarShown() ) {
return '';
}
+
+ $wgOut->enableOOUI();
$labels = [
'first' => 'table_pager_first',
@@ -300,28 +304,25 @@
'last' => 'table_pager_last',
];
- $linkTexts = [];
- $disabledTexts = [];
- foreach ( $labels as $type => $label ) {
- $msgLabel = $this->msg( $label )->escaped();
- $linkTexts[$type] = "<div
class='TablePager_nav-enabled'>$msgLabel</div>";
- $disabledTexts[$type] = "<div
class='TablePager_nav-disabled'>$msgLabel</div>";
- }
- $links = $this->getPagingLinks( $linkTexts, $disabledTexts );
+ $queries = $this->getPagingQueries();
+ $links = [];
- $s = Html::openElement( 'table', [ 'class' =>
$this->getNavClass() ] );
- $s .= Html::openElement( 'tr' ) . "\n";
- $width = 100 / count( $links ) . '%';
+ $buttons = [];
+
+ $title = $this->getTitle();
+
foreach ( $labels as $type => $label ) {
- // We want every cell to have the same width. We could
use table-layout: fixed; in CSS,
- // but it only works if we specify the width of a cell
or the table and we don't want to.
- // There is no better way.
<https://www.w3.org/TR/CSS2/tables.html#fixed-table-layout>
- $s .= Html::rawElement( 'td',
- [ 'style' => "width: $width;", 'class' =>
"TablePager_nav-$type" ],
- $links[$type] ) . "\n";
+ $buttons[] = new \OOUI\ButtonWidget( [
+ 'label' => $this->msg( $label )->text(),
+ 'href' => $queries[ $type ] ?
$title->getLinkURL( $queries[ $type ] + $this->getDefaultQuery() ) : null,
+ // 'icon' => 'previous',
+ 'disabled' => $queries[ $type ] === false
+ ] );
}
- $s .= Html::closeElement( 'tr' ) . Html::closeElement( 'table'
) . "\n";
- return $s;
+ return new \OOUI\ButtonGroupWidget( [
+ 'classes' => [ 'TablePager_nav' ],
+ 'items' => $buttons,
+ ] );
}
/**
diff --git a/resources/src/mediawiki/mediawiki.pager.tablePager.less
b/resources/src/mediawiki/mediawiki.pager.tablePager.less
index 216cd5a..5b3519e 100644
--- a/resources/src/mediawiki/mediawiki.pager.tablePager.less
+++ b/resources/src/mediawiki/mediawiki.pager.tablePager.less
@@ -21,64 +21,8 @@
.background-image-svg('images/arrow-sort-descending.svg',
'images/arrow-sort-descending.png');
}
-.TablePager_nav {
- margin: 0 auto;
-}
-
-.TablePager_nav td {
- padding: 3px;
+.TablePager_nav.oo-ui-buttonGroupWidget {
+ display: block;
text-align: center;
- vertical-align: center;
-}
-
-.TablePager_nav a {
- text-decoration: none;
-}
-
-.TablePager_nav td.TablePager_nav-first .TablePager_nav-disabled {
- padding-top: 25px;
- background: none center top no-repeat;
-
.background-image-svg('images/pager-arrow-disabled-fastforward-rtl.svg',
'images/pager-arrow-disabled-fastforward-rtl.png');
-}
-
-.TablePager_nav td.TablePager_nav-prev .TablePager_nav-disabled {
- padding-top: 25px;
- background: none center top no-repeat;
- .background-image-svg('images/pager-arrow-disabled-forward-rtl.svg',
'images/pager-arrow-disabled-forward-rtl.png');
-}
-
-.TablePager_nav td.TablePager_nav-next .TablePager_nav-disabled {
- padding-top: 25px;
- background: none center top no-repeat;
- .background-image-svg('images/pager-arrow-disabled-forward-ltr.svg',
'images/pager-arrow-disabled-forward-ltr.png');
-}
-
-.TablePager_nav td.TablePager_nav-last .TablePager_nav-disabled {
- padding-top: 25px;
- background: none center top no-repeat;
-
.background-image-svg('images/pager-arrow-disabled-fastforward-ltr.svg',
'images/pager-arrow-disabled-fastforward-ltr.png');
-}
-
-.TablePager_nav td.TablePager_nav-first .TablePager_nav-enabled {
- padding-top: 25px;
- background: none center top no-repeat;
- .background-image-svg('images/pager-arrow-fastforward-rtl.svg',
'images/pager-arrow-fastforward-rtl.png');
-}
-
-.TablePager_nav td.TablePager_nav-prev .TablePager_nav-enabled {
- padding-top: 25px;
- background: none center top no-repeat;
- .background-image-svg('images/pager-arrow-forward-rtl.svg',
'images/pager-arrow-forward-rtl.png');
-}
-
-.TablePager_nav td.TablePager_nav-next .TablePager_nav-enabled {
- padding-top: 25px;
- background: none center top no-repeat;
- .background-image-svg('images/pager-arrow-forward-ltr.svg',
'images/pager-arrow-forward-ltr.png');
-}
-
-.TablePager_nav td.TablePager_nav-last .TablePager_nav-enabled {
- padding-top: 25px;
- background: none center top no-repeat;
- .background-image-svg('images/pager-arrow-fastforward-ltr.svg',
'images/pager-arrow-fastforward-ltr.png');
+ margin: 1em;
}
--
To view, visit https://gerrit.wikimedia.org/r/349997
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia750131aae52c35181209277c5b951a447db1b5a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits