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

Static Public Member Functions

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

Protected Member Functions

 formatFormHeader ()
 
 formatSection (array $fieldsHtml, $sectionName, $anyFieldHasLabel)
 Put a form section together from the individual fields' HTML, merging it and wrapping. More...
 
 wrapFieldSetSection ( $legend, $section, $attributes, $isRoot)
 Wraps the given $section into an user-visible fieldset.
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
More...
 
- Protected Member Functions inherited from HTMLForm
 getFormAttributes ()
 Get HTML attributes for the <form> tag. 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...
 

Protected Attributes

string $displayFormat = 'ooui'
 Symbolic display format name. More...
 
- Protected Attributes inherited from HTMLForm
array $availableDisplayFormats
 Available formats in which to display the form. More...
 
array $availableSubclassDisplayFormats
 Available formats in which to display the form. More...
 
string $displayFormat = 'table'
 Format in which to display form. More...
 
bool string $mAction = false
 Form action URL. More...
 
string null $mAutocomplete = null
 Form attribute autocomplete. More...
 
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}> More...
 
 $mCancelTarget
 
bool $mCollapsed = false
 Whether the form is collapsed by default. More...
 
bool $mCollapsible = false
 Whether the form can be collapsed. More...
 
 $mFieldTree = []
 
HTMLFormField[] $mFlatFields = []
 
 $mFooter = ''
 
 $mFormIdentifier
 
 $mHeader = ''
 
array[] $mHiddenFields = []
 -var array<int,array{0:string,1:array}> More...
 
 $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. More...
 
 $mTableId = ''
 
 $mTitle
 
string array $mTokenSalt = ''
 Salt for the edit token. More...
 
 $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.

Definition at line 27 of file OOUIHTMLForm.php.

Constructor & Destructor Documentation

◆ __construct()

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

Build a new HTMLForm from an array of field attributes.

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 31 of file OOUIHTMLForm.php.

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

Member Function Documentation

◆ formatFormHeader()

OOUIHTMLForm::formatFormHeader ( )
protected

Definition at line 253 of file OOUIHTMLForm.php.

Referenced by PreferencesFormOOUI\getBody(), and 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 180 of file OOUIHTMLForm.php.

◆ getBody()

OOUIHTMLForm::getBody ( )

Get the whole body of the form.

Returns
string

Reimplemented from HTMLForm.

Reimplemented in PreferencesFormOOUI.

Definition at line 281 of file OOUIHTMLForm.php.

References formatFormHeader().

◆ getButtons()

OOUIHTMLForm::getButtons ( )

Get the submit and (potentially) reset buttons.

Returns
string HTML.

Reimplemented from HTMLForm.

Reimplemented in PreferencesFormOOUI.

Definition at line 51 of file OOUIHTMLForm.php.

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

◆ getErrorsOrWarnings()

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

Reimplemented from HTMLForm.

Definition at line 204 of file OOUIHTMLForm.php.

References HTMLForm\getMessage().

◆ getHeaderText()

OOUIHTMLForm::getHeaderText (   $section = null)

Get header text.

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

Reimplemented from HTMLForm.

Definition at line 244 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.

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 43 of file OOUIHTMLForm.php.

◆ wrapFieldSetSection()

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

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

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 152 of file OOUIHTMLForm.php.

◆ wrapForm()

OOUIHTMLForm::wrapForm (   $html)

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

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

Reimplemented from HTMLForm.

Reimplemented in PreferencesFormOOUI.

Definition at line 287 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 41 of file OOUIHTMLForm.php.

◆ $oouiErrors

OOUIHTMLForm::$oouiErrors
private

Definition at line 28 of file OOUIHTMLForm.php.

◆ $oouiWarnings

OOUIHTMLForm::$oouiWarnings
private

Definition at line 29 of file OOUIHTMLForm.php.


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