'MWOldPassword' => __DIR__ . '/includes/password/MWOldPassword.php',
'MWSaltedPassword' => __DIR__ . '/includes/password/MWSaltedPassword.php',
'MWTidy' => __DIR__ . '/includes/parser/MWTidy.php',
- 'MWTidyWrapper' => __DIR__ . '/includes/parser/MWTidy.php',
'MWTimestamp' => __DIR__ . '/includes/MWTimestamp.php',
'MachineReadableRCFeedFormatter' => __DIR__ . '/includes/rcfeed/MachineReadableRCFeedFormatter.php',
'MagicWord' => __DIR__ . '/includes/MagicWord.php',
'MediaWiki\\Logger\\Monolog\\WikiProcessor' => __DIR__ . '/includes/debug/logger/monolog/WikiProcessor.php',
'MediaWiki\\Logger\\NullSpi' => __DIR__ . '/includes/debug/logger/NullSpi.php',
'MediaWiki\\Logger\\Spi' => __DIR__ . '/includes/debug/logger/Spi.php',
+ 'MediaWiki\\Tidy\\Html5Depurate' => __DIR__ . '/includes/tidy/Html5Depurate.php',
+ 'MediaWiki\\Tidy\\RaggettBase' => __DIR__ . '/includes/tidy/RaggettBase.php',
+ 'MediaWiki\\Tidy\\RaggettExternal' => __DIR__ . '/includes/tidy/RaggettExternal.php',
+ 'MediaWiki\\Tidy\\RaggettInternalHHVM' => __DIR__ . '/includes/tidy/RaggettInternalHHVM.php',
+ 'MediaWiki\\Tidy\\RaggettInternalPHP' => __DIR__ . '/includes/tidy/RaggettInternalPHP.php',
+ 'MediaWiki\\Tidy\\RaggettWrapper' => __DIR__ . '/includes/tidy/RaggettWrapper.php',
+ 'MediaWiki\\Tidy\\TidyDriverBase' => __DIR__ . '/includes/tidy/TidyDriverBase.php',
'MediaWiki\\Widget\\ComplexNamespaceInputWidget' => __DIR__ . '/includes/widget/ComplexNamespaceInputWidget.php',
+ 'MediaWiki\\Widget\\ComplexTitleInputWidget' => __DIR__ . '/includes/widget/ComplexTitleInputWidget.php',
'MediaWiki\\Widget\\NamespaceInputWidget' => __DIR__ . '/includes/widget/NamespaceInputWidget.php',
'MediaWiki\\Widget\\TitleInputWidget' => __DIR__ . '/includes/widget/TitleInputWidget.php',
'MediaWiki\\Widget\\UserInputWidget' => __DIR__ . '/includes/widget/UserInputWidget.php',
'resources/src/mediawiki/mediawiki.template.mustache.js',
),
'targets' => array( 'desktop', 'mobile' ),
+ 'dependencies' => 'mediawiki.template',
+ ),
+ 'mediawiki.template.regexp' => array(
+ 'scripts' => 'resources/src/mediawiki/mediawiki.template.regexp.js',
+ 'targets' => array( 'desktop', 'mobile' ),
+ 'dependencies' => 'mediawiki.template',
),
'mediawiki.apipretty' => array(
'styles' => 'resources/src/mediawiki/mediawiki.apipretty.css',
'colon-separator',
),
),
+ 'mediawiki.htmlform.styles' => array(
+ 'styles' => 'resources/src/mediawiki/mediawiki.htmlform.css',
+ 'position' => 'top',
+ ),
'mediawiki.htmlform.ooui.styles' => array(
'styles' => 'resources/src/mediawiki/mediawiki.htmlform.ooui.css',
'position' => 'top',
'mediawiki.api.upload',
),
),
+ 'mediawiki.ForeignUpload' => array(
+ 'scripts' => 'resources/src/mediawiki/mediawiki.ForeignUpload.js',
+ 'dependencies' => array(
+ 'mediawiki.ForeignApi',
+ 'mediawiki.Upload',
+ 'oojs',
+ ),
+ ),
+ 'mediawiki.ForeignStructuredUpload' => array(
+ 'scripts' => 'resources/src/mediawiki/mediawiki.ForeignStructuredUpload.js',
+ 'dependencies' => array(
+ 'mediawiki.ForeignUpload',
+ ),
+ ),
'mediawiki.Upload.Dialog' => array(
'scripts' => 'resources/src/mediawiki/mediawiki.Upload.Dialog.js',
'dependencies' => array(
),
'mediawiki.Uri' => array(
'scripts' => 'resources/src/mediawiki/mediawiki.Uri.js',
+ 'templates' => array(
+ 'strict.regexp' => 'resources/src/mediawiki/mediawiki.Uri.strict.regexp',
+ 'loose.regexp' => 'resources/src/mediawiki/mediawiki.Uri.loose.regexp',
+ ),
'dependencies' => 'mediawiki.util',
'targets' => array( 'desktop', 'mobile' ),
),
'prefs-editing'
),
),
+ 'mediawiki.action.view.filepage' => array(
+ 'styles' => array(
+ 'resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css' => array( 'media' => 'print' ),
+ 'resources/src/mediawiki.action/mediawiki.action.view.filepage.css',
+ ),
+ 'position' => 'top',
+ ),
/* MediaWiki Language */
),
'mediawiki.special.movePage' => array(
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.movePage.js',
- 'dependencies' => 'jquery.byteLimit',
+ 'dependencies' => array(
+ 'jquery.byteLimit',
+ 'mediawiki.widgets',
+ ),
+ ),
+ 'mediawiki.special.movePage.styles' => array(
+ 'styles' => 'resources/src/mediawiki.special/mediawiki.special.movePage.css',
+ 'position' => 'top',
),
'mediawiki.special.pageLanguage' => array(
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.pageLanguage.js',
'resources/src/mediawiki.special/mediawiki.special.userlogin.login.css',
),
),
- 'mediawiki.special.userlogin.common.js' => array(
- 'scripts' => array(
- 'resources/src/mediawiki.special/mediawiki.special.userlogin.common.js',
- ),
- 'messages' => array(
- 'createacct-captcha',
- 'createacct-imgcaptcha-ph',
- ),
- ),
'mediawiki.special.userlogin.signup.js' => array(
'scripts' => 'resources/src/mediawiki.special/mediawiki.special.userlogin.signup.js',
'messages' => array(
'styles' => array(
// @todo: Remove mediawiki.page.gallery when cache has cleared
'resources/src/mediawiki.page/mediawiki.page.gallery.print.css' => array( 'media' => 'print' ),
+ // @todo: Remove mediawiki.action.view.filepage.print.css when cache has cleared
+ 'resources/src/mediawiki.action/mediawiki.action.view.filepage.print.css' => array( 'media' => 'print' ),
'resources/src/mediawiki.legacy/commonPrint.css' => array( 'media' => 'print' )
),
- 'group' => 'print',
),
'mediawiki.legacy.protect' => array(
'scripts' => 'resources/src/mediawiki.legacy/protect.js',
'styles' => array(
// @todo: Remove when mediawiki.page.gallery in cached html.
'resources/src/mediawiki.page/mediawiki.page.gallery.css',
+ // @todo: Remove mediawiki.action.view.filepage.css
+ // and mediawiki.legacy/images/checker.png when cache has cleared
+ 'resources/src/mediawiki.action/mediawiki.action.view.filepage.css',
'resources/src/mediawiki.legacy/shared.css' => array( 'media' => 'screen' )
),
),
'resources/src/mediawiki.widgets/mw.widgets.NamespaceInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js',
+ 'resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.UserInputWidget.js',
+ 'resources/src/mediawiki.widgets/mw.widgets.CategorySelector.js',
),
'skinStyles' => array(
'default' => array(
'skinStyles' => array(
'default' => array(
'resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.base.css',
+ 'resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.base.css',
),
),
'position' => 'top',
var widget = this;
// Config initialization
- config = $.extend( { maxLength: 255 }, config );
+ config = $.extend( {
+ maxLength: 255,
+ limit: 10
+ }, config );
// Parent constructor
mw.widgets.TitleInputWidget.parent.call( this, $.extend( {}, config, { autocomplete: false } ) );
OO.ui.mixin.LookupElement.call( this, config );
// Properties
- this.limit = config.limit || 10;
+ this.limit = config.limit;
this.maxLength = config.maxLength;
this.namespace = config.namespace !== undefined ? config.namespace : null;
this.relative = config.relative !== undefined ? config.relative : true;
/* Methods */
+ /**
+ * Get the namespace to prepend to titles in suggestions, if any.
+ *
+ * @return {number|null} Namespace number
+ */
+ mw.widgets.TitleInputWidget.prototype.getNamespace = function () {
+ return this.namespace;
+ };
+
+ /**
+ * Set the namespace to prepend to titles in suggestions, if any.
+ *
+ * @param {number|null} namespace Namespace number
+ */
+ mw.widgets.TitleInputWidget.prototype.setNamespace = function ( namespace ) {
+ this.namespace = namespace;
+ this.lookupCache = {};
+ this.closeLookupMenu();
+ };
+
/**
* @inheritdoc
*/
widget.interwikiPrefixes.indexOf( interwiki ) !== -1
) {
return $.Deferred().resolve( { query: {
- pages: [{
+ pages: [ {
title: widget.value
- }]
+ } ]
} } ).promise( promiseAbortObject );
} else {
params = {
if ( data.redirects ) {
for ( i = 0, len = data.redirects.length; i < len; i++ ) {
- redirect = data.redirects[i];
- redirectsTo[redirect.to] = redirectsTo[redirect.to] || [];
- redirectsTo[redirect.to].push( redirect.from );
+ redirect = data.redirects[ i ];
+ redirectsTo[ redirect.to ] = redirectsTo[ redirect.to ] || [];
+ redirectsTo[ redirect.to ].push( redirect.from );
}
}
for ( index in data.pages ) {
- suggestionPage = data.pages[index];
- pageData[suggestionPage.title] = {
+ suggestionPage = data.pages[ index ];
+ pageData[ suggestionPage.title ] = {
missing: suggestionPage.missing !== undefined,
redirect: suggestionPage.redirect !== undefined,
disambiguation: OO.getProp( suggestionPage, 'pageprops', 'disambiguation' ) !== undefined,
titles.push( suggestionPage.title );
}
- redirects = redirectsTo[suggestionPage.title] || [];
+ redirects = redirectsTo[ suggestionPage.title ] || [];
for ( i = 0, len = redirects.length; i < len; i++ ) {
- pageData[redirects[i]] = {
+ pageData[ redirects[ i ] ] = {
missing: false,
redirect: true,
disambiguation: false,
description: mw.msg( 'mw-widgets-titleinput-description-redirect', suggestionPage.title )
};
- titles.push( redirects[i] );
+ titles.push( redirects[ i ] );
}
}
);
if ( !pageExists ) {
- pageData[this.value] = {
+ pageData[ this.value ] = {
missing: true, redirect: false, disambiguation: false,
description: mw.msg( 'mw-widgets-titleinput-description-new-page' )
};
titles.push( this.value );
}
for ( i = 0, len = titles.length; i < len; i++ ) {
- page = pageData[titles[i]] || {};
- items.push( new mw.widgets.TitleOptionWidget( this.getOptionWidgetData( titles[i], page ) ) );
+ page = pageData[ titles[ i ] ] || {};
+ items.push( new mw.widgets.TitleOptionWidget( this.getOptionWidgetData( titles[ i ], page ) ) );
}
return items;