jenkins-bot has submitted this change and it was merged. Change subject: New Wikidata Build - 2016-11-19T10:00:01+0000 ......................................................................
New Wikidata Build - 2016-11-19T10:00:01+0000 Change-Id: I29dc108f8107a5b63d4f39e7c119d0198f761fb6 --- M composer.lock M extensions/ArticlePlaceholder/extension.json M extensions/ArticlePlaceholder/i18n/bn.json M extensions/ArticlePlaceholder/i18n/ko.json M extensions/ArticlePlaceholder/i18n/ru.json M extensions/ArticlePlaceholder/includes/AboutTopicRenderer.php M extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticle.js A extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticleTranslation.js A extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newArticle.js D extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newEmptyArticle.js M extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplay.css M extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplayMobile.css M extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplaySmall.css D extensions/ArticlePlaceholder/modules/ext.articleplaceholder.translateArticle/ext.articleplaceholder.translateArticle.js M extensions/ArticlePlaceholder/tests/phpunit/includes/AboutTopicRendererTest.php M extensions/Wikibase/client/i18n/udm.json M extensions/Wikibase/lib/i18n/ja.json M extensions/Wikibase/lib/includes/Units/BaseUnitStorage.php M extensions/Wikibase/lib/includes/Units/CSVUnitStorage.php M extensions/Wikibase/lib/includes/Units/JsonUnitStorage.php M extensions/Wikibase/lib/includes/Units/UnitStorage.php M extensions/Wikibase/lib/tests/phpunit/Units/UnitConverterTest.php M extensions/Wikibase/lib/tests/phpunit/Units/UnitStorageTest.php M extensions/Wikibase/repo/i18n/ja.json M extensions/Wikibase/repo/maintenance/SPARQLException.php M extensions/Wikibase/repo/maintenance/addUnitConversions.php M extensions/Wikibase/repo/maintenance/updateUnits.php M extensions/Wikibase/repo/tests/phpunit/maintenance/AddUnitsTest.php M extensions/Wikibase/repo/tests/phpunit/maintenance/MockAddUnits.php M extensions/Wikibase/repo/tests/phpunit/maintenance/UpdateUnitsTest.php M vendor/composer/installed.json 31 files changed, 345 insertions(+), 264 deletions(-) Approvals: Addshore: Looks good to me, approved jenkins-bot: Verified diff --git a/composer.lock b/composer.lock index 66e8d38..165968e 100644 --- a/composer.lock +++ b/composer.lock @@ -797,12 +797,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git", - "reference": "b2906c844b89885c4bb89dcee1f77731a77dc719" + "reference": "39412b7da7d9d4466d05c47f66228608b8c5a156" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/b2906c844b89885c4bb89dcee1f77731a77dc719", - "reference": "b2906c844b89885c4bb89dcee1f77731a77dc719", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/39412b7da7d9d4466d05c47f66228608b8c5a156", + "reference": "39412b7da7d9d4466d05c47f66228608b8c5a156", "shasum": "" }, "require-dev": { @@ -827,7 +827,7 @@ ], "description": "Provides a special page with Wikibase information about a certain topic, with invitation to create an article for the topic", "homepage": "https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder", - "time": "2016-11-17 21:50:05" + "time": "2016-11-18 21:13:26" }, { "name": "propertysuggester/property-suggester", @@ -1585,12 +1585,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "3b6d7129cab32003086c5c20d7c780bf946175db" + "reference": "77eb01b3d2e5b60a8d662ea845a23850f4e75322" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/3b6d7129cab32003086c5c20d7c780bf946175db", - "reference": "3b6d7129cab32003086c5c20d7c780bf946175db", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/77eb01b3d2e5b60a8d662ea845a23850f4e75322", + "reference": "77eb01b3d2e5b60a8d662ea845a23850f4e75322", "shasum": "" }, "require": { @@ -1664,7 +1664,7 @@ "wikibaserepo", "wikidata" ], - "time": "2016-11-17 21:56:36" + "time": "2016-11-18 21:17:55" }, { "name": "wikibase/wikimedia-badges", diff --git a/extensions/ArticlePlaceholder/extension.json b/extensions/ArticlePlaceholder/extension.json index 3ae4b35..06eba6a 100644 --- a/extensions/ArticlePlaceholder/extension.json +++ b/extensions/ArticlePlaceholder/extension.json @@ -25,7 +25,8 @@ "position": "bottom", "scripts": [ "ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticle.js", - "ext.articleplaceholder.createArticle/ext.articleplaceholder.newEmptyArticle.js" + "ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticleTranslation.js", + "ext.articleplaceholder.createArticle/ext.articleplaceholder.newArticle.js" ], "styles": "ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticle.css", "dependencies": [ @@ -39,17 +40,9 @@ "articleplaceholder-abouttopic-create-article-submit-button", "articleplaceholder-abouttopic-create-article-label", "articleplaceholder-abouttopic-create-article-mandatory", + "articleplaceholder-abouttopic-translate-article-button", + "articleplaceholder-abouttopic-translate-article-label", "cancel" - ] - }, - "ext.articleplaceholder.translateArticle": { - "position": "bottom", - "scripts": "ext.articleplaceholder.translateArticle/ext.articleplaceholder.translateArticle.js", - "dependencies": [ - "ext.articleplaceholder.createArticle" - ], - "messages": [ - "articleplaceholder-abouttopic-translate-article-label" ] }, "ext.articleplaceholder.defaultDisplay": { diff --git a/extensions/ArticlePlaceholder/i18n/bn.json b/extensions/ArticlePlaceholder/i18n/bn.json index 9d7dce9..0b0c0ba 100644 --- a/extensions/ArticlePlaceholder/i18n/bn.json +++ b/extensions/ArticlePlaceholder/i18n/bn.json @@ -5,5 +5,7 @@ ] }, "createtopicpage": "পাতা তৈরি করুন", + "articleplaceholder-abouttopic-translate-article-label": "উৎস ভাষা:", + "articleplaceholder-abouttopic-translate-article-button": "নিবন্ধ অনুবাদ করুন", "articleplaceholder-createpage-title": "$1 তৈরি করুন" } diff --git a/extensions/ArticlePlaceholder/i18n/ko.json b/extensions/ArticlePlaceholder/i18n/ko.json index dabaff2..b6d20e1 100644 --- a/extensions/ArticlePlaceholder/i18n/ko.json +++ b/extensions/ArticlePlaceholder/i18n/ko.json @@ -13,6 +13,8 @@ "articleplaceholder-abouttopic-no-entity-error": "유효한 항목 ID가 아닙니다.", "articleplaceholder-abouttopic-create-article-title": "새 문서 만들기", "articleplaceholder-abouttopic-create-article-button": "새 문서 만들기", + "articleplaceholder-abouttopic-translate-article-label": "원본 언어:", + "articleplaceholder-abouttopic-translate-article-button": "문서 번역", "articleplaceholder-abouttopic-create-article-submit-button": "제출", "articleplaceholder-abouttopic-article-exists-error": "이 제목으로 된 문서가 이미 존재합니다", "articleplaceholder-abouttopic-lua-entity": "개체", diff --git a/extensions/ArticlePlaceholder/i18n/ru.json b/extensions/ArticlePlaceholder/i18n/ru.json index 3fcb1bf..6e0d2eb 100644 --- a/extensions/ArticlePlaceholder/i18n/ru.json +++ b/extensions/ArticlePlaceholder/i18n/ru.json @@ -18,6 +18,7 @@ "articleplaceholder-abouttopic-create-article-mandatory": "Название статьи указывать обязательно.", "articleplaceholder-abouttopic-create-article-button": "Создать статью", "articleplaceholder-abouttopic-translate-article-label": "Исходный язык:", + "articleplaceholder-abouttopic-translate-article-button": "Перевод статьи", "articleplaceholder-abouttopic-create-article-submit-button": "Отправить", "articleplaceholder-abouttopic-article-exists-error": "Статья с таким названием уже существует.", "articleplaceholder-abouttopic-lua-entity": "Сущность", diff --git a/extensions/ArticlePlaceholder/includes/AboutTopicRenderer.php b/extensions/ArticlePlaceholder/includes/AboutTopicRenderer.php index e992e17..d95acad 100644 --- a/extensions/ArticlePlaceholder/includes/AboutTopicRenderer.php +++ b/extensions/ArticlePlaceholder/includes/AboutTopicRenderer.php @@ -125,8 +125,9 @@ $output->addModules( 'ext.articleplaceholder.createArticle' ); $output->addJsConfigVars( 'apLabel', $label ); - $buttons = new OOUI\ButtonWidget( [ - 'id' => 'new-empty-article-button', + $contents = new OOUI\ButtonWidget( [ + 'id' => 'new-article-button', + 'flags' => [ 'primary', 'progressive' ], 'infusable' => true, 'label' => wfMessage( 'articleplaceholder-abouttopic-create-article-button' )->text(), 'href' => SpecialPage::getTitleFor( 'CreateTopicPage', $label ) @@ -137,19 +138,13 @@ // TODO: Button should be hidden if the only sitelink links to the current wiki. // $wikibaseClient->getSettings()->getSetting( 'siteGlobalID' ) should be injected here! if ( ExtensionRegistry::getInstance()->isLoaded( 'ContentTranslation' ) && $siteLinks ) { - $output->addModules( 'ext.articleplaceholder.translateArticle' ); - $buttons .= new OOUI\ButtonWidget( [ - 'id' => 'translate-article-button', - 'infusable' => true, - 'label' => wfMessage( 'articleplaceholder-abouttopic-translate-article-button' )->text(), - 'target' => 'blank' - ] ); + $output->addJsConfigVars( 'apContentTranslation', true ); } $output->addHTML( Html::rawElement( 'div', [ 'class' => 'mw-articleplaceholder-createarticle-buttons' ], - $buttons + $contents ) ); } @@ -177,7 +172,6 @@ * @param OutputPage $output */ private function showTitle( $label, OutputPage $output ) { - $output->setTitle( Title::newFromText( $label ) ); $output->setPageTitle( htmlspecialchars( $label ) ); } diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticle.js b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticle.js index 880f38c..65cdea2 100644 --- a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticle.js +++ b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticle.js @@ -1,6 +1,7 @@ /** * @licence GNU GPL v2+ * @author Florian Schmidt + * @author Jonas M. Kress */ ( function ( $, mw, OO, module ) { @@ -9,12 +10,19 @@ /** * @class */ - function CreateArticleDialog( config ) { - CreateArticleDialog.super.call( this, config ); // jshint:ignore + function CreateArticleDialog() { + CreateArticleDialog.super.call( this, { + size: 'medium' + } ); // jshint:ignore + this.createContentLayout(); } OO.inheritClass( CreateArticleDialog, OO.ui.ProcessDialog ); + /** + * @property {string} + * @protected + */ CreateArticleDialog.static.title = mw.msg( 'articleplaceholder-abouttopic-create-article-title' ); @@ -30,30 +38,160 @@ } ]; - // Customize the initialize() function: This is where to add content to the dialog body and set up event handlers. + /** + * @property {OO.ui.Layout} + * @protected + */ + CreateArticleDialog.prototype.dialogContentLayout = null; + + /** + * @property {OO.ui.TextInputWidget} + * @protected + */ + CreateArticleDialog.prototype.titleInput = null; + + /** + * @override + */ CreateArticleDialog.prototype.initialize = function () { CreateArticleDialog.parent.prototype.initialize.call( this ); // jshint:ignore + this.createContentElements(); this.$body.append( this.dialogContent ); }; - CreateArticleDialog.prototype.setContent = function ( dialogContent ) { - this.dialogContent = dialogContent; - }; - + /** + * @override + */ CreateArticleDialog.prototype.getActionProcess = function ( action ) { var self = this; if ( action ) { return new OO.ui.Process( function () { - return self.onSubmit(); + return self.process(); }, this ); } return CreateArticleDialog.parent.prototype.getActionProcess.call( this, action ); }; + /** + * @private + */ + CreateArticleDialog.prototype.process = function () { + var self = this, + deferred = $.Deferred(); + + $.when( + this.onValidate(), + this.onSubmit() + ).done( function () { + self.close(); + deferred.resolve(); + } ).fail( function ( message ) { + deferred.reject( new OO.ui.Error( message ) ); + } ); + + return deferred.promise(); + }; + + /** + * @protected + */ + CreateArticleDialog.prototype.createContentElements = function () { + this.addElement( this.createTitleInput().$element ); + }; + + /** + * @protected + */ + CreateArticleDialog.prototype.addElement = function ( $element, index ) { + var item = new OO.ui.PanelLayout( { + $content: $element, + padded: true + } ); + + this.dialogContentLayout.addItems( [ item ], index ); + }; + + /** + * @protected + */ + CreateArticleDialog.prototype.createContentLayout = function () { + this.dialogContentLayout = new OO.ui.StackLayout( { + continuous: true + } ); + + this.dialogContent = this.dialogContentLayout.$element; + }; + + /** + * @protected + * @return {OO.ui.TextInputWidget} + */ + CreateArticleDialog.prototype.createTitleInput = function () { + var self = this; + + this.titleInput = new OO.ui.TextInputWidget( { + value: mw.config.get( 'apLabel' ), + label: mw.msg( 'articleplaceholder-abouttopic-create-article-label' ), + multiline: false, + required: true, + autosize: true + } ); + + this.titleInput.on( 'enter', function () { + self.executeAction( 'save' ); + } ); + + return this.titleInput; + }; + + /** + * @protected + * @return {jQuery.Promise} + */ + CreateArticleDialog.prototype.onValidate = function () { + if ( this.titleInput.getValue().trim() === '' ) { + return $.Deferred().reject( + mw.msg( 'articleplaceholder-abouttopic-create-article-mandatory' ) + ).promise(); + } + + return $.Deferred().resolve().promise(); + }; + + /** + * @protected + * @return {jQuery.Promise} + */ CreateArticleDialog.prototype.onSubmit = function () { - return true; + var title = this.titleInput.getValue(), + deferred = $.Deferred(); + + new mw.Api().get( { + formatversion: 2, + action: 'query', + titles: title + } ).done( function ( data ) { + var query = data.query; + + if ( !query || !query.pages ) { + deferred.reject(); + return; + } + + if ( query.pages[ 0 ].missing ) { + title = mw.Title.newFromUserInput( title, 0 ); + document.location.href = mw.config.get( 'wgServer' ) + title.getUrl( { + action: 'edit' + } ); + deferred.resolve(); + } else { + deferred.reject( mw.msg( 'articleplaceholder-abouttopic-article-exists-error' ) ); + } + } ); + + return deferred; }; module.exports.CreateArticleDialog = CreateArticleDialog; diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticleTranslation.js b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticleTranslation.js new file mode 100644 index 0000000..bd8f55d --- /dev/null +++ b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.createArticleTranslation.js @@ -0,0 +1,115 @@ +/** + * @licence GNU GPL v2+ + * @author Florian Schmidt + * @author Jonas M. Kress + */ + +( function ( $, mw, OO, module ) { + 'use strict'; + + var CreateArticleDialog = module.exports.CreateArticleDialog; + + /** + * @class + */ + function CreateArticleTranslationDialog() { + CreateArticleTranslationDialog.super.call( this ); // jshint:ignore + } + OO.inheritClass( CreateArticleTranslationDialog, CreateArticleDialog ); + + /** + * @property {OO.ui.DropdownInputWidget} + * @protected + */ + CreateArticleTranslationDialog.prototype.languageInput = null; + + /** + * @property {OO.ui.CheckboxInputWidget} + * @protected + */ + CreateArticleTranslationDialog.prototype.translateCheckbox = null; + + /** + * @override + * @return {jQuery.Promise} + */ + CreateArticleTranslationDialog.prototype.onSubmit = function () { + var self = this, + deferred = $.Deferred(); + + if ( !this.translateCheckbox.isSelected() ) { + return CreateArticleTranslationDialog.super.prototype.onSubmit.apply( this ); + } + + mw.track( 'counter.MediaWiki.wikibase.articleplaceholder.button.translate-article' ); + + mw.loader.using( 'ext.cx.sitemapper' ).then( function () { + document.location.href = mw.cx.SiteMapper.prototype.getCXUrl( + mw.config.get( 'apPageNames' )[ self.languageInput.getValue() ], + self.titleInput.getValue(), + self.languageInput.getValue(), + mw.config.get( 'wgContentLanguage' ) + ); + + deferred.resolve(); + } ); + + return deferred.promise(); + }; + + /** + * @protected + * @return {OO.ui.DropdownInputWidget} + */ + CreateArticleTranslationDialog.prototype.createLanguageInput = function () { + this.languageInput = new OO.ui.DropdownInputWidget( { + text: mw.msg( 'articleplaceholder-abouttopic-translate-article-label' ), + options: mw.config.get( 'apLanguages' ), + disabled: true + } ); + + return this.languageInput; + }; + + /** + * @protected + * @return {OO.ui.CheckboxInputWidget} + */ + CreateArticleTranslationDialog.prototype.createTranslateCheckbox = function () { + var self = this; + + this.translateCheckbox = new OO.ui.CheckboxInputWidget() + .on( 'change', function ( selected ) { + self.languageInput.setDisabled( !selected ); + } ); + + return this.translateCheckbox; + }; + + /** + * @protected + * @return {jQuery} + */ + CreateArticleTranslationDialog.prototype.createTranslateSection = function () { + var msg = mw.msg( 'articleplaceholder-abouttopic-translate-article-button' ); + + return $( '<div>' ).append( + new OO.ui.FieldLayout( + this.createTranslateCheckbox(), + { label: msg, align: 'inline' } + ).$element, + this.createLanguageInput().$element + ); + }; + + /** + * @protected + */ + CreateArticleTranslationDialog.prototype.createContentElements = function () { + this.addElement( this.createTranslateSection() ); + this.addElement( this.createTitleInput().$element ); + }; + + module.exports.CreateArticleTranslationDialog = CreateArticleTranslationDialog; + +} )( jQuery, mediaWiki, OO, module ); diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newArticle.js b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newArticle.js new file mode 100644 index 0000000..4ea6b57 --- /dev/null +++ b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newArticle.js @@ -0,0 +1,29 @@ +/** + * @licence GNU GPL v2+ + * + * @author Lucie-Aimée Kaffee + * @author Florian Schmidt + */ + +( function ( $, mw, OO, module ) { + 'use strict'; + + function onWikipageContent() { + var CreateArticleDialog = mw.config.get( 'apContentTranslation' ) ? + module.exports.CreateArticleTranslationDialog : + module.exports.CreateArticleDialog, + windowManager = new OO.ui.WindowManager(), + dialog = new CreateArticleDialog(); + + $( 'body' ).append( windowManager.$element ); + windowManager.addWindows( [ dialog ] ); + + OO.ui.infuse( 'new-article-button' ).on( 'click', function () { + mw.track( 'counter.MediaWiki.wikibase.articleplaceholder.button.create-article' ); + windowManager.openWindow( dialog ); + } ); + } + + mw.hook( 'wikipage.content' ).add( onWikipageContent ); + +} )( jQuery, mediaWiki, OO, module ); diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newEmptyArticle.js b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newEmptyArticle.js deleted file mode 100644 index e45d1ae..0000000 --- a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.createArticle/ext.articleplaceholder.newEmptyArticle.js +++ /dev/null @@ -1,100 +0,0 @@ -/** - * @licence GNU GPL v2+ - * @author Lucie-Aimée Kaffee - * @author Florian Schmidt - */ - -( function ( $, mw, OO, module ) { - 'use strict'; - - var titleInput, - CreateArticleDialog = module.exports.CreateArticleDialog; - - /** - * @return {jQuery.Promise} - */ - function onSubmit() { - var titleRaw = titleInput.getValue(), - api = new mw.Api(), - deferred = $.Deferred(); - - if ( titleRaw.trim() === '' ) { - return deferred.reject( new OO.ui.Error( - mw.msg( 'articleplaceholder-abouttopic-create-article-mandatory' ) - ) ).promise(); - } - - api.get( { - formatversion: 2, - action: 'query', - titles: titleRaw - } ).done( function ( data ) { - var query = data.query, - title; - - if ( titleRaw !== titleInput.getValue() || !query || !query.pages ) { - deferred.reject(); - return; - } - - if ( query.pages[ 0 ].missing ) { - title = mw.Title.newFromUserInput( titleRaw, 0 ); - document.location.href = mw.config.get( 'wgServer' ) + title.getUrl( { action: 'edit' } ); - deferred.resolve(); - } else { - deferred.reject( new OO.ui.Error( - mw.msg( 'articleplaceholder-abouttopic-article-exists-error' ) - ) ); - } - } ); - - return deferred.promise(); - } - - function onWikipageContent() { - var dialog, - windowManager, - button, - dialogContent; - - titleInput = new OO.ui.TextInputWidget( { - value: mw.config.get( 'apLabel' ), - label: mw.msg( 'articleplaceholder-abouttopic-create-article-label' ), - multiline: false, - required: true, - autosize: true - } ); - - dialogContent = new OO.ui.PanelLayout( { $: $, padded: true, expanded: false } ); - dialogContent.$element.append( titleInput.$element ); - - titleInput.on( 'change', function () { - $( '#mw-article-placeholder-error' ).empty(); - } ); - - dialog = new CreateArticleDialog( { - size: 'medium' - } ); - dialog.setContent( dialogContent.$element ); - dialog.onSubmit = onSubmit; - - titleInput.on( 'enter', function () { - dialog.executeAction( 'save' ); - } ); - - windowManager = new OO.ui.WindowManager(); - - $( 'body' ).append( windowManager.$element ); - // Add the window to the window manager using the addWindows() method. - windowManager.addWindows( [ dialog ] ); - - button = OO.ui.infuse( 'new-empty-article-button' ); - button.on( 'click', function () { - mw.track( 'counter.MediaWiki.wikibase.articleplaceholder.button.create-article' ); - windowManager.openWindow( dialog ); - } ); - } - - mw.hook( 'wikipage.content' ).add( onWikipageContent ); - -} )( jQuery, mediaWiki, OO, module ); diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplay.css b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplay.css index 5504f9b..f601f46 100644 --- a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplay.css +++ b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplay.css @@ -9,10 +9,6 @@ overflow: auto; } -#bodyContent { - padding-top: 3em; -} - /* Needs a selector that's stronger than ".mw-body h2" */ .mw-body .articleplaceholder-statementgroup h2, .mw-body .articleplaceholder-identifierlist h2 { @@ -20,9 +16,8 @@ } .mw-articleplaceholder-createarticle-buttons { - position: absolute; - top: 0px; - left: 10px; + margin-top: 2em; + text-align: right; } .articleplaceholder-sidebar { diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplayMobile.css b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplayMobile.css index 2110957..a9093d6 100644 --- a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplayMobile.css +++ b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplayMobile.css @@ -1,16 +1,6 @@ -#bodyContent { - padding-right: 0px; - margin-top: 10%; -} - .articleplaceholder-sidebar, .articleplaceholder-statementgroup { float: none; position: static; -} - -.mw-articleplaceholder-createarticle-buttons { - top: 100px; - margin: 0 auto; } .articleplaceholder-statementgroup { diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplaySmall.css b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplaySmall.css index e556455..86cbf51 100644 --- a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplaySmall.css +++ b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.defaultDisplay/ext.articleplaceholder.defaultDisplaySmall.css @@ -1,5 +1,4 @@ #bodyContent { - padding-top: 3em; margin-left: 20%; } diff --git a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.translateArticle/ext.articleplaceholder.translateArticle.js b/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.translateArticle/ext.articleplaceholder.translateArticle.js deleted file mode 100644 index 94fa280..0000000 --- a/extensions/ArticlePlaceholder/modules/ext.articleplaceholder.translateArticle/ext.articleplaceholder.translateArticle.js +++ /dev/null @@ -1,91 +0,0 @@ -/** - * @licence GNU GPL v2+ - * @author Florian Schmidt - * @author Jonas M. Kress - */ - -( function ( $, mw, OO ) { - 'use strict'; - - var windowManager, - dialog, - languageInput, - titleInput, - CreateArticleDialog = mw.loader.require( 'ext.articleplaceholder.createArticle' ).CreateArticleDialog; - - function onSubmit() { - if ( titleInput.getValue().trim() === '' ) { - return $.Deferred().reject( - new OO.ui.Error( mw.msg( 'articleplaceholder-abouttopic-create-article-mandatory' ) ) - ).promise(); - } - - mw.loader.using( 'ext.cx.sitemapper' ).then( function () { - document.location.href = mw.cx.SiteMapper.prototype.getCXUrl( - mw.config.get( 'apPageNames' )[ languageInput.getValue() ], - titleInput.getValue(), - languageInput.getValue(), - mw.config.get( 'wgContentLanguage' ) - ); - } ); - - // To not leave the dialog in a stale, unusable state. - dialog.close(); - return $.Deferred(); - } - - function createDialogContent() { - titleInput = new OO.ui.TextInputWidget( { - value: mw.config.get( 'apLabel' ), - label: mw.msg( 'articleplaceholder-abouttopic-create-article-label' ), - multiline: false, - required: true, - autosize: true - } ); - - languageInput = new OO.ui.DropdownInputWidget( { - text: mw.msg( 'articleplaceholder-abouttopic-translate-article-label' ), - options: mw.config.get( 'apLanguages' ), - required: true - } ); - - return new OO.ui.StackLayout( { - items: [ - new OO.ui.PanelLayout( { - $content: languageInput.$element, - padded: true - } ), new OO.ui.PanelLayout( { - $content: titleInput.$element, - padded: true - } ) - ], - continuous: true - } ); - } - - function createDialog() { - dialog = new CreateArticleDialog( { - size: 'medium' - } ); - - dialog.setContent( createDialogContent().$element ); - dialog.onSubmit = onSubmit; - - windowManager = new OO.ui.WindowManager(); - - $( 'body' ).append( windowManager.$element ); - windowManager.addWindows( [ dialog ] ); - } - - function onWikipageContent() { - createDialog(); - - OO.ui.infuse( 'translate-article-button' ).on( 'click', function () { - mw.track( 'counter.MediaWiki.wikibase.articleplaceholder.button.translate-article' ); - windowManager.openWindow( dialog ); - } ); - } - - mw.hook( 'wikipage.content' ).add( onWikipageContent ); - -} )( jQuery, mediaWiki, OO ); diff --git a/extensions/ArticlePlaceholder/tests/phpunit/includes/AboutTopicRendererTest.php b/extensions/ArticlePlaceholder/tests/phpunit/includes/AboutTopicRendererTest.php index c259e9a..b699f1f 100644 --- a/extensions/ArticlePlaceholder/tests/phpunit/includes/AboutTopicRendererTest.php +++ b/extensions/ArticlePlaceholder/tests/phpunit/includes/AboutTopicRendererTest.php @@ -140,7 +140,7 @@ */ public function testCreateArticleButton() { $output = $this->getInstanceOutput( new ItemId( 'Q123' ), $this->getTitleFactory( true ) ); - $this->assertContains( 'new-empty-article-button', $output->getHTML() ); + $this->assertContains( 'new-article-button', $output->getHTML() ); } /** @@ -149,7 +149,7 @@ */ public function testNoCreateArticleButton_ifUserNotAllowedToCreatePage() { $output = $this->getInstanceOutput( new ItemId( 'Q123' ), $this->getTitleFactory( false ) ); - $this->assertNotContains( 'new-empty-article-button', $output->getHTML() ); + $this->assertNotContains( 'new-article-button', $output->getHTML() ); } /** diff --git a/extensions/Wikibase/client/i18n/udm.json b/extensions/Wikibase/client/i18n/udm.json index 94b392c..b1ff476 100644 --- a/extensions/Wikibase/client/i18n/udm.json +++ b/extensions/Wikibase/client/i18n/udm.json @@ -16,5 +16,5 @@ "wikibase-rc-hide-wikidata-show": "Возьматыны", "wikibase-rc-wikibase-edit-letter": "д", "wikibase-rc-wikibase-edit-title": "{{grammar:genitive|{{WBREPONAME}}}} тупатон", - "wikibase-otherprojects": "Мукетыз проект" + "wikibase-otherprojects": "Мукет проектъёсын" } diff --git a/extensions/Wikibase/lib/i18n/ja.json b/extensions/Wikibase/lib/i18n/ja.json index 1dc1eb6..e2758e2 100644 --- a/extensions/Wikibase/lib/i18n/ja.json +++ b/extensions/Wikibase/lib/i18n/ja.json @@ -5,7 +5,8 @@ "Shirayuki", "Sujiniku", "Otokoume", - "Afaz" + "Afaz", + "ネイ" ] }, "wikibase-lib-desc": "ウィキベースとウィキベースクライアント拡張機能で共通の機能を保持する", @@ -22,8 +23,8 @@ "wikibase-error-remove-timeout": "技術的な障害が発生しています。「除去」を完了できませんでした。", "wikibase-error-autocomplete-connection": "サイトの API のクエリを実行できませんでした。しばらくしてからもう一度お試しください。", "wikibase-error-autocomplete-response": "サーバーの応答: $1", - "wikibase-error-ui-no-external-page": "指定した記事は、対応するサイト内で見つかりませんでした。", - "wikibase-error-ui-edit-conflict": "編集が競合しました。ローカルに保存してから、このページを再読込して、再度、保存してください。", + "wikibase-error-ui-no-external-page": "ページ「$2」は「$1」内で見つかりませんでした。", + "wikibase-error-ui-edit-conflict": "編集が競合しました。ページを再読込してください。", "wikibase-language-fallback-transliteration-hint": "$1 (翻字済)", "wikibase-quantitydetails-amount": "量", "wikibase-quantitydetails-upperbound": "上限値", diff --git a/extensions/Wikibase/lib/includes/Units/BaseUnitStorage.php b/extensions/Wikibase/lib/includes/Units/BaseUnitStorage.php index 523ab1b..7fae72a 100644 --- a/extensions/Wikibase/lib/includes/Units/BaseUnitStorage.php +++ b/extensions/Wikibase/lib/includes/Units/BaseUnitStorage.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Lib; /** diff --git a/extensions/Wikibase/lib/includes/Units/CSVUnitStorage.php b/extensions/Wikibase/lib/includes/Units/CSVUnitStorage.php index ebae0d7..c69bb32 100644 --- a/extensions/Wikibase/lib/includes/Units/CSVUnitStorage.php +++ b/extensions/Wikibase/lib/includes/Units/CSVUnitStorage.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Lib; /** diff --git a/extensions/Wikibase/lib/includes/Units/JsonUnitStorage.php b/extensions/Wikibase/lib/includes/Units/JsonUnitStorage.php index c9c1b6e..5569116 100644 --- a/extensions/Wikibase/lib/includes/Units/JsonUnitStorage.php +++ b/extensions/Wikibase/lib/includes/Units/JsonUnitStorage.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Lib; /** diff --git a/extensions/Wikibase/lib/includes/Units/UnitStorage.php b/extensions/Wikibase/lib/includes/Units/UnitStorage.php index 32b4b1e..5932da4 100644 --- a/extensions/Wikibase/lib/includes/Units/UnitStorage.php +++ b/extensions/Wikibase/lib/includes/Units/UnitStorage.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Lib; /** diff --git a/extensions/Wikibase/lib/tests/phpunit/Units/UnitConverterTest.php b/extensions/Wikibase/lib/tests/phpunit/Units/UnitConverterTest.php index bd451c8..2d1b2e3 100644 --- a/extensions/Wikibase/lib/tests/phpunit/Units/UnitConverterTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/Units/UnitConverterTest.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Test; use DataValues\DecimalValue; diff --git a/extensions/Wikibase/lib/tests/phpunit/Units/UnitStorageTest.php b/extensions/Wikibase/lib/tests/phpunit/Units/UnitStorageTest.php index 2b78b37..7a6c1eb 100644 --- a/extensions/Wikibase/lib/tests/phpunit/Units/UnitStorageTest.php +++ b/extensions/Wikibase/lib/tests/phpunit/Units/UnitStorageTest.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Test; use MediaWikiTestCase; diff --git a/extensions/Wikibase/repo/i18n/ja.json b/extensions/Wikibase/repo/i18n/ja.json index 1d4494c..075905d 100644 --- a/extensions/Wikibase/repo/i18n/ja.json +++ b/extensions/Wikibase/repo/i18n/ja.json @@ -14,7 +14,8 @@ "2nd-player", "Otokoume", "Afaz", - "Higa4" + "Higa4", + "ネイ" ] }, "wikibase-desc": "構造化データのリポジトリ", @@ -229,7 +230,7 @@ "wikibase-tokencheck-mustposttoken": "編集は POST 要求によってのみ可能です。", "wikibase-tokencheck-badtoken": "不良な編集トークン(おそらくセッションの期限切れ)。", "special-dispatchstats": "変更発送統計", - "wikibase-dispatchstats-intro": "このページはクライアントに発送された変更についての統計情報を提供します。クライアントのウィキは、ウィキ上の変更が派遣されると、{{SITENAME}}上の変更を通知され、そのウィキのジョブキューは通知を処理します。\n* {{int:wikibase-dispatchstats-changes}}が数と最古の日付とキュー内の現在の最新の項目を表示します。\n* {{int:wikibase-dispatchstats-stats}} は最大遅延と最小遅延のクライアントwikiについての情報を提供し、その間の一つの中央値の一つを情報提供します。それぞれのwikiのため、次の情報が提供されます:\n** \"{{int:wikibase-dispatchstats-site-id}}\" とは、クライアントウィキのインターナルIDです。\n** \"{{int:wikibase-dispatchstats-pos}}\" とは 、そのウィキへ最後に派遣された変更のIDです。\n** \"{{int:wikibase-dispatchstats-lag-num}}\" とは、まだwikiに派遣されていない変更の数です。\n** \"{{int:wikibase-dispatchstats-lag-time}}\" とは、最後にウィキへ派遣された変更と、{{SITENAME}}上で実行された最後の変更との間の時間です。\n** \"{{int:wikibase-dispatchstats-touched}}\" とは、最後にウィキへの派遣を得た変更のバッチの時間です。", + "wikibase-dispatchstats-intro": "このページはクライアントに発送された変更についての統計情報を提供します。{{SITENAME}}上の変更が通知され、そのウィキのジョブキューが通知を処理した後、クライアントのウィキはその変更を通知されます。\n* {{int:wikibase-dispatchstats-changes}}はキュー内の項目数、最古と最新の項目の日付を表示します。\n* {{int:wikibase-dispatchstats-stats}}は最大遅延と最小遅延のクライアントウィキ、そして遅延が中央値のウィキについての情報を提供します。それぞれのウィキについて、下記の情報が提供されます:\n** 「{{int:wikibase-dispatchstats-site-id}}」とは、クライアントウィキの内部IDです。\n** 「{{int:wikibase-dispatchstats-pos}}」とは 、そのウィキへ最後に通知された変更のIDです。\n** 「{{int:wikibase-dispatchstats-lag-num}}」とは、まだウィキに通知していない変更の数です。\n** 「{{int:wikibase-dispatchstats-lag-time}}」とは、最後にウィキへ通知された変更から、{{SITENAME}}上で実行された最後の変更までの時間です。\n** 「{{int:wikibase-dispatchstats-touched}}」とは、最後にウィキへ通知された変更のバッチの時間です。", "wikibase-dispatchstats-no-stats": "現在利用できる統計はありません。", "wikibase-dispatchstats-changes": "変更記録の統計", "wikibase-dispatchstats-stats": "発送の統計", diff --git a/extensions/Wikibase/repo/maintenance/SPARQLException.php b/extensions/Wikibase/repo/maintenance/SPARQLException.php index 8ec50ef..cc32731 100644 --- a/extensions/Wikibase/repo/maintenance/SPARQLException.php +++ b/extensions/Wikibase/repo/maintenance/SPARQLException.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Repo\Maintenance; /** diff --git a/extensions/Wikibase/repo/maintenance/addUnitConversions.php b/extensions/Wikibase/repo/maintenance/addUnitConversions.php index 8c9b623..4afbd65 100644 --- a/extensions/Wikibase/repo/maintenance/addUnitConversions.php +++ b/extensions/Wikibase/repo/maintenance/addUnitConversions.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase; use DataValues\DecimalValue; diff --git a/extensions/Wikibase/repo/maintenance/updateUnits.php b/extensions/Wikibase/repo/maintenance/updateUnits.php index 21eecc4..fb90e84 100644 --- a/extensions/Wikibase/repo/maintenance/updateUnits.php +++ b/extensions/Wikibase/repo/maintenance/updateUnits.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase; use DataValues\DecimalMath; diff --git a/extensions/Wikibase/repo/tests/phpunit/maintenance/AddUnitsTest.php b/extensions/Wikibase/repo/tests/phpunit/maintenance/AddUnitsTest.php index a8793e7..22f0a40 100644 --- a/extensions/Wikibase/repo/tests/phpunit/maintenance/AddUnitsTest.php +++ b/extensions/Wikibase/repo/tests/phpunit/maintenance/AddUnitsTest.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Test; use DataValues\DecimalValue; diff --git a/extensions/Wikibase/repo/tests/phpunit/maintenance/MockAddUnits.php b/extensions/Wikibase/repo/tests/phpunit/maintenance/MockAddUnits.php index 186e5e6..613e2cc 100644 --- a/extensions/Wikibase/repo/tests/phpunit/maintenance/MockAddUnits.php +++ b/extensions/Wikibase/repo/tests/phpunit/maintenance/MockAddUnits.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Test; use Wikibase\AddUnitConversions; diff --git a/extensions/Wikibase/repo/tests/phpunit/maintenance/UpdateUnitsTest.php b/extensions/Wikibase/repo/tests/phpunit/maintenance/UpdateUnitsTest.php index a1cf2bd..b440300 100644 --- a/extensions/Wikibase/repo/tests/phpunit/maintenance/UpdateUnitsTest.php +++ b/extensions/Wikibase/repo/tests/phpunit/maintenance/UpdateUnitsTest.php @@ -1,4 +1,5 @@ <?php + namespace Wikibase\Test; use MediaWikiLangTestCase; diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 16d4088..1736451 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -115,19 +115,19 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git", - "reference": "b2906c844b89885c4bb89dcee1f77731a77dc719" + "reference": "39412b7da7d9d4466d05c47f66228608b8c5a156" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/b2906c844b89885c4bb89dcee1f77731a77dc719", - "reference": "b2906c844b89885c4bb89dcee1f77731a77dc719", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/39412b7da7d9d4466d05c47f66228608b8c5a156", + "reference": "39412b7da7d9d4466d05c47f66228608b8c5a156", "shasum": "" }, "require-dev": { "jakub-onderka/php-parallel-lint": "0.9.2", "mediawiki/mediawiki-codesniffer": "0.7.2" }, - "time": "2016-11-17 21:50:05", + "time": "2016-11-18 21:13:26", "type": "mediawiki-extension", "installation-source": "dist", "autoload": { @@ -1406,12 +1406,12 @@ "source": { "type": "git", "url": "https://github.com/wikimedia/mediawiki-extensions-Wikibase.git", - "reference": "3b6d7129cab32003086c5c20d7c780bf946175db" + "reference": "77eb01b3d2e5b60a8d662ea845a23850f4e75322" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/3b6d7129cab32003086c5c20d7c780bf946175db", - "reference": "3b6d7129cab32003086c5c20d7c780bf946175db", + "url": "https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/77eb01b3d2e5b60a8d662ea845a23850f4e75322", + "reference": "77eb01b3d2e5b60a8d662ea845a23850f4e75322", "shasum": "" }, "require": { @@ -1444,7 +1444,7 @@ "jakub-onderka/php-parallel-lint": "0.9.2", "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0" }, - "time": "2016-11-17 21:56:36", + "time": "2016-11-18 21:17:55", "type": "mediawiki-extension", "installation-source": "dist", "autoload": { -- To view, visit https://gerrit.wikimedia.org/r/322400 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I29dc108f8107a5b63d4f39e7c119d0198f761fb6 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikidata Gerrit-Branch: master Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de> Gerrit-Reviewer: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Aude <aude.w...@gmail.com> Gerrit-Reviewer: Siebrand <siebr...@kitano.nl> Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits