Jonas Kress (WMDE) has uploaded a new change for review.

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

Change subject: Add info icon with commons link
......................................................................

Add info icon with commons link

Change-Id: Ie6f262536524a4533f0fb4be62147635dbe96461
---
M view/resources/jquery/wikibase/jquery.wikibase.itemview.js
M view/resources/templates.php
M view/resources/wikibase/wikibase.PageImage.js
M view/resources/wikibase/wikibase.css
M view/src/ItemView.php
5 files changed, 52 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/90/265290/1

diff --git a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js 
b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
index f15c70e..e989f9f 100644
--- a/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
+++ b/view/resources/jquery/wikibase/jquery.wikibase.itemview.js
@@ -60,19 +60,14 @@
         * @protected
         */
        _createPageImage: function() {
+               var size = $( '.wikibase-entityview-side' ).outerWidth(),
+                       pageImage = new wb.PageImage( size, size );
 
-//             var size = $( '.wikibase-entityview-side' ).outerWidth(),
-//                     pageImage = new wb.PageImage( size, size );
-//
-//             var div =  $( '<div/>' ).addClass( 'pageImage' );
-//             var div =  $( '<div/>' ).addClass( 'pageImage' );
-//
-//             $( '.wikibase-entityview-side' ).prepand( div );
-//
-//             pageImage.getPageImage().done(function( element ){
-//                     div.append( element );
-//             });
-
+               pageImage.getPageImage().done(function( element, url ){
+                       $( '.wikibase-pageImage a.info' ).attr( 'href', url);
+                       $( '.wikibase-pageImage' ).append( element );
+                       $( '.wikibase-pageImage' ).show();
+               });
        },
 
        /**
diff --git a/view/resources/templates.php b/view/resources/templates.php
index 907ea49..472d222 100644
--- a/view/resources/templates.php
+++ b/view/resources/templates.php
@@ -322,5 +322,12 @@
 </div>
 HTML;
 
+       $templates['wikibase-pageimage'] =
+<<<HTML
+<div class="wikibase-pageImage">
+       <div class="info"><a href=""><span class="wb-icon"></span></a></div>
+</div>
+HTML;
+
        return $templates;
 } );
diff --git a/view/resources/wikibase/wikibase.PageImage.js 
b/view/resources/wikibase/wikibase.PageImage.js
index 0db5f38..942dad3 100644
--- a/view/resources/wikibase/wikibase.PageImage.js
+++ b/view/resources/wikibase/wikibase.PageImage.js
@@ -43,6 +43,7 @@
        SELF.prototype._thumbnailSize = 400;
        SELF.prototype._minScale = 1;
        SELF.prototype._crossOriginXmlUrl = 
'https://upload.wikimedia.org/crossdomain.xml';
+       SELF.prototype._referenceUrl = 
'https://commons.wikimedia.org/wiki/File:';
 
        /**
         * Returns the page image as DOM element
@@ -57,7 +58,7 @@
                        self._loadImage( url ).done(
                                function( image ) {
                                        self._getSmartCrop( image 
).done(function( crop ) {
-                                               
deferred.resolve(self._getMaskedImage( image, crop, referenceUrl ));
+                                               
deferred.resolve(self._getMaskedImage( image, crop ), referenceUrl);
                                        });
                                });
                } );
@@ -101,13 +102,9 @@
        /**
         * @private
         **/
-       SELF.prototype._getMaskedImage = function( image, crop, ref ) {
+       SELF.prototype._getMaskedImage = function( image, crop ) {
 
                var canvas = $('<canvas/>')[0], ctx = canvas.getContext('2d');
-
-               if( ref ){
-                       $( canvas ).data( 'ref', ref );
-               }
 
                canvas.width = this._width;
                canvas.height = this._height;
@@ -135,7 +132,7 @@
                                var page = data.query.pages[Object.keys( 
data.query.pages )[0]];
                                if( page.thumbnail ){
                                        deferred.resolve( page.thumbnail.source,
-                                                       
page.pageprops.page_image );// jshint ignore:line
+                                                       self._referenceUrl + 
page.pageprops.page_image );// jshint ignore:line
                                }
 
                        });
diff --git a/view/resources/wikibase/wikibase.css 
b/view/resources/wikibase/wikibase.css
index 34497d3..279fff2 100644
--- a/view/resources/wikibase/wikibase.css
+++ b/view/resources/wikibase/wikibase.css
@@ -616,18 +616,33 @@
 
 /********** PAGE IMAGE **********/
 
-.wikibase .pageImage > canvas {
+.wikibase-pageImage {
        border: 1px solid #C9C9C9;
+       position: relative;
+       height: 300px;
+       width: 300px;
 }
 
-.wikibase .pageImage .overlay {
+.wikibase-pageImage .info {
        position: absolute;
+       bottom: 0;
+       right: 10px;
 }
-
-.wb-sitelinks-heading .sitelinklistview-counter {
-       font-size: 67%; /* reset to standard font size */
-       margin-left: 0.6em;
-       line-height: 100%; /* prevent white space below heading */
+.wikibase-pageImage .info .wb-icon {
+       width: 20px;
+       height: 20px;
+       display: inline-block;
+       background-size: 24px 24px;
+       background-position: center;
+       background-repeat: no-repeat;
+       /* SVG support using a transparent gradient to guarantee cross-browser
+        * compatibility (browsers able to understand gradient syntax support 
also SVG).
+        * 
http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique */
+       background-image: 
url(../jquery/wikibase/toolbar/themes/default/images/icons/oojs-ui/info.png);
+       /* @embed */
+       background-image: -webkit-linear-gradient(transparent, transparent), 
url(../jquery/wikibase/toolbar/themes/default/images/icons/oojs-ui/info.png);
+       /* @embed */
+       background-image: linear-gradient(transparent, transparent), 
url(../jquery/wikibase/toolbar/themes/default/images/icons/oojs-ui/info.png);
 }
 
 /********** /PAGEIMAGE **********/
@@ -676,4 +691,4 @@
        margin: 0;
        border: none;
 }
-/***** /DIFF VIEW *****/
+/***** /DIFF VIEW *****/
\ No newline at end of file
diff --git a/view/src/ItemView.php b/view/src/ItemView.php
index 4af2034..7f5ced2 100644
--- a/view/src/ItemView.php
+++ b/view/src/ItemView.php
@@ -81,7 +81,8 @@
         */
        protected function getSideHtml( EntityRevision $entityRevision ) {
                $item = $entityRevision->getEntity();
-               return $this->getHtmlForSiteLinks( $item );
+               return  $this->getHtmlForPageImage($item)
+                               .$this->getHtmlForSiteLinks( $item );
        }
 
        /**
@@ -101,4 +102,13 @@
                );
        }
 
+       /**
+        * Builds and returns the HTML representing a WikibaseEntity's page 
image.
+        *
+        * @return string
+        */
+       protected function getHtmlForPageImage() {
+               return $this->templateFactory->render( 'wikibase-pageimage' );
+       }
+
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie6f262536524a4533f0fb4be62147635dbe96461
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de>

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

Reply via email to