Skip to content

Commit 0aa7468

Browse files
committed
Align with changes in plaisio/helper-html.
1 parent 7347fbe commit 0aa7468

File tree

7 files changed

+42
-34
lines changed

7 files changed

+42
-34
lines changed

composer.json

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@
99
"license": "MIT",
1010
"require": {
1111
"php": ">=7.4",
12-
"plaisio-ts/helper-cast": "^1.0.0",
12+
"plaisio-ts/helper-cast": "^1.0.2",
1313
"plaisio/cgi": "^1.2.0",
1414
"plaisio/exception": "^1.1.0",
1515
"plaisio/flash-message": "dev-master",
16-
"plaisio/helper-html": "^3.0.0",
16+
"plaisio/helper-html": "^4.0.0",
1717
"plaisio/kernel": "^3.1.1",
1818
"plaisio/page-core": "^1.4.2",
1919
"plaisio/request": "^0.13.0",
20-
"plaisio/response-core": "^2.5.0",
20+
"plaisio/response-core": "^2.6.0",
2121
"plaisio/session-core": "^5.1.0",
22-
"symfony/polyfill-uuid": "^1.22.0"
22+
"symfony/polyfill-uuid": "^1.24.0"
2323
},
2424
"minimum-stability": "dev",
2525
"prefer-stable": true,
2626
"require-dev": {
2727
"phing/phing": "^3.0.0-RC3",
28-
"phpunit/phpunit": "^9.5.0",
29-
"plaisio/console": "^2.4.8",
28+
"phpunit/phpunit": "^9.5.11",
29+
"plaisio/console": "^2.5.0",
3030
"plaisio/phing-extensions": "^3.0.0",
3131
"setbased/phing-extensions": "dev-master"
3232
},
@@ -42,6 +42,9 @@
4242
},
4343
"config": {
4444
"bin-dir": "bin/",
45-
"sort-packages": true
45+
"sort-packages": true,
46+
"allow-plugins": {
47+
"phing/phing-composer-configurator": true
48+
}
4649
}
4750
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"jquery": "^3.6.0"
77
},
88
"devDependencies": {
9-
"@types/jquery": "^3.5.8"
9+
"@types/jquery": "^3.5.13"
1010
},
1111
"repository": {
1212
"type": "git",

src/CoreFlashMessage.php

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
use Plaisio\Helper\Html;
77
use Plaisio\Helper\HtmlElement;
8+
use Plaisio\Helper\RenderWalker;
89

910
/**
1011
* Class for flash messages.
@@ -16,7 +17,7 @@ class CoreFlashMessage implements FlashMessage
1617

1718
//--------------------------------------------------------------------------------------------------------------------
1819
/**
19-
* If true and only true this flash message must be dismissed automatically.
20+
* Whether this flash message must be dismissed automatically.
2021
*
2122
* @var bool
2223
*/
@@ -30,8 +31,7 @@ class CoreFlashMessage implements FlashMessage
3031
protected string $message;
3132

3233
/**
33-
* If true and only true this flash message is shown isOnce and removed automatically from the list of flash
34-
* messages.
34+
* Whether this flash message is shown once and removed automatically from the list of flash messages.
3535
*
3636
* @var bool
3737
*/
@@ -62,8 +62,6 @@ class CoreFlashMessage implements FlashMessage
6262
public function __construct(string $message, bool $isHtml = false)
6363
{
6464
$this->message = ($isHtml) ? $message : Html::txt2Html($message);
65-
66-
$this->addClass('flash-message');
6765
}
6866

6967
//--------------------------------------------------------------------------------------------------------------------
@@ -74,14 +72,19 @@ public function __construct(string $message, bool $isHtml = false)
7472
*/
7573
public function getHtml(): string
7674
{
75+
$walker = new RenderWalker('flash-message');
7776
$this->setAttrData('auto-dismiss', ($this->autoDismiss) ? '1' : null);
77+
$this->addClasses($walker->getClasses('wrapper'));
7878

79-
$html = Html::generateTag('div', $this->attributes);
80-
$html .= $this->message;
81-
$html .= '<button type="button" class="close">&times;</button>';
82-
$html .= '</div>';
79+
$struct = ['tag' => 'div',
80+
'attr' => $this->attributes,
81+
'inner' => [['html' => $this->message],
82+
['tag' => 'button',
83+
'attr' => ['class' => $walker->getClasses('close'),
84+
'type' => 'button'],
85+
'html' => '&times;']]];
8386

84-
return $html;
87+
return Html::htmlNested($struct);
8588
}
8689

8790
//--------------------------------------------------------------------------------------------------------------------
@@ -126,7 +129,7 @@ public function isOnce(): bool
126129
/**
127130
* Sets whether this flash message must be dismissed automatically.
128131
*
129-
* @param bool $autoDismiss If true if and only if this flash messages must dismissed automatically.
132+
* @param bool $autoDismiss Whether this flash message must be dismissed automatically.
130133
*
131134
* @return CoreFlashMessage
132135
*/
@@ -139,10 +142,10 @@ public function setAutoDismiss(bool $autoDismiss): CoreFlashMessage
139142

140143
//--------------------------------------------------------------------------------------------------------------------
141144
/**
142-
* Sets whether this flash message must be shown once only.
145+
* Sets whether this flash message is shown once and removed automatically from the list of flash messages.
143146
*
144-
* @param bool $once If true and only true this flash message is shown isOnce and removed automatically from the
145-
* list of flash messages.
147+
* @param bool $once Whether this flash message is shown once and removed automatically from the list of flash
148+
* messages.
146149
*
147150
* @return CoreFlashMessage
148151
*/

src/CoreFlashMessageCollection.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
namespace Plaisio\FlashMessage;
55

6+
use Plaisio\Helper\Html;
67
use Plaisio\PlaisioInterface;
78
use Plaisio\PlaisioObject;
89
use Plaisio\Session\Session;
@@ -132,17 +133,18 @@ public function getHtml(): string
132133
{
133134
$this->sortFlashMessages();
134135

135-
$html = '<div class="flash-messages">';
136-
136+
$inner = '';
137137
if (!empty($this->flashMessages))
138138
{
139139
foreach ($this->flashMessages as $flashMessage)
140140
{
141-
$html .= $flashMessage->getHtml();
141+
$inner .= $flashMessage->getHtml();
142142
}
143143
}
144144

145-
$html .= '</div>';
145+
$html = Html::htmlNested(['tag' => 'div',
146+
'attr' => ['class' => 'flash-messages'],
147+
'html' => $inner]);
146148

147149
$this->cleanFlashMessages();
148150

test/CoreFlashMessageTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public function testGetHtml1(): void
3838
$html = $flashMessage->setAttrId('123456')
3939
->addClass('first')
4040
->getHtml();
41-
$expected = '<div class="first flash-message" id="123456">Hello &amp; world!<button type="button" class="close">&times;</button></div>';
41+
$expected = '<div id="123456" class="first flash-message-wrapper">Hello &amp; world!<button class="flash-message-close" type="button">&times;</button></div>';
4242
self::assertSame($expected, $html);
4343
}
4444

@@ -52,7 +52,7 @@ public function testGetHtml2(): void
5252
$html = $flashMessage->setAttrId('123456')
5353
->addClass('first')
5454
->getHtml();
55-
$expected = '<div class="first flash-message" id="123456">Hello<br/>world!<button type="button" class="close">&times;</button></div>';
55+
$expected = '<div id="123456" class="first flash-message-wrapper">Hello<br/>world!<button class="flash-message-close" type="button">&times;</button></div>';
5656
self::assertSame($expected, $html);
5757
}
5858

www/css/Plaisio/FlashMessage/CoreFlashMessageManager.css

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
width: 100%;
77
}
88

9-
.flash-message
9+
.flash-message-wrapper
1010
{
1111
position: relative;
1212
display: none;
@@ -15,7 +15,7 @@
1515
border: 1px solid transparent;
1616
}
1717

18-
.flash-message .close
18+
.flash-message-close
1919
{
2020
position: absolute;
2121
top: 0;
@@ -27,14 +27,14 @@
2727
background-color: transparent;
2828
}
2929

30-
.flash-message .close:hover
30+
.flash-message-close:hover
3131
{
3232
text-decoration: none;
3333
color: #000000;
3434
}
3535

36-
.flash-message .close:hover,
37-
.flash-message .close:focus
36+
.flash-message-close:hover,
37+
.flash-message-close:focus
3838
{
3939
font-weight: 700;
4040
}

www/js/Plaisio/FlashMessage/CoreFlashMessageCollection.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export class CoreFlashMessageCollection
3838

3939
const that = this;
4040

41-
this.$flashMessage.find('button.close').on('click', function ()
41+
this.$flashMessage.find('button.flash-message-close').on('click', function ()
4242
{
4343
that.close();
4444
});

0 commit comments

Comments
 (0)