MediaWiki
REL1_30
HTMLFormElement.php
Go to the documentation of this file.
1
<?php
2
9
trait
HTMLFormElement
{
10
11
protected
$hideIf =
null
;
12
protected
$modules
=
null
;
13
14
public
function
initializeHTMLFormElement
( array $config = [] ) {
15
// Properties
16
$this->hideIf = isset( $config[
'hideIf'
] ) ? $config[
'hideIf'
] :
null
;
17
$this->modules = isset( $config[
'modules'
] ) ? $config[
'modules'
] : [];
18
19
// Initialization
20
if
( $this->hideIf ) {
21
$this->addClasses( [
'mw-htmlform-hide-if'
] );
22
}
23
if
( $this->modules ) {
24
// JS code must be able to read this before infusing (before OOjs UI is even loaded),
25
// so we put this in a separate attribute (not with the rest of the config).
26
// And it's not needed anymore after infusing, so we don't put it in JS config at all.
27
$this->setAttributes( [
'data-mw-modules'
=> implode(
','
, $this->modules ) ] );
28
}
29
$this->registerConfigCallback(
function
( &$config ) {
30
if
( $this->hideIf !==
null
) {
31
$config[
'hideIf'
] = $this->hideIf;
32
}
33
} );
34
}
35
}
36
37
class
HTMLFormFieldLayout
extends
OOUI\FieldLayout {
38
use
HTMLFormElement
;
39
40
public
function
__construct
( $fieldWidget, array $config = [] ) {
41
// Parent constructor
42
parent::__construct( $fieldWidget, $config );
43
// Traits
44
$this->
initializeHTMLFormElement
( $config );
45
}
46
47
protected
function
getJavaScriptClassName
() {
48
return
'mw.htmlform.FieldLayout'
;
49
}
50
}
51
52
class
HTMLFormActionFieldLayout
extends
OOUI\ActionFieldLayout {
53
use
HTMLFormElement
;
54
55
public
function
__construct
( $fieldWidget, $buttonWidget =
false
, array $config = [] ) {
56
// Parent constructor
57
parent::__construct( $fieldWidget, $buttonWidget, $config );
58
// Traits
59
$this->
initializeHTMLFormElement
( $config );
60
}
61
62
protected
function
getJavaScriptClassName
() {
63
return
'mw.htmlform.ActionFieldLayout'
;
64
}
65
}
initializeHTMLFormElement
initializeHTMLFormElement(array $config=[])
Definition
HTMLFormElement.php:14
$modules
$modules
Definition
HTMLFormElement.php:12
HTMLFormElement
trait HTMLFormElement
Allows custom data specific to HTMLFormField to be set for OOjs UI forms.
Definition
HTMLFormElement.php:9
HTMLFormActionFieldLayout
Definition
HTMLFormElement.php:52
HTMLFormActionFieldLayout\__construct
__construct( $fieldWidget, $buttonWidget=false, array $config=[])
Definition
HTMLFormElement.php:55
HTMLFormActionFieldLayout\getJavaScriptClassName
getJavaScriptClassName()
Definition
HTMLFormElement.php:62
HTMLFormFieldLayout
Definition
HTMLFormElement.php:37
HTMLFormFieldLayout\__construct
__construct( $fieldWidget, array $config=[])
Definition
HTMLFormElement.php:40
HTMLFormFieldLayout\getJavaScriptClassName
getJavaScriptClassName()
Definition
HTMLFormElement.php:47
includes
htmlform
HTMLFormElement.php
Generated on Mon Nov 25 2024 15:42:22 for MediaWiki by
1.10.0