OOUIHTMLForm: Correctly handle submit modifier flags
authorBartosz Dziewoński <matma.rex@gmail.com>
Sun, 14 Jun 2015 18:09:52 +0000 (20:09 +0200)
committerBartosz Dziewoński <matma.rex@gmail.com>
Sat, 27 Jun 2015 13:14:08 +0000 (13:14 +0000)
Rejigger some HTMLForm internals to remove the hardcoded assumption of
using 'mw-ui' classes.

Bug: T98903
Change-Id: Icc20453c999c761b87e19a71ccd43d93b9c1bfa7

includes/htmlform/HTMLForm.php
includes/htmlform/OOUIHTMLForm.php
includes/htmlform/VFormHTMLForm.php

index 65fc0e8..702651e 100644 (file)
@@ -165,7 +165,7 @@ class HTMLForm extends ContextSource {
        protected $mFieldTree;
        protected $mShowReset = false;
        protected $mShowSubmit = true;
-       protected $mSubmitModifierClass = 'mw-ui-constructive';
+       protected $mSubmitFlag = 'constructive';
 
        protected $mSubmitCallback;
        protected $mValidationErrorMessage;
@@ -972,7 +972,7 @@ class HTMLForm extends ContextSource {
                        $attribs['class'] = array( 'mw-htmlform-submit' );
 
                        if ( $useMediaWikiUIEverywhere ) {
-                               array_push( $attribs['class'], 'mw-ui-button', $this->mSubmitModifierClass );
+                               array_push( $attribs['class'], 'mw-ui-button', 'mw-ui-' . $this->mSubmitFlag );
                        }
 
                        $buttons .= Xml::submitButton( $this->getSubmitText(), $attribs ) . "\n";
@@ -1099,7 +1099,7 @@ class HTMLForm extends ContextSource {
         * @since 1.24
         */
        public function setSubmitDestructive() {
-               $this->mSubmitModifierClass = 'mw-ui-destructive';
+               $this->mSubmitFlag = 'destructive';
        }
 
        /**
@@ -1107,7 +1107,7 @@ class HTMLForm extends ContextSource {
         * @since 1.25
         */
        public function setSubmitProgressive() {
-               $this->mSubmitModifierClass = 'mw-ui-progressive';
+               $this->mSubmitFlag = 'progressive';
        }
 
        /**
index 056591a..1ac7956 100644 (file)
@@ -68,15 +68,11 @@ class OOUIHTMLForm extends HTMLForm {
                                $attribs += Linker::tooltipAndAccesskeyAttribs( $this->mSubmitTooltip );
                        }
 
-                       $attribs['classes'] = array(
-                               'mw-htmlform-submit',
-                               $this->mSubmitModifierClass,
-                       );
-
+                       $attribs['classes'] = array( 'mw-htmlform-submit' );
                        $attribs['type'] = 'submit';
                        $attribs['label'] = $this->getSubmitText();
                        $attribs['value'] = $this->getSubmitText();
-                       $attribs['flags'] = array( 'primary', 'constructive' );
+                       $attribs['flags'] = array( $this->mSubmitFlag );
 
                        $buttons .= new OOUI\ButtonInputWidget( $attribs );
                }
index 0c0e425..f1fd05d 100644 (file)
@@ -95,7 +95,7 @@ class VFormHTMLForm extends HTMLForm {
                        $attribs['class'] = array(
                                'mw-htmlform-submit',
                                'mw-ui-button mw-ui-big mw-ui-block',
-                               $this->mSubmitModifierClass,
+                               'mw-ui-' . $this->mSubmitFlag,
                        );
 
                        $buttons .= Xml::submitButton( $this->getSubmitText(), $attribs ) . "\n";