}
$hidden = implode( "\n", $hidden );
- $form = [
+ $formDescriptor = [
'namespace' => [
'type' => 'namespaceselect',
'name' => 'namespace',
],
];
- $htmlForm = new HTMLForm( $form, $this->getContext() );
-
- $htmlForm->setSubmitText( $this->msg( 'newpages-submit' )->text() );
- // The form should be visible on each request (inclusive requests with submitted forms), so
- // return always false here.
- $htmlForm->setSubmitCallback(
- function () {
- return false;
- }
- );
- $htmlForm->setMethod( 'get' );
- $htmlForm->setWrapperLegend( true );
- $htmlForm->setWrapperLegendMsg( 'newpages' );
- $htmlForm->addFooterText( Html::rawElement(
- 'div',
- null,
- $this->filterLinks()
- ) );
- $htmlForm->show();
+ $htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, $this->getContext() );
+ $htmlForm
+ ->setMethod( 'get' )
+ ->setFormIdentifier( 'newpagesform' )
+ // The form should be visible on each request (inclusive requests with submitted forms), so
+ // return always false here.
+ ->setSubmitCallback(
+ function () {
+ return false;
+ }
+ )
+ ->setSubmitText( $this->msg( 'newpages-submit' )->text() )
+ ->setWrapperLegend( $this->msg( 'newpages' )->text() )
+ ->addFooterText( Html::rawElement(
+ 'div',
+ null,
+ $this->filterLinks()
+ ) )
+ ->show();
+ $out->addModuleStyles( 'mediawiki.special' );
}
/**
'resources/src/mediawiki.special/comparepages.less',
'resources/src/mediawiki.special/edittags.css',
'resources/src/mediawiki.special/movePage.css',
+ 'resources/src/mediawiki.special/newpages.less',
'resources/src/mediawiki.special/pagesWithProp.css',
'resources/src/mediawiki.special/upload.css',
'resources/src/mediawiki.special/userrights.css',
--- /dev/null
+/*!
+ * Styling for Special:NewPages
+ */
+
+// OOUIHTMLForm styles
+@ooui-font-size-browser: 16; // assumed browser default of `16px`
+@ooui-font-size-base: 0.875em; // equals `14px` at browser default of `16px`
+
+@ooui-spacing-medium: 12 / @ooui-font-size-browser / @ooui-font-size-base; // equals `0.8571429em`≈`12px`
+@ooui-spacing-large: 16 / @ooui-font-size-browser / @ooui-font-size-base; // equals `1.1428571em`≈`16px`
+
+.mw-htmlform-ooui .mw-htmlform-field-HTMLSizeFilterField,
+.mw-htmlform-ooui .mw-htmlform-submit-buttons + div {
+ margin-top: @ooui-spacing-medium;
+}