MediaWiki REL1_33
HTMLButtonField Class Reference

Adds a generic button inline to the form. More...

Inheritance diagram for HTMLButtonField:
Collaboration diagram for HTMLButtonField:

Public Member Functions

 __construct ( $info)
 Initialise the object.
 
 getInputHTML ( $value)
 This function must be implemented to return the HTML to generate the input object itself.
 
 getInputOOUI ( $value)
 Get the OOUI widget for this field.
 
 validate ( $value, $alldata)
 Button cannot be invalid.
 
- Public Member Functions inherited from HTMLFormField
 cancelSubmit ( $value, $alldata)
 Override this function if the control can somehow trigger a form submission that shouldn't actually submit the HTMLForm.
 
 canDisplayErrors ()
 True if this field type is able to display errors; false if validation errors need to be displayed in the main HTMLForm error area.
 
 filter ( $value, $alldata)
 
 getAttributes (array $list)
 Returns the given attributes from the parameters.
 
 getDefault ()
 
 getDiv ( $value)
 Get the complete div for the input, including help text, labels, and whatever.
 
 getErrorsAndErrorClass ( $value)
 Determine form errors to display and their classes.
 
 getErrorsRaw ( $value)
 Determine form errors to display, returning them in an array.
 
 getHelpText ()
 Determine the help text to display.
 
 getHelpTextHtmlDiv ( $helptext)
 Generate help text HTML in div format.
 
 getHelpTextHtmlRaw ( $helptext)
 Generate help text HTML formatted for raw output.
 
 getHelpTextHtmlTable ( $helptext)
 Generate help text HTML in table format.
 
 getInline ( $value)
 Get the complete field as an inline element.
 
 getLabel ()
 
 getLabelHtml ( $cellAttributes=[])
 
 getOOUI ( $value)
 Get the OOUI version of the div.
 
 getOptions ()
 Fetch the array of options from the field's parameters.
 
 getOptionsOOUI ()
 Get options and make them into arrays suitable for OOUI.
 
 getRaw ( $value)
 Get the complete raw fields for the input, including help text, labels, and whatever.
 
 getTableRow ( $value)
 Get the complete table row for the input, including help text, labels, and whatever.
 
 getTooltipAndAccessKey ()
 Returns the attributes required for the tooltip and accesskey, for Html::element() etc.
 
 getTooltipAndAccessKeyOOUI ()
 Returns the attributes required for the tooltip and accesskey, for OOUI widgets' config.
 
 getVForm ( $value)
 Get the complete field for the input, including help text, labels, and whatever.
 
 hasVisibleOutput ()
 If this field has a user-visible output or not.
 
 isHelpInline ()
 Determine if the help text should be displayed inline.
 
 isHidden ( $alldata)
 Test whether this field is supposed to be hidden, based on the values of the other form fields.
 
 loadDataFromRequest ( $request)
 Get the value that this input has been set to from a posted form, or the input's default value if it has not been set.
 
 msg ()
 Get a translated interface message.
 
 needsJSForHtml5FormValidation ()
 Whether this field requires the user agent to have JavaScript enabled for the client-side HTML5 form validation to work correctly.
 
 setShowEmptyLabel ( $show)
 Tell the field whether to generate a separate label element if its label is blank.
 
 skipLoadData ( $request)
 Skip this field when collecting data.
 

Protected Member Functions

 needsLabel ()
 Should this field have a label, or is there no input element with the appropriate id for the label to point to?
 
- Protected Member Functions inherited from HTMLFormField
 getFieldLayoutOOUI ( $inputField, $config)
 Get a FieldLayout (or subclass thereof) to wrap this field in when using OOUI output.
 
 getLabelAlignOOUI ()
 Get label alignment when generating field for OOUI.
 
 getMessage ( $value)
 Turns a *-message parameter (which could be a MessageSpecifier, or a message name, or a name + parameters array) into a Message.
 
 getNearestFieldByName ( $alldata, $name)
 Fetch a field value from $alldata for the closest field matching a given name.
 
 getOOUIModules ()
 Get the list of extra ResourceLoader modules which must be loaded client-side before it's possible to infuse this field's OOUI widget.
 
 isHiddenRecurse (array $alldata, array $params)
 Helper function for isHidden to handle recursive data structures.
 
 isSubmitAttempt (WebRequest $request)
 Can we assume that the request is an attempt to submit a HTMLForm, as opposed to an attempt to just view it? This can't normally be distinguished for e.g.
 
 shouldInfuseOOUI ()
 Whether the field should be automatically infused.
 

Protected Attributes

 $buttonLabel = null
 
 $buttonType = 'button'
 
 $mFlags = []
 
 $mFormnovalidate = false
 
- Protected Attributes inherited from HTMLFormField
 $mClass = ''
 
 $mDefault
 
 $mDir
 
 $mFilterCallback
 
 $mHelpClass = false
 
 $mHideIf = null
 
 $mID
 
 $mLabel
 
 $mName
 
array bool null $mOptions = false
 
 $mOptionsLabelsNotFromMessage = false
 
bool $mShowEmptyLabels = true
 If true will generate an empty div element with no label.
 
 $mValidationCallback
 
 $mVFormClass = ''
 

Private Member Functions

 isBadIE ()
 IE<8 has bugs with <button>, so we'll need to avoid them.
 

Additional Inherited Members

- Static Public Member Functions inherited from HTMLFormField
static flattenOptions ( $options)
 flatten an array of options to a single array, for instance, a set of "<options>" inside "<optgroups>".
 
static forceToStringRecursive ( $array)
 Recursively forces values in an array to strings, because issues arise with integer 0 as a value.
 
- Public Attributes inherited from HTMLFormField
 $mParams
 
HTMLForm null $mParent
 
- Static Protected Member Functions inherited from HTMLFormField
static formatErrors ( $errors)
 Formats one or more errors as accepted by field validation-callback.
 

Detailed Description

Adds a generic button inline to the form.

Does not do anything, you must add click handling code in JavaScript. Use a HTMLSubmitField if you merely wish to add a submit button to a form.

Additional recognized configuration parameters include:

  • flags: OOUI flags for the button, see OOUI\FlaggedElement
  • buttonlabel-message: Message to use for the button display text, instead of the value from 'default'. Overrides 'buttonlabel' and 'buttonlabel-raw'.
  • buttonlabel: Text to display for the button display text, instead of the value from 'default'. Overrides 'buttonlabel-raw'.
  • buttonlabel-raw: HTMLto display for the button display text, instead of the value from 'default'.
  • formnovalidate: Set to true if clicking this button should suppress client-side form validation. Used in HTMLFormFieldCloner for add/remove buttons.

Note that the buttonlabel parameters are not supported on IE6 and IE7 due to bugs in those browsers. If detected, they will be served buttons using the value of 'default' as the button label.

Since
1.22

Definition at line 26 of file HTMLButtonField.php.

Constructor & Destructor Documentation

◆ __construct()

HTMLButtonField::__construct (   $params)

Initialise the object.

Parameters
array$paramsAssociative Array. See HTMLForm doc for syntax.
Since
1.22 The 'label' attribute no longer accepts raw HTML, use 'label-raw' instead
Exceptions
MWException

Reimplemented from HTMLFormField.

Definition at line 35 of file HTMLButtonField.php.

References HTMLFormField\getMessage(), and HTMLFormField\setShowEmptyLabel().

Member Function Documentation

◆ getInputHTML()

HTMLButtonField::getInputHTML (   $value)

This function must be implemented to return the HTML to generate the input object itself.

It should not implement the surrounding table cells/rows, or labels/help messages.

Parameters
string$valueThe value to set the input to; eg a default text for a text input.
Returns
string Valid HTML.

Reimplemented from HTMLFormField.

Definition at line 65 of file HTMLButtonField.php.

References $buttonType, $mFormnovalidate, HTMLFormField\$mID, HTMLFormField\$mName, as, HTMLFormField\getAttributes(), ContextSource\getConfig(), HTMLFormField\getDefault(), and isBadIE().

◆ getInputOOUI()

HTMLButtonField::getInputOOUI (   $value)

Get the OOUI widget for this field.

Parameters
string$value
Returns
OOUI\ButtonInputWidget

Reimplemented from HTMLFormField.

Definition at line 100 of file HTMLButtonField.php.

References $buttonType, HTMLFormField\$mClass, $mFlags, HTMLFormField\$mID, HTMLFormField\getAttributes(), HTMLFormField\getDefault(), and isBadIE().

◆ isBadIE()

HTMLButtonField::isBadIE ( )
private

IE<8 has bugs with <button>, so we'll need to avoid them.

Returns
bool Whether the request is from a bad version of IE

Definition at line 137 of file HTMLButtonField.php.

References $request.

Referenced by getInputHTML(), and getInputOOUI().

◆ needsLabel()

HTMLButtonField::needsLabel ( )
protected

Should this field have a label, or is there no input element with the appropriate id for the label to point to?

Returns
bool True to output a label, false to suppress

Reimplemented from HTMLFormField.

Definition at line 117 of file HTMLButtonField.php.

◆ validate()

HTMLButtonField::validate (   $value,
  $alldata 
)

Button cannot be invalid.

Parameters
string$value
array$alldata
Returns
bool|string|Message

Reimplemented from HTMLFormField.

Definition at line 129 of file HTMLButtonField.php.

Member Data Documentation

◆ $buttonLabel

HTMLButtonField::$buttonLabel = null
protected

Definition at line 28 of file HTMLButtonField.php.

◆ $buttonType

HTMLButtonField::$buttonType = 'button'
protected

Definition at line 27 of file HTMLButtonField.php.

Referenced by getInputHTML(), and getInputOOUI().

◆ $mFlags

HTMLButtonField::$mFlags = []
protected

Definition at line 31 of file HTMLButtonField.php.

Referenced by getInputOOUI().

◆ $mFormnovalidate

HTMLButtonField::$mFormnovalidate = false
protected

Definition at line 33 of file HTMLButtonField.php.

Referenced by getInputHTML().


The documentation for this class was generated from the following file: