From 7443cd97bf9b1e02b11fd07bdf22618c7c4e19bb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Sat, 23 Aug 2014 20:19:18 +0200 Subject: [PATCH] TablePager: Load images via CSS backgrounds rather than HTML s MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Moved files from directory: skins/common/images → resources/src/mediawiki/images and renamed: * arrow_disabled_last_25.png → pager-arrow-disabled-fastforward-ltr.png * arrow_disabled_first_25.png → pager-arrow-disabled-fastforward-rtl.png * arrow_disabled_right_25.png → pager-arrow-disabled-forward-ltr.png * arrow_disabled_left_25.png → pager-arrow-disabled-forward-rtl.png * arrow_last_25.png → pager-arrow-fastforward-ltr.png * arrow_first_25.png → pager-arrow-fastforward-rtl.png * arrow_right_25.png → pager-arrow-forward-ltr.png * arrow_left_25.png → pager-arrow-forward-rtl.png The new names are not very intuitive, but there's a mostly reasonable system behind them and we need names like this to have them automatically flipped for RTL styles. Bug: 69277 Change-Id: Ica34cdd5fcc9340a94fb5e60bb34c30266953dcb --- includes/pager/TablePager.php | 30 ++--------- .../pager-arrow-disabled-fastforward-ltr.png | Bin .../pager-arrow-disabled-fastforward-rtl.png | Bin .../pager-arrow-disabled-forward-ltr.png | Bin .../pager-arrow-disabled-forward-rtl.png | Bin .../images/pager-arrow-fastforward-ltr.png | Bin .../images/pager-arrow-fastforward-rtl.png | Bin .../images/pager-arrow-forward-ltr.png | Bin .../images/pager-arrow-forward-rtl.png | Bin .../mediawiki/mediawiki.pager.tablePager.css | 49 ++++++++++++++++++ 10 files changed, 54 insertions(+), 25 deletions(-) rename skins/common/images/arrow_disabled_last_25.png => resources/src/mediawiki/images/pager-arrow-disabled-fastforward-ltr.png (100%) rename skins/common/images/arrow_disabled_first_25.png => resources/src/mediawiki/images/pager-arrow-disabled-fastforward-rtl.png (100%) rename skins/common/images/arrow_disabled_right_25.png => resources/src/mediawiki/images/pager-arrow-disabled-forward-ltr.png (100%) rename skins/common/images/arrow_disabled_left_25.png => resources/src/mediawiki/images/pager-arrow-disabled-forward-rtl.png (100%) rename skins/common/images/arrow_last_25.png => resources/src/mediawiki/images/pager-arrow-fastforward-ltr.png (100%) rename skins/common/images/arrow_first_25.png => resources/src/mediawiki/images/pager-arrow-fastforward-rtl.png (100%) rename skins/common/images/arrow_right_25.png => resources/src/mediawiki/images/pager-arrow-forward-ltr.png (100%) rename skins/common/images/arrow_left_25.png => resources/src/mediawiki/images/pager-arrow-forward-rtl.png (100%) diff --git a/includes/pager/TablePager.php b/includes/pager/TablePager.php index 518540d677..3e061e9021 100644 --- a/includes/pager/TablePager.php +++ b/includes/pager/TablePager.php @@ -290,45 +290,23 @@ abstract class TablePager extends IndexPager { * @return string HTML */ public function getNavigationBar() { - global $wgStylePath; - if ( !$this->isNavigationBarShown() ) { return ''; } - $path = "$wgStylePath/common/images"; $labels = array( 'first' => 'table_pager_first', 'prev' => 'table_pager_prev', 'next' => 'table_pager_next', 'last' => 'table_pager_last', ); - $images = array( - 'first' => 'arrow_first_25.png', - 'prev' => 'arrow_left_25.png', - 'next' => 'arrow_right_25.png', - 'last' => 'arrow_last_25.png', - ); - $disabledImages = array( - 'first' => 'arrow_disabled_first_25.png', - 'prev' => 'arrow_disabled_left_25.png', - 'next' => 'arrow_disabled_right_25.png', - 'last' => 'arrow_disabled_last_25.png', - ); - if ( $this->getLanguage()->isRTL() ) { - $keys = array_keys( $labels ); - $images = array_combine( $keys, array_reverse( $images ) ); - $disabledImages = array_combine( $keys, array_reverse( $disabledImages ) ); - } $linkTexts = array(); $disabledTexts = array(); foreach ( $labels as $type => $label ) { $msgLabel = $this->msg( $label )->escaped(); - $linkTexts[$type] = Html::element( 'img', array( 'src' => "$path/{$images[$type]}", - 'alt' => $msgLabel ) ) . "
$msgLabel"; - $disabledTexts[$type] = Html::element( 'img', array( 'src' => "$path/{$disabledImages[$type]}", - 'alt' => $msgLabel ) ) . "
$msgLabel"; + $linkTexts[$type] = "
$msgLabel
"; + $disabledTexts[$type] = "
$msgLabel
"; } $links = $this->getPagingLinks( $linkTexts, $disabledTexts ); @@ -339,7 +317,9 @@ abstract class TablePager extends IndexPager { // 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. - $s .= Html::rawElement( 'td', array( 'style' => "width: $width;" ), $links[$type] ) . "\n"; + $s .= Html::rawElement( 'td', + array( 'style' => "width: $width;", 'class' => "TablePager_nav-$type" ), + $links[$type] ) . "\n"; } $s .= Html::closeElement( 'tr' ) . Html::closeElement( 'table' ) . "\n"; return $s; diff --git a/skins/common/images/arrow_disabled_last_25.png b/resources/src/mediawiki/images/pager-arrow-disabled-fastforward-ltr.png similarity index 100% rename from skins/common/images/arrow_disabled_last_25.png rename to resources/src/mediawiki/images/pager-arrow-disabled-fastforward-ltr.png diff --git a/skins/common/images/arrow_disabled_first_25.png b/resources/src/mediawiki/images/pager-arrow-disabled-fastforward-rtl.png similarity index 100% rename from skins/common/images/arrow_disabled_first_25.png rename to resources/src/mediawiki/images/pager-arrow-disabled-fastforward-rtl.png diff --git a/skins/common/images/arrow_disabled_right_25.png b/resources/src/mediawiki/images/pager-arrow-disabled-forward-ltr.png similarity index 100% rename from skins/common/images/arrow_disabled_right_25.png rename to resources/src/mediawiki/images/pager-arrow-disabled-forward-ltr.png diff --git a/skins/common/images/arrow_disabled_left_25.png b/resources/src/mediawiki/images/pager-arrow-disabled-forward-rtl.png similarity index 100% rename from skins/common/images/arrow_disabled_left_25.png rename to resources/src/mediawiki/images/pager-arrow-disabled-forward-rtl.png diff --git a/skins/common/images/arrow_last_25.png b/resources/src/mediawiki/images/pager-arrow-fastforward-ltr.png similarity index 100% rename from skins/common/images/arrow_last_25.png rename to resources/src/mediawiki/images/pager-arrow-fastforward-ltr.png diff --git a/skins/common/images/arrow_first_25.png b/resources/src/mediawiki/images/pager-arrow-fastforward-rtl.png similarity index 100% rename from skins/common/images/arrow_first_25.png rename to resources/src/mediawiki/images/pager-arrow-fastforward-rtl.png diff --git a/skins/common/images/arrow_right_25.png b/resources/src/mediawiki/images/pager-arrow-forward-ltr.png similarity index 100% rename from skins/common/images/arrow_right_25.png rename to resources/src/mediawiki/images/pager-arrow-forward-ltr.png diff --git a/skins/common/images/arrow_left_25.png b/resources/src/mediawiki/images/pager-arrow-forward-rtl.png similarity index 100% rename from skins/common/images/arrow_left_25.png rename to resources/src/mediawiki/images/pager-arrow-forward-rtl.png diff --git a/resources/src/mediawiki/mediawiki.pager.tablePager.css b/resources/src/mediawiki/mediawiki.pager.tablePager.css index fc73a9671a..4ae4792519 100644 --- a/resources/src/mediawiki/mediawiki.pager.tablePager.css +++ b/resources/src/mediawiki/mediawiki.pager.tablePager.css @@ -14,8 +14,57 @@ .TablePager_nav td { padding: 3px; text-align: center; + vertical-align: center; } .TablePager_nav a { text-decoration: none; } + +.TablePager_nav td.TablePager_nav-first .TablePager_nav-disabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-disabled-fastforward-rtl.png) center top no-repeat; +} + +.TablePager_nav td.TablePager_nav-prev .TablePager_nav-disabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-disabled-forward-rtl.png) center top no-repeat; +} + +.TablePager_nav td.TablePager_nav-next .TablePager_nav-disabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-disabled-forward-ltr.png) center top no-repeat; +} + +.TablePager_nav td.TablePager_nav-last .TablePager_nav-disabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-disabled-fastforward-ltr.png) center top no-repeat; +} + +.TablePager_nav td.TablePager_nav-first .TablePager_nav-enabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-fastforward-rtl.png) center top no-repeat; +} + +.TablePager_nav td.TablePager_nav-prev .TablePager_nav-enabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-forward-rtl.png) center top no-repeat; +} + +.TablePager_nav td.TablePager_nav-next .TablePager_nav-enabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-forward-ltr.png) center top no-repeat; +} + +.TablePager_nav td.TablePager_nav-last .TablePager_nav-enabled { + padding-top: 25px; + /* @embed */ + background: url(images/pager-arrow-fastforward-ltr.png) center top no-repeat; +} -- 2.20.1