MediaWiki master
MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField Class Reference

Text field for selecting a value from a large list of possible values, with auto-completion and optionally with a select dropdown for selecting common options. More...

Inherits MediaWiki\HTMLForm\Field\HTMLTextField.

Collaboration diagram for MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField:

Public Member Functions

 __construct ( $params)
 
 getAttributes (array $list)
 Returns the given attributes from the parameters.
 
 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.
Stability: stable
to override

 
 getInputOOUI ( $value)
 Get the OOUI version of this input.
 
 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.
 
 validate ( $value, $alldata)
 Override this function to add specific validation checks on the field input.
 
- Public Member Functions inherited from MediaWiki\HTMLForm\Field\HTMLTextField
 getInputCodex ( $value, $hasErrors)
 Same as getInputHTML, but for Codex.
 
 getSize ()
 
 getSpellCheck ()
 
 isPersistent ()
 
- Public Member Functions inherited from MediaWiki\HTMLForm\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)
 
 getCodex ( $value)
 Get the Codex version of the div.
 
 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, $cssClasses=[])
 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=[])
 
 getName ()
 Get the field name that will be used for submission.
 
 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.
 
 isDisabled ( $alldata)
 Test whether this field is supposed to be disabled, based on the values of the other form fields.
 
 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.
 
 msg ( $key,... $params)
 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 Attributes

 $autocompleteData = []
 
- Protected Attributes inherited from MediaWiki\HTMLForm\Field\HTMLTextField
bool $autocomplete
 HTML autocomplete attribute.
 
 $mPlaceholder = ''
 
- Protected Attributes inherited from MediaWiki\HTMLForm\HTMLFormField
 $mClass = ''
 
array $mCondState = []
 Array to hold params for 'hide-if' or 'disable-if' statements.
 
 $mCondStateClass = []
 
 $mDefault
 
 $mDir
 
 $mFilterCallback
 
 $mHelpClass = false
 
 $mID
 
 $mLabel
 
 $mName
 
array null false $mOptions = false
 
 $mOptionsLabelsNotFromMessage = false
 
bool $mShowEmptyLabels = true
 If true will generate an empty div element with no label.
 
 $mVFormClass = ''
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\HTMLForm\Field\HTMLTextField
static buildCodexComponent ( $value, $hasErrors, $type, $name, $inputAttribs)
 Build the markup of the Codex component.
 
- Static Public Member Functions inherited from MediaWiki\HTMLForm\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 MediaWiki\HTMLForm\HTMLFormField
array array[] $mParams
 
HTMLForm null $mParent
 
- Protected Member Functions inherited from MediaWiki\HTMLForm\Field\HTMLTextField
 getDataAttribs ()
 Returns an array of data-* attributes to add to the field.
 
 getInputWidget ( $params)
 
 getType (&$attribs)
 
- Protected Member Functions inherited from MediaWiki\HTMLForm\HTMLFormField
 checkStateRecurse (array $alldata, array $params)
 Helper function for isHidden and isDisabled to handle recursive data structures.
 
 getClassName ()
 Gets the non namespaced class name.
 
 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.
 
 getNearestField ( $name, $backCompat=false)
 Get the closest field matching a given name.
 
 getNearestFieldByName ( $alldata, $name, $asDisplay=false)
 Fetch a field value from $alldata for the closest field matching a given name.
 
 getNearestFieldValue ( $alldata, $name, $asDisplay=false, $backCompat=false)
 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.
 
 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.
 
 needsLabel ()
 Should this field have a label, or is there no input element with the appropriate id for the label to point to?
 
 parseCondState ( $params)
 Parse the cond-state array to use the field name for submission, since the key in the form descriptor is never known in HTML.
 
 parseCondStateForClient ()
 Parse the cond-state array for client-side.
 
 shouldInfuseOOUI ()
 Whether the field should be automatically infused.
 
 validateCondState ( $params)
 Validate the cond-state params, the existence check of fields should be done later.
 
- Static Protected Member Functions inherited from MediaWiki\HTMLForm\HTMLFormField
static formatErrors ( $errors)
 Formats one or more errors as accepted by field validation-callback.
 

Detailed Description

Text field for selecting a value from a large list of possible values, with auto-completion and optionally with a select dropdown for selecting common options.

HTMLComboboxField implements most of the same functionality and should be used instead, if possible.

If one of 'options-messages', 'options', or 'options-message' is provided and non-empty, the select dropdown will be shown. An 'other' key will be appended using message 'htmlform-selectorother-other' if not already present.

Besides the parameters recognized by HTMLTextField, the following are recognized: options-messages - As for HTMLSelectField options - As for HTMLSelectField options-message - As for HTMLSelectField autocomplete-data - Associative array mapping display text to values. autocomplete-data-messages - Like autocomplete, but keys are message names. require-match - Boolean, if true the value must be in the options or the autocomplete. other-message - Message to use instead of htmlform-selectorother-other for the 'other' message. other - Raw text to use for the 'other' message

Stability: stable
to extend

Definition at line 38 of file HTMLAutoCompleteSelectField.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField::__construct ( $params)

Member Function Documentation

◆ getAttributes()

MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField::getAttributes ( array $list)

Returns the given attributes from the parameters.

Stability: stable
to override
Parameters
array$listList of attributes to get
Returns
array Attributes

Reimplemented from MediaWiki\HTMLForm\HTMLFormField.

Definition at line 118 of file HTMLAutoCompleteSelectField.php.

References MediaWiki\HTMLForm\HTMLFormField\getOptions().

◆ getInputHTML()

MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField::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.
Stability: stable
to override

Stability: stable
to override

Reimplemented from MediaWiki\HTMLForm\Field\HTMLTextField.

Definition at line 133 of file HTMLAutoCompleteSelectField.php.

References MediaWiki\HTMLForm\HTMLFormField\$mClass, MediaWiki\HTMLForm\HTMLFormField\flattenOptions(), and MediaWiki\HTMLForm\HTMLFormField\getOptions().

◆ getInputOOUI()

MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField::getInputOOUI ( $value)

Get the OOUI version of this input.

Parameters
string$value
Returns
false

Reimplemented from MediaWiki\HTMLForm\Field\HTMLTextField.

Definition at line 187 of file HTMLAutoCompleteSelectField.php.

◆ loadDataFromRequest()

MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField::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.

Stability: stable
to override
Parameters
WebRequest$request
Returns
mixed The value

Reimplemented from MediaWiki\HTMLForm\HTMLFormField.

Definition at line 79 of file HTMLAutoCompleteSelectField.php.

References MediaWiki\HTMLForm\HTMLFormField\getDefault().

◆ validate()

MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField::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

Stability: stable
to override
Parameters
mixed$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.

Reimplemented from MediaWiki\HTMLForm\HTMLFormField.

Definition at line 96 of file HTMLAutoCompleteSelectField.php.

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

Member Data Documentation

◆ $autocompleteData

MediaWiki\HTMLForm\Field\HTMLAutoCompleteSelectField::$autocompleteData = []
protected

Definition at line 39 of file HTMLAutoCompleteSelectField.php.


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