*/
class CategoryPager extends AlphabeticPager {
- /**
- * @var LinkRenderer
- */
- protected $linkRenderer;
-
/**
* @param IContextSource $context
* @param string $from
*/
public function __construct( IContextSource $context, $from, LinkRenderer $linkRenderer
) {
- parent::__construct( $context );
+ parent::__construct( $context, $linkRenderer );
$from = str_replace( ' ', '_', $from );
if ( $from !== '' ) {
$from = Title::capitalize( $from, NS_CATEGORY );
$this->setOffset( $from );
$this->setIncludeOffset( true );
}
-
- $this->linkRenderer = $linkRenderer;
}
function getQueryInfo() {
function formatRow( $result ) {
$title = new TitleValue( NS_CATEGORY, $result->cat_title );
$text = $title->getText();
- $link = $this->linkRenderer->makeLink( $title, $text );
+ $link = $this->getLinkRenderer()->makeLink( $title, $text );
$count = $this->msg( 'nmembers' )->numParams( $result->cat_pages )->escaped();
return Html::rawElement( 'li', null, $this->getLanguage()->specialList( $link, $count ) ) . "\n";
}
public function getStartForm( $from ) {
- return Xml::tags(
- 'form',
- [ 'method' => 'get', 'action' => wfScript() ],
- Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) .
- Xml::fieldset(
- $this->msg( 'categories' )->text(),
- Xml::inputLabel(
- $this->msg( 'categoriesfrom' )->text(),
- 'from', 'from', 20, $from, [ 'class' => 'mw-ui-input-inline' ] ) .
- ' ' .
- Html::submitButton(
- $this->msg( 'categories-submit' )->text(),
- [], [ 'mw-ui-progressive' ]
- )
- )
- );
+ $formDescriptor = [
+ 'from' => [
+ 'type' => 'title',
+ 'namespace' => NS_CATEGORY,
+ 'relative' => true,
+ 'label-message' => 'categoriesfrom',
+ 'name' => 'from',
+ 'id' => 'from',
+ 'size' => 20,
+ 'default' => $from,
+ ],
+ ];
+
+ $htmlForm = HTMLForm::factory( 'ooui', $formDescriptor, $this->getContext() )
+ ->setSubmitTextMsg( 'categories-submit' )
+ ->setWrapperLegendMsg( 'categories' )
+ ->setMethod( 'get' );
+ return $htmlForm->prepareForm()->getHTML( false );
}
+
}