HTMLInfoField: Support 'rawrow' in OOUI mode
authorBartosz Dziewoński <matma.rex@gmail.com>
Mon, 3 Sep 2018 16:35:28 +0000 (18:35 +0200)
committerBartosz Dziewoński <matma.rex@gmail.com>
Mon, 3 Sep 2018 16:41:55 +0000 (18:41 +0200)
To be compatible with OOUIHTMLForm, 'default' must be a FieldLayout
(or a subclass of FieldLayout) when using 'rawrow'.

(Technically, it works when it's a string, but that's only by chance.)

Bug: T203202
Change-Id: I571c619c32a806016b649562f5efe52ad45ef036

includes/htmlform/fields/HTMLInfoField.php

index 1376d0c..a98f112 100644 (file)
@@ -75,6 +75,22 @@ class HTMLInfoField extends HTMLFormField {
                return parent::getRaw( $value );
        }
 
+       /**
+        * @param mixed $value
+        * @return OOUI\FieldLayout
+        * @since 1.32
+        */
+       public function getOOUI( $value ) {
+               if ( !empty( $this->mParams['rawrow'] ) ) {
+                       if ( !( $value instanceof OOUI\FieldLayout ) ) {
+                               throw new Exception( "'default' must be a FieldLayout or subclass when using 'rawrow'" );
+                       }
+                       return $value;
+               }
+
+               return parent::getOOUI( $value );
+       }
+
        protected function needsLabel() {
                return false;
        }