summaryrefslogtreecommitdiff
path: root/vendor/oojs/oojs-ui/php/ElementMixin.php
blob: 7f54076e809e9ca6a5960bd54c225d5404c32780 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php

namespace OOUI;

class ElementMixin {

	/* Properties */

	/**
	 * Tag being targeted.
	 *
	 * @var Tag
	 */
	public $target = null;

	/**
	 * Element being mixed into.
	 *
	 * @var Element
	 */
	protected $element = null;

	/**
	 * Property name for accessing the target on the element.
	 *
	 * @var string
	 */
	public static $targetPropertyName = '';

	/* Methods */

	/**
	 * Create element.
	 *
	 * @param Element $element Element being mixed into
	 * @param Tag $tag Tag being targeted
	 * @param array $config Configuration options
	 */
	public function __construct( Element $element, Tag $target, array $config = array() ) {
		$this->element = $element;
		$this->target = $target;
	}

	/**
	 * Add properties to the given `$config` array to allow reconstruction
	 * of this widget via its constructor.  This method is meant to be
	 * overridden by subclasses of `ElementMixin`.
	 *
	 * @return array A configuration array.
	 * @see Element::getConfig()
	 */
	public function getConfig( &$config ) {
		return $config;
	}
}