Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
CRAP | |
100.00% |
22 / 22 |
| NoticeView | |
100.00% |
1 / 1 |
|
100.00% |
4 / 4 |
6 | |
100.00% |
22 / 22 |
| render | |
100.00% |
1 / 1 |
2 | |
100.00% |
13 / 13 |
|||
| prepareCssClasses | |
100.00% |
1 / 1 |
2 | |
100.00% |
6 / 6 |
|||
| getCssClasses | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| setCssClasses | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
| <?php | |
| declare(strict_types=1); | |
| namespace Korobochkin\WPKit\Notices; | |
| /** | |
| * Class NoticeView | |
| */ | |
| class NoticeView implements NoticeViewInterface | |
| { | |
| /** | |
| * @var NoticeInterface | |
| */ | |
| protected $notice; | |
| /** | |
| * @var array | |
| */ | |
| protected $cssClasses = array('notice', 'wp-kit-notice'); | |
| /** | |
| * @inheritdoc | |
| */ | |
| public function render(NoticeInterface $notice) | |
| { | |
| $this->notice = $notice; | |
| $this->prepareCssClasses(); | |
| if ($notice->getTitle()) { | |
| $title = '<p class="notice-title">' . $notice->getTitle() . '</p>'; | |
| } else { | |
| $title = ''; | |
| } | |
| $id = 'wp-kit-notice-' . $notice->getName(); | |
| $cssClasses = implode(' ', $this->cssClasses); | |
| printf( | |
| '<div id="%1$s" class="%2$s">%3$s</div>', | |
| esc_attr($id), | |
| esc_attr($cssClasses), | |
| $title . $notice->getContent() | |
| ); | |
| } | |
| /** | |
| * @return $this For chain calls. | |
| */ | |
| protected function prepareCssClasses() | |
| { | |
| $classes = $this->cssClasses; | |
| if ($this->notice->isDismissible()) { | |
| $classes[] = 'is-dismissible'; | |
| } | |
| $classes[] = 'wp-kit-notice-' . $this->notice->getName(); | |
| $this->cssClasses = $classes; | |
| return $this; | |
| } | |
| /** | |
| * Returns list of CSS classes. | |
| * | |
| * @return array List of CSS classes. | |
| */ | |
| public function getCssClasses() | |
| { | |
| return $this->cssClasses; | |
| } | |
| /** | |
| * Sets list of CSS classes. | |
| * | |
| * @param array $cssClasses List of CSS classes. | |
| * | |
| * @return $this For chain calls. | |
| */ | |
| public function setCssClasses(array $cssClasses) | |
| { | |
| $this->cssClasses = $cssClasses; | |
| return $this; | |
| } | |
| } |