Skip to content
Snippets Groups Projects
Commit 0530c90b authored by Grzegorz Rola's avatar Grzegorz Rola
Browse files

Attributes

parent 55ce2af9
Branches
Tags
1 merge request!6Feature/attributes
Pipeline #7791 passed
...@@ -64,13 +64,20 @@ class Notice ...@@ -64,13 +64,20 @@ class Notice
* @param string $noticeType Notice type. * @param string $noticeType Notice type.
* @param bool $dismissible Is dismissible. * @param bool $dismissible Is dismissible.
* @param int $priority Notice priority. * @param int $priority Notice priority.
*/ * @param array $attributes Attributes.
public function __construct($noticeContent, $noticeType = 'info', $dismissible = false, $priority = 10) */
{ public function __construct(
$noticeContent,
$noticeType = 'info',
$dismissible = false,
$priority = 10,
$attributes = array()
) {
$this->noticeContent = $noticeContent; $this->noticeContent = $noticeContent;
$this->noticeType = $noticeType; $this->noticeType = $noticeType;
$this->dismissible = $dismissible; $this->dismissible = $dismissible;
$this->priority = $priority; $this->priority = $priority;
$this->attributes = $attributes;
$this->addAction(); $this->addAction();
} }
...@@ -176,6 +183,9 @@ class Notice ...@@ -176,6 +183,9 @@ class Notice
if ($this->dismissible) { if ($this->dismissible) {
$notice_class .= ' is-dismissible'; $notice_class .= ' is-dismissible';
} }
if (isset($this->attributes['class'])) {
$notice_class .= $this->attributes['class'];
}
return $notice_class; return $notice_class;
} }
...@@ -187,6 +197,9 @@ class Notice ...@@ -187,6 +197,9 @@ class Notice
protected function getAttributesAsString() protected function getAttributesAsString()
{ {
$attribute_string = sprintf('class="%1$s"', esc_attr($this->getNoticeClass())); $attribute_string = sprintf('class="%1$s"', esc_attr($this->getNoticeClass()));
foreach ($this->attributes as $attribute_name => $attribute_value) {
$attribute_string .= sprintf(' %1$s="%2$s"', esc_html($attribute_name), esc_attr($attribute_value));
}
return $attribute_string; return $attribute_string;
} }
......
...@@ -31,11 +31,11 @@ class PermanentDismissibleNotice extends Notice ...@@ -31,11 +31,11 @@ class PermanentDismissibleNotice extends Notice
* @param string $noticeType Notice type. * @param string $noticeType Notice type.
* @param string $noticeName Notice dismiss option name. * @param string $noticeName Notice dismiss option name.
* @param int $priority Priority * @param int $priority Priority
* @param array $attributes Attributes.
*/ */
public function __construct($noticeContent, $noticeType, $noticeName, $priority = 10, $attributes = array())
public function __construct($noticeContent, $noticeType, $noticeName, $priority = 10)
{ {
parent::__construct($noticeContent, $noticeType, true, $priority); parent::__construct($noticeContent, $noticeType, true, $priority, $attributes);
$this->noticeName = $noticeName; $this->noticeName = $noticeName;
$this->noticeDismissOptionName = static::OPTION_NAME_PREFIX . $noticeName; $this->noticeDismissOptionName = static::OPTION_NAME_PREFIX . $noticeName;
if (self::OPTION_VALUE_DISMISSED === get_option($this->noticeDismissOptionName, '')) { if (self::OPTION_VALUE_DISMISSED === get_option($this->noticeDismissOptionName, '')) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment