return;
}
- $out->addModules( 'mediawiki.special.preferences' );
- $out->addModuleStyles( 'mediawiki.special.preferences.styles' );
+ $out->addModules( 'mediawiki.special.preferences.ooui' );
+ $out->addModuleStyles( 'mediawiki.special.preferences.styles.ooui' );
$session = $this->getRequest()->getSession();
if ( $session->get( 'specialPreferencesSaveSuccess' ) ) {
$htmlForm = $this->getFormObject( $user, $this->getContext() );
$htmlForm->setSubmitCallback( [ 'Preferences', 'tryUISubmit' ] );
- $sectionTitles = $htmlForm->getPreferenceSections();
-
- $prefTabs = '';
- foreach ( $sectionTitles as $key ) {
- $prefTabs .= Html::rawElement( 'li',
- [
- 'role' => 'presentation',
- 'class' => ( $key === 'personal' ) ? 'selected' : null
- ],
- Html::rawElement( 'a',
- [
- 'id' => 'preftab-' . $key,
- 'role' => 'tab',
- 'href' => '#mw-prefsection-' . $key,
- 'aria-controls' => 'mw-prefsection-' . $key,
- 'aria-selected' => ( $key === 'personal' ) ? 'true' : 'false',
- 'tabIndex' => ( $key === 'personal' ) ? 0 : -1,
- ],
- $htmlForm->getLegend( $key )
- )
- );
+
+ $prefTabs = [];
+ foreach ( $htmlForm->getPreferenceSections() as $key ) {
+ $prefTabs[] = [
+ 'name' => $key,
+ 'label' => $htmlForm->getLegend( $key ),
+ ];
}
+ $out->addJsConfigVars( 'wgPreferencesTabs', $prefTabs );
+
+ // TODO: Render fake tabs here to avoid FOUC.
+ // $out->addHTML( $fakeTabs );
- $out->addHTML(
- Html::rawElement( 'ul',
- [
- 'id' => 'preftoc',
- 'role' => 'tablist'
- ],
- $prefTabs )
- );
$htmlForm->show();
}
return Preferences::getFormObject( $user, $context );
}
- private function showResetForm() {
+ protected function showResetForm() {
if ( !$this->getUser()->isAllowed( 'editmyoptions' ) ) {
throw new PermissionsError( 'editmyoptions' );
}
$context = new DerivativeContext( $this->getContext() );
$context->setTitle( $this->getPageTitle( 'reset' ) ); // Reset subpage
- $htmlForm = new HTMLForm( [], $context, 'prefs-restore' );
+ $htmlForm = HTMLForm::factory( 'ooui', [], $context, 'prefs-restore' );
$htmlForm->setSubmitTextMsg( 'restoreprefs' );
$htmlForm->setSubmitDestructive();
'jquery' => [
'scripts' => [
- 'resources/lib/jquery/jquery3.js',
+ 'resources/lib/jquery/jquery.js',
'resources/lib/jquery/jquery.migrate.js',
],
'raw' => true,
'messages' => [ 'brackets', 'word-separator' ],
'targets' => [ 'mobile', 'desktop' ],
],
- 'jquery.appear' => [
- 'deprecated' => 'Please use "mediawiki.viewport" instead.',
- 'scripts' => 'resources/lib/jquery/jquery.appear.js',
- ],
'jquery.async' => [
'scripts' => 'resources/lib/jquery/jquery.async.js',
],
- 'jquery.autoEllipsis' => [
- 'deprecated' => 'Use CSS text-overflow instead.',
- 'scripts' => 'resources/src/jquery/jquery.autoEllipsis.js',
- 'dependencies' => 'jquery.highlightText',
- 'targets' => [ 'desktop', 'mobile' ],
- ],
- 'jquery.badge' => [
- 'deprecated' => 'Please use Notifications instead.',
- 'scripts' => 'resources/src/jquery/jquery.badge.js',
- 'styles' => 'resources/src/jquery/jquery.badge.css',
- 'dependencies' => 'mediawiki.language',
- ],
'jquery.byteLength' => [
'scripts' => 'resources/src/jquery/jquery.byteLength.js',
'targets' => [ 'desktop', 'mobile' ],
'scripts' => 'resources/src/jquery/jquery.mw-jump.js',
'targets' => [ 'desktop', 'mobile' ],
],
- 'jquery.placeholder' => [
- 'deprecated' => 'Use of "jquery.placeholder" is deprecated since MediaWiki 1.29.0',
-
- 'scripts' => 'resources/src/jquery/jquery.placeholder.js',
- 'targets' => [ 'desktop', 'mobile' ],
- ],
'jquery.qunit' => [
'scripts' => 'resources/lib/qunitjs/qunit.js',
'styles' => 'resources/lib/qunitjs/qunit.css',
/* jQuery UI */
'jquery.ui.core' => [
- 'deprecated' => 'Please use "mediawiki.ui.button" or "oojs-ui" instead.',
+ 'deprecated' => 'Please use OOUI instead.',
'scripts' => 'resources/lib/jquery.ui/jquery.ui.core.js',
'dependencies' => [
'jquery.ui.core.styles',
'scripts' => 'resources/src/mediawiki/mediawiki.notification.js',
'dependencies' => [
'mediawiki.util',
+ 'mediawiki.visibleTimeout',
],
'targets' => [ 'desktop', 'mobile' ],
],
'scripts' => 'resources/src/mediawiki/mediawiki.experiments.js',
'targets' => [ 'desktop', 'mobile' ],
],
+ 'mediawiki.editfont.styles' => [
+ 'styles' => 'resources/src/mediawiki/mediawiki.editfont.css',
+ 'targets' => [ 'desktop', 'mobile' ],
+ ],
+ 'mediawiki.visibleTimeout' => [
+ 'scripts' => 'resources/src/mediawiki/mediawiki.visibleTimeout.js',
+ 'targets' => [ 'desktop', 'mobile' ],
+ ],
/* MediaWiki Action */
'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.css',
'dependencies' => [
'mediawiki.action.edit.styles',
+ 'mediawiki.editfont.styles',
'jquery.textSelection',
'oojs-ui-core',
'mediawiki.widgets.visibleByteLimit',
'rcfilters-savedqueries-new-name-label',
'rcfilters-savedqueries-new-name-placeholder',
'rcfilters-savedqueries-add-new-title',
+ 'rcfilters-savedqueries-already-saved',
'rcfilters-savedqueries-apply-label',
'rcfilters-savedqueries-apply-and-setdefault-label',
'rcfilters-savedqueries-cancel-label',
'rcfilters-tag-prefix-tags',
'rcfilters-exclude-button-off',
'rcfilters-exclude-button-on',
- 'rcfilters-view-advanced-filters-label',
'rcfilters-view-tags',
'rcfilters-view-namespaces-tooltip',
'rcfilters-view-tags-tooltip',
'rcfilters-other-review-tools',
'blanknamespace',
'namespaces',
+ 'tags-title',
'invert',
'recentchanges-noresult',
+ 'recentchanges-timeout',
+ 'recentchanges-network',
'quotation-marks',
],
'dependencies' => [
'mediawiki.special.pagesWithProp' => [
'styles' => 'resources/src/mediawiki.special/mediawiki.special.pagesWithProp.css',
],
- 'mediawiki.special.preferences' => [
+ 'mediawiki.special.preferences.ooui' => [
'scripts' => [
'resources/src/mediawiki.special/mediawiki.special.preferences.confirmClose.js',
'resources/src/mediawiki.special/mediawiki.special.preferences.convertmessagebox.js',
'mediawiki.language',
'mediawiki.confirmCloseWindow',
'mediawiki.notification.convertmessagebox',
+ 'oojs-ui-widgets',
+ 'mediawiki.widgets.SelectWithInputWidget',
],
],
- 'mediawiki.special.preferences.styles' => [
+ 'mediawiki.special.preferences.styles.ooui' => [
'styles' => 'resources/src/mediawiki.special/mediawiki.special.preferences.styles.css',
],
'mediawiki.special.recentchanges' => [
/* MediaWiki UI */
'mediawiki.ui' => [
+ 'deprecated' => 'Please use OOUI instead.',
'skinStyles' => [
'default' => [
'resources/src/mediawiki.ui/default.less',
],
'targets' => [ 'desktop', 'mobile' ],
],
- 'mediawiki.widgets.CategorySelector' => [
- 'deprecated' => 'Use "mw.widgets.CategoryMultiselectWidget" instead. See T161285.',
- 'dependencies' => [
- 'mediawiki.widgets.CategoryMultiselectWidget',
- ],
- ],
'mediawiki.widgets.CategoryMultiselectWidget' => [
'scripts' => [
'resources/src/mediawiki.widgets/mw.widgets.CategoryCapsuleItemWidget.js',