Eflyjason has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/405699 )

Change subject: Add a inline TOC to action=info
......................................................................

Add a inline TOC to action=info

Also moving #filetoc from file description page only to a
more general .inlinetoc in mediawiki.toc for future uses.

Bug: T162980
Change-Id: Ie42e9eb78a582051ede8db4a482b0034bc53eaf9
---
M includes/actions/InfoAction.php
M includes/page/ImagePage.php
M resources/src/mediawiki.action/mediawiki.action.view.filepage.css
M resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css
M resources/src/mediawiki.legacy/oldshared.css
M resources/src/mediawiki/mediawiki.toc.css
M resources/src/mediawiki/mediawiki.toc.print.css
7 files changed, 34 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/99/405699/1

diff --git a/includes/actions/InfoAction.php b/includes/actions/InfoAction.php
index 3d33406..d76fb7a 100644
--- a/includes/actions/InfoAction.php
+++ b/includes/actions/InfoAction.php
@@ -85,6 +85,9 @@
         * @return string Page information that will be added to the output
         */
        public function onView() {
+               $out = $this->getOutput();
+               $out->addModules( 'mediawiki.toc' );
+
                $content = '';
 
                // Validate revision
@@ -119,6 +122,13 @@
                // Get page information
                $pageInfo = $this->pageInfo();
 
+               // Add inline table of content
+               $headers = [];
+               foreach ( $pageInfo as $header => $infoTable ) {
+                       $headers[] = '<li><a href="#mw-pageinfo-' . $header . 
'">' . $this->msg( "pageinfo-${header}" )->text() . '</a></li>';
+               }
+               $content .= '<ul class="inlinetoc">' . implode( "\n", $headers 
) . '</ul>';
+
                // Allow extensions to add additional information
                Hooks::run( 'InfoAction', [ $this->getContext(), &$pageInfo ] );
 
diff --git a/includes/page/ImagePage.php b/includes/page/ImagePage.php
index b5ff805..1afe5e5 100644
--- a/includes/page/ImagePage.php
+++ b/includes/page/ImagePage.php
@@ -131,6 +131,7 @@
                }
 
                if ( !$diff && $this->displayImg->exists() ) {
+                       $out->addModules( [ 'mediawiki.toc' ] );
                        $out->addHTML( $this->showTOC( $showmeta ) );
                }
 
@@ -237,7 +238,7 @@
                                '</a></li>';
                }
 
-               return '<ul id="filetoc">' . implode( "\n", $r ) . '</ul>';
+               return '<ul class="inlinetoc">' . implode( "\n", $r ) . '</ul>';
        }
 
        /**
diff --git a/resources/src/mediawiki.action/mediawiki.action.view.filepage.css 
b/resources/src/mediawiki.action/mediawiki.action.view.filepage.css
index b643d76..5ef3491 100644
--- a/resources/src/mediawiki.action/mediawiki.action.view.filepage.css
+++ b/resources/src/mediawiki.action/mediawiki.action.view.filepage.css
@@ -42,26 +42,6 @@
 }
 
 /*
- * filetoc
- */
-#filetoc {
-       text-align: center;
-       border: 1px solid #a2a9b1;
-       background-color: #f8f9fa;
-       padding: 5px;
-       font-size: 95%;
-       margin-bottom: 0.5em;
-       margin-left: 0;
-       margin-right: 0;
-}
-
-#filetoc li {
-       display: inline;
-       list-style-type: none;
-       padding-right: 2em;
-}
-
-/*
  * Shared images hint
  */
 #shared-image-dup,
diff --git 
a/resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css 
b/resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css
index 15b20f1..6adee43 100644
--- a/resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css
+++ b/resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css
@@ -2,7 +2,6 @@
  * File description page - print style
  */
 
-span.mw-filepage-other-resolutions,
-#filetoc {
+span.mw-filepage-other-resolutions {
        display: none;
 }
diff --git a/resources/src/mediawiki.legacy/oldshared.css 
b/resources/src/mediawiki.legacy/oldshared.css
index 7b2d711..0a260d4 100644
--- a/resources/src/mediawiki.legacy/oldshared.css
+++ b/resources/src/mediawiki.legacy/oldshared.css
@@ -455,7 +455,7 @@
 }
 
 /* @noflip */
-html > body.rtl .mw-body ul#filetoc {
+html > body.rtl .mw-body ul.inlinetoc {
        display: block;
 }
 
diff --git a/resources/src/mediawiki/mediawiki.toc.css 
b/resources/src/mediawiki/mediawiki.toc.css
index 835a451..18bf6a3 100644
--- a/resources/src/mediawiki/mediawiki.toc.css
+++ b/resources/src/mediawiki/mediawiki.toc.css
@@ -9,3 +9,21 @@
 .toctoggle {
        font-size: 94%;
 }
+
+
+.inlinetoc {
+       text-align: center;
+       border: 1px solid #a2a9b1;
+       background-color: #f8f9fa;
+       padding: 5px;
+       font-size: 95%;
+       margin-bottom: 0.5em;
+       margin-left: 0;
+       margin-right: 0;
+}
+
+.inlinetoc li {
+       display: inline;
+       list-style-type: none;
+       padding-right: 2em;
+}
diff --git a/resources/src/mediawiki/mediawiki.toc.print.css 
b/resources/src/mediawiki/mediawiki.toc.print.css
index 5f6eb25..514e30e 100644
--- a/resources/src/mediawiki/mediawiki.toc.print.css
+++ b/resources/src/mediawiki/mediawiki.toc.print.css
@@ -1,5 +1,6 @@
 #toc.tochidden,
 .toc.tochidden,
-.toctoggle {
+.toctoggle,
+.inlinetoc {
        display: none;
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie42e9eb78a582051ede8db4a482b0034bc53eaf9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Eflyjason <eflyja...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to