Mollywhite has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/78932


Change subject: Bug 50672: JavaScript fallback for navbar
......................................................................

Bug 50672: JavaScript fallback for navbar

Add links to the Book: page, which displays both the metadata
and the list of chapters. These are overridden by the JavaScript
dropdowns.

Bug: 50672
Change-Id: I2e69f36dba05fcd8484e2f6b69cded0ad536672d
---
M BookManagerv2.hooks.php
M modules/ext.BookManagerv2.js
2 files changed, 31 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BookManagerv2 
refs/changes/32/78932/1

diff --git a/BookManagerv2.hooks.php b/BookManagerv2.hooks.php
index d38c12d..0318dfe 100644
--- a/BookManagerv2.hooks.php
+++ b/BookManagerv2.hooks.php
@@ -72,7 +72,9 @@
         * @param string $metadata String containing the metadata HTML
         * @return string HTML string
         */
-       public static function readingInterfaceUX( $prev, $next, $chapterList, 
$metadata ) {
+       public static function readingInterfaceUX( $prev, $next, $chapterList, 
$metadata,
+               $currentPageTitle
+       ) {
                if ( $prev === null && $next === null && $chapterList === null
                                && $metadata === null ) {
                        return '';
@@ -85,34 +87,38 @@
                . Html::openElement( 'div', array( 'class' => 
'mw-bookmanagerv2-nav-constrain' ) )
                . Html::openElement( 'div', array( 'class' => 
'mw-bookmanagerv2-nav-bar' ) );
                if ( $metadata ) {
-                       $html .= Html::openElement( 'a', array(
-                                       'class' => array(
-                                               'mw-bookmanagerv2-nav-icon',
-                                               'mw-bookmanagerv2-nav-data' )
-                                       )
-                               )
-                       . Html::element( 'img', array(
+                       $imgHtml = Html::element( 'img', array(
                                        'class' => 'mw-bookmanagerv2-nav-data',
                                        'src' => $imagePath . 
'Info_sign_font_awesome.png',
                                        'alt' => wfMessage( 
'bookmanagerv2-metadata' )->text(),
                                        'title' => wfMessage( 
'bookmanagerv2-metadata' )->text()
                                ), '' );
+                       $html .= Linker::link(
+                               $currentPageTitle,
+                               $imgHtml,
+                               array( 'class' => array(
+                                               'mw-bookmanagerv2-nav-icon',
+                                               'mw-bookmanagerv2-nav-data' ) ),
+                               array(),
+                               array()
+                       );
                }
                if ( $chapterList ) {
-                       $html .= Html::closeElement( 'a' )
-                       . Html::openElement( 'a', array(
-                                       'class' => array(
-                                               'mw-bookmanagerv2-nav-icon',
-                                               'mw-bookmanagerv2-nav-toc' )
-                                       )
-                               )
-                       . Html::element( 'img', array(
+                       $imgHtml = Html::element( 'img', array(
                                        'class' => 'mw-bookmanagerv2-nav-toc',
                                        'src' => $imagePath . 
'Ul_font_awesome.png',
                                        'alt' => wfMessage( 
'bookmanagerv2-contents' )->text(),
                                        'title' => wfMessage( 
'bookmanagerv2-contents' )->text()
-                               ), '' )
-                       . Html::closeElement( 'a' );
+                               ), '' );
+                       $html .= Linker::link(
+                               $currentPageTitle,
+                               $imgHtml,
+                               array( 'class' => array(
+                                               'mw-bookmanagerv2-nav-icon',
+                                               'mw-bookmanagerv2-nav-toc' ) ),
+                               array(),
+                               array()
+                       );
                }
                if ( $prev ) {
                        $html .= Linker::link(
@@ -232,13 +238,13 @@
                } else if ( $year && $month && !$day ) {
                        $ts = $yearStr . $monthStr . "01000000";
                        $format = $wgLang->getDateFormatString( 'monthonly',
-                               $wgUser->getDatePreference() ?: 'default' );
+                               $wgUser->getDatePreference() ? : 'default' );
                        $date = $wgLang->sprintfDate( $format, $ts );
                        $datetime = $yearStr . "-" . $monthStr;
                } else {
                        $ts = $yearStr . $monthStr . $dayStr . "000000";
                        $format = $wgLang->getDateFormatString( 'date',
-                               $wgUser->getDatePreference() ?: 'default' );
+                               $wgUser->getDatePreference() ? : 'default' );
                        $date = $wgLang->sprintfDate( $format, $ts );
                        $datetime = $yearStr . "-" . $monthStr . "-" . $dayStr;
                }
@@ -384,7 +390,7 @@
 
                if ( $out->getTitle()->inNamespaces( $navigationNamespaces ) ) {
                        if ( $out->getRevisionId() !== null ) {
-                               global $wgContLang, 
$wgBookManagerv2ExampleNavigation, $wgMemc; 
+                               global $wgContLang, 
$wgBookManagerv2ExampleNavigation, $wgMemc;
                                $categories = $out->getCategories();
                                $namespace = $wgContLang->convertNamespace( 
NS_BOOK ) . ":";
                                $out->addModuleStyles( "ext.BookManagerv2" );
@@ -425,7 +431,7 @@
                                if ( $wgBookManagerv2PrevNext ) {
                                        $currentPageNumber = null;
                                        foreach ( $jsonBook->sections as $key 
=> $val ) {
-                                               // Find the entry that 
corresponds to this page                                         
+                                               // Find the entry that 
corresponds to this page
                                                if ( $val->link === 
$currentPageTitle ) {
                                                        $currentPageNumber = 
$key;
                                                        // If this isn't the 
first section, set previous link
@@ -475,7 +481,7 @@
                                        $metadata = null;
                                }
                                $navbar = self::readingInterfaceUX( $prev, 
$next, $chapterList,
-                                       $metadata );
+                                       $metadata, $jsonPageTitle );
                                $out->prependHtml( $navbar );
                        }
                } else if ( $out->getTitle()->inNamespace( NS_BOOK ) && 
$wgBookManagerv2JsonFrontend ) {
diff --git a/modules/ext.BookManagerv2.js b/modules/ext.BookManagerv2.js
index 54b9ca0..eb836e9 100644
--- a/modules/ext.BookManagerv2.js
+++ b/modules/ext.BookManagerv2.js
@@ -30,6 +30,7 @@
        $( 'a.mw-bookmanagerv2-nav-data' ).click( function () {
                $( 'div.mw-bookmanagerv2-nav-toc' ).hide();
                $( 'div.mw-bookmanagerv2-nav-data' ).toggle();
+               return false;
        });
 
        // When the contents icon is clicked, hide the metadata
@@ -37,6 +38,7 @@
        $( 'a.mw-bookmanagerv2-nav-toc' ).click( function () {
                $( 'div.mw-bookmanagerv2-nav-data' ).hide();
                $( 'div.mw-bookmanagerv2-nav-toc' ).toggle();
+               return false;
        });
 
 }(jQuery));

-- 
To view, visit https://gerrit.wikimedia.org/r/78932
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2e69f36dba05fcd8484e2f6b69cded0ad536672d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BookManagerv2
Gerrit-Branch: master
Gerrit-Owner: Mollywhite <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to