MediaWiki  master
HTMLMultiSelectField Class Reference

Multi-select field. More...

Inheritance diagram for HTMLMultiSelectField:
Collaboration diagram for HTMLMultiSelectField:

Public Member Functions

 __construct ( $params)
 Stable to call. More...
 
 filterDataForSubmit ( $data)
 Support for separating multi-option preferences into multiple preferences Due to lack of array support.
Parameters
array$data
Stable to override More...
 
 formatOptions ( $options, $value)
 Stable to override. More...
 
 getDefault ()
 Stable to override.
Returns
mixed
Stable to override More...
 
 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
mixed$valueThe value to set the input to; eg a default text for a text input.
Returns
string Valid HTML.
Stable to override More...
 
 getInputOOUI ( $value)
 Get the OOUI version of this field. More...
 
 getOptionsOOUI ()
 Get options and make them into arrays suitable for OOUI. More...
 
 loadDataFromRequest ( $request)
 Stable to override. More...
 
 validate ( $value, $alldata)
 Override this function to add specific validation checks on the field input.Don't forget to call parent::validate() to ensure that the user-defined callback mValidationCallback is still run Stable to override
Parameters
string | array$valueThe value the field was submitted with
array$alldataThe data collected from the form
Returns
bool|string|Message True on success, or String/Message error to display, or false to fail validation without displaying an error.
Stable to override More...
 
- 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. More...
 
 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. More...
 
 filter ( $value, $alldata)
 Stable to override. More...
 
 getAttributes (array $list)
 Returns the given attributes from the parameters Stable to override. More...
 
 getDiv ( $value)
 Get the complete div for the input, including help text, labels, and whatever. More...
 
 getErrorsAndErrorClass ( $value)
 Determine form errors to display and their classes. More...
 
 getErrorsRaw ( $value)
 Determine form errors to display, returning them in an array. More...
 
 getHelpText ()
 Determine the help text to display Stable to override. More...
 
 getHelpTextHtmlDiv ( $helptext)
 Generate help text HTML in div format. More...
 
 getHelpTextHtmlRaw ( $helptext)
 Generate help text HTML formatted for raw output. More...
 
 getHelpTextHtmlTable ( $helptext)
 Generate help text HTML in table format. More...
 
 getInline ( $value)
 Get the complete field as an inline element. More...
 
 getLabel ()
 Stable to override. More...
 
 getLabelHtml ( $cellAttributes=[])
 Stable to override. More...
 
 getOOUI ( $value)
 Get the OOUI version of the div. More...
 
 getOptions ()
 Fetch the array of options from the field's parameters. More...
 
 getRaw ( $value)
 Get the complete raw fields for the input, including help text, labels, and whatever. More...
 
 getTableRow ( $value)
 Get the complete table row for the input, including help text, labels, and whatever. More...
 
 getTooltipAndAccessKey ()
 Returns the attributes required for the tooltip and accesskey, for Html::element() etc. More...
 
 getTooltipAndAccessKeyOOUI ()
 Returns the attributes required for the tooltip and accesskey, for OOUI widgets' config. More...
 
 getVForm ( $value)
 Get the complete field for the input, including help text, labels, and whatever. More...
 
 hasVisibleOutput ()
 If this field has a user-visible output or not. More...
 
 isHelpInline ()
 Determine if the help text should be displayed inline. More...
 
 isHidden ( $alldata)
 Test whether this field is supposed to be hidden, based on the values of the other form fields. More...
 
 msg ( $key,... $params)
 Get a translated interface message. More...
 
 needsJSForHtml5FormValidation ()
 Whether this field requires the user agent to have JavaScript enabled for the client-side HTML5 form validation to work correctly. More...
 
 setShowEmptyLabel ( $show)
 Tell the field whether to generate a separate label element if its label is blank. More...
 
 skipLoadData ( $request)
 Skip this field when collecting data. More...
 

Protected Member Functions

 getOneCheckbox ( $checked, $attribs, $label)
 
 needsLabel ()
 Should this field have a label, or is there no input element with the appropriate id for the label to point to? Stable to override.
Returns
bool True to output a label, false to suppress
Stable to override More...
 
- Protected Member Functions inherited from HTMLFormField
 getFieldLayoutOOUI ( $inputField, $config)
 Get a FieldLayout (or subclass thereof) to wrap this field in when using OOUI output. More...
 
 getLabelAlignOOUI ()
 Get label alignment when generating field for OOUI. More...
 
 getMessage ( $value)
 Turns a *-message parameter (which could be a MessageSpecifier, or a message name, or a name + parameters array) into a Message. More...
 
 getNearestFieldByName ( $alldata, $name)
 Fetch a field value from $alldata for the closest field matching a given name. More...
 
 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. More...
 
 isHiddenRecurse (array $alldata, array $params)
 Helper function for isHidden to handle recursive data structures. More...
 
 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. More...
 
 shouldInfuseOOUI ()
 Whether the field should be automatically infused. More...
 

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>". More...
 
static forceToStringRecursive ( $array)
 Recursively forces values in an array to strings, because issues arise with integer 0 as a value. More...
 
- Public Attributes inherited from HTMLFormField
array array[] $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. More...
 
- 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. More...
 
 $mValidationCallback
 
 $mVFormClass = ''
 

Detailed Description

Multi-select field.

Stable to extend

Definition at line 8 of file HTMLMultiSelectField.php.

Constructor & Destructor Documentation

◆ __construct()

HTMLMultiSelectField::__construct (   $params)

Stable to call.

Parameters
array$paramsIn adition to the usual HTMLFormField parameters, this can take the following fields:
  • dropdown: If given, the options will be displayed inside a dropdown with a text field that can be used to filter them. This is desirable mostly for very long lists of options. This only works for users with JavaScript support and falls back to the list of checkboxes.
  • flatlist: If given, the options will be displayed on a single line (wrapping to following lines if necessary), rather than each one on a line of its own. This is desirable mostly for very short lists of concisely labelled options.

Reimplemented from HTMLFormField.

Definition at line 21 of file HTMLMultiSelectField.php.

Member Function Documentation

◆ filterDataForSubmit()

HTMLMultiSelectField::filterDataForSubmit (   $data)

Support for separating multi-option preferences into multiple preferences Due to lack of array support.

Parameters
array$data
Stable to override

Implements HTMLNestedFilterable.

Definition at line 270 of file HTMLMultiSelectField.php.

References $res, HTMLFormField\flattenOptions(), HTMLFormField\forceToStringRecursive(), and HTMLFormField\getOptions().

◆ formatOptions()

HTMLMultiSelectField::formatOptions (   $options,
  $value 
)

Stable to override.

Parameters
array$options
mixed$value
Returns
string
Exceptions
MWException

Definition at line 89 of file HTMLMultiSelectField.php.

References HTMLFormField\getAttributes(), getOneCheckbox(), and Html\rawElement().

Referenced by getInputHTML().

◆ getDefault()

HTMLMultiSelectField::getDefault ( )

Stable to override.

Returns
mixed
Stable to override

Reimplemented from HTMLFormField.

Definition at line 262 of file HTMLMultiSelectField.php.

Referenced by loadDataFromRequest().

◆ getInputHTML()

HTMLMultiSelectField::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
mixed$valueThe value to set the input to; eg a default text for a text input.
Returns
string Valid HTML.
Stable to override

Reimplemented from HTMLFormField.

Definition at line 69 of file HTMLMultiSelectField.php.

References HTMLFormField\forceToStringRecursive(), formatOptions(), and HTMLFormField\getOptions().

◆ getInputOOUI()

HTMLMultiSelectField::getInputOOUI (   $value)

Get the OOUI version of this field.

Returns OOUI\CheckboxMultiselectInputWidget for fields that only have one section, string otherwise.

Stable to override

Since
1.28
Parameters
string[]$value
Returns
string|OOUI\CheckboxMultiselectInputWidget PhanParamSignatureMismatch

Reimplemented from HTMLFormField.

Definition at line 165 of file HTMLMultiSelectField.php.

References HTMLFormField\$mClass, HTMLFormField\getAttributes(), HTMLFormField\getOptions(), and Xml\listDropDownOptionsOoui().

◆ getOneCheckbox()

HTMLMultiSelectField::getOneCheckbox (   $checked,
  $attribs,
  $label 
)
protected

Definition at line 121 of file HTMLMultiSelectField.php.

References Xml\check(), Html\closeElement(), and Html\openElement().

Referenced by formatOptions().

◆ getOptionsOOUI()

HTMLMultiSelectField::getOptionsOOUI ( )

Get options and make them into arrays suitable for OOUI.

Stable to override

Exceptions
MWException

Reimplemented from HTMLFormField.

Definition at line 148 of file HTMLMultiSelectField.php.

◆ loadDataFromRequest()

HTMLMultiSelectField::loadDataFromRequest (   $request)

Stable to override.

Parameters
WebRequest$request
Returns
string|array

Reimplemented from HTMLFormField.

Definition at line 243 of file HTMLMultiSelectField.php.

References getDefault(), and HTMLFormField\isSubmitAttempt().

◆ needsLabel()

HTMLMultiSelectField::needsLabel ( )
protected

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

Returns
bool True to output a label, false to suppress
Stable to override

Reimplemented from HTMLFormField.

Definition at line 286 of file HTMLMultiSelectField.php.

◆ validate()

HTMLMultiSelectField::validate (   $value,
  $alldata 
)

Override this function to add specific validation checks on the field input.Don't forget to call parent::validate() to ensure that the user-defined callback mValidationCallback is still run Stable to override

Parameters
string | array$valueThe value the field was submitted with
array$alldataThe data collected from the form
Returns
bool|string|Message True on success, or String/Message error to display, or false to fail validation without displaying an error.
Stable to override

Reimplemented from HTMLFormField.

Reimplemented in EditWatchlistCheckboxSeriesField.

Definition at line 42 of file HTMLMultiSelectField.php.

References HTMLFormField\flattenOptions(), HTMLFormField\getOptions(), and HTMLFormField\msg().


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