TitlesMultiselectWidget: display pending element
Create a PendingTextInputWidget and use it in TitlesMultiSelectWidget instead of the multiline text area for users who have JavaScript. Bug: T210080 Change-Id: I824fea6a3df580d342e6087ab901fec025f0e70b
This commit is contained in:
parent
0833cae960
commit
62b4cee23f
6 changed files with 48 additions and 1 deletions
|
|
@ -924,6 +924,7 @@ $wgAutoloadLocalClasses = [
|
|||
'MediaWiki\\Widget\\DateTimeInputWidget' => __DIR__ . '/includes/widget/DateTimeInputWidget.php',
|
||||
'MediaWiki\\Widget\\ExpiryInputWidget' => __DIR__ . '/includes/widget/ExpiryInputWidget.php',
|
||||
'MediaWiki\\Widget\\NamespaceInputWidget' => __DIR__ . '/includes/widget/NamespaceInputWidget.php',
|
||||
'MediaWiki\\Widget\\PendingTextInputWidget' => __DIR__ . '/includes/widget/PendingTextInputWidget.php',
|
||||
'MediaWiki\\Widget\\SearchInputWidget' => __DIR__ . '/includes/widget/SearchInputWidget.php',
|
||||
'MediaWiki\\Widget\\Search\\BasicSearchResultSetWidget' => __DIR__ . '/includes/widget/search/BasicSearchResultSetWidget.php',
|
||||
'MediaWiki\\Widget\\Search\\DidYouMeanWidget' => __DIR__ . '/includes/widget/search/DidYouMeanWidget.php',
|
||||
|
|
|
|||
|
|
@ -386,6 +386,7 @@ class SpecialBlock extends FormSpecialPage {
|
|||
* @return string
|
||||
*/
|
||||
protected function preText() {
|
||||
$this->getOutput()->addModuleStyles( 'mediawiki.widgets.TitlesMultiselectWidget.styles' );
|
||||
$this->getOutput()->addModules( [ 'mediawiki.special.block' ] );
|
||||
|
||||
$blockCIDRLimit = $this->getConfig()->get( 'BlockCIDRLimit' );
|
||||
|
|
|
|||
26
includes/widget/PendingTextInputWidget.php
Normal file
26
includes/widget/PendingTextInputWidget.php
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace MediaWiki\Widget;
|
||||
|
||||
use OOUI\TextInputWidget;
|
||||
|
||||
/**
|
||||
* Text input widget that displays pending animation.
|
||||
*/
|
||||
class PendingTextInputWidget extends TextInputWidget {
|
||||
|
||||
/**
|
||||
* @param array $config Configuration options
|
||||
*/
|
||||
public function __construct( array $config = [] ) {
|
||||
$config = array_merge( [
|
||||
'disabled' => true,
|
||||
], $config );
|
||||
|
||||
// Parent constructor
|
||||
parent::__construct( $config );
|
||||
|
||||
// Initialization
|
||||
$this->input->addClasses( [ 'mw-widgets-pendingTextInputWidget oo-ui-pendingElement-pending' ] );
|
||||
}
|
||||
}
|
||||
|
|
@ -54,9 +54,14 @@ class TitlesMultiselectWidget extends \OOUI\Widget {
|
|||
'name' => $this->inputName,
|
||||
'value' => implode( "\n", $this->titlesArray ),
|
||||
'rows' => 10,
|
||||
'classes' => [
|
||||
'mw-widgets-titlesMultiselectWidget-multilineTextInputWidget'
|
||||
],
|
||||
], $this->input ) );
|
||||
|
||||
$this->appendContent( $textarea );
|
||||
$pending = new PendingTextInputWidget();
|
||||
|
||||
$this->appendContent( $textarea, $pending );
|
||||
$this->addClasses( [ 'mw-widgets-titlesMultiselectWidget' ] );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2733,6 +2733,9 @@ return [
|
|||
],
|
||||
'targets' => [ 'desktop', 'mobile' ],
|
||||
],
|
||||
'mediawiki.widgets.TitlesMultiselectWidget.styles' => [
|
||||
'styles' => 'resources/src/mediawiki.widgets/mw.widgets.TitlesMultiselectWidget.base.css',
|
||||
],
|
||||
'mediawiki.widgets.SearchInputWidget' => [
|
||||
'scripts' => [
|
||||
'resources/src/mediawiki.widgets/mw.widgets.SearchInputWidget.js',
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
/*!
|
||||
* MediaWiki Widgets - base TitlesMultiselectWidget styles.
|
||||
*
|
||||
* @copyright 2011-2018 MediaWiki Widgets Team and others; see AUTHORS.txt
|
||||
* @license The MIT License (MIT); see LICENSE.txt
|
||||
*/
|
||||
|
||||
.client-nojs .mw-widgets-titlesMultiselectWidget .mw-widgets-pendingTextInputWidget,
|
||||
.client-js .mw-widgets-titlesMultiselectWidget .mw-widgets-titlesMultiselectWidget-multilineTextInputWidget {
|
||||
display: none;
|
||||
}
|
||||
Loading…
Reference in a new issue