$panel[] = $form;
$panelString = implode( "\n", $panel );
+ // Insert a placeholder for RCFilters
+ if ( $this->getUser()->getOption( 'rcenhancedfilters' ) ) {
+ $this->getOutput()->addModuleStyles( 'mediawiki.rcfilters.filters.base.styles' );
+ $this->getOutput()->addHTML(
+ Html::element(
+ 'div',
+ [ 'class' => 'rcfilters-container' ]
+ )
+ );
+ }
+
$this->getOutput()->addHTML(
Xml::fieldset(
$this->msg( 'recentchanges-legend' )->text(),
/* MediaWiki Special pages */
+ 'mediawiki.rcfilters.filters.base.styles' => [
+ 'styles' => [
+ 'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less',
+ ],
+ ],
'mediawiki.rcfilters.filters.dm' => [
'scripts' => [
'resources/src/mediawiki.rcfilters/mw.rcfilters.js',
// eslint-disable-next-line no-new
new mw.rcfilters.ui.FormWrapperWidget(
- changesListModel, $( '.rcoptions form' ) );
+ changesListModel, $( '.rcoptions' ) );
controller.initialize( {
registration: {
}
} );
- $( '.rcoptions' ).before( filtersWidget.$element );
+ $( '.rcfilters-container' ).append( filtersWidget.$element );
$( 'body' ).append( $overlay );
// HACK: Remove old-style filter links for filters handled by the widget
// Corrections for the standard special page
-.rcoptions {
- border: 0;
- border-bottom: 1px solid #a2a9b1;
+.client-js{
+ .rcoptions {
+ border: 0;
+ border-bottom: 1px solid #a2a9b1;
- legend {
- display: none;
+ legend {
+ display: none;
+ }
+
+ &:not( .mw-rcfilters-ui-ready ) {
+ /* @embed */
+ background-image: url( ../images/pending.gif );
+ margin: 0;
+
+ * {
+ visibility: hidden;
+ }
+ }
+ }
+
+ .rcfilters-container {
+ min-height: 100px;
+ margin: 0;
+
+ &:not( .mw-rcfilters-ui-ready ) {
+ /* @embed */
+ background-image: url( ../images/pending.gif );
+ }
}
}
// Initialize
this.$element
.addClass( 'mw-rcfilters-ui-filterWrapperWidget' )
+ .addClass( 'mw-rcfilters-ui-ready' )
.append( this.capsule.$element, this.textInput.$element );
};
} ) );
this.model = model;
- this.$submitButton = this.$element.find( 'input[type=submit]' );
+ this.$submitButton = this.$element.find( 'form input[type=submit]' );
// Events
this.model.connect( this, {
invalidate: 'onModelInvalidate',
update: 'onModelUpdate'
} );
+
+ this.$element
+ .addClass( 'mw-rcfilters-ui-FormWrapperWidget' )
+ .addClass( 'mw-rcfilters-ui-ready' );
};
/* Initialization */