summaryrefslogtreecommitdiff
path: root/www/wiki/includes/htmlform/fields/HTMLTagFilter.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/includes/htmlform/fields/HTMLTagFilter.php')
-rw-r--r--www/wiki/includes/htmlform/fields/HTMLTagFilter.php50
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 '';
+ }
+}