Daniel Kinzler has uploaded a new change for review.

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


Change subject: (bug 57661) Localized display of rank changes
......................................................................

(bug 57661) Localized display of rank changes

Change-Id: I105ed90c9643a4372f98bba677835801d4b741d3
---
M lib/includes/ClaimDifferenceVisualizer.php
1 file changed, 23 insertions(+), 5 deletions(-)


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

diff --git a/lib/includes/ClaimDifferenceVisualizer.php 
b/lib/includes/ClaimDifferenceVisualizer.php
index f024902..681dd1d 100644
--- a/lib/includes/ClaimDifferenceVisualizer.php
+++ b/lib/includes/ClaimDifferenceVisualizer.php
@@ -11,6 +11,7 @@
 use RuntimeException;
 use ValueFormatters\ValueFormatter;
 use ValueParsers\FormattingException;
+use Wikibase\Lib\Serializers\ClaimSerializer;
 use Wikibase\Lib\SnakFormatter;
 
 /**
@@ -91,7 +92,7 @@
                }
 
                if ( $claimDifference->getRankChange() !== null ) {
-                       $html .= $this->visualizeRankChange( 
$claimDifference->getRankChange() );
+                       $html .= $this->visualizeRankChange( 
$claimDifference->getRankChange(), $baseClaim );
                }
 
                if ( $claimDifference->getQualifierChanges() !== null ) {
@@ -168,15 +169,32 @@
         * @since 0.4
         *
         * @param DiffOpChange $rankChange
+        * @param Claim $claim the claim, as context for display
         *
         * @return string
         */
-       protected function visualizeRankChange( DiffOpChange $rankChange ) {
+       protected function visualizeRankChange( DiffOpChange $rankChange, Claim 
$claim ) {
+               $claimMainSnak = $claim->getMainSnak();
+               $claimHeader = $this->getSnakHeader( $claimMainSnak );
+
+               $oldValue = $rankChange->getOldValue();
+               $newValue = $rankChange->getNewValue();
+
+               // ranks are currently represented as integer values internally
+               if ( is_int( $oldValue ) ) {
+                       $oldValue = ClaimSerializer::serializeRank( $oldValue );
+               }
+
+               if ( is_int( $newValue ) ) {
+                       $newValue = ClaimSerializer::serializeRank( $newValue );
+               }
+
                $valueFormatter = new DiffOpValueFormatter(
-                       wfMessage( 'wikibase-diffview-rank' )->inLanguage( 
$this->langCode ),
-                       $rankChange->getOldValue(),
-                       $rankChange->getNewValue()
+                       $claimHeader . ' / ' . wfMessage( 
'wikibase-diffview-rank' )->inLanguage( $this->langCode )->parse(),
+                       wfMessage( 'wikibase-statementview-rank-' . $oldValue 
)->inLanguage( $this->langCode )->parse(),
+                       wfMessage( 'wikibase-statementview-rank-' . $newValue 
)->inLanguage( $this->langCode )->parse()
                );
+
                return $valueFormatter->generateHtml();
        }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I105ed90c9643a4372f98bba677835801d4b741d3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler <daniel.kinz...@wikimedia.de>

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

Reply via email to