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

Reply via email to