NamespaceMultiselectWidget: Allow filtering by namespace ID or label
[lhc/web/wiklou.git] / resources / Resources.php
index a34634f..167d591 100644 (file)
@@ -840,6 +840,7 @@ return [
                ],
                'dependencies' => [
                        'mediawiki.language',
+                       'mediawiki.RegExp',
                ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
@@ -914,9 +915,15 @@ return [
                ],
        ],
        'mediawiki.diff.styles' => [
+               // FIXME: Remove class and lessMessages
+               // when I6aad563e48f41c783df8b176a4f437e60a1255cc has
+               // been in production for 1 week.
                'class' => ResourceLoaderLessVarFileModule::class,
                'styles' => [
-                       'resources/src/mediawiki.diff.styles/header.less',
+                       // Remove resources/src/mediawiki.interface.helpers.styles.less
+                       // when I6aad563e48f41c783df8b176a4f437e60a1255cc has
+                       // been in production for 1 week.
+                       'resources/src/mediawiki.interface.helpers.styles.less',
                        'resources/src/mediawiki.diff.styles/diff.css',
                        'resources/src/mediawiki.diff.styles/print.css' => [
                                'media' => 'print'
@@ -925,6 +932,7 @@ return [
                'lessMessages' => [
                        'parentheses-start',
                        'parentheses-end',
+                       'pipe-separator'
                ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
@@ -1184,7 +1192,7 @@ return [
                'remoteBasePath' => "$wgResourceBasePath/resources/src",
                'packageFiles' => [
                        'mediawiki.ForeignStructuredUpload.js',
-                       'config.json' => [ 'config' => [ 'UploadDialog' ] ],
+                       [ 'name' => 'config.json', 'config' => [ 'UploadDialog' ] ],
                ],
                'dependencies' => [
                        'mediawiki.ForeignUpload',
@@ -1317,6 +1325,9 @@ return [
                'dependencies' => [
                        'mediawiki.api',
                        'mediawiki.storage',
+                       // The two user.* modules are not used by mediawiki.user itself,
+                       // but kept as explicit dependencies because they provide part
+                       // of the mw.user API that consumers of this module expect.
                        'user.options',
                        'user.tokens',
                ],
@@ -1334,7 +1345,7 @@ return [
                'remoteBasePath' => "$wgResourceBasePath/resources/src",
                'packageFiles' => [
                        'mediawiki.util.js',
-                       'config.json' => [ 'config' => [ 'FragmentMode' ] ],
+                       [ 'name' => 'config.json', 'config' => [ 'FragmentMode' ] ],
                ],
                'dependencies' => [
                        'jquery.accessKeyLabel',
@@ -1581,7 +1592,7 @@ return [
                'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.jqueryMsg",
                'packageFiles' => [
                        'mediawiki.jqueryMsg.js',
-                       'parserDefaults.json' => [ 'callback' => function ( ResourceLoaderContext $context ) {
+                       [ 'name' => 'parserDefaults.json', 'callback' => function ( ResourceLoaderContext $context ) {
                                $tagData = Sanitizer::getRecognizedTagData();
                                $allowedHtmlElements = array_merge(
                                        array_keys( $tagData['htmlpairs'] ),
@@ -1626,7 +1637,7 @@ return [
                'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.language",
                'packageFiles' => [
                        'mediawiki.language.names.js',
-                       'names.json' => [ 'callback' => function ( ResourceLoaderContext $context ) {
+                       [ 'name' => 'names.json', 'callback' => function ( ResourceLoaderContext $context ) {
                                return Language::fetchLanguageNames( $context->getLanguage(), 'all' );
                        } ],
                ],
@@ -1800,17 +1811,20 @@ return [
                ],
        ],
        'mediawiki.rcfilters.filters.dm' => [
-               'scripts' => [
-                       'resources/src/mediawiki.rcfilters/mw.rcfilters.js',
-                       'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ItemModel.js',
-                       'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterItem.js',
-                       'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js',
-                       'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FiltersViewModel.js',
-                       'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueryItemModel.js',
-                       'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.SavedQueriesModel.js',
-                       'resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js',
-                       'resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js',
-                       'resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js',
+               'localBasePath' => "$IP/resources/src/mediawiki.rcfilters",
+               'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.rcfilters",
+               'packageFiles' => [
+                       'mw.rcfilters.js',
+                       'Controller.js',
+                       'UriProcessor.js',
+                       'dm/ChangesListViewModel.js',
+                       'dm/FilterGroup.js',
+                       'dm/FilterItem.js',
+                       'dm/FiltersViewModel.js',
+                       'dm/ItemModel.js',
+                       'dm/SavedQueriesModel.js',
+                       'dm/SavedQueryItemModel.js',
+                       [ 'name' => 'config.json', 'config' => [ 'StructuredChangeFiltersLiveUpdatePollingRate' ] ],
                ],
                'dependencies' => [
                        'mediawiki.String',
@@ -1827,79 +1841,82 @@ return [
                ],
        ],
        'mediawiki.rcfilters.filters.ui' => [
-               'scripts' => [
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.GroupWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.CheckboxInputWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ItemMenuOptionWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuOptionWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuSectionOptionWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.TagItemWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagItemWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterMenuHeaderWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MenuSelectWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MainWrapperWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ViewSwitchWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ValuePickerWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitPopupWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesLimitAndDateButtonWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.DatePopupWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SavedLinksListItemWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterItemHighlightButton.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.HighlightPopupWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.HighlightColorPickerWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.LiveUpdateButtonWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.MarkSeenButtonWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RcTopSectionWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTopSectionWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclTargetPageWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.RclToOrFromWidget.js',
-                       'resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.WatchlistTopSectionWidget.js',
-                       'resources/src/mediawiki.rcfilters/mw.rcfilters.HighlightColors.js',
-                       'resources/src/mediawiki.rcfilters/mw.rcfilters.init.js',
+               'localBasePath' => "$IP/resources/src/mediawiki.rcfilters",
+               'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.rcfilters",
+               'packageFiles' => [
+                       'mw.rcfilters.init.js',
+                       'HighlightColors.js',
+                       'ui/GroupWidget.js',
+                       'ui/CheckboxInputWidget.js',
+                       'ui/FilterTagMultiselectWidget.js',
+                       'ui/ItemMenuOptionWidget.js',
+                       'ui/FilterMenuOptionWidget.js',
+                       'ui/FilterMenuSectionOptionWidget.js',
+                       'ui/TagItemWidget.js',
+                       'ui/FilterTagItemWidget.js',
+                       'ui/FilterMenuHeaderWidget.js',
+                       'ui/MenuSelectWidget.js',
+                       'ui/MainWrapperWidget.js',
+                       'ui/ViewSwitchWidget.js',
+                       'ui/ValuePickerWidget.js',
+                       'ui/ChangesLimitPopupWidget.js',
+                       'ui/ChangesLimitAndDateButtonWidget.js',
+                       'ui/DatePopupWidget.js',
+                       'ui/FilterWrapperWidget.js',
+                       'ui/ChangesListWrapperWidget.js',
+                       'ui/SavedLinksListWidget.js',
+                       'ui/SavedLinksListItemWidget.js',
+                       'ui/SaveFiltersPopupButtonWidget.js',
+                       'ui/FormWrapperWidget.js',
+                       'ui/FilterItemHighlightButton.js',
+                       'ui/HighlightPopupWidget.js',
+                       'ui/HighlightColorPickerWidget.js',
+                       'ui/LiveUpdateButtonWidget.js',
+                       'ui/MarkSeenButtonWidget.js',
+                       'ui/RcTopSectionWidget.js',
+                       'ui/RclTopSectionWidget.js',
+                       'ui/RclTargetPageWidget.js',
+                       'ui/RclToOrFromWidget.js',
+                       'ui/WatchlistTopSectionWidget.js',
+                       [ 'name' => 'config.json', 'callback' => 'ChangesListSpecialPage::getRcFiltersConfigVars' ],
                ],
                'styles' => [
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.mixins.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.variables.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ItemMenuOptionWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuOptionWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.TagItemWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuHeaderWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.MenuSelectWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ViewSwitchWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ValuePickerWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.DatePopupWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterWrapperWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.HighlightColorPickerWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterItemHighlightButton.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SavedLinksListWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SavedLinksListItemWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.LiveUpdateButtonWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RcTopSectionWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RclToOrFromWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.RclTargetPageWidget.less',
-                       'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.WatchlistTopSectionWidget.less',
+                       'styles/mw.rcfilters.mixins.less',
+                       'styles/mw.rcfilters.variables.less',
+                       'styles/mw.rcfilters.ui.less',
+                       'styles/mw.rcfilters.ui.Overlay.less',
+                       'styles/mw.rcfilters.ui.FilterTagMultiselectWidget.less',
+                       'styles/mw.rcfilters.ui.ItemMenuOptionWidget.less',
+                       'styles/mw.rcfilters.ui.FilterMenuOptionWidget.less',
+                       'styles/mw.rcfilters.ui.FilterMenuSectionOptionWidget.less',
+                       'styles/mw.rcfilters.ui.TagItemWidget.less',
+                       'styles/mw.rcfilters.ui.FilterMenuHeaderWidget.less',
+                       'styles/mw.rcfilters.ui.MenuSelectWidget.less',
+                       'styles/mw.rcfilters.ui.ViewSwitchWidget.less',
+                       'styles/mw.rcfilters.ui.ValuePickerWidget.less',
+                       'styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less',
+                       'styles/mw.rcfilters.ui.DatePopupWidget.less',
+                       'styles/mw.rcfilters.ui.FilterWrapperWidget.less',
+                       'styles/mw.rcfilters.ui.ChangesListWrapperWidget.less',
+                       'styles/mw.rcfilters.ui.HighlightColorPickerWidget.less',
+                       'styles/mw.rcfilters.ui.FilterItemHighlightButton.less',
+                       'styles/mw.rcfilters.ui.SavedLinksListWidget.less',
+                       'styles/mw.rcfilters.ui.SavedLinksListItemWidget.less',
+                       'styles/mw.rcfilters.ui.SaveFiltersPopupButtonWidget.less',
+                       'styles/mw.rcfilters.ui.LiveUpdateButtonWidget.less',
+                       'styles/mw.rcfilters.ui.RcTopSectionWidget.less',
+                       'styles/mw.rcfilters.ui.RclToOrFromWidget.less',
+                       'styles/mw.rcfilters.ui.RclTargetPageWidget.less',
+                       'styles/mw.rcfilters.ui.WatchlistTopSectionWidget.less',
                ],
                'skinStyles' => [
                        'vector' => [
-                               'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.vector.less',
+                               'styles/mw.rcfilters.ui.Overlay.vector.less',
                        ],
                        'monobook' => [
-                               'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.Overlay.monobook.less',
-                               'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less',
-                               'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterMenuOptionWidget.monobook.less',
+                               'styles/mw.rcfilters.ui.Overlay.monobook.less',
+                               'styles/mw.rcfilters.ui.CapsuleItemWidget.monobook.less',
+                               'styles/mw.rcfilters.ui.FilterMenuOptionWidget.monobook.less',
                        ],
                ],
                'messages' => [
@@ -2001,6 +2018,20 @@ return [
                        'oojs-ui.styles.icons-media',
                ],
        ],
+       'mediawiki.interface.helpers.styles' => [
+               'class' => ResourceLoaderLessVarFileModule::class,
+               'lessMessages' => [
+                       'parentheses-start',
+                       'parentheses-end',
+                       'pipe-separator'
+               ],
+               'styles' => [
+                       'resources/src/mediawiki.interface.helpers.styles.less',
+               ],
+               'targets' => [
+                       'desktop', 'mobile'
+               ],
+       ],
        'mediawiki.special' => [
                'styles' => [
                        'resources/src/mediawiki.special/special.less',
@@ -2116,20 +2147,28 @@ return [
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.special.changeslist' => [
+               // FIXME: Remove class and lessMessages
+               // when I6aad563e48f41c783df8b176a4f437e60a1255cc has
+               // been in production for 1 week.
                'class' => ResourceLoaderLessVarFileModule::class,
                'lessMessages' => [
                        'parentheses-start',
                        'parentheses-end',
                        'pipe-separator'
                ],
-               'styles' => 'resources/src/mediawiki.special.changeslist.less',
+               'styles' => [
+                       // FIXME: Remove this line when I6aad563e48f41c783df8b176a4f437e60a1255cc has
+                       // been in production for 1 week.
+                       'resources/src/mediawiki.interface.helpers.styles.less',
+                       'resources/src/mediawiki.special.changeslist.less',
+               ],
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.special.changeslist.enhanced' => [
-               'styles' => 'resources/src/mediawiki.special.changeslist.enhanced.css',
+               'styles' => 'resources/src/mediawiki.special.changeslist.enhanced.less',
        ],
        'mediawiki.special.changeslist.legend' => [
-               'styles' => 'resources/src/mediawiki.special.changeslist.legend.css',
+               'styles' => 'resources/src/mediawiki.special.changeslist.legend.less',
                'targets' => [ 'desktop', 'mobile' ],
        ],
        'mediawiki.special.changeslist.legend.js' => [
@@ -2353,6 +2392,7 @@ return [
                'dependencies' => [
                        'mediawiki.api',
                        'mediawiki.jqueryMsg',
+                       'mediawiki.notify',
                        'mediawiki.Title',
                        'mediawiki.util',
                        'oojs-ui-core',
@@ -2380,7 +2420,12 @@ return [
                ],
        ],
        'mediawiki.legacy.protect' => [
-               'scripts' => 'resources/src/mediawiki.legacy/protect.js',
+               'localBasePath' => "$IP/resources/src/mediawiki.legacy",
+               'remoteBasePath' => "$wgResourceBasePath/resources/src/mediawiki.legacy",
+               'packageFiles' => [
+                       'protect.js',
+                       [ 'name' => 'config.json', 'config' => [ 'CascadingRestrictionLevels' ] ],
+               ],
                'dependencies' => 'jquery.lengthLimit',
                'messages' => [ 'protect-unchain-permissions' ]
        ],
@@ -2628,6 +2673,7 @@ return [
                        'period-pm',
                ],
                'dependencies' => [
+                       'mediawiki.RegExp',
                        'oojs-ui-core',
                        'oojs-ui.styles.icons-moderation',
                        'oojs-ui.styles.icons-movement',
@@ -2754,6 +2800,7 @@ return [
        'mediawiki.widgets.NamespacesMultiselectWidget' => [
                'scripts' => [
                        'resources/src/mediawiki.widgets/mw.widgets.NamespacesMultiselectWidget.js',
+                       'resources/src/mediawiki.widgets/mw.widgets.NamespacesMenuOptionWidget.js',
                ],
                'dependencies' => [
                        'oojs-ui-widgets',