Aude has uploaded a new change for review. https://gerrit.wikimedia.org/r/168265
Change subject: New Wikidata Build - 2014/10/23 ...................................................................... New Wikidata Build - 2014/10/23 Change-Id: I67324a6c6698f340e1b00df3e2f3afab4c69cf7d --- M WikibaseClient.settings.php M WikibaseRepo.settings.php M composer.lock M extensions/Wikibase/client/includes/ChangeHandler.php M extensions/Wikibase/client/includes/store/ClientStore.php M extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php M extensions/Wikibase/client/tests/phpunit/MockClientStore.php M extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php M extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkgroupview.js M extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinklistview.js M extensions/Wikibase/lib/tests/qunit/jquery.wikibase/jquery.wikibase.referenceview.tests.js M extensions/Wikibase/repo/Wikibase.i18n.alias.php M vendor/autoload.php M vendor/composer/autoload_files.php M vendor/composer/autoload_real.php M vendor/composer/installed.json 16 files changed, 188 insertions(+), 111 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata refs/changes/65/168265/1 diff --git a/WikibaseClient.settings.php b/WikibaseClient.settings.php index 08f920c..bb56579 100644 --- a/WikibaseClient.settings.php +++ b/WikibaseClient.settings.php @@ -1,2 +1,2 @@ <?php -$wgWBClientSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1413996523"; \ No newline at end of file +$wgWBClientSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1414060149"; \ No newline at end of file diff --git a/WikibaseRepo.settings.php b/WikibaseRepo.settings.php index 6428823..0c0247e 100644 --- a/WikibaseRepo.settings.php +++ b/WikibaseRepo.settings.php @@ -1,2 +1,2 @@ <?php -$wgWBRepoSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1413996523"; \ No newline at end of file +$wgWBRepoSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1414060149"; \ No newline at end of file diff --git a/composer.lock b/composer.lock index b1d9768..6081ba4 100644 --- a/composer.lock +++ b/composer.lock @@ -1205,12 +1205,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "2387d5bc3b4bc51d2292566c52e00d655031b0fe" + "reference": "8b0337db4037d8b74f8358fc5aaee70f83b49aac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/2387d5bc3b4bc51d2292566c52e00d655031b0fe", - "reference": "2387d5bc3b4bc51d2292566c52e00d655031b0fe", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/8b0337db4037d8b74f8358fc5aaee70f83b49aac", + "reference": "8b0337db4037d8b74f8358fc5aaee70f83b49aac", "shasum": "" }, "require": { @@ -1276,7 +1276,7 @@ "wikibaserepo", "wikidata" ], - "time": "2014-10-22 16:29:59" + "time": "2014-10-23 09:21:41" }, { "name": "wikibase/wikimedia-badges", diff --git a/extensions/Wikibase/client/includes/ChangeHandler.php b/extensions/Wikibase/client/includes/ChangeHandler.php index 6013b3f..b08c791 100644 --- a/extensions/Wikibase/client/includes/ChangeHandler.php +++ b/extensions/Wikibase/client/includes/ChangeHandler.php @@ -110,7 +110,7 @@ EntityChangeFactory $changeFactory = null, PageUpdater $updater = null, EntityRevisionLookup $entityRevisionLookup = null, - ItemUsageIndex $entityUsageIndex = null, + ItemUsageIndex $itemUsageIndex = null, Site $localSite = null, SiteList $sites = null ) { @@ -132,8 +132,8 @@ $entityRevisionLookup = $wikibaseClient->getStore()->getEntityRevisionLookup(); } - if ( !$entityUsageIndex ) { - $entityUsageIndex = $wikibaseClient->getStore()->getItemUsageIndex(); + if ( !$itemUsageIndex ) { + $itemUsageIndex = $wikibaseClient->getStore()->getItemUsageIndex(); } if ( $sites === null ) { @@ -156,7 +156,7 @@ $this->updater = $updater; $this->entityRevisionLookup = $entityRevisionLookup; - $this->entityUsageIndex = $entityUsageIndex; + $this->itemUsageIndex = $itemUsageIndex; $this->site = $localSite; $this->siteId = $localSite->getGlobalId(); @@ -563,7 +563,7 @@ // todo inject! $referencedPagesFinder = new ReferencedPagesFinder( - $this->entityUsageIndex, + $this->itemUsageIndex, $this->namespaceChecker, $this->siteId, $this->checkPageExistence diff --git a/extensions/Wikibase/client/includes/store/ClientStore.php b/extensions/Wikibase/client/includes/store/ClientStore.php index 743815e..5b87f25 100644 --- a/extensions/Wikibase/client/includes/store/ClientStore.php +++ b/extensions/Wikibase/client/includes/store/ClientStore.php @@ -48,6 +48,11 @@ public function getSubscriptionManager(); /** + * @return ItemUsageIndex + */ + public function getItemUsageIndex(); + + /** * @since 0.4 * * @return EntityLookup diff --git a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php index d916e4a..25d2f22 100644 --- a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php +++ b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php @@ -56,6 +56,11 @@ private $propertyInfoTable = null; /** + * @var ItemUsageIndex + */ + private $itemUsageIndex = null; + + /** * @var EntityIdParser */ private $idParser; @@ -183,6 +188,30 @@ } /** + * @see Store::getItemUsageIndex + * + * @since 0.4 + * + * @return ItemUsageIndex + */ + public function getItemUsageIndex() { + if ( !$this->itemUsageIndex ) { + $this->itemUsageIndex = $this->newItemUsageIndex(); + } + + return $this->itemUsageIndex; + } + + /** + * @since 0.4 + * + * @return ItemUsageIndex + */ + protected function newItemUsageIndex() { + return new ItemUsageIndex( $this->getSite(), $this->getSiteLinkTable() ); + } + + /** * Sets the site object representing the local wiki. * For testing only! * diff --git a/extensions/Wikibase/client/tests/phpunit/MockClientStore.php b/extensions/Wikibase/client/tests/phpunit/MockClientStore.php index 2d76160..49132a0 100644 --- a/extensions/Wikibase/client/tests/phpunit/MockClientStore.php +++ b/extensions/Wikibase/client/tests/phpunit/MockClientStore.php @@ -18,7 +18,7 @@ public function getUsageLookup() {} public function getUsageTracker() {} public function getSubscriptionManager() {} - + public function getItemUsageIndex() {} public function getPropertyLabelResolver() {} public function getTermIndex() {} public function newChangesTable() {} @@ -66,4 +66,4 @@ return $mockPropertyInfoStore; } -} \ No newline at end of file +} diff --git a/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php b/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php index ebe32a6..2b825ad 100644 --- a/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php +++ b/extensions/Wikibase/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php @@ -57,6 +57,7 @@ array( 'getPropertyLabelResolver', 'Wikibase\PropertyLabelResolver' ), array( 'newChangesTable', 'Wikibase\ChangesTable' ), array( 'getPropertyInfoStore', 'Wikibase\PropertyInfoStore' ), + array( 'getItemUsageIndex', 'Wikibase\ItemUsageIndex' ), array( 'getUsageTracker', 'Wikibase\Client\Usage\UsageTracker' ), array( 'getUsageLookup', 'Wikibase\Client\Usage\UsageLookup' ), array( 'getSubscriptionManager', 'Wikibase\Client\Usage\SubscriptionManager' ), diff --git a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkgroupview.js b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkgroupview.js index 3d1e49e..fd5a7d8 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkgroupview.js +++ b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkgroupview.js @@ -404,7 +404,7 @@ btnSave[enable ? 'enable' : 'disable'](); }, - toolbareditgroupedit: function( event, toolbarcontroller ) { + edittoolbaredit: function( event, toolbarcontroller ) { var $sitelinkgroupview = $( event.target ), sitelinkgroupview = $sitelinkgroupview.data( 'sitelinkgroupview' ); diff --git a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinklistview.js b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinklistview.js index 7244a31..a68eb5b 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinklistview.js +++ b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinklistview.js @@ -454,17 +454,42 @@ lia = listview.listItemAdapter(), $items = listview.items(); - if( this.isValid() && $items.length ) { - lia.liInstance( $items.first() ).focus(); + if( !$items.length ) { return; } - $items.each( function( $item ) { - var sitelinkview = lia.liInstance( $item ); - if( !sitelinkview.isValid() ) { - sitelinkview.focus(); - } - } ); + /** + * @param {jQuery} $nodes + * @return {jQuery} + */ + function findFirstInViewPort( $nodes ) { + var $window = $( window ); + var $foundNode = null; + + $nodes.each( function() { + var $node = $( this ); + if( $node.is( ':visible' ) && $node.offset().top > $window.scrollTop() ) { + $foundNode = $node; + } + return $foundNode === null; + } ); + + return $foundNode || $nodes.first(); + } + + if( !this.isValid() ) { + $items = $items.filter( function() { + var sitelinkview = lia.liInstance( $( this ) ); + return !sitelinkview.isValid(); + } ); + } + $items = findFirstInViewPort( $items ); + + if( $items.length ) { + setTimeout( function() { + lia.liInstance( $items ).focus(); + }, 10 ); + } }, /** diff --git a/extensions/Wikibase/lib/tests/qunit/jquery.wikibase/jquery.wikibase.referenceview.tests.js b/extensions/Wikibase/lib/tests/qunit/jquery.wikibase/jquery.wikibase.referenceview.tests.js index 13f3017..5125c03 100644 --- a/extensions/Wikibase/lib/tests/qunit/jquery.wikibase/jquery.wikibase.referenceview.tests.js +++ b/extensions/Wikibase/lib/tests/qunit/jquery.wikibase/jquery.wikibase.referenceview.tests.js @@ -173,4 +173,19 @@ ); } ); + QUnit.test( 'recognizes initial value', function( assert ) { + var $node = createReferenceview( 'testGuid', { + value: new wb.datamodel.Reference( new wb.datamodel.SnakList( [ + new wb.datamodel.PropertyNoValueSnak( 'P1' ) + ] ) ) + } ), + referenceview = $node.data( 'referenceview' ); + + assert.strictEqual( + referenceview.isInitialValue(), + true, + 'Referenceview has initial value.' + ); + } ); + } )( jQuery, mediaWiki, wikibase, jQuery.valueview, valueFormatters, QUnit ); diff --git a/extensions/Wikibase/repo/Wikibase.i18n.alias.php b/extensions/Wikibase/repo/Wikibase.i18n.alias.php index 81b433b..2552559 100644 --- a/extensions/Wikibase/repo/Wikibase.i18n.alias.php +++ b/extensions/Wikibase/repo/Wikibase.i18n.alias.php @@ -160,15 +160,17 @@ /** Finnish (suomi) */ $specialPageAliases['fi'] = array( - 'NewItem' => array( 'Luo_kohde' ), + 'NewItem' => array( 'Uusi_kohde' ), 'NewProperty' => array( 'Uusi_ominaisuus' ), 'ItemByTitle' => array( 'Hae_kohdetta_otsikolla' ), 'ItemDisambiguation' => array( 'Kohteet_samalla_nimellä' ), 'SetLabel' => array( 'Aseta_nimi' ), 'SetDescription' => array( 'Aseta_kuvaus' ), 'SetAliases' => array( 'Aseta_aliakset' ), + 'SetSiteLink' => array( 'Aseta_sivustolinkki' ), 'MergeItems' => array( 'Yhdistä_kohteita' ), 'EntitiesWithoutLabel' => array( 'Aiheet_ilman_nimeä' ), + 'EntitiesWithoutDescription' => array( 'Aiheet_ilman_kuvausta' ), 'ItemsWithoutSitelinks' => array( 'Kohteet_ilman_sivustolinkkejä' ), ); diff --git a/vendor/autoload.php b/vendor/autoload.php index 9ceebe4..2fcfeaf 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer' . '/autoload_real.php'; -return ComposerAutoloaderInit6342e25d1bc19918a2d6e023243e1e45::getLoader(); +return ComposerAutoloaderInite3203f121bcdaed9bf038ef5238e45f7::getLoader(); diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 988edf1..f71fcca 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -21,6 +21,6 @@ $vendorDir . '/data-values/data-types/DataTypes.php', $vendorDir . '/wikibase/serialization-javascript/init.mw.php', $vendorDir . '/data-values/validators/Validators.php', - $baseDir . '/extensions/Wikibase/Wikibase.composer.php', $baseDir . '/extensions/WikimediaBadges/WikimediaBadges.php', + $baseDir . '/extensions/Wikibase/Wikibase.composer.php', ); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 7dc7873..a2c6b2b 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit6342e25d1bc19918a2d6e023243e1e45 +class ComposerAutoloaderInite3203f121bcdaed9bf038ef5238e45f7 { private static $loader; @@ -19,9 +19,9 @@ return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit6342e25d1bc19918a2d6e023243e1e45', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInite3203f121bcdaed9bf038ef5238e45f7', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInit6342e25d1bc19918a2d6e023243e1e45', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInite3203f121bcdaed9bf038ef5238e45f7', 'loadClassLoader')); $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -42,14 +42,14 @@ $includeFiles = require __DIR__ . '/autoload_files.php'; foreach ($includeFiles as $file) { - composerRequire6342e25d1bc19918a2d6e023243e1e45($file); + composerRequiree3203f121bcdaed9bf038ef5238e45f7($file); } return $loader; } } -function composerRequire6342e25d1bc19918a2d6e023243e1e45($file) +function composerRequiree3203f121bcdaed9bf038ef5238e45f7($file) { require $file; } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index f51f33c..88860ec 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1139,87 +1139,6 @@ ] }, { - "name": "wikibase/wikibase", - "version": "dev-master", - "version_normalized": "9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "2387d5bc3b4bc51d2292566c52e00d655031b0fe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/2387d5bc3b4bc51d2292566c52e00d655031b0fe", - "reference": "2387d5bc3b4bc51d2292566c52e00d655031b0fe", - "shasum": "" - }, - "require": { - "data-values/common": "~0.2.0", - "data-values/data-types": "~0.4.0", - "data-values/data-values": "~0.1.0", - "data-values/geo": "~1.0.0", - "data-values/interfaces": "~0.1.4", - "data-values/javascript": "~0.6.0", - "data-values/number": "~0.4.0", - "data-values/serialization": "~1.0", - "data-values/time": "~0.6.0", - "data-values/validators": "~0.1.0", - "data-values/value-view": "~0.7.0", - "diff/diff": "~1.0", - "php": ">=5.3.2", - "wikibase/data-model": "~2.0", - "wikibase/data-model-javascript": "~0.3.0", - "wikibase/data-model-serialization": "~1.2", - "wikibase/easyrdf_lite": "~0.8.1", - "wikibase/internal-serialization": "~1.3", - "wikibase/serialization-javascript": "~1.1.1" - }, - "conflict": { - "mediawiki/mediawiki": "<1.23" - }, - "time": "2014-10-22 16:29:59", - "type": "mediawiki-extension", - "installation-source": "dist", - "autoload": { - "files": [ - "Wikibase.composer.php" - ], - "classmap": [ - "client/includes/", - "client/WikibaseClient.hooks.php", - "client/tests/phpunit/", - "lib/includes/", - "lib/WikibaseLib.hooks.php", - "lib/tests/phpunit/", - "repo/includes/", - "repo/maintenance/", - "repo/tests/phpunit/", - "repo/Wikibase.hooks.php" - ], - "psr-4": { - "Wikibase\\Repo\\View\\": "repo/includes/View" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GNU GPL v2+" - ], - "authors": [ - { - "name": "The Wikidata team" - } - ], - "description": "Structured data repository for MediaWiki", - "homepage": "http://wikiba.se", - "keywords": [ - "wikibase", - "wikibaseclient", - "wikibaselib", - "wikibaserepo", - "wikidata" - ] - }, - { "name": "wikibase/wikimedia-badges", "version": "dev-master", "version_normalized": "9999999-dev", @@ -1368,5 +1287,86 @@ "wikibase", "wikidata" ] + }, + { + "name": "wikibase/wikibase", + "version": "dev-master", + "version_normalized": "9999999-dev", + "source": { + "type": "git", + "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", + "reference": "8b0337db4037d8b74f8358fc5aaee70f83b49aac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/8b0337db4037d8b74f8358fc5aaee70f83b49aac", + "reference": "8b0337db4037d8b74f8358fc5aaee70f83b49aac", + "shasum": "" + }, + "require": { + "data-values/common": "~0.2.0", + "data-values/data-types": "~0.4.0", + "data-values/data-values": "~0.1.0", + "data-values/geo": "~1.0.0", + "data-values/interfaces": "~0.1.4", + "data-values/javascript": "~0.6.0", + "data-values/number": "~0.4.0", + "data-values/serialization": "~1.0", + "data-values/time": "~0.6.0", + "data-values/validators": "~0.1.0", + "data-values/value-view": "~0.7.0", + "diff/diff": "~1.0", + "php": ">=5.3.2", + "wikibase/data-model": "~2.0", + "wikibase/data-model-javascript": "~0.3.0", + "wikibase/data-model-serialization": "~1.2", + "wikibase/easyrdf_lite": "~0.8.1", + "wikibase/internal-serialization": "~1.3", + "wikibase/serialization-javascript": "~1.1.1" + }, + "conflict": { + "mediawiki/mediawiki": "<1.23" + }, + "time": "2014-10-23 09:21:41", + "type": "mediawiki-extension", + "installation-source": "dist", + "autoload": { + "files": [ + "Wikibase.composer.php" + ], + "classmap": [ + "client/includes/", + "client/WikibaseClient.hooks.php", + "client/tests/phpunit/", + "lib/includes/", + "lib/WikibaseLib.hooks.php", + "lib/tests/phpunit/", + "repo/includes/", + "repo/maintenance/", + "repo/tests/phpunit/", + "repo/Wikibase.hooks.php" + ], + "psr-4": { + "Wikibase\\Repo\\View\\": "repo/includes/View" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GNU GPL v2+" + ], + "authors": [ + { + "name": "The Wikidata team" + } + ], + "description": "Structured data repository for MediaWiki", + "homepage": "http://wikiba.se", + "keywords": [ + "wikibase", + "wikibaseclient", + "wikibaselib", + "wikibaserepo", + "wikidata" + ] } ] -- To view, visit https://gerrit.wikimedia.org/r/168265 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I67324a6c6698f340e1b00df3e2f3afab4c69cf7d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikidata Gerrit-Branch: master Gerrit-Owner: Aude <aude.w...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits