Tobias Gritschacher has uploaded a new change for review. https://gerrit.wikimedia.org/r/179113
Change subject: New Wikidata Build - 2014/12/11 ...................................................................... New Wikidata Build - 2014/12/11 Change-Id: Ia0a938089b86f92c5242ef01f43e9d41c9830b29 --- M WikibaseClient.settings.php M WikibaseRepo.settings.php M composer.lock M extensions/Wikibase/client/includes/hooks/ParserAfterParseHookHandler.php M extensions/Wikibase/lib/resources/jquery.wikibase-shared/jquery.wikibase.wbtooltip.js M extensions/Wikibase/lib/resources/jquery.wikibase-shared/resources.php M extensions/Wikibase/lib/resources/jquery.wikibase-shared/themes/default/jquery.wikibase.wbtooltip.css 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/resources/jquery.wikibase/resources.php M extensions/Wikibase/lib/resources/jquery.wikibase/toolbar/jquery.wikibase.edittoolbar.js M extensions/Wikibase/lib/resources/wikibase.css M extensions/Wikibase/lib/tests/phpunit/EntityRevisionLookupTest.php M extensions/Wikibase/repo/i18n/ksh.json M extensions/Wikibase/repo/i18n/mk.json M extensions/Wikibase/repo/i18n/pl.json M extensions/Wikibase/repo/i18n/qqq.json M extensions/Wikibase/repo/i18n/uk.json M extensions/Wikibase/repo/i18n/zh-hans.json M extensions/Wikibase/repo/resources/Resources.php M extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.EditableTemplatedWidget.js A extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.css A extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.js M extensions/Wikibase/repo/resources/jquery/jquery.sticknode.js M extensions/Wikibase/repo/resources/templates.php M extensions/Wikibase/repo/resources/utilities/resources.php M extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.css M extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.js M extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js A extensions/Wikibase/repo/tests/qunit/jquery.ui/jquery.ui.closeable.tests.js M extensions/Wikibase/repo/tests/qunit/resources.php M vendor/autoload.php M vendor/composer/ClassLoader.php M vendor/composer/autoload_real.php M vendor/composer/installed.json 35 files changed, 566 insertions(+), 127 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata refs/changes/13/179113/1 diff --git a/WikibaseClient.settings.php b/WikibaseClient.settings.php index e4816b6..dc48c4b 100644 --- a/WikibaseClient.settings.php +++ b/WikibaseClient.settings.php @@ -1,2 +1,2 @@ <?php -$wgWBClientSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1418210722"; \ No newline at end of file +$wgWBClientSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1418296101"; \ No newline at end of file diff --git a/WikibaseRepo.settings.php b/WikibaseRepo.settings.php index 6008a7e..33936fe 100644 --- a/WikibaseRepo.settings.php +++ b/WikibaseRepo.settings.php @@ -1,2 +1,2 @@ <?php -$wgWBRepoSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1418210722"; \ No newline at end of file +$wgWBRepoSettings["sharedCacheKeyPrefix"] = "wikibase:WBL/1418296101"; \ No newline at end of file diff --git a/composer.lock b/composer.lock index 724c188..c9c0c84 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "111e40007b6379fcbdb42cccafd57475", + "hash": "54fdccac94fa525894d463c6c35d0ba3", "packages": [ { "name": "composer/installers", @@ -776,9 +776,7 @@ "psr-4": { "PropertySuggester\\": "src/PropertySuggester/" }, - "files": [ - - ], + "files": [], "classmap": [ "PropertySuggesterHooks.php", "maintenance/UpdateTable.php" @@ -1233,12 +1231,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "3a65287aaeb3bf6109c8e7ad557100b04f19c47a" + "reference": "f7d1d239ae01493e60f2d73a64a32ea6e5c9e95d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/3a65287aaeb3bf6109c8e7ad557100b04f19c47a", - "reference": "3a65287aaeb3bf6109c8e7ad557100b04f19c47a", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/f7d1d239ae01493e60f2d73a64a32ea6e5c9e95d", + "reference": "f7d1d239ae01493e60f2d73a64a32ea6e5c9e95d", "shasum": "" }, "require": { @@ -1305,7 +1303,7 @@ "wikibaserepo", "wikidata" ], - "time": "2014-12-10 10:40:44" + "time": "2014-12-10 22:37:18" }, { "name": "wikibase/wikimedia-badges", @@ -1358,12 +1356,8 @@ "time": "2014-11-25 18:25:26" } ], - "packages-dev": [ - - ], - "aliases": [ - - ], + "packages-dev": [], + "aliases": [], "minimum-stability": "stable", "stability-flags": { "wikibase/wikibase": 20, @@ -1374,7 +1368,5 @@ "platform": { "php": ">=5.3.0" }, - "platform-dev": [ - - ] + "platform-dev": [] } diff --git a/extensions/Wikibase/client/includes/hooks/ParserAfterParseHookHandler.php b/extensions/Wikibase/client/includes/hooks/ParserAfterParseHookHandler.php index c27bc49..526037d 100644 --- a/extensions/Wikibase/client/includes/hooks/ParserAfterParseHookHandler.php +++ b/extensions/Wikibase/client/includes/hooks/ParserAfterParseHookHandler.php @@ -79,6 +79,14 @@ return true; } + // Only run this once, for the article content and not interface stuff + + // This check needs to be here as this method is being invoked a lot, + // thus calling self::newFromGlobalState would be quite heavy + if ( $parser->getOptions()->getInterfaceMessage() ) { + return true; + } + $handler = self::newFromGlobalState(); return $handler->doParserAfterParse( $parser ); } @@ -121,13 +129,6 @@ wfProfileIn( __METHOD__ ); // @todo split up the multiple responsibilities here and in lang link handler - - // only run this once, for the article content and not interface stuff - //FIXME: this also runs for messages in EditPage::showEditTools! Ugh! - if ( $parser->getOptions()->getInterfaceMessage() ) { - wfProfileOut( __METHOD__ ); - return true; - } $parserOutput = $parser->getOutput(); $useRepoLinks = $this->langLinkHandler->useRepoLinks( $title, $parserOutput ); diff --git a/extensions/Wikibase/lib/resources/jquery.wikibase-shared/jquery.wikibase.wbtooltip.js b/extensions/Wikibase/lib/resources/jquery.wikibase-shared/jquery.wikibase.wbtooltip.js index b51474e..dc1b0f7 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase-shared/jquery.wikibase.wbtooltip.js +++ b/extensions/Wikibase/lib/resources/jquery.wikibase-shared/jquery.wikibase.wbtooltip.js @@ -2,7 +2,7 @@ * @licence GNU GPL v2+ * @author H. Snater < mediaw...@snater.com > */ -( function( mw, $ ) { +( function( mw, wb, $ ) { 'use strict'; @@ -12,7 +12,7 @@ * Tooltip widget enhancing jQuery.tipsy. * @since 0.4 * - * @option content {string|jQuery|wb.Error} The tooltip balloon's content. + * @option content {string|jQuery|Error} The tooltip balloon's content. * (REQUIRED) * * @option permanent {boolean} Whether the tooltip shall be visible permanently (only closing with a @@ -283,29 +283,8 @@ * @TODO: Error tooltip should be a separate tooltip derivative. */ _buildErrorTooltip: function() { - var $message = $( '<div/>' ).addClass( 'wb-error ' + this.widgetFullName + '-error' ), - $mainMessage = $( '<div/>' ).text( this.options.content.message ).appendTo( $message ); - - // Append detailed error message if given; hide it behind toggle: - if( this.options.content.detailedMessage ) { - $mainMessage.addClass( this.widgetFullName + '-error-top-message' ); - - var $detailedMessage = $( '<div/>', { - 'class': this.widgetFullName + '-error-details', - html: this.options.content.detailedMessage - } ) - .hide(); - - var $toggler = $( '<a/>' ) - .addClass( this.widgetFullName + '-error-details-link' ) - .text( mw.msg( 'wikibase-tooltip-error-details' ) ) - .toggler( { $subject: $detailedMessage, duration: 'fast' } ); - - $toggler.appendTo( $message ); - $detailedMessage.appendTo( $message ); - } - - return $message; + return wb.utilities.ui.buildErrorOutput( this.options.content ) + .addClass( this.widgetFullName + '-error' ); }, /** @@ -321,4 +300,4 @@ } ); -} )( mediaWiki, jQuery ); +} )( mediaWiki, wikibase, jQuery ); diff --git a/extensions/Wikibase/lib/resources/jquery.wikibase-shared/resources.php b/extensions/Wikibase/lib/resources/jquery.wikibase-shared/resources.php index 3501eff..43be3b0 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase-shared/resources.php +++ b/extensions/Wikibase/lib/resources/jquery.wikibase-shared/resources.php @@ -37,11 +37,8 @@ ), 'dependencies' => array( 'jquery.tipsy', - 'jquery.ui.toggler', 'jquery.ui.widget', - ), - 'messages' => array( - 'wikibase-tooltip-error-details', + 'wikibase.utilities', ), ), diff --git a/extensions/Wikibase/lib/resources/jquery.wikibase-shared/themes/default/jquery.wikibase.wbtooltip.css b/extensions/Wikibase/lib/resources/jquery.wikibase-shared/themes/default/jquery.wikibase.wbtooltip.css index 429aef1..47bee02 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase-shared/themes/default/jquery.wikibase.wbtooltip.css +++ b/extensions/Wikibase/lib/resources/jquery.wikibase-shared/themes/default/jquery.wikibase.wbtooltip.css @@ -33,19 +33,4 @@ border-color: #B27631; } -.wikibase-wbtooltip-tip .wikibase-wbtooltip-error-top-message { - border-bottom:1px dotted #B27631; - padding-bottom:1em; -} - -.wikibase-wbtooltip-tip .wikibase-wbtooltip-error-details { - margin-top: .2em; - margin-bottom: .5em; - font-family: 'Courier New', Courier, 'Andale Mono', serif; - background-color: #FFF2E4; - padding: .2em; - border-radius: 5px; - font-size: .9em; -} - /***** /ERROR TOOLTIP *****/ 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 e5c9058..55ef3fb 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkgroupview.js +++ b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinkgroupview.js @@ -43,6 +43,7 @@ '' // toolbar ], templateShortCuts: { + '$headingSection': '.wikibase-sitelinkgroupview-heading-section', '$headingContainer': '.wikibase-sitelinkgroupview-heading-container', '$h': 'h2', '$counter': '.wikibase-sitelinkgroupview-counter' @@ -106,7 +107,8 @@ * @see jQuery.ui.EditableTemplatedWidget.draw */ draw: function() { - var deferred = $.Deferred(); + var self = this, + deferred = $.Deferred(); this.element.data( 'group', this.options.value.group ); @@ -116,9 +118,20 @@ .text( this.__headingText ) .append( this.$counter ); - if( !this.$headingContainer.data( 'sticknode' ) ) { - this.$headingContainer.sticknode( { + if( !this.$headingSection.data( 'sticknode' ) ) { + this.$headingSection.sticknode( { $container: this.element + } ); + } + + if( !this._$notification ) { + this.notification() + .appendTo( this.$headingSection ) + .on( 'closeableupdate.' + this.widgetName, function() { + var sticknode = self.element.data( 'sticknode' ); + if( sticknode ) { + sticknode.refresh(); + } } ); } @@ -251,6 +264,7 @@ function( event, dropValue ) { self._afterStopEditing( dropValue ); self.$sitelinklistview.off( '.sitelinkgroupviewstopediting' ); + self.notification(); deferred.resolve(); } ) @@ -327,6 +341,30 @@ } return response; + }, + + /** + * @see jQuery.ui.EditableTemplatedWidget.setError + */ + setError: function( error ) { + if( error ) { + var self = this; + + var $error = wb.utilities.ui.buildErrorOutput( error, { + progress: function() { + self.$headingSection.data( 'sticknode' ).refresh(); + } + } ); + + this.element.addClass( 'wb-error' ); + this.notification( $error, 'wb-error' ); + } else { + if( this.$notification && this.$notification.hasClass( 'wb-error' ) ) { + this.notification(); + } + } + + PARENT.prototype.setError.call( this, error ); } } ); 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 ede4ee2..34e1cb1 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinklistview.js +++ b/extensions/Wikibase/lib/resources/jquery.wikibase/jquery.wikibase.sitelinklistview.js @@ -148,7 +148,6 @@ } ) .on( prefix + 'toggleerror.' + this.widgetName, function( event, error ) { event.stopPropagation(); - self.setError( error ); } ) .on( 'keydown.' + this.widgetName, function( event ) { if( event.keyCode === $.ui.keyCode.BACKSPACE ) { diff --git a/extensions/Wikibase/lib/resources/jquery.wikibase/resources.php b/extensions/Wikibase/lib/resources/jquery.wikibase/resources.php index be5fd06..65087cb 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase/resources.php +++ b/extensions/Wikibase/lib/resources/jquery.wikibase/resources.php @@ -352,6 +352,7 @@ 'jquery.wikibase.sitelinklistview', 'mediawiki.jqueryMsg', // for {{plural}} and {{gender}} support in messages 'wikibase.sites', + 'wikibase.utilities', ), ), diff --git a/extensions/Wikibase/lib/resources/jquery.wikibase/toolbar/jquery.wikibase.edittoolbar.js b/extensions/Wikibase/lib/resources/jquery.wikibase/toolbar/jquery.wikibase.edittoolbar.js index c455a0e..0602b8a 100644 --- a/extensions/Wikibase/lib/resources/jquery.wikibase/toolbar/jquery.wikibase.edittoolbar.js +++ b/extensions/Wikibase/lib/resources/jquery.wikibase/toolbar/jquery.wikibase.edittoolbar.js @@ -254,7 +254,10 @@ self.enable(); self.toggleActionMessage( function() { - self.displayError( error, $anchor ); + // FIXME Move responsibility of displaying error out of here completely. + if( $( event.target ).data( 'sitelinkgroupview' ) === undefined ) { + self.displayError( error, $anchor ); + } } ); } } ); diff --git a/extensions/Wikibase/lib/resources/wikibase.css b/extensions/Wikibase/lib/resources/wikibase.css index 8b72521..b0aa623 100644 --- a/extensions/Wikibase/lib/resources/wikibase.css +++ b/extensions/Wikibase/lib/resources/wikibase.css @@ -50,6 +50,22 @@ font-style: italic; } +.ui-closeable { + background-color: #FFFFFF; + border-bottom: 1px solid #C9C9C9; + border-top: 1px solid #C9C9C9; + padding: 0.2em 10px; + font-size: 0.9em; +} + +.ui-closeable.wb-edit { + background-color: #D6F3FF; +} + +.ui-closeable.wb-error { + background-color: #FFDFC9; +} + /********** BASIC LAYOUT **********/ diff --git a/extensions/Wikibase/lib/tests/phpunit/EntityRevisionLookupTest.php b/extensions/Wikibase/lib/tests/phpunit/EntityRevisionLookupTest.php index 08a1d0c..999872d 100644 --- a/extensions/Wikibase/lib/tests/phpunit/EntityRevisionLookupTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/EntityRevisionLookupTest.php @@ -21,7 +21,7 @@ * @licence GNU GPL v2+ * @author Daniel Kinzler */ -abstract class EntityRevisionLookupTest extends \PHPUnit_Framework_TestCase { +abstract class EntityRevisionLookupTest extends \MediaWikiTestCase { /** * @return EntityRevision[] diff --git a/extensions/Wikibase/repo/i18n/ksh.json b/extensions/Wikibase/repo/i18n/ksh.json index 05298b2..86fa11c 100644 --- a/extensions/Wikibase/repo/i18n/ksh.json +++ b/extensions/Wikibase/repo/i18n/ksh.json @@ -85,6 +85,7 @@ "wikibase-item-summary-wbsetsitelink-add": "Hät ene Lengk obb_et [$2] derbeijedonn:", "wikibase-item-summary-wbsetsitelink-remove": "Hät ene Lengk obb_et [$2] erußjenumme:", "wikibase-item-summary-wblinktitles-connect": "{{PLURAL:$1|Sigg|Sigge|kein Sigge}} verbonge", + "wikibase-property-summary-wbcreateclaim-create": "Behouptong opjeschtalld.", "wikibase-property-summary-wbeditentity-create": "En neu Eijeschaff aanjelaat", "wikibase-property-summary-wbeditentity-update": "En Eijeschaff obb ene neue Schtand jebraat", "wikibase-property-summary-wbeditentity-override": "En Eijeschaff ußjetuusch", diff --git a/extensions/Wikibase/repo/i18n/mk.json b/extensions/Wikibase/repo/i18n/mk.json index 28b456b..81d4415 100644 --- a/extensions/Wikibase/repo/i18n/mk.json +++ b/extensions/Wikibase/repo/i18n/mk.json @@ -366,5 +366,27 @@ "right-property-term": "Менување на условите за својствата (натписи, описи, алијаси)", "right-property-create": "Создавање на својства", "wikibase-entity-not-viewable-title": "Несовпаѓање во типот на содржината. Не можам да ја прикажам.", - "wikibase-entity-not-viewable": "Дадениот тип на содржина „$1“ не претставува Единица и затоа Викибазата не може да го прикаже." + "wikibase-entity-not-viewable": "Дадениот тип на содржина „$1“ не претставува Единица и затоа Викибазата не може да го прикаже.", + "apihelp-wbcreateclaim-description": "Создава тврдења во Викибазата.", + "apihelp-wbcreateclaim-param-entity": "Назнака на предметот на кој му го додавате тврдењето", + "apihelp-wbcreateclaim-param-property": "Назнака на својството на спојницата", + "apihelp-wbcreateclaim-param-value": "Вредност на спојницата при создавање на тврдење со спојница што има вердност", + "apihelp-wbcreateclaim-param-snaktype": "Типот на спојницата", + "apihelp-wbcreateclaim-example-1": "Создава тврдење за предметот Q42 на својството P9001 со спојница „без вредност“.", + "apihelp-wbcreateclaim-example-2": "Создава тврдење за предметот Q42 на својството P9002 со низна вредност „ениза“ (itsastring).", + "apihelp-wbcreateclaim-example-3": "Создава тврдење за предметот Q42 на својството P9003 со вредност на предметот Q1", + "apihelp-wbcreateclaim-example-4": "Создава тврдење за предметот Q42 со својство P9004 со координатна вредност на спојницата", + "apihelp-wbcreateredirect-description": "Создава пренасочувања на единици.", + "apihelp-wbcreateredirect-param-from": "Назнака на единицата што треба да се пренасочи", + "apihelp-wbcreateredirect-param-to": "Назнака на единицата кон која се пренасочува", + "apihelp-wbcreateredirect-param-bot": "Означи го уредувањево како бот\nОваа URL-ознака ќе се почитува само ако корисникот пирпаѓа на групата „бот“.", + "apihelp-wbcreateredirect-example-1": "Направи го Q11 да биде пренасочување кон Q12", + "apihelp-wbeditentity-description": "Создава единечна нова единица во Викибазата и ја менува со серијализирани информации.", + "apihelp-wbeditentity-param-id": "Назнаката на единицата, вклучувајќи ја претставката.\nКористете ги „id“ или „site“ заедно со „title“.", + "apihelp-wbeditentity-example-4": "Исчисти ги сите податоци од единицата со назнака Q42", + "apihelp-wbeditentity-example-5": "Исчисти ги сите податоци од единицата со назнака Q42 и задај натпис за mk", + "apihelp-wbmergeitems-example-1": "Ги спојува податоците од Q42 во Q222", + "apihelp-wbmergeitems-example-2": "Ги спојува податоците од Q555 во Q3", + "apihelp-wbmergeitems-example-3": "Ги спојува податоците од Q66 во Q99, занемарувајќи ги можните спротиставени натписи", + "apihelp-wbsetsitelink-example-5": "Додај ја викиврската „Wodór“ за полската страница кон предмет со врската за македонската страница „Водород“ со една значка што води кон истата страница со назнака „Q149“" } diff --git a/extensions/Wikibase/repo/i18n/pl.json b/extensions/Wikibase/repo/i18n/pl.json index d266b26..281d260 100644 --- a/extensions/Wikibase/repo/i18n/pl.json +++ b/extensions/Wikibase/repo/i18n/pl.json @@ -347,6 +347,7 @@ "right-item-redirect": "Tworzenie przekierowań elementu", "right-property-term": "Zmiana określeń właściwości (etykiet, opisów, aliasów)", "right-property-create": "Tworzenie właściwości", + "apihelp-wbsetdescription-param-language": "Język opisu", "apihelp-wbsetlabel-param-language": "Język etykiety", "apihelp-wbsetlabel-param-value": "Wartość etykiety" } diff --git a/extensions/Wikibase/repo/i18n/qqq.json b/extensions/Wikibase/repo/i18n/qqq.json index 640fc04..89542b3 100644 --- a/extensions/Wikibase/repo/i18n/qqq.json +++ b/extensions/Wikibase/repo/i18n/qqq.json @@ -382,7 +382,7 @@ "wikibase-item-summary-wbmergeitems-from": "Automatic edit summary when merging items. This summary is for the edit made to the item being merged TO.\n\nParameters:\n* $1 - (Unused)\n* $2 - (Unused)\n* $3 - the item id of the item being merged from", "wikibase-item-summary-wbmergeitems-to": "Automatic edit summary when merging items. This summary is for the edit made to the item being merged FROM.\n\nParameters:\n* $1 - (Unused)\n* $2 - (Unused)\n* $3 - the item id of the item being merged to", "wikibase-property-summary-wbcreate-new": "{{wikibase summary messages|item|Automatic edit summary generated when creating a new item. This is for backwards compatibility for edits already made and in the database with this message.}}", - "wikibase-property-summary-wbcreateclaim-create": "Automatic edit summary generated when creating a new claim.\n{{identical|Created claim}}", + "wikibase-property-summary-wbcreateclaim-create": "Automatic edit summary generated when creating a new [http://www.wikidata.org/wiki/Wikidata:Glossary/en#Claims_and_statements claim].\n{{identical|Created claim}}", "wikibase-property-summary-wbcreateclaim": "{{wikibase summary messages|property-claims|Automatic edit summary when a claim is created.}}", "wikibase-property-summary-wbsetclaimvalue": "{{wikibase summary messages|property-claims|Automatic edit summary when the main value of one or more claim is changed.}}\n\n{{related|Wikibase-property-summary-wbsetclaim}}", "wikibase-property-summary-wbsetreference": "{{wikibase summary messages|property|Automatic edit summary generated when creating a reference or setting the value of an existing one.}} {{identical|wikibase-item-summary-wbsetreference}}", diff --git a/extensions/Wikibase/repo/i18n/uk.json b/extensions/Wikibase/repo/i18n/uk.json index 0795d83..6c8e462 100644 --- a/extensions/Wikibase/repo/i18n/uk.json +++ b/extensions/Wikibase/repo/i18n/uk.json @@ -11,11 +11,15 @@ "Steve.rusyn", "SteveR", "Zolo", - "Ата" + "Ата", + "Ypryima" ] }, "wikibase-desc": "Сховище структурованих даних", "specialpages-group-wikibaserepo": "Сховище вікібази", + "wikibase-entity-item": "елемент", + "wikibase-entity-property": "властивість", + "wikibase-entity-query": "запит", "wikibase-edit": "редагувати", "wikibase-save": "зберегти", "wikibase-cancel": "скасувати", @@ -30,14 +34,22 @@ "wikibase-description-empty": "Жодного опису ще не визначено.", "wikibase-description-edit-placeholder": "введіть опис", "wikibase-description-edit-placeholder-language-aware": "введіть опис в $1", + "wikibase-diffview-reference": "джерело", + "wikibase-diffview-rank": "ранг", + "wikibase-diffview-rank-preferred": "Пріоритетний ранг", + "wikibase-diffview-rank-normal": "Звичайний ранг", + "wikibase-diffview-rank-deprecated": "Застарілий ранг", + "wikibase-diffview-qualifier": "кваліфікатор", + "wikibase-diffview-label": "позначка", + "wikibase-diffview-alias": "псевдоніми", + "wikibase-diffview-description": "опис", + "wikibase-diffview-link": "посилання", "wikibase-sitelink-site-edit-placeholder": "сайт", "wikibase-sitelink-page-edit-placeholder": "сторінка", "wikibase-alias-edit-placeholder": "введіть синонім", "wikibase-label-input-help-message": "Введіть мітку цієї сутності мовою: $1.", "wikibase-description-input-help-message": "Уведіть короткий опис цієї сутності такою мовою: $1.", - "wikibase-claims": "Твердження", "wikibase-statements": "Твердження", - "wikibase-attributes": "Атрибути", "wikibase-terms": "Іншими мовами", "wikibase-sitelinks-empty": "Жодна сторінка ще не зв'язана з цим елементом.", "wikibase-sitelinks-input-help-message": "Вкажіть посилання на сторінку, що відноситься до цього пункту.", @@ -56,7 +68,6 @@ "wikibase-undo-nocontent": "Неможливо завантажити вміст версії $2 сторінки $1", "wikibase-propertyedittool-counter-pending-tooltip": "{{PLURAL:$1|Одне значення|$1 значення|$1 значень}} іще не збережено", "wikibase-propertyedittool-counter-entrieslabel": "{{PLURAL:$1|запис|записи|записів}}", - "wikibase-sitelinksedittool-full": "Посилання на сторінки вже встановлено для всіх відомих сайтів.", "wikibase-disambiguation-title": "Значення для «$1»", "wb-special-newitem-new-item-notification": "Новий елемент $1 створено. Вас перенаправлено на його сторінку. Назад до «$2».", "wikibase-aliases-label": "Додаткові назви:", @@ -327,5 +338,15 @@ "right-item-merge": "Об'єднати елементи", "right-item-redirect": "Створити елемент перенаправлення", "right-property-term": "Змінювати терміни властивостей (мітки, опису, псевдоніми)", - "right-property-create": "Створення властивостей" + "right-property-create": "Створення властивостей", + "apihelp-wbsetclaimvalue-param-snaktype": "Тип посилання.", + "apihelp-wbsetclaimvalue-example-1": "Встановлює позов з GUID Q42$D8404CDA-25E4-4334-AF13-A3290BCD9C0F значення Q1", + "apihelp-wbsetdescription-param-baserevid": "Числовий ідентифікатор для перегляду базової модифікації.\nЦе використовується для виявлення конфліктів при збереженні.", + "apihelp-wbsetdescription-param-bot": "Залиште відгук редагувати як бот\nЦей URL прапор буде поважати, якщо користувач належить групі \"бот\".", + "apihelp-wbsetlabel-description": "Встановлює мітку для одного Wikibase особи.", + "apihelp-wbsetqualifier-param-snakhash": "Хеш snak змінити.\nПовинно бути передбачено тільки для існуючих класифікаторів", + "apihelp-wbsetreference-param-index": "Індекс в межах інструкції список посилань, куди рухатися посилання. Необов'язковим. Якщо не передбачено, існуючий посилання буде залишатися на місці, а нові посилання будуть додаватися.", + "apihelp-wbsetsitelink-param-id": "Ідентифікатор особи, включаючи префікс.\nВикористовувати 'id' або 'сайту' і 'title' разом.", + "apihelp-wbsetsitelink-param-baserevid": "Числовий ідентифікатор для перегляду базової модифікації.\nЦе використовується для виявлення конфліктів при збереженні.", + "apihelp-wbsetsitelink-example-4": "Видаляє німецький sitelink від елемента" } diff --git a/extensions/Wikibase/repo/i18n/zh-hans.json b/extensions/Wikibase/repo/i18n/zh-hans.json index b59a098..def10a4 100644 --- a/extensions/Wikibase/repo/i18n/zh-hans.json +++ b/extensions/Wikibase/repo/i18n/zh-hans.json @@ -395,11 +395,18 @@ "apihelp-wbcreateclaim-description": "创建Wikibase声称。", "apihelp-wbcreateclaim-param-property": "snaks属性的ID", "apihelp-wbcreateclaim-param-snaktype": "snak类型", + "apihelp-wbcreateredirect-description": "创建实体重定向。", "apihelp-wbcreateredirect-example-1": "改变Q11为重定向至Q12", "apihelp-wbformatvalue-description": "格式数据值。", + "apihelp-wbformatvalue-example-1": "格式化简单字符串值。", "apihelp-wbgetclaims-description": "获取Wikibase声称。", + "apihelp-wbmergeitems-description": "合并重复项。", "apihelp-wbmergeitems-param-fromid": "要合并自的ID", "apihelp-wbmergeitems-param-toid": "要合并到的ID", "apihelp-wbparsevalue-description": "使用ValueParser的解析值。", - "apihelp-wbparsevalue-param-parser": "要使用的ValueParser的ID" + "apihelp-wbparsevalue-param-parser": "要使用的ValueParser的ID", + "apihelp-wbremoveclaims-description": "移除Wikibase声称。", + "apihelp-wbsetclaim-param-claim": "声称序列化", + "apihelp-wbsetlabel-param-language": "标签语言", + "apihelp-wbsetlabel-param-value": "标签值" } diff --git a/extensions/Wikibase/repo/resources/Resources.php b/extensions/Wikibase/repo/resources/Resources.php index 19d3ade..40f9c93 100644 --- a/extensions/Wikibase/repo/resources/Resources.php +++ b/extensions/Wikibase/repo/resources/Resources.php @@ -49,6 +49,18 @@ ), ), + 'jquery.ui.closeable' => $moduleTemplate + array( + 'scripts' => array( + 'jquery.ui/jquery.ui.closeable.js', + ), + 'styles' => array( + 'jquery.ui/jquery.ui.closeable.css', + ), + 'dependencies' => array( + 'jquery.ui.TemplatedWidget', + ), + ), + 'jquery.ui.tagadata' => $moduleTemplate + array( 'scripts' => array( 'jquery.ui/jquery.ui.tagadata.js', @@ -69,9 +81,9 @@ 'jquery.ui/jquery.ui.EditableTemplatedWidget.js', ), 'dependencies' => array( + 'jquery.ui.closeable', 'jquery.ui.TemplatedWidget', 'util.inherit', - 'wikibase.templates', ), ), diff --git a/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.EditableTemplatedWidget.js b/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.EditableTemplatedWidget.js index a994f12..39cf045 100644 --- a/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.EditableTemplatedWidget.js +++ b/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.EditableTemplatedWidget.js @@ -53,6 +53,7 @@ * @see jQuery.ui.TemplatedWidget._create */ _create: function() { + this.element.data( 'EditableTemplatedWidget', this ); PARENT.prototype._create.call( this ); }, @@ -251,6 +252,21 @@ */ removeError: function() { this.element.removeClass( 'wb-error' ); + }, + + /** + * Sets or removes notification. + * + * @param {jQuery} [$content] + * @param {string} [additionalCssClasses] + * @return {jQuery|null} + */ + notification: function( $content, additionalCssClasses ) { + if( !this._$notification ) { + this._$notification = $( '<div/>' ).closeable(); + } + this._$notification.data( 'closeable' ).setContent( $content, additionalCssClasses ); + return this._$notification; } } ); diff --git a/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.css b/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.css new file mode 100644 index 0000000..cf2fc93 --- /dev/null +++ b/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.css @@ -0,0 +1,9 @@ +/** + * @licence GNU GPL v2+ + * @author H. Snater < mediaw...@snater.com > + */ + +.ui-closeable-close { + cursor: pointer; + float: right; +} diff --git a/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.js b/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.js new file mode 100644 index 0000000..e852e2f --- /dev/null +++ b/extensions/Wikibase/repo/resources/jquery.ui/jquery.ui.closeable.js @@ -0,0 +1,94 @@ +( function( $ ) { + 'use strict'; + + var PARENT = $.ui.TemplatedWidget; + +/** + * Content container that can be closed/hidden. + * @class jQuery.ui.closeable + * @extends jQuery.ui.TemplatedWidget + * @licence GNU GPL v2+ + * @author H. Snater < mediaw...@snater.com > + * + * @constructor + * + * @param {Object} [options] + * @param {jQuery|null} [options.$content=null] + * @param {string} [options.cssClass=''] + * Single css class name or space-separated list of multiple class names. + */ +/** + * @event update + * Triggered whenever the widget's content is updated using the setContent() function. + * @param {jQuery.Event} event + */ +$.widget( 'ui.closeable', PARENT, { + /** + * @inheritdoc + */ + options: { + template: 'ui-closeable', + templateParams: [ + '' // content + ], + templateShortCuts: { + $content: '.ui-closeable-content', + $close: '.ui-closeable-close' + }, + $content: null, + cssClass: '' + }, + + /** + * @inheritdoc + */ + _create: function() { + var self = this; + + PARENT.prototype._create.call( this ); + + this.option( '$content', this.options.$content ); + this.option( 'cssClass', this.options.cssClass ); + + this.$close.on( 'click.' + this.widgetName, function() { + self.option( '$content', null ); + } ); + }, + + /** + * Updates the widget's content. + * + * @param {jQuery|null} [$content=null] + * @param {string|null} [cssClasses=null] + */ + setContent: function( $content, cssClasses ) { + this.option( '$content', $content || null ); + this.option( 'cssClass', cssClasses || null ); + this._trigger( 'update' ); + }, + + /** + * @inheritdoc + */ + _setOption: function( key, value ) { + if( key === '$content' ) { + this.$content.empty(); + + if( !value ) { + this.element.hide(); + } else { + this.$content.append( value ); + this.element.show(); + } + } else if( key === 'cssClass' ) { + value = value || ''; + this.element.removeClass( this.options.cssClass ); + this.element.addClass( value ); + } + + return PARENT.prototype._setOption.apply( this, arguments ); + } +} ); + + +}( jQuery ) ); diff --git a/extensions/Wikibase/repo/resources/jquery/jquery.sticknode.js b/extensions/Wikibase/repo/resources/jquery/jquery.sticknode.js index 5265f4b..0256a2b 100644 --- a/extensions/Wikibase/repo/resources/jquery/jquery.sticknode.js +++ b/extensions/Wikibase/repo/resources/jquery/jquery.sticknode.js @@ -12,6 +12,11 @@ /** * jQuery sticknode plugin. * Sticks a node with "position: fixed" when vertically scrolling it out of the viewport. + * Be aware that plugin does not handle dynamic height changes (e.g. if the node contains + * interactive elements that wipe out additional content). The code applying the widget needs to be + * aware of dynamic height changes. Consequently, whenever the height of the node the plugin is + * initialized on changes, a call to the refresh() function should be made to avoid undesired + * clipping. * * @param {Object} [options] * - {jQuery} $container @@ -92,6 +97,11 @@ $node: null, /** + * @type {jQuery|null} + */ + _$clone: null, + + /** * @type {Object} */ _options: null, @@ -116,6 +126,11 @@ '.' + PLUGIN_NAME ); this.$node.removeData( PLUGIN_NAME ); + + if( this._$clone ) { + this._$clone.remove(); + this._$clone = null; + } }, /** @@ -176,6 +191,12 @@ width: this.$node.css( 'width' ) }; + // Cannot fix the clone instead of the original node since the clone does not feature event + // bindings. + this._$clone = this.$node.clone() + .css( 'visibility', 'hidden' ) + .insertBefore( this.$node ); + this.$node .css( 'left', this._initialAttributes.offset.left + 'px' ) .css( 'top', this.$node.outerHeight() - this.$node.outerHeight( true ) ) @@ -184,6 +205,15 @@ }, _unfix: function() { + if( !this.isFixed() ) { + return; + } + + if( this._$clone ) { + this._$clone.remove(); + this._$clone = null; + } + this.$node .css( 'left', this._initialAttributes.left ) .css( 'top', this._initialAttributes.top ) @@ -210,10 +240,7 @@ * @return {boolean} */ update: function( scrollTop, force ) { - var changedState = false, - $document = $( document ), - initialDocumentHeight = $document.height(), - newDocumentHeight; + var changedState = false; if( force && this.isFixed() ) { this._unfix(); @@ -225,14 +252,6 @@ && !this._isScrolledAfterContainer() ) { this._fix(); - - newDocumentHeight = $document.height(); - if( newDocumentHeight < initialDocumentHeight ) { - $window.scrollTop( scrollTop - ( initialDocumentHeight - newDocumentHeight ) ); - initialDocumentHeight = newDocumentHeight; - this._changesDocumentHeight = true; - } - changedState = true; } @@ -241,17 +260,21 @@ || this._clipsContainer() ) { this._unfix(); - - newDocumentHeight = $document.height(); - if( newDocumentHeight > initialDocumentHeight ) { - $window.scrollTop( scrollTop + ( newDocumentHeight - initialDocumentHeight ) ); - this._changesDocumentHeight = true; - } - changedState = !changedState; } return changedState; + }, + + /** + * Re-fixes the node if it is fixed, properly updating scroll position. Should be called + * whenever the node's content has been updated. + */ + refresh: function() { + if( this.isFixed() ) { + this._unfix(); + this._fix(); + } } } ); diff --git a/extensions/Wikibase/repo/resources/templates.php b/extensions/Wikibase/repo/resources/templates.php index 7ef1fba..a945fdb 100644 --- a/extensions/Wikibase/repo/resources/templates.php +++ b/extensions/Wikibase/repo/resources/templates.php @@ -248,9 +248,11 @@ $templates['wikibase-sitelinkgroupview'] = <<<HTML <div class="wikibase-sitelinkgroupview" data-wb-sitelinks-group="$5"> - <div class="wikibase-sitelinkgroupview-heading-container"> - <h2 class="wb-section-heading wikibase-sitelinkgroupview-heading" dir="auto" id="$1">$2<span class="wikibase-sitelinkgroupview-counter">$3</span></h2> - <!-- wikibase-toolbar -->$6 + <div class="wikibase-sitelinkgroupview-heading-section"> + <div class="wikibase-sitelinkgroupview-heading-container"> + <h2 class="wb-section-heading" dir="auto" id="$1">$2<span class="wikibase-sitelinkgroupview-counter">$3</span></h2> + <!-- wikibase-toolbar -->$6 + </div> </div> <!-- wikibase-sitelinklistview -->$4 </div> @@ -333,5 +335,13 @@ [$1] HTML; + $templates['ui-closeable'] = +<<<HTML +<div class="ui-closeable"> + <div class="ui-closeable-close">✕</div> + <div class="ui-closeable-content">$1</div> +</div> +HTML; + return $templates; } ); diff --git a/extensions/Wikibase/repo/resources/utilities/resources.php b/extensions/Wikibase/repo/resources/utilities/resources.php index dc18625..61d5663 100644 --- a/extensions/Wikibase/repo/resources/utilities/resources.php +++ b/extensions/Wikibase/repo/resources/utilities/resources.php @@ -46,6 +46,7 @@ 'dependencies' => array( 'wikibase', 'jquery.tipsy', + 'jquery.ui.toggler', 'util.inherit', 'mediawiki.language', ), @@ -57,6 +58,7 @@ 'wikibase-deletedentity-item', 'wikibase-deletedentity-property', 'wikibase-deletedentity-query', + 'wikibase-tooltip-error-details', 'word-separator', 'parentheses', ), diff --git a/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.css b/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.css index 9a1ad26..d1d963c 100644 --- a/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.css +++ b/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.css @@ -62,3 +62,27 @@ } /****** /PENDING-COUNTER ******/ + + +/***** ERROR OUTPUT *****/ + +.wb-error .wb-error-message { + border-bottom: 1px dotted #B27631; + padding-bottom: .5em; +} + +.wb-error .wb-error-details-link { + margin-top: .2em; +} + +.wb-error .wb-error-details { + margin-top: .2em; + margin-bottom: .5em; + font-family: 'Courier New', Courier, 'Andale Mono', serif; + background-color: #FFF2E4; + padding: .2em; + border-radius: 5px; + font-size: .9em; +} + +/***** /ERROR OUTPUT *****/ diff --git a/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.js b/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.js index aed9964..c31ca2d 100644 --- a/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.js +++ b/extensions/Wikibase/repo/resources/utilities/wikibase.utilities.ui.js @@ -179,4 +179,40 @@ return $msg; }; + /** + * Generates standardized output for errors. + * + * @param {Error} error + * @param {Object} [animationOptions={ duration: 'fast' }] jQuery animation options. + * @return {jQuery} + */ + wb.utilities.ui.buildErrorOutput = function( error, animationOptions ) { + var $message = $( '<div/>' ).addClass( 'wb-error' ); + + $message.append( $( '<div/>' ).addClass( 'wb-error-message' ).text( error.message ) ); + + // Append detailed error message if given; hide it behind toggle: + if( error.detailedMessage ) { + var $detailedMessage = $( '<div/>', { + 'class': 'wb-error-details', + html: error.detailedMessage + } ) + .hide(); + + var $toggler = $( '<a/>' ) + .addClass( 'wb-error-details-link' ) + .text( mw.msg( 'wikibase-tooltip-error-details' ) ) + .toggler( $.extend( { + $subject: $detailedMessage, + duration: 'fast' + }, animationOptions || {} ) ); + + $message + .append( $toggler ) + .append( $detailedMessage ); + } + + return $message; + }; + }( mediaWiki, wikibase, jQuery ) ); diff --git a/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js b/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js index fbf55f0..2aa0f75 100644 --- a/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js +++ b/extensions/Wikibase/repo/resources/wikibase.ui.entityViewInit.js @@ -258,15 +258,37 @@ } var $message = $( '<span><p>' + copyRightMessageHtml + '</p></span>' ), - edittoolbar = $origin.data( 'edittoolbar' ); + $hideMessage = $( '<a/>', { + text: mw.msg( 'wikibase-copyrighttooltip-acknowledge' ) + } ).appendTo( $message ), + editableTemplatedWidget = $origin.data( 'EditableTemplatedWidget' ); + + // TODO: Use notification system for copyright messages on all widgets. + if( editableTemplatedWidget ) { + editableTemplatedWidget.notification( $message, 'wb-edit' ); + + $hideMessage.on( 'click', function( event ) { + event.preventDefault(); + editableTemplatedWidget.notification(); + if( mw.user.isAnon() ) { + $.cookie( cookieKey, copyRightVersion, { 'expires': 365 * 3, 'path': '/' } ); + } else { + var api = new mw.Api(); + api.postWithToken( 'options', { + 'action': 'options', + 'optionname': optionsKey, + 'optionvalue': copyRightVersion + } ); + } + } ); + return; + } + + var edittoolbar = $origin.data( 'edittoolbar' ); if( !edittoolbar ) { return; } - - var $hideMessage = $( '<a/>', { - text: mw.msg( 'wikibase-copyrighttooltip-acknowledge' ) - } ).appendTo( $message ); // Tooltip gets its own anchor since other elements might have their own tooltip. // we don't even have to add this new toolbar element to the toolbar, we only use it diff --git a/extensions/Wikibase/repo/tests/qunit/jquery.ui/jquery.ui.closeable.tests.js b/extensions/Wikibase/repo/tests/qunit/jquery.ui/jquery.ui.closeable.tests.js new file mode 100644 index 0000000..91ff319 --- /dev/null +++ b/extensions/Wikibase/repo/tests/qunit/jquery.ui/jquery.ui.closeable.tests.js @@ -0,0 +1,117 @@ +/** + * @licence GNU GPL v2+ + * @author H. Snater < mediaw...@snater.com > + */ +( function( $, QUnit ) { +'use strict'; + +/** + * @param {Object} [options] + * @return {jQuery} + */ +function createCloseable( options ) { + return $( '<div/>' ) + .addClass( 'test_closeable' ) + .closeable( options || {} ); +} + +QUnit.module( 'jquery.ui.tagadata', QUnit.newMwEnvironment( { + teardown: function() { + $( '.test_closeable' ).each( function() { + var $closeable = $( this ), + closeable = $( this ).data( 'closeable' ); + + if( closeable ) { + closeable.destroy(); + } + + $closeable.remove(); + } ); + } +} ) ); + +QUnit.test( 'Create & destroy', function( assert ) { + var $closeable = createCloseable(), + closeable = $closeable.data( 'closeable' ); + + assert.ok( + closeable instanceof $.ui.closeable, + 'Initialized widget.' + ); + + closeable.destroy(); + + assert.ok( + $closeable.data( 'closeable' ) === undefined, + 'Destroyed widget.' + ); +} ); + +QUnit.test( 'Close when clicking "close" anchor', function( assert ) { + var $closeable = createCloseable( { + $content: $( '<span>test</span>' ) + } ), + closeable = $closeable.data( 'closeable' ); + + assert.ok( + $closeable.option( '$content' ) instanceof $, + 'Instantiated widget with initial content.' + ); + + closeable.$close.trigger( 'click' ); + + assert.strictEqual( + $closeable.option( '$content' ), + null, + 'Removed content after clicking "close" anchor.' + ); +} ); + +QUnit.test( 'setContent()', 7, function( assert ) { + var $closeable = createCloseable(), + closeable = $closeable.data( 'closeable' ), + $content = $( '<span>test</span>' ); + + $closeable.on( 'closeableupdate', function() { + assert.ok( + true, + 'Triggered "update" event.' + ); + } ); + + assert.strictEqual( + closeable.option( '$content' ), + null, + 'Instantiated empty widget.' + ); + + closeable.setContent( $content, 'cssClass' ); + + assert.equal( + closeable.option( '$content' ).get( 0 ), + $content.get( 0 ), + 'Set content.' + ); + + assert.equal( + closeable.option( 'cssClass' ), + 'cssClass', + 'Set CSS class.' + ); + + closeable.setContent( $content, 'cssClass' ); + + assert.strictEqual( + closeable.option( '$content' ), + null, + 'Removed content.' + ); + + assert.equal( + closeable.option( 'cssClass' ), + '', + 'Removed CSS class.' + ); +} ); + +}( jQuery, QUnit ) ); diff --git a/extensions/Wikibase/repo/tests/qunit/resources.php b/extensions/Wikibase/repo/tests/qunit/resources.php index 903193c..9240cc8 100644 --- a/extensions/Wikibase/repo/tests/qunit/resources.php +++ b/extensions/Wikibase/repo/tests/qunit/resources.php @@ -44,6 +44,15 @@ ), ), + 'jquery.ui.closeable.tests' => $moduleBase + array( + 'scripts' => array( + 'jquery.ui/jquery.ui.closeable.tests.js', + ), + 'dependencies' => array( + 'jquery.ui.closeable', + ), + ), + 'jquery.ui.tagadata.tests' => $moduleBase + array( 'scripts' => array( 'jquery.ui/jquery.ui.tagadata.tests.js', diff --git a/vendor/autoload.php b/vendor/autoload.php index 6fe0f8b..b6e142e 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer' . '/autoload_real.php'; -return ComposerAutoloaderInite0e55127c70bef3d04fe8e6e1d95e445::getLoader(); +return ComposerAutoloaderInitce23031c8aa013cf5b57a39a61e7a721::getLoader(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index 4433649..70d78bc 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -56,7 +56,11 @@ public function getPrefixes() { - return call_user_func_array('array_merge', $this->prefixesPsr0); + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + return array(); } public function getPrefixesPsr4() diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index f538a9c..5b3cabc 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInite0e55127c70bef3d04fe8e6e1d95e445 +class ComposerAutoloaderInitce23031c8aa013cf5b57a39a61e7a721 { private static $loader; @@ -19,9 +19,9 @@ return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInite0e55127c70bef3d04fe8e6e1d95e445', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInitce23031c8aa013cf5b57a39a61e7a721', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInite0e55127c70bef3d04fe8e6e1d95e445', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInitce23031c8aa013cf5b57a39a61e7a721', '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) { - composerRequiree0e55127c70bef3d04fe8e6e1d95e445($file); + composerRequirece23031c8aa013cf5b57a39a61e7a721($file); } return $loader; } } -function composerRequiree0e55127c70bef3d04fe8e6e1d95e445($file) +function composerRequirece23031c8aa013cf5b57a39a61e7a721($file) { require $file; } diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index dc0a73f..30257c9 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -123,9 +123,7 @@ "psr-4": { "PropertySuggester\\": "src/PropertySuggester/" }, - "files": [ - - ], + "files": [], "classmap": [ "PropertySuggesterHooks.php", "maintenance/UpdateTable.php" @@ -1224,12 +1222,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "3a65287aaeb3bf6109c8e7ad557100b04f19c47a" + "reference": "f7d1d239ae01493e60f2d73a64a32ea6e5c9e95d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/3a65287aaeb3bf6109c8e7ad557100b04f19c47a", - "reference": "3a65287aaeb3bf6109c8e7ad557100b04f19c47a", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/f7d1d239ae01493e60f2d73a64a32ea6e5c9e95d", + "reference": "f7d1d239ae01493e60f2d73a64a32ea6e5c9e95d", "shasum": "" }, "require": { @@ -1257,7 +1255,7 @@ "conflict": { "mediawiki/mediawiki": "<1.23" }, - "time": "2014-12-10 10:40:44", + "time": "2014-12-10 22:37:18", "type": "mediawiki-extension", "installation-source": "dist", "autoload": { -- To view, visit https://gerrit.wikimedia.org/r/179113 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia0a938089b86f92c5242ef01f43e9d41c9830b29 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikidata Gerrit-Branch: master Gerrit-Owner: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits