Adrian Lang has uploaded a new change for review.
https://gerrit.wikimedia.org/r/180132
Change subject: Inject SiteLinksView into ItemView
......................................................................
Inject SiteLinksView into ItemView
Change-Id: I2a5bf0b8538655d1b71521760968e91d8d7cc441
---
M repo/includes/View/EntityViewFactory.php
M repo/includes/View/ItemView.php
M repo/tests/phpunit/includes/View/ItemViewTest.php
3 files changed, 30 insertions(+), 17 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/32/180132/1
diff --git a/repo/includes/View/EntityViewFactory.php
b/repo/includes/View/EntityViewFactory.php
index 6467dfb..338a109 100644
--- a/repo/includes/View/EntityViewFactory.php
+++ b/repo/includes/View/EntityViewFactory.php
@@ -98,7 +98,22 @@
// @fixme support more entity types
switch ( $entityType ) {
case 'item':
- return new ItemView( $fingerprintView,
$claimsView, $language, $this->siteLinkGroups, $editable );
+ // FIXME: Inject this
+ $siteLinksView = new SiteLinksView(
+
WikibaseRepo::getDefaultInstance()->getSiteStore()->getSites(),
+ $this->sectionEditLinkGenerator,
+ $this->entityLookup,
+ $language->getCode()
+ );
+
+ return new ItemView(
+ $fingerprintView,
+ $claimsView,
+ $language,
+ $siteLinksView,
+ $this->siteLinkGroups,
+ $editable
+ );
case 'property':
return new PropertyView( $fingerprintView,
$claimsView, $language, $editable );
}
diff --git a/repo/includes/View/ItemView.php b/repo/includes/View/ItemView.php
index 96f8620..907f578 100644
--- a/repo/includes/View/ItemView.php
+++ b/repo/includes/View/ItemView.php
@@ -6,7 +6,6 @@
use Language;
use Wikibase\DataModel\Entity\Item;
use Wikibase\EntityRevision;
-use Wikibase\Repo\WikibaseRepo;
/**
* Class for creating views for Item instances.
@@ -26,11 +25,17 @@
private $siteLinkGroups;
/**
+ * @var SiteLinksView
+ */
+ private $siteLinksView;
+
+ /**
* @see EntityView::__construct
*
* @param FingerprintView $fingerprintView
* @param ClaimsView $claimsView
* @param Language $language
+ * @param SiteLinksView $siteLinksView
* @param string[] $siteLinkGroups
* @param bool $editable
*/
@@ -38,12 +43,14 @@
FingerprintView $fingerprintView,
ClaimsView $claimsView,
Language $language,
+ SiteLinksView $siteLinksView,
array $siteLinkGroups,
- $editable = true
+ $editable = true
) {
parent::__construct( $fingerprintView, $claimsView, $language,
$editable );
$this->siteLinkGroups = $siteLinkGroups;
+ $this->siteLinksView = $siteLinksView;
}
/**
@@ -95,21 +102,9 @@
* @return string
*/
protected function getHtmlForSiteLinks( Item $item ) {
- $wikibaseRepo = WikibaseRepo::getDefaultInstance();
-
- // FIXME: Inject this
- $siteLinksView = new SiteLinksView(
- $wikibaseRepo->getSiteStore()->getSites(),
- new SectionEditLinkGenerator(),
- $wikibaseRepo->getEntityLookup(),
- $this->language->getCode()
- );
-
- $itemId = $item->getId();
-
- return $siteLinksView->getHtml(
+ return $this->siteLinksView->getHtml(
$item->getSiteLinks(),
- $itemId,
+ $item->getId(),
$this->siteLinkGroups,
$this->editable
);
diff --git a/repo/tests/phpunit/includes/View/ItemViewTest.php
b/repo/tests/phpunit/includes/View/ItemViewTest.php
index 1c2738c..a33c2c0 100644
--- a/repo/tests/phpunit/includes/View/ItemViewTest.php
+++ b/repo/tests/phpunit/includes/View/ItemViewTest.php
@@ -55,6 +55,9 @@
->disableOriginalConstructor()
->getMock(),
$this->getMock( 'Language' ),
+ $this->getMockBuilder(
'Wikibase\Repo\View\SiteLinksView' )
+ ->disableOriginalConstructor()
+ ->getMock(),
array()
);
--
To view, visit https://gerrit.wikimedia.org/r/180132
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a5bf0b8538655d1b71521760968e91d8d7cc441
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits