summaryrefslogtreecommitdiff
path: root/vendor/oojs/oojs-ui/php/elements/FlaggedElement.php
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-12-17 09:15:42 +0100
committerPierre Schmitz <pierre@archlinux.de>2015-12-17 09:44:51 +0100
commita1789ddde42033f1b05cc4929491214ee6e79383 (patch)
tree63615735c4ddffaaabf2428946bb26f90899f7bf /vendor/oojs/oojs-ui/php/elements/FlaggedElement.php
parent9e06a62f265e3a2aaabecc598d4bc617e06fa32d (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.php133
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 );
- }
-}