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