MediaWiki REL1_35
OOUIHTMLForm Class Reference

Compact stacked vertical format for forms, implemented using OOUI widgets. More...

Inheritance diagram for OOUIHTMLForm:
Collaboration diagram for OOUIHTMLForm:

Public Member Functions

 __construct ( $descriptor, $context=null, $messagePrefix='')
 Build a new HTMLForm from an array of field attributes.
 
 getBody ()
 Get the whole body of the form.
 
 getButtons ()
 Get the submit and (potentially) reset buttons.
 
 getErrorsOrWarnings ( $elements, $elementsType)
 
 getHeaderText ( $section=null)
 Get header text.
 
 wrapForm ( $html)
 Wrap the form innards in an actual "<form>" element Stable to override.
 
- Public Member Functions inherited from HTMLForm
 addButton ( $data)
 Add a button to the form.
 
 addFields ( $descriptor)
 Add fields to the form.
 
 addFooterText ( $msg, $section=null)
 Add footer text, inside the form.
 
 addHeaderText ( $msg, $section=null)
 Add HTML to the header, inside the form.
 
 addHiddenField ( $name, $value, array $attribs=[])
 Add a hidden field to the output.
 
 addHiddenFields (array $fields)
 Add an array of hidden fields to the output.
 
 addPostText ( $msg)
 Add text to the end of the display.
 
 addPreText ( $msg)
 Add HTML to introductory message.
 
 displayForm ( $submitResult)
 Display the form (sending to the context's OutputPage object), with an appropriate error message or stack of messages, and any validation errors, etc.
 
 displaySection ( $fields, $sectionName='', $fieldsetIDPrefix='', &$hasUserVisibleFields=false)
 
 filterDataForSubmit ( $data)
 Overload this if you want to apply special filtration routines to the form as a whole, after it's submitted but before it's processed.
 
 formatErrors ( $errors)
 Format a stack of error messages into a single HTML string.
 
 getAction ()
 Get the value for the action attribute of the form.
 
 getDisplayFormat ()
 Getter for displayFormat.
 
 getField ( $fieldname)
 
 getFooterText ( $section=null)
 Get footer text.
 
 getHiddenFields ()
 Get the hidden fields that should go inside the form.
 
 getHTML ( $submitResult)
 Returns the raw HTML generated by the form.
 
 getLegend ( $key)
 Get a string to go in the "<legend>" of a section fieldset.
 
 getMethod ()
 
 getPreText ()
 Get the introductory message HTML.
 
 getSubmitText ()
 Get the text for the submit button, either customised or a default.
 
 getTitle ()
 Get the title.
 
 hasField ( $fieldname)
 
 loadData ()
 Construct the form fields from the Descriptor array.
 
 needsJSForHtml5FormValidation ()
 Whether this form, with its current fields, requires the user agent to have JavaScript enabled for the client-side HTML5 form validation to work correctly.
 
 prepareForm ()
 Prepare form for submission.
 
 setAction ( $action)
 Set the value for the action attribute of the form.
 
 setAutocomplete ( $autocomplete)
 Set the value for the autocomplete attribute of the form.
 
 setCancelTarget ( $target)
 Sets the target where the user is redirected to after clicking cancel.
 
 setCollapsibleOptions ( $collapsedByDefault=false)
 Enable collapsible mode, and set whether the form is collapsed by default.
 
 setDisplayFormat ( $format)
 Set format in which to display the form.
 
 setFooterText ( $msg, $section=null)
 Set footer text, inside the form.
 
 setFormIdentifier ( $ident)
 Set an internal identifier for this form.
 
 setHeaderText ( $msg, $section=null)
 Set header text, inside the form.
 
 setId ( $id)
 
 setIntro ( $msg)
 Set the introductory message, overwriting any existing message.
 
 setMessagePrefix ( $p)
 Set the prefix for various default messages.
 
 setMethod ( $method='post')
 Set the method used to submit the form.
 
 setName ( $name)
 
 setPostText ( $msg)
 Set text at the end of the display.
 
 setPreText ( $msg)
 Set the introductory message HTML, overwriting any existing message.
 
 setSubmitCallback ( $cb)
 Set a callback to a function to do something with the form once it's been successfully validated.
 
 setSubmitDestructive ()
 Identify that the submit button in the form has a destructive action.
 
 setSubmitID ( $t)
 Set the id for the submit button.
 
 setSubmitName ( $name)
 
 setSubmitText ( $t)
 Set the text for the submit button.
 
 setSubmitTextMsg ( $msg)
 Set the text for the submit button to a message.
 
 setSubmitTooltip ( $name)
 
 setTableId ( $id)
 Set the id of the \<table\> or outermost \<div\> element.
 
 setTitle ( $t)
 Set the title for form submission.
 
 setTokenSalt ( $salt)
 Set the salt for the edit token.
 
 setValidationErrorMessage ( $msg)
 Set a message to display on a validation error.
 
 setWrapperAttributes ( $attributes)
 For internal use only.
 
 setWrapperLegend ( $legend)
 Prompt the whole form to be wrapped in a "<fieldset>", with this text as its "<legend>" element.
 
 setWrapperLegendMsg ( $msg)
 Prompt the whole form to be wrapped in a "<fieldset>", with this message as its "<legend>" element.
 
 show ()
 The here's-one-I-made-earlier option: do the submission if posted, or display the form with or without funky validation errors Stable to override.
 
 showAlways ()
 Same as self::show with the difference, that the form will be added to the output, no matter, if the validation was good or not.
 
 showCancel ( $show=true)
 Show a cancel button (or prevent it).
 
 suppressDefaultSubmit ( $suppressSubmit=true)
 Stop a default submit button being shown for this form.
 
 suppressReset ( $suppressReset=true)
 Stop a reset button being shown for this form.
 
 tryAuthorizedSubmit ()
 Try submitting, with edit token check first.
 
 trySubmit ()
 Validate all the fields, and call the submission callback function if everything is kosher.
 
 wasSubmitted ()
 Test whether the form was considered to have been submitted or not, i.e.
 
- Public Member Functions inherited from ContextSource
 canUseWikiPage ()
 Check whether a WikiPage object can be get with getWikiPage().
 
 exportSession ()
 Export the resolved user IP, HTTP headers, user ID, and session ID.
 
 getConfig ()
 
 getContext ()
 Get the base IContextSource object.
 
 getLanguage ()
 
 getOutput ()
 
 getRequest ()
 
 getSkin ()
 
 getStats ()
 
 getTiming ()
 
 getUser ()
 Stable to override.
 
 getWikiPage ()
 Get the WikiPage object.
 
 msg ( $key,... $params)
 Get a Message object with context set Parameters are the same as wfMessage()
 
 setContext (IContextSource $context)
 

Static Public Member Functions

static loadInputFromParameters ( $fieldname, $descriptor, HTMLForm $parent=null)
 Initialise a new Object for the field Stable to override.
 
- Static Public Member Functions inherited from HTMLForm
static factory ( $displayFormat,... $arguments)
 Construct a HTMLForm object for given display type.
 
static getClassFromDescriptor ( $fieldname, &$descriptor)
 Get the HTMLFormField subclass for this descriptor.
 

Protected Member Functions

 formatFormHeader ()
 
 formatSection (array $fieldsHtml, $sectionName, $anyFieldHasLabel)
 Put a form section together from the individual fields' HTML, merging it and wrapping.
 
 wrapFieldSetSection ( $legend, $section, $attributes, $isRoot)
 Wraps the given $section into an user-visible fieldset.Stable to override
Parameters
string$legendLegend text for the fieldset
string$sectionThe section content in plain Html
array$attributesAdditional attributes for the fieldset
bool$isRootSection is at the root of the tree
Returns
string The fieldset's Html

 
- Protected Member Functions inherited from HTMLForm
 getFormAttributes ()
 Get HTML attributes for the <form> tag.
 
 getMessage ( $value)
 Turns a *-message parameter (which could be a MessageSpecifier, or a message name, or a name + parameters array) into a Message.
 

Protected Attributes

string $displayFormat = 'ooui'
 Symbolic display format name.
 
- Protected Attributes inherited from HTMLForm
array $availableDisplayFormats
 Available formats in which to display the form.
 
array $availableSubclassDisplayFormats
 Available formats in which to display the form.
 
string $displayFormat = 'table'
 Format in which to display form.
 
bool string $mAction = false
 Form action URL.
 
string null $mAutocomplete = null
 Form attribute autocomplete.
 
array[] $mButtons = []
 -var array<array{name:string,value:string,label-message?:string|string[]|MessageSpecifier,label?:string,label-raw?:string,id?:string,attribs?:array,flags?:string|string[],framed?:bool}>
 
 $mCancelTarget
 
bool $mCollapsed = false
 Whether the form is collapsed by default.
 
bool $mCollapsible = false
 Whether the form can be collapsed.
 
 $mFieldTree = []
 
HTMLFormField[] $mFlatFields = []
 
 $mFooter = ''
 
 $mFormIdentifier
 
 $mHeader = ''
 
array[] $mHiddenFields = []
 -var array<int,array{0:string,1:array}>
 
 $mId
 
 $mMessagePrefix
 
 $mMethod = 'post'
 
 $mName
 
 $mPost = ''
 
 $mPre = ''
 
 $mSectionFooters = []
 
 $mSectionHeaders = []
 
 $mShowCancel = false
 
 $mShowReset = false
 
 $mShowSubmit = true
 
 $mSubmitCallback
 
string[] $mSubmitFlags = [ 'primary', 'progressive' ]
 
 $mSubmitID
 
 $mSubmitName
 
 $mSubmitText
 
 $mSubmitTooltip
 
 $mSubSectionBeforeFields = true
 If true, sections that contain both fields and subsections will render their subsections before their fields.
 
 $mTableId = ''
 
 $mTitle
 
string array $mTokenSalt = ''
 Salt for the edit token.
 
 $mUseMultipart = false
 
 $mValidationErrorMessage
 
 $mWasSubmitted = false
 
 $mWrapperAttributes = []
 
 $mWrapperLegend = false
 

Private Attributes

 $oouiErrors
 
 $oouiWarnings
 

Additional Inherited Members

- Public Attributes inherited from HTMLForm
 $mFieldData
 
- Static Public Attributes inherited from HTMLForm
static $typeMappings
 

Detailed Description

Compact stacked vertical format for forms, implemented using OOUI widgets.

Stable to extend

Definition at line 29 of file OOUIHTMLForm.php.

Constructor & Destructor Documentation

◆ __construct()

OOUIHTMLForm::__construct (   $descriptor,
  $context = null,
  $messagePrefix = '' 
)

Build a new HTMLForm from an array of field attributes.

Stable to call

Parameters
array$descriptorArray of Field constructs, as described in the class documentation
IContextSource | null$contextAvailable since 1.18, will become compulsory in 1.18. Obviates the need to call $form->setTitle()
string$messagePrefixA prefix to go in front of default messages

Reimplemented from HTMLForm.

Definition at line 36 of file OOUIHTMLForm.php.

References ContextSource\$context, and ContextSource\getOutput().

Member Function Documentation

◆ formatFormHeader()

OOUIHTMLForm::formatFormHeader ( )
protected

Definition at line 258 of file OOUIHTMLForm.php.

Referenced by getBody(), and PreferencesFormOOUI\getBody().

◆ formatSection()

OOUIHTMLForm::formatSection ( array  $fieldsHtml,
  $sectionName,
  $anyFieldHasLabel 
)
protected

Put a form section together from the individual fields' HTML, merging it and wrapping.

Parameters
OOUI\\FieldLayout[]$fieldsHtml
string$sectionName
bool$anyFieldHasLabelUnused
Returns
string HTML

Reimplemented from HTMLForm.

Definition at line 185 of file OOUIHTMLForm.php.

◆ getBody()

OOUIHTMLForm::getBody ( )

Get the whole body of the form.

Stable to override

Returns
string

Reimplemented from HTMLForm.

Reimplemented in PreferencesFormOOUI.

Definition at line 286 of file OOUIHTMLForm.php.

References formatFormHeader().

◆ getButtons()

OOUIHTMLForm::getButtons ( )

Get the submit and (potentially) reset buttons.

Stable to override

Returns
string HTML.

Reimplemented from HTMLForm.

Reimplemented in PreferencesFormOOUI.

Definition at line 56 of file OOUIHTMLForm.php.

References HTMLForm\$mSubmitFlags, HTMLForm\$mSubmitID, HTMLForm\$mSubmitName, Linker\accesskey(), HTMLForm\getMessage(), ContextSource\getRequest(), HTMLForm\getSubmitText(), ContextSource\msg(), Linker\titleAttrib(), and true.

◆ getErrorsOrWarnings()

OOUIHTMLForm::getErrorsOrWarnings (   $elements,
  $elementsType 
)
Parameters
string | array | Status$elements
string$elementsType
Returns
string

Reimplemented from HTMLForm.

Definition at line 209 of file OOUIHTMLForm.php.

References HTMLForm\getMessage().

◆ getHeaderText()

OOUIHTMLForm::getHeaderText (   $section = null)

Get header text.

Stable to override

Parameters
string | null$sectionThe section to get the header text for
Since
1.26
Returns
string HTML

Reimplemented from HTMLForm.

Definition at line 249 of file OOUIHTMLForm.php.

Referenced by PreferencesFormOOUI\getBody().

◆ loadInputFromParameters()

static OOUIHTMLForm::loadInputFromParameters (   $fieldname,
  $descriptor,
HTMLForm  $parent = null 
)
static

Initialise a new Object for the field Stable to override.

Parameters
string$fieldnameName of the field
array$descriptorInput Descriptor, as described in the class documentation
HTMLForm | null$parentParent instance of HTMLForm
Exceptions
MWException
Returns
HTMLFormField Instance of a subclass of HTMLFormField

Reimplemented from HTMLForm.

Definition at line 48 of file OOUIHTMLForm.php.

◆ wrapFieldSetSection()

OOUIHTMLForm::wrapFieldSetSection (   $legend,
  $section,
  $attributes,
  $isRoot 
)
protected

Wraps the given $section into an user-visible fieldset.Stable to override

Parameters
string$legendLegend text for the fieldset
string$sectionThe section content in plain Html
array$attributesAdditional attributes for the fieldset
bool$isRootSection is at the root of the tree
Returns
string The fieldset's Html

Returns
OOUI\PanelLayout

Reimplemented from HTMLForm.

Reimplemented in PreferencesFormOOUI.

Definition at line 157 of file OOUIHTMLForm.php.

◆ wrapForm()

OOUIHTMLForm::wrapForm (   $html)

Wrap the form innards in an actual "<form>" element Stable to override.

Parameters
string$htmlHTML contents to wrap.
Returns
string Wrapped HTML.

Reimplemented from HTMLForm.

Reimplemented in PreferencesFormOOUI.

Definition at line 292 of file OOUIHTMLForm.php.

References $content, and HTMLForm\getFormAttributes().

Member Data Documentation

◆ $displayFormat

string OOUIHTMLForm::$displayFormat = 'ooui'
protected

Symbolic display format name.

Definition at line 46 of file OOUIHTMLForm.php.

◆ $oouiErrors

OOUIHTMLForm::$oouiErrors
private

Definition at line 30 of file OOUIHTMLForm.php.

◆ $oouiWarnings

OOUIHTMLForm::$oouiWarnings
private

Definition at line 31 of file OOUIHTMLForm.php.


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