MediaWiki  1.28.0
HTMLCheckMatrix Class Reference

A checkbox matrix Operates similarly to HTMLMultiSelectField, but instead of using an array of options, uses an array of rows and an array of columns to dynamically construct a matrix of options. More...

Inheritance diagram for HTMLCheckMatrix:
Collaboration diagram for HTMLCheckMatrix:

Public Member Functions

 __construct ($params)
 
 filterDataForSubmit ($data)
 Support for seperating multi-option preferences into multiple preferences Due to lack of array support. More...
 
 getDefault ()
 
 getInputHTML ($value)
 Build a table containing a matrix of checkbox options. More...
 
 getTableRow ($value)
 Get the complete table row for the input, including help text, labels, and whatever. More...
 
 loadDataFromRequest ($request)
 
 validate ($value, $alldata)
 
- Public Member Functions inherited from HTMLFormField
 __construct ($params)
 Initialise the object. More...
 
 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)
 
 getAttributes (array $list)
 Returns the given attributes from the parameters. More...
 
 getDefault ()
 
 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. 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...
 
 getInputHTML ($value)
 This function must be implemented to return the HTML to generate the input object itself. More...
 
 getInputOOUI ($value)
 Same as getInputHTML, but returns an OOUI object. More...
 
 getLabel ()
 
 getLabelHtml ($cellAttributes=[])
 
 getNotices ()
 Determine notices to display for the field. More...
 
 getOOUI ($value)
 Get the OOUI version of the div. More...
 
 getOptions ()
 Fetch the array of options from the field's parameters. More...
 
 getOptionsOOUI ()
 Get options and make them into arrays suitable for OOUI. 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. 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...
 
 isHidden ($alldata)
 Test whether this field is supposed to be hidden, based on the values of the other form fields. More...
 
 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. More...
 
 msg ()
 Get a translated interface message. 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...
 
 validate ($value, $alldata)
 Override this function to add specific validation checks on the field input. More...
 

Protected Member Functions

 getOneCheckbox ($checked, $attribs)
 
 isTagForcedOff ($tag)
 
 isTagForcedOn ($tag)
 
- 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 OOjs UI 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...
 
 needsLabel ()
 Should this field have a label, or is there no input element with the appropriate id for the label to point to? More...
 
 shouldInfuseOOUI ()
 Whether the field should be automatically infused. More...
 

Static Private Attributes

static $requiredParams
 

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
 $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
 
 $mOptions = false
 
 $mOptionsLabelsNotFromMessage = false
 
bool $mShowEmptyLabels = true
 If true will generate an empty div element with no label. More...
 
 $mValidationCallback
 
 $mVFormClass = ''
 

Detailed Description

A checkbox matrix Operates similarly to HTMLMultiSelectField, but instead of using an array of options, uses an array of rows and an array of columns to dynamically construct a matrix of options.

The tags used to identify a particular cell are of the form "columnName-rowName"

Options:

  • columns
    • Required list of columns in the matrix.
  • rows
    • Required list of rows in the matrix.
  • force-options-on
    • Accepts array of column-row tags to be displayed as enabled but unavailable to change
  • force-options-off
    • Accepts array of column-row tags to be displayed as disabled but unavailable to change.
  • tooltips
    • Optional array mapping row label to tooltip content
  • tooltip-class
    • Optional CSS class used on tooltip container span. Defaults to mw-icon-question.

Definition at line 24 of file HTMLCheckMatrix.php.

Constructor & Destructor Documentation

HTMLCheckMatrix::__construct (   $params)

Definition at line 33 of file HTMLCheckMatrix.php.

References $params.

Member Function Documentation

HTMLCheckMatrix::filterDataForSubmit (   $data)

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

Parameters
array$data

Implements HTMLNestedFilterable.

Definition at line 246 of file HTMLCheckMatrix.php.

References $res, as, HTMLFormField\flattenOptions(), isTagForcedOff(), and isTagForcedOn().

HTMLCheckMatrix::getDefault ( )

Definition at line 238 of file HTMLCheckMatrix.php.

References HTMLFormField\$mDefault.

Referenced by loadDataFromRequest().

HTMLCheckMatrix::getInputHTML (   $value)

Build a table containing a matrix of checkbox options.

The value of each option is a combination of the row tag and column tag. mParams['rows'] is an array with row labels as keys and row tags as values. mParams['columns'] is an array with column labels as keys and column tags as values.

Parameters
array$valueArray of the options that should be checked
Returns
string

Definition at line 82 of file HTMLCheckMatrix.php.

References $attribs, $html, $value, array(), as, Html\element(), HTMLFormField\getAttributes(), getOneCheckbox(), isTagForcedOff(), isTagForcedOn(), and Html\rawElement().

Referenced by getTableRow().

HTMLCheckMatrix::getOneCheckbox (   $checked,
  $attribs 
)
protected

Definition at line 148 of file HTMLCheckMatrix.php.

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

Referenced by getInputHTML().

HTMLCheckMatrix::getTableRow (   $value)

Get the complete table row for the input, including help text, labels, and whatever.

We override this function since the label should always be on a separate line above the options in the case of a checkbox matrix, i.e. it's always a "vertical-label".

Parameters
string$valueThe value to set the input to
Returns
string Complete HTML table row

Definition at line 189 of file HTMLCheckMatrix.php.

References $html, $value, FormatJson\encode(), HTMLFormField\getErrorsAndErrorClass(), HTMLFormField\getHelpText(), HTMLFormField\getHelpTextHtmlTable(), getInputHTML(), HTMLFormField\getLabelHtml(), list, and Html\rawElement().

HTMLCheckMatrix::isTagForcedOff (   $tag)
protected

Definition at line 168 of file HTMLCheckMatrix.php.

References $tag.

Referenced by filterDataForSubmit(), and getInputHTML().

HTMLCheckMatrix::isTagForcedOn (   $tag)
protected

Definition at line 173 of file HTMLCheckMatrix.php.

References $tag.

Referenced by filterDataForSubmit(), and getInputHTML().

HTMLCheckMatrix::loadDataFromRequest (   $request)
Parameters
WebRequest$request
Returns
array

Definition at line 227 of file HTMLCheckMatrix.php.

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

HTMLCheckMatrix::validate (   $value,
  $alldata 
)

Definition at line 41 of file HTMLCheckMatrix.php.

References $value, as, and HTMLFormField\msg().

Member Data Documentation

HTMLCheckMatrix::$requiredParams
staticprivate
Initial value:
= [
'fieldname',
'rows',
'columns'
]

Definition at line 25 of file HTMLCheckMatrix.php.


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