Simple flash toastr notifications for Yii2
Yii2 Toastr uses Toastr
Demo: https://codeseven.github.io/toastr/demo.html
Package is available on Packagist, you can install it using Composer.
composer require diecoding/yii2-toastr "^1.0"
or add to the require section of your composer.json
file.
"diecoding/yii2-toastr": "^1.0"
- PHP 7.4+
- yiisoft/yii2
- npm-asset/toastr
Add
ToastrFlash
to your layout or view file, example in fileviews\layouts\main.php
use diecoding\toastr\ToastrFlash;
ToastrFlash::widget();
use diecoding\toastr\ToastrFlash;
ToastrFlash::widget([
"typeDefault" => ToastrFlash::TYPE_INFO, // (string) default `ToastrFlash::TYPE_INFO`
"titleDefault" => "", // (string) default `""`
"messageDefault" => "", // (string) default `""`
"closeButton" => false, // (bool) default `false`
"debug" => false, // (bool) default `false`
"newestOnTop" => true, // (bool) default `true`
"progressBar" => true, // (bool) default `true`
"positionClass" => ToastrFlash::POSITION_TOP_RIGHT, // (string) default `ToastrFlash::POSITION_TOP_RIGHT`
"preventDuplicates" => true, // (bool) default `true`
"showDuration" => 300, // (int|null) default `300` in `ms`, `null` for skip
"hideDuration" => 1000, // (int|null) default `1000` in `ms`, `null` for skip
"timeOut" => 5000, // (int|null) default `5000` in `ms`, `null` for skip
"extendedTimeOut" => 1000, // (int|null) default `1000` in `ms`, `null` for skip
"showEasing" => "swing", // (string) default `swing`, `swing` and `linear` are built into jQuery
"hideEasing" => "swing", // (string) default `swing`, `swing` and `linear` are built into jQuery
"showMethod" => "slideDown", // (string) default `slideDown`, `fadeIn`, `slideDown`, and `show` are built into jQuery
"hideMethod" => "slideUp", // (string) default `slideUp`, `hide`, `fadeOut` and `slideUp` are built into jQuery
"tapToDismiss" => true, // (bool) default `true`
"escapeHtml" => true, // (bool) default `true`
"rtl" => false, // (bool) default `false`
"skipCoreAssets" => false, // (bool) default `false`, `true` if use custom or external toastr assets
"options" => [], // (array) default `[]`, Custom Toastr options and override default options
]);
Just use
Yii::$app->session->setFlash($type, $message)
like as usual alert
Yii::$app->session->setFlash('error', 'Message');
or if use multiple flash in same session
Yii::$app->session->setFlash('error', [(string) 'Message 1', (string) 'Message 2', (string) 'Message 3']);
Yii::$app->session->setFlash('error', [[(string) 'Title', (string) 'Message']]);
or if use multiple flash in same session
Yii::$app->session->setFlash('error', [['Title 1', 'Message 1'], ['Title 2', 'Message 2'], ['Title 3', 'Message 3']]);
Yii::$app->session->setFlash('error', [[(string) 'Title', (string) 'Message', (array) 'Options']]);
// or
Yii::$app->session->setFlash('error', [['title' => (string) 'Title', 'message' => (string) 'Message', 'options' => (array) 'Options']]);
or if use multiple flash in same session
Yii::$app->session->setFlash('error', [
[
'Title 1',
'Message 1',
[
"progressBar" => true,
"showDuration" => 300,
"hideDuration" => 10000,
"timeOut" => 5000,
"extendedTimeOut" => 1000,
]
],
[
'title' => 'Title 2',
'message' => 'Message 2',
'options' => [
"progressBar" => false,
"hideDuration" => 10000,
]
],
['Title 3', 'Message 3'],
['Message 4'],
[
'message' => 'Message 5',
'options' => [
"progressBar" => false,
]
],
[
'title' => 'Title 6',
'options' => [
"timeOut" => 50000,
]
],
]);
Read more docs: https://sugengsulistiyawan.my.id/docs/opensource/yii2/toastr/