Mollywhite has uploaded a new change for review.
https://gerrit.wikimedia.org/r/80090
Change subject: Bug 52821: Provide link to the JSON page from navbar dropdowns.
......................................................................
Bug 52821: Provide link to the JSON page from navbar dropdowns.
Adds [read|edit] links to the navbar dropdowns. This provides links
to the JSON page in NS_BOOK.
Bug: 52821
Change-Id: Ida0c1d96c05334a4f23f94a8c31a89d418f89b26
---
M BookManagerv2.hooks.php
M BookManagerv2.i18n.php
M modules/ext.BookManagerv2js.css
3 files changed, 66 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BookManagerv2
refs/changes/90/80090/1
diff --git a/BookManagerv2.hooks.php b/BookManagerv2.hooks.php
index 0318dfe..b29cfbb 100644
--- a/BookManagerv2.hooks.php
+++ b/BookManagerv2.hooks.php
@@ -256,6 +256,34 @@
return $output;
}
+ public static function addJsonPageLink( $jsonPageTitle ) {
+ $metadata = Html::openElement( 'div', array(
+ 'class' => 'mw-bookmanagerv2-edit-wrapper' ) )
+ . Html::openElement( 'span', array(
+ 'class' => 'mw-bookmanagerv2-edit-json-link' ) )
+ . Html::element( 'span', array(
+ 'class' => 'mw-bookmanagerv2-link-bracket'
+ ), '[' )
+ . Linker::link( $jsonPageTitle,
+ wfMessage( 'bookmanagerv2-read' )->text()
+ )
+ . Html::element( 'span', array(
+ 'class' => 'mw-bookmanagerv2-link-divider'
+ ), '|' )
+ . Linker::link( $jsonPageTitle,
+ wfMessage( 'editlink' )->text(),
+ array(),
+ array( 'action' => 'edit' ),
+ array()
+ )
+ . Html::element( 'span', array(
+ 'class' => 'mw-bookmanagerv2-link-bracket'
+ ), ']' )
+ . Html::closeElement( 'span' )
+ . Html::closeElement( 'div' );
+ return $metadata;
+ }
+
/**
* Generates HTML for the chapter list. All pages except the current one
* will be linked.
@@ -264,8 +292,14 @@
* @param string $currentPageTitle Title of the page that's being viewed
* @return string HTML ordered list element
*/
- public static function formatChapterList( $sections, $currentPageTitle
= null ) {
- $html = Html::openElement( 'ol', array() );
+ public static function formatChapterList( $sections, $jsonPageTitle =
null,
+ $currentPageTitle = null )
+ {
+ $html = '';
+ if ( $jsonPageTitle !== null ) {
+ $html .= self::addJsonPageLink( $jsonPageTitle );
+ }
+ $html .= Html::openElement( 'ol', array() );
foreach ( $sections as $key => $val ) {
if ( $val->link !== $currentPageTitle ) {
$html .= Html::openElement( 'li', array() )
@@ -288,8 +322,12 @@
* @param object $jsonBook JSON representation of the book
* @return string HTML unordered list element
*/
- public static function formatMetadata( $jsonBook ) {
- $metadata = Html::openElement( 'ul', array() )
+ public static function formatMetadata( $jsonBook, $jsonPageTitle = null
) {
+ $metadata = '';
+ if ( $jsonPageTitle !== null ) {
+ $metadata = self::addJsonPageLink( $jsonPageTitle );
+ }
+ $metadata .= Html::openElement( 'ul', array() )
. Html::openElement( 'li', array() )
. wfMessage( 'bookmanagerv2-title',
$jsonBook->title )->text()
@@ -363,6 +401,7 @@
if ( isset( $jsonBook->oclc ) ) {
$metadata .= self::addString( "oclc", $jsonBook->oclc );
}
+
$metadata .= Html::closeElement( 'ul' );
return $metadata;
@@ -471,12 +510,12 @@
if ( $wgBookManagerv2ChapterList ) {
$chapterList = self::formatChapterList(
$jsonBook->sections,
- $currentPageTitle );
+ $jsonPageTitle,
$currentPageTitle );
} else {
$chapterList = null;
}
if ( $wgBookManagerv2Metadata ) {
- $metadata = self::formatMetadata(
$jsonBook );
+ $metadata = self::formatMetadata(
$jsonBook, $jsonPageTitle );
} else {
$metadata = null;
}
diff --git a/BookManagerv2.i18n.php b/BookManagerv2.i18n.php
index af9f4dd..4f82599 100644
--- a/BookManagerv2.i18n.php
+++ b/BookManagerv2.i18n.php
@@ -42,6 +42,7 @@
'bookmanagerv2-isbn' => 'ISBN: $1',
'bookmanagerv2-lccn' => 'LCCN: $1',
'bookmanagerv2-oclc' => 'OCLC: $1',
+ 'bookmanagerv2-read' => 'read',
);
/** Message documentation (Message documentation)
@@ -147,6 +148,7 @@
See screenshot for an example of this dropdown.
[[File:BookManagerv2 navigation bar metadata dropdown.png]]',
+ 'bookmanagerv2-read' => 'Text for a link to view the metadata page'
);
/** Asturian (asturianu)
diff --git a/modules/ext.BookManagerv2js.css b/modules/ext.BookManagerv2js.css
index 0635cf3..1ab7af8 100644
--- a/modules/ext.BookManagerv2js.css
+++ b/modules/ext.BookManagerv2js.css
@@ -26,6 +26,7 @@
text-align: left;
padding: 5px 8px;
}
+
div.mw-bookmanagerv2-nav-dropdown:after, .mw-bookmanagerv2-nav-dropdown:before
{
bottom: 100%;
border: solid transparent;
@@ -35,6 +36,7 @@
position: absolute;
pointer-events: none;
}
+
div.mw-bookmanagerv2-nav-dropdown:after {
border-color: rgba(245, 245, 245, 0);
border-bottom-color: #f5f5f5;
@@ -42,6 +44,7 @@
left: 50%;
margin-left: -140px;
}
+
div.mw-bookmanagerv2-nav-dropdown:before {
border-color: rgba(220, 220, 220, 0);
border-bottom-color: #dcdcdc;
@@ -54,13 +57,29 @@
list-style: none;
margin: 0;
}
+
div.mw-bookmanagerv2-nav-toc {
margin-left: 45px;
}
+
div.mw-bookmanagerv2-nav-dropdown .title {
font-style: italic;
}
+
div.mw-bookmanagerv2-nav-scrollable {
max-height: 300px;
overflow: auto;
}
+
+div.mw-bookmanagerv2-nav-dropdown div.mw-bookmanagerv2-edit-wrapper {
+ overflow: hidden;
+}
+
+div.mw-bookmanagerv2-nav-dropdown span.mw-bookmanagerv2-edit-json-link {
+ float: right;
+}
+
+span.mw-bookmanagerv2-link-bracket,
+span.mw-bookmanagerv2-link-divider {
+ margin: 0 2px;
+}
--
To view, visit https://gerrit.wikimedia.org/r/80090
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ida0c1d96c05334a4f23f94a8c31a89d418f89b26
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