Henning Snater has uploaded a new change for review.

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

Change subject: sitelinkview: Moved badges to the end of the line
......................................................................

sitelinkview: Moved badges to the end of the line

->76215

Change-Id: I2439aeda32c281bceb6ffdad80b5d3e78fc44748
---
M lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
M 
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinklistview.css
M lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinkview.css
M repo/resources/templates.php
4 files changed, 43 insertions(+), 5 deletions(-)


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

diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
index 0eaf996..f2c41bd 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkview.js
@@ -104,6 +104,8 @@
                        // sitelinkview is created dynamically, in contrast to 
being initialized on pre-existing
                        // DOM.
                        this._draw();
+               } else {
+                       this._shortenPageName();
                }
 
                this._createBadgeSelector();
@@ -189,10 +191,42 @@
                        this._drawEditMode();
                } else {
                        this.element.removeClass( 'wb-edit' );
+                       this._shortenPageName();
                }
        },
 
        /**
+        * Shortens the page name using the ellipsis character in order to 
prevent the page name from
+        * wrapping.
+        * @private
+        */
+       _shortenPageName: function() {
+               if( this._isInEditMode ) {
+                       return;
+               }
+               var $a = this.$link.find( 'a' ),
+                       fullText = $a.text(),
+                       text = fullText;
+
+               $a.text( '.' );
+
+               var lineHeight = this.element.height();
+
+               $a.text( text );
+
+               if( this.element.height() <= lineHeight ) {
+                       return;
+               }
+
+               while( this.element.height() > lineHeight && text.length > 0 ) {
+                       text = text.substring( 0, text.length - 1 );
+                       $a.text( text + '…' );
+               }
+
+               $a.attr( 'title', fullText );
+       },
+
+       /**
         * Draws the edit mode context.
         */
        _drawEditMode: function() {
diff --git 
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinklistview.css
 
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinklistview.css
index 2898caf..e0964a6 100644
--- 
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinklistview.css
+++ 
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinklistview.css
@@ -19,10 +19,11 @@
 .wikibase-sitelinklistview .wikibase-sitelinkview {
        clear: both;
        float: left;
-       overflow: hidden;
-       text-overflow: ellipsis;
-       white-space: nowrap;
+       line-height: 1.2;
        width: 100%;
+}
+.wikibase-sitelinklistview.wb-edit .wikibase-sitelinkview {
+       white-space: nowrap;
 }
 .wikibase-sitelinklistview .wikibase-sitelinkview-new {
        white-space: normal;
@@ -47,7 +48,6 @@
 .wikibase-sitelinklistview .wikibase-sitelinkview .wikibase-sitelinkview-link {
        display: inline;
        margin-left: 0.4em;
-       white-space: nowrap;
        word-wrap: break-word;
 }
 .wikibase-sitelinklistview .wikibase-sitelinkview 
.wikibase-sitelinkview-link-new {
diff --git 
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinkview.css 
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinkview.css
index d918b45..1ab169b 100644
--- 
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinkview.css
+++ 
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.sitelinkview.css
@@ -35,3 +35,7 @@
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
 }
+
+.wikibase-sitelinkview-badges {
+       margin-left: 0.4em;
+}
diff --git a/repo/resources/templates.php b/repo/resources/templates.php
index 8cbf539..2847641 100644
--- a/repo/resources/templates.php
+++ b/repo/resources/templates.php
@@ -276,7 +276,7 @@
 
        $templates['wikibase-sitelinkview-pagename'] =
 <<<HTML
-$3<span class="wikibase-sitelinkview-page"><a href="$1" 
hreflang="$4">$2</a></span>
+<span class="wikibase-sitelinkview-page"><a href="$1" 
hreflang="$4">$2</a></span>$3
 HTML;
 
        $templates['wikibase-sitelinkview-unknown'] =

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2439aeda32c281bceb6ffdad80b5d3e78fc44748
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to