WikidataBuilder has uploaded a new change for review.
https://gerrit.wikimedia.org/r/296704
Change subject: New Wikidata Build - 2016-06-30T10:00:01+0000
......................................................................
New Wikidata Build - 2016-06-30T10:00:01+0000
Change-Id: I3c7bdda07e6a79a78d1e9118fedae94a64500583
---
M composer.lock
M
extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
M
extensions/Wikibase/client/tests/phpunit/includes/UpdateRepo/UpdateRepoOnMoveTest.php
M
extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
M extensions/Wikibase/lib/includes/Interactors/TermIndexSearchInteractor.php
M extensions/Wikibase/lib/includes/Interactors/TermSearchOptions.php
M extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php
M extensions/Wikibase/repo/includes/Api/CreateClaim.php
M extensions/Wikibase/repo/includes/Content/EntityContent.php
M extensions/Wikibase/repo/includes/Hooks/LinkBeginHookHandler.php
M
extensions/Wikibase/repo/includes/ParserOutput/FallbackHintHtmlTermRenderer.php
M
extensions/Wikibase/repo/includes/ParserOutput/PlaceholderEmittingEntityTermsView.php
M extensions/Wikibase/repo/includes/Store/Sql/EntityPerPageTable.php
M
extensions/Wikibase/repo/tests/phpunit/includes/Hooks/LinkBeginHookHandlerTest.php
M
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
M
extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
M extensions/Wikibase/view/resources/jquery/wikibase/resources.php
M
extensions/Wikibase/view/resources/jquery/wikibase/toolbar/controller/definitions/addtoolbar/statementlistview-statementview.js
M extensions/Wikibase/view/resources/wikibase/view/ViewFactory.js
M extensions/Wikibase/view/resources/wikibase/view/resources.php
M extensions/Wikibase/view/resources/wikibase/wikibase.css
M extensions/Wikibase/view/tests/phpunit/SimpleEntityTermsViewTest.php
M
extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
M extensions/Wikibase/view/tests/qunit/jquery/wikibase/resources.php
M extensions/Wikibase/view/tests/qunit/wikibase/view/ViewFactory.tests.js
M vendor/composer/installed.json
26 files changed, 179 insertions(+), 176 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata
refs/changes/04/296704/1
diff --git a/composer.lock b/composer.lock
index 064d74d..fe9b88d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1570,12 +1570,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "b4b1c73b88b13dee84f57b2275a096c795485af2"
+ "reference": "4ba75372bdb4cafd8e0c1f1338292a973e73e094"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/b4b1c73b88b13dee84f57b2275a096c795485af2",
- "reference": "b4b1c73b88b13dee84f57b2275a096c795485af2",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/4ba75372bdb4cafd8e0c1f1338292a973e73e094",
+ "reference": "4ba75372bdb4cafd8e0c1f1338292a973e73e094",
"shasum": ""
},
"require": {
@@ -1648,7 +1648,7 @@
"wikibaserepo",
"wikidata"
],
- "time": "2016-06-29 08:22:07"
+ "time": "2016-06-30 09:06:33"
},
{
"name": "wikibase/wikimedia-badges",
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
index 7d114ad..c87c190 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
@@ -12,8 +12,6 @@
use Wikibase\Client\DataAccess\Scribunto\Scribunto_LuaWikibaseLibrary;
use Wikibase\Client\RepoLinker;
use Wikibase\Client\WikibaseClient;
-use Wikibase\DataModel\Entity\EntityIdParser;
-use Wikibase\DataModel\Entity\EntityIdParsingException;
use Wikibase\Lib\Store\PropertyOrderProvider;
/**
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/UpdateRepo/UpdateRepoOnMoveTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/UpdateRepo/UpdateRepoOnMoveTest.php
index f9daea3..dabbe3c 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/UpdateRepo/UpdateRepoOnMoveTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/UpdateRepo/UpdateRepoOnMoveTest.php
@@ -135,7 +135,7 @@
public function testInjectJob() {
$updateRepo = $this->getNewUpdateRepoOnMove();
- $jobQueueGroupMock = $this->getJobQueueGroupMock( true );
+ $jobQueueGroupMock = $this->getJobQueueGroupMock();
$updateRepo->injectJob( $jobQueueGroupMock );
}
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
index 473292b..cfc8450 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
@@ -300,7 +300,7 @@
$usages = array( $u3i, $u3l, $u4l );
$usageTable = $this->getEntityUsageTable( 3 );
- $usageTable->addUsages( 23, $usages, '20150102030405' );
+ $usageTable->addUsages( 23, $usages );
$this->assertEmpty( $usageTable->getUnusedEntities( array( $q4
) ), 'Q4 should not be unused' );
diff --git
a/extensions/Wikibase/lib/includes/Interactors/TermIndexSearchInteractor.php
b/extensions/Wikibase/lib/includes/Interactors/TermIndexSearchInteractor.php
index 962152b..def4819 100644
--- a/extensions/Wikibase/lib/includes/Interactors/TermIndexSearchInteractor.php
+++ b/extensions/Wikibase/lib/includes/Interactors/TermIndexSearchInteractor.php
@@ -199,7 +199,7 @@
}
/**
- * @param TermIndexEntry[]
+ * @param TermIndexEntry[] $matchedTermIndexEntries
*
* @return string[]
*/
@@ -219,6 +219,8 @@
* @param string[] $termTypes
* @param string $entityType
* @param string[] $matchedEntityIdSerializations
+ *
+ * @return TermIndexEntry[]
*/
private function getFallbackMatchedTermIndexEntries(
$text,
diff --git a/extensions/Wikibase/lib/includes/Interactors/TermSearchOptions.php
b/extensions/Wikibase/lib/includes/Interactors/TermSearchOptions.php
index 7b2355a..1690db8 100644
--- a/extensions/Wikibase/lib/includes/Interactors/TermSearchOptions.php
+++ b/extensions/Wikibase/lib/includes/Interactors/TermSearchOptions.php
@@ -2,7 +2,6 @@
namespace Wikibase\Lib\Interactors;
-use Wikibase\DataModel\Term\Term;
use Wikimedia\Assert\Assert;
/**
diff --git a/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php
b/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php
index 084aaf2..43a8031 100644
--- a/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php
+++ b/extensions/Wikibase/repo/includes/Actions/ViewEntityAction.php
@@ -7,7 +7,6 @@
use OutputPage;
use ViewAction;
use Wikibase\Repo\WikibaseRepo;
-use Xml;
/**
* Handles the view action for Wikibase entities.
diff --git a/extensions/Wikibase/repo/includes/Api/CreateClaim.php
b/extensions/Wikibase/repo/includes/Api/CreateClaim.php
index 64f4628..6ddc532 100644
--- a/extensions/Wikibase/repo/includes/Api/CreateClaim.php
+++ b/extensions/Wikibase/repo/includes/Api/CreateClaim.php
@@ -127,7 +127,7 @@
* Checks if the required parameters are set and the ones that make no
sense given the
* snaktype value are not set.
*
- * @params array $params
+ * @param array $params
*/
private function validateParameters( array $params ) {
if ( $params['snaktype'] === 'value' xor isset(
$params['value'] ) ) {
diff --git a/extensions/Wikibase/repo/includes/Content/EntityContent.php
b/extensions/Wikibase/repo/includes/Content/EntityContent.php
index 3a80bc7..d9c2571 100644
--- a/extensions/Wikibase/repo/includes/Content/EntityContent.php
+++ b/extensions/Wikibase/repo/includes/Content/EntityContent.php
@@ -26,7 +26,6 @@
use Wikibase\DataModel\Entity\EntityDocument;
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\EntityRedirect;
-use Wikibase\DataModel\Services\Diff\EntityPatcher;
use Wikibase\DataModel\Term\FingerprintProvider;
use Wikibase\Repo\Content\EntityContentDiff;
use Wikibase\Repo\Content\EntityHandler;
diff --git a/extensions/Wikibase/repo/includes/Hooks/LinkBeginHookHandler.php
b/extensions/Wikibase/repo/includes/Hooks/LinkBeginHookHandler.php
index e41424c..2b500c5 100644
--- a/extensions/Wikibase/repo/includes/Hooks/LinkBeginHookHandler.php
+++ b/extensions/Wikibase/repo/includes/Hooks/LinkBeginHookHandler.php
@@ -321,16 +321,17 @@
. $this->pageLanguage->getDirMark()
: $title->getPrefixedText();
- $descriptionText = $descriptionLang->getDirMark() .
$descriptionText
- . $this->pageLanguage->getDirMark();
-
- return ( $descriptionText !== '' ) ?
- wfMessage(
+ if ( $descriptionText !== '' ) {
+ $descriptionText = $descriptionLang->getDirMark() .
$descriptionText
+ . $this->pageLanguage->getDirMark();
+ return wfMessage(
'wikibase-itemlink-title',
$titleText,
$descriptionText
- )->inContentLanguage()->text() :
- $titleText; // no description, just display the title
then
+ )->inContentLanguage()->text();
+ } else {
+ return $titleText; // no description, just display the
title then
+ }
}
}
diff --git
a/extensions/Wikibase/repo/includes/ParserOutput/FallbackHintHtmlTermRenderer.php
b/extensions/Wikibase/repo/includes/ParserOutput/FallbackHintHtmlTermRenderer.php
index 3f7447f..ce81bf0 100644
---
a/extensions/Wikibase/repo/includes/ParserOutput/FallbackHintHtmlTermRenderer.php
+++
b/extensions/Wikibase/repo/includes/ParserOutput/FallbackHintHtmlTermRenderer.php
@@ -28,6 +28,7 @@
private $languageDirectionalityLookup;
/**
+ * @param LanguageDirectionalityLookup $languageDirectionalityLookup
* @param LanguageNameLookup $languageNameLookup
*/
public function __construct(
diff --git
a/extensions/Wikibase/repo/includes/ParserOutput/PlaceholderEmittingEntityTermsView.php
b/extensions/Wikibase/repo/includes/ParserOutput/PlaceholderEmittingEntityTermsView.php
index a472ca6..fe6aa7d 100644
---
a/extensions/Wikibase/repo/includes/ParserOutput/PlaceholderEmittingEntityTermsView.php
+++
b/extensions/Wikibase/repo/includes/ParserOutput/PlaceholderEmittingEntityTermsView.php
@@ -45,7 +45,7 @@
* @param TemplateFactory $templateFactory
* @param EditSectionGenerator $sectionEditLinkGenerator
* @param LocalizedTextProvider $textProvider
- * @param TermListView $termListView
+ * @param TermsListView $termsListView
* @param TextInjector $textInjector
*/
public function __construct(
diff --git a/extensions/Wikibase/repo/includes/Store/Sql/EntityPerPageTable.php
b/extensions/Wikibase/repo/includes/Store/Sql/EntityPerPageTable.php
index 013991c..6da84c0 100644
--- a/extensions/Wikibase/repo/includes/Store/Sql/EntityPerPageTable.php
+++ b/extensions/Wikibase/repo/includes/Store/Sql/EntityPerPageTable.php
@@ -36,6 +36,7 @@
/**
* @param EntityIdParser $entityIdParser
+ * @param EntityIdComposer $entityIdComposer
*/
public function __construct( EntityIdParser $entityIdParser,
EntityIdComposer $entityIdComposer ) {
$this->entityIdParser = $entityIdParser;
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/Hooks/LinkBeginHookHandlerTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/Hooks/LinkBeginHookHandlerTest.php
index 0d5f8a8..aa55fa4 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/Hooks/LinkBeginHookHandlerTest.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/Hooks/LinkBeginHookHandlerTest.php
@@ -31,33 +31,49 @@
* @author Katie Filbert < [email protected] >
* @author Daniel Kinzler
* @author Marius Hoch < [email protected] >
+ * @author Thiemo Mättig
*/
class LinkBeginHookHandlerTest extends \MediaWikiTestCase {
const ITEM_WITH_LABEL = 'Q1';
const ITEM_WITHOUT_LABEL = 'Q11';
const ITEM_DELETED = 'Q111';
+ const ITEM_LABEL_NO_DESCRIPTION = 'Q1111';
+
+ /**
+ * @param string $id
+ * @param bool $exists
+ *
+ * @return Title
+ */
+ private function newTitle( $id, $exists = true ) {
+ $title = Title::makeTitle( NS_MAIN, $id );
+ $title->resetArticleID( $exists ? 1 : 0 );
+ $this->assertSame( $exists, $title->exists(), 'Sanity check' );
+ return $title;
+ }
+
+ /**
+ * @param string $title
+ *
+ * @return RequestContext
+ */
+ private function newContext( $title = 'Special:Recentchanges' ) {
+ return RequestContext::newExtraneousContext(
Title::newFromText( $title ) );
+ }
public function validContextProvider() {
- $historyContext = RequestContext::newExtraneousContext(
- Title::newFromText( 'Foo' )
- );
+ $historyContext = $this->newContext( 'Foo' );
$historyContext->getRequest()->setVal( 'action', 'history' );
- $diffContext = RequestContext::newExtraneousContext(
- Title::newFromText( 'Foo' )
- );
+ $diffContext = $this->newContext( 'Foo' );
$diffContext->getRequest()->setVal( 'diff', 123 );
- return array(
- "Special page" => array(
- RequestContext::newExtraneousContext(
- Title::newFromText(
'Special:Recentchanges' )
- )
- ),
- "Action history" => array( $historyContext ),
- "Diff" => array( $diffContext )
- );
+ return [
+ 'Special page' => [ $this->newContext() ],
+ 'Action history' => [ $historyContext ],
+ 'Diff' => [ $diffContext ],
+ ];
}
/**
@@ -66,10 +82,7 @@
public function testDoOnLinkBegin_validContext( RequestContext $context
) {
$linkBeginHookHandler = $this->getLinkBeginHookHandler();
- $title = Title::makeTitle( NS_MAIN, self::ITEM_WITH_LABEL );
- $title->resetArticleID( 1 );
- $this->assertTrue( $title->exists() ); // sanity check
-
+ $title = $this->newTitle( self::ITEM_WITH_LABEL );
$html = $title->getFullText();
$customAttribs = array();
@@ -88,26 +101,18 @@
}
public function invalidContextProvider() {
- $deleteContext = RequestContext::newExtraneousContext(
- Title::newFromText( 'Foo' )
- );
+ $deleteContext = $this->newContext( 'Foo' );
$deleteContext->getRequest()->setVal( 'action', 'delete' );
- $diffNonViewContext = RequestContext::newExtraneousContext(
- Title::newFromText( 'Foo' )
- );
+ $diffNonViewContext = $this->newContext( 'Foo' );
$diffNonViewContext->getRequest()->setVal( 'action', 'protect'
);
$diffNonViewContext->getRequest()->setVal( 'diff', 123 );
- return array(
- "Action delete" => array( $deleteContext ),
- "Non-special page" => array(
RequestContext::newExtraneousContext(
- Title::newFromText( 'Foo' )
- ) ),
- "Edge case: diff parameter set, but action != view" =>
array(
- $diffNonViewContext
- )
- );
+ return [
+ 'Action delete' => [ $deleteContext ],
+ 'Non-special page' => [ $this->newContext( 'Foo' ) ],
+ 'Edge case: diff parameter set, but action != view' =>
[ $diffNonViewContext ],
+ ];
}
/**
@@ -116,10 +121,7 @@
public function testDoOnLinkBegin_invalidContext( RequestContext
$context ) {
$linkBeginHookHandler = $this->getLinkBeginHookHandler();
- $title = Title::makeTitle( NS_MAIN, self::ITEM_WITH_LABEL );
- $title->resetArticleID( 1 );
- $this->assertTrue( $title->exists() ); // sanity check
-
+ $title = $this->newTitle( self::ITEM_WITH_LABEL );
$titleText = $title->getFullText();
$html = $titleText;
$customAttribs = array();
@@ -151,12 +153,11 @@
* @param string $linkTitle
*/
public function testDoOnLinkBegin_overrideSpecialNewEntityLink(
$linkTitle ) {
- $contextTitle = Title::newFromText( 'Special:Recentchanges' );
$linkBeginHookHandler = $this->getLinkBeginHookHandler();
$title = Title::makeTitle( NS_MAIN, $linkTitle );
$html = $title->getFullText();
- $context = RequestContext::newExtraneousContext( $contextTitle
);
+ $context = $this->newContext();
$attribs = array();
$linkBeginHookHandler->doOnLinkBegin( $title, $html, $attribs,
$context );
@@ -171,7 +172,6 @@
}
public function testDoOnLinkBegin_nonEntityTitleLink() {
- $contextTitle = Title::newFromText( 'Special:Recentchanges' );
$linkBeginHookHandler = $this->getLinkBeginHookHandler();
$title = Title::newMainPage();
@@ -182,7 +182,7 @@
$html = $titleText;
$customAttribs = array();
- $context = RequestContext::newExtraneousContext( $contextTitle
);
+ $context = $this->newContext();
$linkBeginHookHandler->doOnLinkBegin( $title, $html,
$customAttribs, $context );
$this->assertEquals( $titleText, $html );
@@ -190,18 +190,14 @@
}
public function testDoOnLinkBegin_unknownEntityTitle() {
- $contextTitle = Title::newFromText( 'Special:Recentchanges' );
$linkBeginHookHandler = $this->getLinkBeginHookHandler();
- $title = Title::makeTitle( NS_MAIN, self::ITEM_DELETED );
- $title->resetArticleID( 0 );
- $this->assertFalse( $title->exists() ); // sanity check
-
+ $title = $this->newTitle( self::ITEM_DELETED, false );
$titleText = $title->getFullText();
$html = $titleText;
$customAttribs = array();
- $context = RequestContext::newExtraneousContext( $contextTitle
);
+ $context = $this->newContext();
$linkBeginHookHandler->doOnLinkBegin( $title, $html,
$customAttribs, $context );
$this->assertEquals( $titleText, $html );
@@ -209,17 +205,13 @@
}
public function testDoOnLinkBegin_itemHasNoLabel() {
- $contextTitle = Title::newFromText( 'Special:Recentchanges' );
$linkBeginHookHandler = $this->getLinkBeginHookHandler();
- $title = Title::makeTitle( NS_MAIN, self::ITEM_WITHOUT_LABEL );
- $title->resetArticleID( 1 );
- $this->assertTrue( $title->exists() ); // sanity check
-
+ $title = $this->newTitle( self::ITEM_WITHOUT_LABEL );
$html = $title->getFullText();
$customAttribs = array();
- $context = RequestContext::newExtraneousContext( $contextTitle
);
+ $context = $this->newContext();
$linkBeginHookHandler->doOnLinkBegin( $title, $html,
$customAttribs, $context );
$expected = '<span class="wb-itemlink">'
@@ -228,6 +220,28 @@
$this->assertEquals( $expected, $html );
$this->assertContains( self::ITEM_WITHOUT_LABEL,
$customAttribs['title'] );
+ }
+
+ public function testDoOnLinkBegin_itemHasNoDescription() {
+ $linkBeginHookHandler = $this->getLinkBeginHookHandler();
+
+ $title = $this->newTitle( self::ITEM_LABEL_NO_DESCRIPTION );
+ $html = $title->getFullText();
+ $customAttribs = array();
+
+ $context = $this->newContext();
+ $linkBeginHookHandler->doOnLinkBegin( $title, $html,
$customAttribs, $context );
+
+ $expected = '<span class="wb-itemlink">'
+ . '<span class="wb-itemlink-label" lang="en"
dir="ltr">linkbegin-label</span> '
+ . '<span class="wb-itemlink-id">(' .
self::ITEM_LABEL_NO_DESCRIPTION . ')</span></span>';
+
+ $lang = Language::factory( 'en' );
+ $this->assertEquals( $expected, $html );
+ $this->assertEquals(
+ $lang->getDirMark() . 'linkbegin-label' .
$lang->getDirMark(),
+ $customAttribs['title']
+ );
}
/**
@@ -258,29 +272,29 @@
$termLookup->expects( $this->any() )
->method( 'getLabels' )
->will( $this->returnCallback( function ( EntityId $id
) {
- if ( $id->getSerialization() ==
self::ITEM_WITH_LABEL ) {
- return array( 'en' => 'linkbegin-label'
);
+ switch ( $id->getSerialization() ) {
+ case self::ITEM_WITH_LABEL:
+ case self::ITEM_LABEL_NO_DESCRIPTION:
+ return [ 'en' =>
'linkbegin-label' ];
+ case self::ITEM_WITHOUT_LABEL:
+ return [];
+ default:
+ throw new StorageException(
"Unexpected entity id $id" );
}
-
- if ( $id->getSerialization() ==
self::ITEM_WITHOUT_LABEL ) {
- return array();
- }
-
- throw new StorageException( 'No such entity: '
. $id->getSerialization() );
} ) );
$termLookup->expects( $this->any() )
->method( 'getDescriptions' )
->will( $this->returnCallback( function ( EntityId $id
) {
- if ( $id->getSerialization() ==
self::ITEM_WITH_LABEL ) {
- return array( 'en' =>
'linkbegin-description' );
+ switch ( $id->getSerialization() ) {
+ case self::ITEM_WITH_LABEL:
+ return [ 'en' =>
'linkbegin-description' ];
+ case self::ITEM_WITHOUT_LABEL:
+ case self::ITEM_LABEL_NO_DESCRIPTION:
+ return [];
+ default:
+ throw new StorageException(
"Unexpected entity id $id" );
}
-
- if ( $id->getSerialization() ==
self::ITEM_WITHOUT_LABEL ) {
- return array();
- }
-
- throw new StorageException( 'No such entity: '
. $id->getSerialization() );
} ) );
return $termLookup;
@@ -309,7 +323,6 @@
$languageFallback,
Language::factory( 'en' )
);
-
}
}
diff --git
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
index b46f582..b81b512 100644
---
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
+++
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.js
@@ -95,11 +95,8 @@
* @since 0.5
* @extends jQuery.ui.TemplatedWidget
*
+ * @option {jQuery.wikibase.listview.ListItemAdapter} listItemAdapter
* @option {wikibase.datamodel.SiteLinkSet} value
- *
- * @option {wikibase.entityChangers.SiteLinksChanger} siteLinksChanger
- *
- * @option {wikibase.entityIdFormatter.EntityIdPlainFormatter}
entityIdPlainFormatter
*/
$.widget( 'wikibase.sitelinkgrouplistview', PARENT, {
options: {
@@ -108,9 +105,7 @@
'' // sitelinklistview(s)
],
templateShortCuts: {},
- value: null,
- siteLinksChanger: null,
- entityIdPlainFormatter: null
+ value: null
},
/**
@@ -119,25 +114,16 @@
$listview: null,
/**
- * @type {jQuery.util.EventSingletonManager}
- */
- _eventSingletonManager: null,
-
- /**
* @see jQuery.ui.TemplatedWidget._create
*/
_create: function() {
- if ( !this.options.value || !this.options.siteLinksChanger ||
!this.options.entityIdPlainFormatter ) {
+ if ( !this.options.listItemAdapter || !this.options.value ) {
throw new Error( 'Required option(s) missing' );
}
PARENT.prototype._create.call( this );
- this._eventSingletonManager = new
$.util.EventSingletonManager();
-
this._createListview();
-
- this.element.addClass( 'wikibase-sitelinkgrouplistview' );
},
/**
@@ -152,14 +138,10 @@
this.$listview.remove();
delete this.$listview;
}
- this.element.removeClass( 'wikibase-sitelinkgrouplistview' );
PARENT.prototype.destroy.call( this );
},
_createListview: function() {
- var self = this,
- prefix =
$.wikibase.sitelinkgroupview.prototype.widgetEventPrefix;
-
var value = this.element.is( ':empty' )
? orderSiteLinksByGroup( this.options.value )
: scrapeSiteLinks( this.element,
this.options.value );
@@ -172,21 +154,11 @@
this.$listview
.listview( {
- listItemAdapter: new
$.wikibase.listview.ListItemAdapter( {
- listItemWidget: $.wikibase.sitelinkgroupview,
- newItemOptionsFn: function( value ) {
- return {
- value: value,
- siteLinksChanger:
self.options.siteLinksChanger,
- entityIdPlainFormatter:
self.options.entityIdPlainFormatter,
- eventSingletonManager:
this._eventSingletonManager
- };
- }
- } ),
+ listItemAdapter: this.options.listItemAdapter,
value: value,
encapsulate: true
} )
- .on( prefix + 'disable.' + this.widgetName, function( event ) {
+ .on( this.options.listItemAdapter.prefixedEvent( 'disable.' +
this.widgetName ), function( event ) {
event.stopPropagation();
} );
},
diff --git
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
index 670485c..f357d06 100644
---
a/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
+++
b/extensions/Wikibase/view/resources/jquery/wikibase/jquery.wikibase.sitelinklistview.js
@@ -741,36 +741,6 @@
} );
},
- /**
- * Removes a sitelinkview instance.
- *
- * @param {jQuery.wikibase.sitelinkview} sitelinkview
- * @return {jQuery.Promise}
- * Resolved parameters:
- * - {Object}
- * Rejected parameters:
- * - {wikibase.api.RepoApiError}
- */
- remove: function( sitelinkview ) {
- var self = this,
- siteLink = sitelinkview.value(),
- emptySiteLink = new wb.datamodel.SiteLink(
siteLink.getSiteId(), '' );
-
- this.disable();
-
- return this._saveSiteLink( emptySiteLink )
- .done( function() {
- self.$listview.data( 'listview' ).removeItem(
sitelinkview.element );
- self._afterRemove();
- } )
- .fail( function( error ) {
- sitelinkview.setError( error );
- } )
- .always( function() {
- self.enable();
- } );
- },
-
_afterRemove: function() {
this._refreshCounter();
},
diff --git a/extensions/Wikibase/view/resources/jquery/wikibase/resources.php
b/extensions/Wikibase/view/resources/jquery/wikibase/resources.php
index 965b704..a900309 100644
--- a/extensions/Wikibase/view/resources/jquery/wikibase/resources.php
+++ b/extensions/Wikibase/view/resources/jquery/wikibase/resources.php
@@ -299,9 +299,7 @@
),
'dependencies' => array(
'jquery.ui.TemplatedWidget',
- 'jquery.util.EventSingletonManager',
'jquery.wikibase.listview',
- 'jquery.wikibase.sitelinkgroupview',
'wikibase.sites',
),
),
diff --git
a/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/controller/definitions/addtoolbar/statementlistview-statementview.js
b/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/controller/definitions/addtoolbar/statementlistview-statementview.js
index 36eb5da..dae44da 100644
---
a/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/controller/definitions/addtoolbar/statementlistview-statementview.js
+++
b/extensions/Wikibase/view/resources/jquery/wikibase/toolbar/controller/definitions/addtoolbar/statementlistview-statementview.js
@@ -18,10 +18,6 @@
$container = $statementlistview.children(
'.wikibase-toolbar-wrapper' )
.children(
'.wikibase-toolbar-container' );
- if ( statementlistview.isEmpty() ) {
- return;
- }
-
if ( !$container.length ) {
// TODO: Remove layout-specific toolbar wrapper
$container = $( '<div/>' ).appendTo(
diff --git a/extensions/Wikibase/view/resources/wikibase/view/ViewFactory.js
b/extensions/Wikibase/view/resources/wikibase/view/ViewFactory.js
index 2747646..c31cb36 100644
--- a/extensions/Wikibase/view/resources/wikibase/view/ViewFactory.js
+++ b/extensions/Wikibase/view/resources/wikibase/view/ViewFactory.js
@@ -191,11 +191,39 @@
* @return {jQuery.wikibase.sitelinkgrouplistview} The constructed
sitelinkgrouplistview
**/
SELF.prototype.getSitelinkGroupListView = function( sitelinkSet,
$sitelinkgrouplistview ) {
+ var self = this;
+ var eventSingletonManager = new $.util.EventSingletonManager();
+
return this._getView(
'sitelinkgrouplistview',
$sitelinkgrouplistview,
{
value: sitelinkSet,
+ listItemAdapter: new
$.wikibase.listview.ListItemAdapter( {
+ listItemWidget:
$.wikibase.sitelinkgroupview,
+ getNewItem: function( value, dom ) {
+ return
self.getSitelinkGroupView( eventSingletonManager, value, $( dom ) );
+ }
+ } )
+ }
+ );
+ };
+
+ /**
+ * Construct a suitable view for the given sitelink group on the given
DOM element
+ *
+ * @param {jQuery.util.EventSingletonManager} eventSingletonManager
+ * @param {Object} group: string, siteLinks: [SiteLink]
+ * @param {jQuery} $sitelinkgroupview
+ * @return {jQuery.wikibase.sitelinkgroupview} The constructed
sitelinkgroupview
+ **/
+ SELF.prototype.getSitelinkGroupView = function( eventSingletonManager,
value, $sitelinkgroupview ) {
+ return this._getView(
+ 'sitelinkgroupview',
+ $sitelinkgroupview,
+ {
+ value: value,
+ eventSingletonManager: eventSingletonManager,
siteLinksChanger:
this._entityChangersFactory.getSiteLinksChanger(),
entityIdPlainFormatter:
this._entityIdPlainFormatter
}
diff --git a/extensions/Wikibase/view/resources/wikibase/view/resources.php
b/extensions/Wikibase/view/resources/wikibase/view/resources.php
index f6d13fb..0bea6a2 100644
--- a/extensions/Wikibase/view/resources/wikibase/view/resources.php
+++ b/extensions/Wikibase/view/resources/wikibase/view/resources.php
@@ -50,10 +50,12 @@
'ViewFactory.js'
),
'dependencies' => array(
+ 'jquery.util.EventSingletonManager',
'jquery.wikibase.entitytermsview',
'jquery.wikibase.itemview',
'jquery.wikibase.listview', // For
ListItemAdapter
'jquery.wikibase.propertyview',
+ 'jquery.wikibase.sitelinkgroupview',
'jquery.wikibase.statementgrouplistview',
'jquery.wikibase.statementgroupview',
'jquery.wikibase.statementlistview',
diff --git a/extensions/Wikibase/view/resources/wikibase/wikibase.css
b/extensions/Wikibase/view/resources/wikibase/wikibase.css
index e3f3258..1f63664 100644
--- a/extensions/Wikibase/view/resources/wikibase/wikibase.css
+++ b/extensions/Wikibase/view/resources/wikibase/wikibase.css
@@ -280,7 +280,7 @@
/***** EDIT/NEW CLAIM *****/
-.wikibase-statementgrouplistview .wb-new > .wb-addtoolbar {
+.wikibase-statementgrouplistview .wb-new > .wikibase-statementlistview >
.wikibase-toolbar-wrapper .wikibase-addtoolbar-container {
display: none;
}
diff --git
a/extensions/Wikibase/view/tests/phpunit/SimpleEntityTermsViewTest.php
b/extensions/Wikibase/view/tests/phpunit/SimpleEntityTermsViewTest.php
index 6f478f7..046bc35 100644
--- a/extensions/Wikibase/view/tests/phpunit/SimpleEntityTermsViewTest.php
+++ b/extensions/Wikibase/view/tests/phpunit/SimpleEntityTermsViewTest.php
@@ -109,7 +109,7 @@
*/
public function testGetHtml_isEditable( Fingerprint $fingerprint,
ItemId $entityId, $languageCode ) {
$entityTermsView = $this->getEntityTermsView( 1 );
- $html = $entityTermsView->getHtml( $languageCode, $fingerprint,
$fingerprint, $fingerprint, $entityId, '' );
+ $html = $entityTermsView->getHtml( $languageCode, $fingerprint,
$fingerprint, $fingerprint, $entityId );
$this->assertContains( '<EDITSECTION>', $html );
}
@@ -166,7 +166,7 @@
$fingerprint->removeAliasGroup( 'en' );
$view = $this->getEntityTermsView( 1 );
- $html = $view->getHtml( 'en', $fingerprint, $fingerprint,
$fingerprint, null, '' );
+ $html = $view->getHtml( 'en', $fingerprint, $fingerprint,
$fingerprint );
$this->assertContains( 'wb-empty', $html );
$this->assertContains( '<div
class="wikibase-entitytermsview-heading-aliases wb-empty"></div>', $html );
diff --git
a/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
b/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
index 05c01ab..c7c9f9e 100644
---
a/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
+++
b/extensions/Wikibase/view/tests/qunit/jquery/wikibase/jquery.wikibase.sitelinkgrouplistview.tests.js
@@ -11,8 +11,11 @@
*/
function createSitelinkgrouplistview( options ) {
options = $.extend( {
- siteLinksChanger: 'I am a SiteLinksChanger',
- entityIdPlainFormatter: 'I am an EntityIdPlainFormatter'
+ listItemAdapter: wb.tests.getMockListItemAdapter(
+ 'sitelinkgroupview',
+ function() {
+ }
+ )
}, options );
return $( '<div/>' )
diff --git a/extensions/Wikibase/view/tests/qunit/jquery/wikibase/resources.php
b/extensions/Wikibase/view/tests/qunit/jquery/wikibase/resources.php
index 92c3a34..c2f6669 100644
--- a/extensions/Wikibase/view/tests/qunit/jquery/wikibase/resources.php
+++ b/extensions/Wikibase/view/tests/qunit/jquery/wikibase/resources.php
@@ -219,6 +219,7 @@
'jquery.wikibase.sitelinkgrouplistview',
'wikibase.datamodel.SiteLink',
'wikibase.datamodel.SiteLinkSet',
+ 'wikibase.tests.getMockListItemAdapter',
'wikibase.tests.qunit.testrunner',
),
),
diff --git
a/extensions/Wikibase/view/tests/qunit/wikibase/view/ViewFactory.tests.js
b/extensions/Wikibase/view/tests/qunit/wikibase/view/ViewFactory.tests.js
index 85c1558..0645163 100644
--- a/extensions/Wikibase/view/tests/qunit/wikibase/view/ViewFactory.tests.js
+++ b/extensions/Wikibase/view/tests/qunit/wikibase/view/ViewFactory.tests.js
@@ -64,6 +64,24 @@
QUnit.test( 'getSitelinkGroupListView passes correct options to views',
function( assert ) {
assert.expect( 1 );
var sitelinkSet = new wb.datamodel.SiteLinkSet( [] ),
+ viewFactory = new ViewFactory(),
+ $dom = $( '<div/>' );
+
+ sinon.spy( $.wikibase, 'sitelinkgrouplistview' );
+ $dom.sitelinkgrouplistview = $.wikibase.sitelinkgrouplistview;
+
+ viewFactory.getSitelinkGroupListView( sitelinkSet, $dom );
+
+ sinon.assert.calledWith( $.wikibase.sitelinkgrouplistview,
sinon.match( {
+ value: sitelinkSet
+ } ) );
+
+ $.wikibase.sitelinkgrouplistview.restore();
+ } );
+
+ QUnit.test( 'getSitelinkGroupView passes correct options to views',
function( assert ) {
+ assert.expect( 1 );
+ var value = { group: 'groupid', sitelinks: [] },
siteLinksChanger = {},
entityChangersFactory = { getSiteLinksChanger:
function() { return siteLinksChanger; } },
entityIdPlainFormatter = {},
@@ -74,20 +92,22 @@
null,
entityIdPlainFormatter
),
+ eventSingletonManager = new
$.util.EventSingletonManager(),
$dom = $( '<div/>' );
- sinon.spy( $.wikibase, 'sitelinkgrouplistview' );
- $dom.sitelinkgrouplistview = $.wikibase.sitelinkgrouplistview;
+ sinon.spy( $.wikibase, 'sitelinkgroupview' );
+ $dom.sitelinkgroupview = $.wikibase.sitelinkgroupview;
- viewFactory.getSitelinkGroupListView( sitelinkSet, $dom );
+ viewFactory.getSitelinkGroupView( eventSingletonManager, value,
$dom );
- sinon.assert.calledWith( $.wikibase.sitelinkgrouplistview,
sinon.match( {
- value: sitelinkSet,
+ sinon.assert.calledWith( $.wikibase.sitelinkgroupview,
sinon.match( {
+ value: value,
entityIdPlainFormatter: entityIdPlainFormatter,
+ eventSingletonManager: eventSingletonManager,
siteLinksChanger: siteLinksChanger
} ) );
- $.wikibase.sitelinkgrouplistview.restore();
+ $.wikibase.sitelinkgroupview.restore();
} );
QUnit.test( 'getStatementGroupListView passes correct options to
views', function( assert ) {
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 8c2252a..f47b31e 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1392,12 +1392,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "b4b1c73b88b13dee84f57b2275a096c795485af2"
+ "reference": "4ba75372bdb4cafd8e0c1f1338292a973e73e094"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/b4b1c73b88b13dee84f57b2275a096c795485af2",
- "reference": "b4b1c73b88b13dee84f57b2275a096c795485af2",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/4ba75372bdb4cafd8e0c1f1338292a973e73e094",
+ "reference": "4ba75372bdb4cafd8e0c1f1338292a973e73e094",
"shasum": ""
},
"require": {
@@ -1431,7 +1431,7 @@
"jakub-onderka/php-parallel-lint": "0.9.2",
"mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
},
- "time": "2016-06-29 08:22:07",
+ "time": "2016-06-30 09:06:33",
"type": "mediawiki-extension",
"installation-source": "dist",
"autoload": {
--
To view, visit https://gerrit.wikimedia.org/r/296704
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3c7bdda07e6a79a78d1e9118fedae94a64500583
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits