diff options
Diffstat (limited to 'www/wiki/includes/htmlform/fields/HTMLTagFilter.php')
-rw-r--r-- | www/wiki/includes/htmlform/fields/HTMLTagFilter.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/www/wiki/includes/htmlform/fields/HTMLTagFilter.php b/www/wiki/includes/htmlform/fields/HTMLTagFilter.php new file mode 100644 index 00000000..38f9a0a1 --- /dev/null +++ b/www/wiki/includes/htmlform/fields/HTMLTagFilter.php @@ -0,0 +1,50 @@ +<?php +/** + * Wrapper for ChangeTags::buildTagFilterSelector to use in HTMLForm + */ +class HTMLTagFilter extends HTMLFormField { + protected $tagFilter; + + public function getTableRow( $value ) { + $this->tagFilter = ChangeTags::buildTagFilterSelector( + $value, false, $this->mParent->getContext() ); + if ( $this->tagFilter ) { + return parent::getTableRow( $value ); + } + return ''; + } + + public function getDiv( $value ) { + $this->tagFilter = ChangeTags::buildTagFilterSelector( + $value, false, $this->mParent->getContext() ); + if ( $this->tagFilter ) { + return parent::getDiv( $value ); + } + return ''; + } + + public function getOOUI( $value ) { + $this->tagFilter = ChangeTags::buildTagFilterSelector( + $value, true, $this->mParent->getContext() ); + if ( $this->tagFilter ) { + return parent::getOOUI( $value ); + } + return new OOUI\FieldLayout( new OOUI\Widget() ); + } + + public function getInputHTML( $value ) { + if ( $this->tagFilter ) { + // we only need the select field, HTMLForm should handle the label + return $this->tagFilter[1]; + } + return ''; + } + + public function getInputOOUI( $value ) { + if ( $this->tagFilter ) { + // we only need the select field, HTMLForm should handle the label + return $this->tagFilter[1]; + } + return ''; + } +} |