Skip to content

Commit

Permalink
monitoring/lib: Add PHPDoc to the state badges widget
Browse files Browse the repository at this point in the history
refs #5543
  • Loading branch information
lippserd committed Sep 27, 2015
1 parent 83afcbc commit e4d93db
Showing 1 changed file with 137 additions and 5 deletions.
142 changes: 137 additions & 5 deletions modules/monitoring/library/Monitoring/Web/Widget/StateBadges.php
Expand Up @@ -11,48 +11,135 @@

class StateBadges extends AbstractWidget
{
/**
* CSS class for the widget
*
* @var string
*/
const CSS_CLASS = 'state-badges';

/**
* State critical
*
* @var string
*/
const STATE_CRITICAL = 'state-critical';

/**
* State critical handled
*
* @var string
*/
const STATE_CRITICAL_HANDLED = 'state-critical-handled';

/**
* State down
*
* @var string
*/
const STATE_DOWN = 'state-down';

/**
* State down handled
*
* @var string
*/
const STATE_DOWN_HANDLED = 'state-down-handled';

/**
* State ok
*
* @var string
*/
const STATE_OK = 'state-ok';

/**
* State pending
*
* @var string
*/
const STATE_PENDING = 'state-pending';

/**
* State unknown
*
* @var string
*/
const STATE_UNKNOWN = 'state-unknown';

/**
* State unknown handled
*
* @var string
*/
const STATE_UNKNOWN_HANDLED = 'state-unknown-handled';

/**
* State unreachable
*
* @var string
*/
const STATE_UNREACHABLE = 'state-unreachable';

/**
* State unreachable handled
*
* @var string
*/
const STATE_UNREACHABLE_HANDLED = 'state-unreachable-handled';

/**
* State up
*
* @var string
*/
const STATE_UP = 'state-up';

/**
* State warning
*
* @var string
*/
const STATE_WARNING = 'state-warning';

/**
* State warning handled
*
* @var string
*/
const STATE_WARNING_HANDLED = 'state-warning-handled';

/**
* State badges
*
* @var object[]
*/
protected $badges = array();

/**
* Base URL
*
* @var Url
*/
protected $url;

public function getBadges()
{
return $this->badges;
}

/**
* Get the base URL
*
* @return Url
*/
public function getUrl()
{
return $this->url;
}

/**
* Set the base URL
*
* @param Url|string $url
*
* @return $this
*/
public function setUrl($url)
{
if (! $url instanceof $url) {
Expand All @@ -62,6 +149,18 @@ public function setUrl($url)
return $this;
}

/**
* Add a state badge
*
* @param string $state
* @param array $filter
* @param int $count
* @param string $translateSingular
* @param string $translatePlural
* @param array $translateArgs
*
* @return $this
*/
public function add(
$state, array $filter, $count, $translateSingular, $translatePlural, array $translateArgs = array()
) {
Expand All @@ -75,6 +174,14 @@ public function add(
return $this;
}

/**
* Create a badge
*
* @param string $state
* @param Navigation $badges
*
* @return $this
*/
public function createBadge($state, Navigation $badges)
{
if ($this->has($state)) {
Expand All @@ -88,6 +195,14 @@ public function createBadge($state, Navigation $badges)
return $this;
}

/**
* Create a badge group
*
* @param array $states
* @param Navigation $badges
*
* @return $this
*/
public function createBadgeGroup(array $states, Navigation $badges)
{
$group = array_intersect_key($this->badges, array_flip($states));
Expand All @@ -104,16 +219,33 @@ public function createBadgeGroup(array $states, Navigation $badges)
return $this;
}

/**
* Get whether a badge for the given state has been added
*
* @param string $state
*
* @return bool
*/
public function has($state)
{
return isset($this->badges[$state]) && $this->badges[$state]->count;
}

/**
* Get the badge for the given state
*
* @param string $state
*
* @return object
*/
public function get($state)
{
return $this->badges[$state];
}

/**
* {@inheritdoc}
*/
public function render()
{
$badges = new Navigation();
Expand Down

0 comments on commit e4d93db

Please sign in to comment.