jenkins-bot has submitted this change and it was merged.
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(-)
Approvals:
Aude: Looks good to me, approved
jenkins-bot: Verified
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 < [email protected] >
*/
-( 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 < [email protected] >
+ */
+
+.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 < [email protected] >
+ *
+ * @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 < [email protected] >
+ */
+( 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: merged
Gerrit-Change-Id: Ia0a938089b86f92c5242ef01f43e9d41c9830b29
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits