MediaWiki REL1_37
ListToggle.php
Go to the documentation of this file.
1<?php
33 private $output;
34
35 public function __construct( OutputPage $output ) {
36 $this->output = $output;
37
38 $output->addModules( 'mediawiki.checkboxtoggle' );
39 $output->addModuleStyles( 'mediawiki.checkboxtoggle.styles' );
40 }
41
42 private function checkboxLink( $checkboxType ) {
43 return Html::element(
44 // CSS classes: mw-checkbox-all, mw-checkbox-none, mw-checkbox-invert
45 'a', [ 'class' => 'mw-checkbox-' . $checkboxType, 'role' => 'button', 'tabindex' => 0 ],
46 $this->output->msg( 'checkbox-' . $checkboxType )->text()
47 );
48 }
49
53 public function getHTML() {
54 // Select: All, None, Invert
55 $links = [
56 $this->checkboxLink( 'all' ),
57 $this->checkboxLink( 'none' ),
58 $this->checkboxLink( 'invert' ),
59 ];
60
61 return Html::rawElement( 'div',
62 [
63 'class' => 'mw-checkbox-toggle-controls'
64 ],
65 $this->output->msg( 'checkbox-select' )
66 ->rawParams( $this->output->getLanguage()->commaList( $links ) )->escaped()
67 );
68 }
69}
Class for generating clickable toggle links for a list of checkboxes.
__construct(OutputPage $output)
OutputPage $output
checkboxLink( $checkboxType)
This is one of the Core classes and should be read at least once by any new developers.
addModuleStyles( $modules)
Load the styles of one or more style-only ResourceLoader modules on this page.
addModules( $modules)
Load one or more ResourceLoader modules on this page.