Victorbarbu has uploaded a new change for review.

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

Change subject: Added WikidataPageBanner support for extraClass
......................................................................

Added WikidataPageBanner support for extraClass

I added WikidataPageBanner extensions support for extraClass to allow 
customization.
The classes added via the "extraClass" attribute are separated by space and 
will be added to the .wpb-topbanner div.

Bug: T110904
Change-Id: Ib63e87b5bf7c19a5a5c50b0c69a49c59735d6b5f
---
M includes/WikidataPageBanner.hooks.php
M templates/banner.mustache
2 files changed, 18 insertions(+), 2 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikidataPageBanner 
refs/changes/52/259152/1

diff --git a/includes/WikidataPageBanner.hooks.php 
b/includes/WikidataPageBanner.hooks.php
index 51c24b7..dca1b3e 100644
--- a/includes/WikidataPageBanner.hooks.php
+++ b/includes/WikidataPageBanner.hooks.php
@@ -22,6 +22,7 @@
                'bottomtoc',
                'origin',
                'icon-*',
+               'extraClass'
        );
 
        /**
@@ -72,7 +73,7 @@
         * @param Skin $skin Skin object being rendered
         * @return  bool
         */
-       public static function addBanner( OutputPage $out, Skin $skin ) {
+       public static  function addBanner( OutputPage $out, Skin $skin ) {
                // if images are disabled on Minerva skin, then do nothing
                if ( class_exists( 'MobileContext' )
                                && 
MobileContext::singleton()->shouldDisplayMobileView()
@@ -81,6 +82,10 @@
                        return true;
                }
                $config = WikidataPageBannerFunctions::getWPBConfig();
+
+               // todo Remove the debugger
+               wfDebug( 'WikidatPageBanner $config from addBanner' );
+
                $title = $out->getTitle();
                $isDiff = $out->getRequest()->getVal( 'diff' );
                $wpbFunctionsClass = self::$wpbFunctionsClass;
@@ -88,6 +93,7 @@
                // if banner-options are set and not a diff page, add banner 
anyway
                if ( $out->getProperty( 'wpb-banner-options' ) !== null && 
!$isDiff ) {
                        $params = $out->getProperty( 'wpb-banner-options' );
+
                        $bannername = $params['name'];
                        if ( isset( $params['icons'] ) ){
                                $out->enableOOUI();
@@ -222,6 +228,8 @@
         * @param string $bannername Name of custom banner
         */
        public static function addCustomBanner( Parser $parser, $bannername ) {
+               var_dump( 'entered' );
+
                // @var array to hold parameters to be passed to banner template
                $paramsForBannerTemplate = array();
                // skip parser function name and bannername in arguments
@@ -230,6 +238,9 @@
                $wpbFunctionsClass = self::$wpbFunctionsClass;
                $argumentsFromParserFunction = $wpbFunctionsClass::
                        extractOptions( $argumentsFromParserFunction );
+
+               wfDebug( print_r($argumentsFromParserFunction, true) );
+
                // if given banner does not exist, return
                $title = $parser->getTitle();
                $ns = $title->getNamespace();
@@ -253,6 +264,11 @@
                                // set title attribute to 'pgname' if set
                                $paramsForBannerTemplate['title'] = 
$argumentsFromParserFunction['pgname'];
                        }
+                       // set extra CSS classes added with extraClass attribute
+                       if ( isset( $argumentsFromParserFunction['extraClass'] 
) ) {
+                               $paramsForBannerTemplate['extraClass'] =
+                                               
$argumentsFromParserFunction['extraClass'];
+                       }
                        // set tooltip attribute to  parameter 'tooltip', if 
set, which takes highest preference
                        if ( isset( $argumentsFromParserFunction['tooltip'] ) ) 
{
                                $paramsForBannerTemplate['tooltip'] = 
$argumentsFromParserFunction['tooltip'];
diff --git a/templates/banner.mustache b/templates/banner.mustache
index 5816d3d..82b5d4c 100644
--- a/templates/banner.mustache
+++ b/templates/banner.mustache
@@ -1,5 +1,5 @@
 <div class="ext-wpb-pagebanner noprint pre-content">
-       <div class="wpb-topbanner">
+       <div class="wpb-topbanner {{extraClass}}">
                {{#isHeadingOverrideEnabled}}<h1 
class="wpb-name">{{title}}</h1>{{/isHeadingOverrideEnabled}}
                <a class="image" title="{{tooltip}}" href="{{bannerfile}}"><img 
src="{{banner}}" srcset="{{srcset}}" class="wpb-banner-image {{originx}}" 
data-pos-x="{{data-pos-x}}" data-pos-y="{{data-pos-y}}" 
style="max-width:{{maxWidth}}px"></a>
                {{#hasIcons}}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib63e87b5bf7c19a5a5c50b0c69a49c59735d6b5f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikidataPageBanner
Gerrit-Branch: master
Gerrit-Owner: Victorbarbu <victorbarb...@gmail.com>

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

Reply via email to