Skip to content

sugeng-sulistiyawan/yii2-toastr

Repository files navigation

Yii2 Toastr

Simple flash toastr notifications for Yii2

Latest Stable Version Total Downloads Latest Stable Release Date Quality Score Build Status License PHP Version Require

Yii2 Toastr uses Toastr
Demo: https://codeseven.github.io/toastr/demo.html

Table of Contents

Instalation

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"

Dependencies

Usage

Layouts/Views

Add ToastrFlash to your layout or view file, example in file views\layouts\main.php

Layouts/Views Simple Usage

use diecoding\toastr\ToastrFlash;

ToastrFlash::widget();

Layouts/Views Advanced Usage

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
]);

Controllers

Just use Yii::$app->session->setFlash($type, $message) like as usual alert

Controllers Simple Usage

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']);

Controllers Advanced Usage (< v1.4.0)

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']]);

Controllers Advanced Usage With Override Toastr Options (≥ v1.4.0)

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/