diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2015-12-17 09:15:42 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2015-12-17 09:44:51 +0100 |
commit | a1789ddde42033f1b05cc4929491214ee6e79383 (patch) | |
tree | 63615735c4ddffaaabf2428946bb26f90899f7bf /vendor/oojs/oojs-ui/php/elements/FlaggedElement.php | |
parent | 9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff) |
Update to MediaWiki 1.26.0
Diffstat (limited to 'vendor/oojs/oojs-ui/php/elements/FlaggedElement.php')
-rw-r--r-- | vendor/oojs/oojs-ui/php/elements/FlaggedElement.php | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/vendor/oojs/oojs-ui/php/elements/FlaggedElement.php b/vendor/oojs/oojs-ui/php/elements/FlaggedElement.php deleted file mode 100644 index bd5dc80d..00000000 --- a/vendor/oojs/oojs-ui/php/elements/FlaggedElement.php +++ /dev/null @@ -1,133 +0,0 @@ -<?php - -namespace OOUI; - -/** - * Element with named flags that can be added, removed, listed and checked. - * - * A flag, when set, adds a CSS class on the `$element` by combining `oo-ui-flaggedElement-` with - * the flag name. Flags are primarily useful for styling. - * - * @abstract - */ -class FlaggedElement extends ElementMixin { - /** - * Flags. - * - * @var string - */ - protected $flags = array(); - - public static $targetPropertyName = 'flagged'; - - /** - * @param Element $element Element being mixed into - * @param array $config Configuration options - * @param string|string[] $config['flags'] Flags describing importance and functionality, e.g. - * 'primary', 'safe', 'progressive', 'destructive' or 'constructive' - */ - public function __construct( Element $element, array $config = array() ) { - // Parent constructor - $target = isset( $config['flagged'] ) ? $config['flagged'] : $element; - parent::__construct( $element, $target, $config ); - - // Initialization - $this->setFlags( isset( $config['flags'] ) ? $config['flags'] : null ); - } - - /** - * Check if a flag is set. - * - * @param string $flag Name of flag - * @return boolean Has flag - */ - public function hasFlag( $flag ) { - return isset( $this->flags[$flag] ); - } - - /** - * Get the names of all flags set. - * - * @return string[] Flag names - */ - public function getFlags() { - return array_keys( $this->flags ); - } - - /** - * Clear all flags. - * - * @chainable - */ - public function clearFlags() { - $remove = array(); - $classPrefix = 'oo-ui-flaggedElement-'; - - foreach ( $this->flags as $flag ) { - $remove[] = $classPrefix . $flag; - } - - $this->target->removeClasses( $remove ); - $this->flags = array(); - - return $this; - } - - /** - * Add one or more flags. - * - * @param string|array $flags One or more flags to add, or an array keyed by flag name - * containing boolean set/remove instructions. - * @chainable - */ - public function setFlags( $flags ) { - $add = array(); - $remove = array(); - $classPrefix = 'oo-ui-flaggedElement-'; - - if ( is_string( $flags ) ) { - // Set - if ( !isset( $this->flags[$flags] ) ) { - $this->flags[$flags] = true; - $add[] = $classPrefix . $flags; - } - } elseif ( is_array( $flags ) ) { - foreach ( $flags as $key => $value ) { - if ( is_numeric( $key ) ) { - // Set - if ( !isset( $this->flags[$value] ) ) { - $this->flags[$value] = true; - $add[] = $classPrefix . $value; - } - } else { - if ( $value ) { - // Set - if ( !isset( $this->flags[$key] ) ) { - $this->flags[$key] = true; - $add[] = $classPrefix . $key; - } - } else { - // Remove - if ( isset( $this->flags[$key] ) ) { - unset( $this->flags[$key] ); - $remove[] = $classPrefix . $key; - } - } - } - } - } - - $this->target - ->addClasses( $add ) - ->removeClasses( $remove ); - - return $this; - } - - public function getConfig( &$config ) { - if ( !empty( $this->flags ) ) { - $config['flags'] = $this->getFlags(); - } - return parent::getConfig( $config ); - } -} |