<?php
/**
* Plugin.php - Adapter for the SimplyToast library.
*
* @package jaxon-dialogs
* @author Thierry Feuzeu <thierry.feuzeu@gmail.com>
* @copyright 2016 Thierry Feuzeu <thierry.feuzeu@gmail.com>
* @license https://opensource.org/licenses/BSD-3-Clause BSD 3-Clause License
* @link https://github.com/jaxon-php/jaxon-dialogs
*/
namespace Jaxon\Dialogs\Libraries\SimplyToast;
use Jaxon\Dialogs\Libraries\Library;
use Jaxon\Dialogs\Interfaces\Modal;
use Jaxon\Request\Interfaces\Alert;
use Jaxon\Request\Interfaces\Confirm;
class Plugin extends Library implements Alert
{
use \Jaxon\Request\Traits\Alert;
/**
* The constructor
*/
public function __construct()
{
parent::__construct('simply-toast', 'latest');
}
/**
* Get the javascript header code and file includes
*
* It is a function of the Jaxon\Dialogs\Interfaces\Plugin interface.
*
* @return string
*/
public function getJs()
{
return $this->getJsCode('simply-toast.min.js');
}
/**
* Get the CSS header code and file includes
*
* It is a function of the Jaxon\Dialogs\Interfaces\Plugin interface.
*
* @return string
*/
public function getCss()
{
return $this->getCssCode('simply-toast.min.css');
}
/**
* Get the javascript code to be printed into the page
*
* It is a function of the Jaxon\Dialogs\Interfaces\Plugin interface.
*
* @return string
*/
public function getScript()
{
return $this->render('simplytoast/alert.js', [
'options' => json_encode($this->getOptionNames('options.'))
]);
}
/**
* Print an alert message.
*
* @param string $message The text of the message
* @param string $type The type of the message
*
* @return void
*/
private function alert($message, $type)
{
if($this->getReturn())
{
return "$.simplyToast(" . $message . ", '" . $type . "')";
}
$this->addCommand(array('cmd' => 'simply.alert'), array('message' => $message, 'type' => $type));
}
/**
* Print a success message.
*
* It is a function of the Jaxon\Request\Interfaces\Alert interface.
*
* @param string $message The text of the message
* @param string|null $title The title of the message
*
* @return void
*/
public function success($message, $title = null)
{
return $this->alert($message, 'success');
}
/**
* Print an information message.
*
* It is a function of the Jaxon\Request\Interfaces\Alert interface.
*
* @param string $message The text of the message
* @param string|null $title The title of the message
*
* @return void
*/
public function info($message, $title = null)
{
return $this->alert($message, 'info');
}
/**
* Print a warning message.
*
* It is a function of the Jaxon\Request\Interfaces\Alert interface.
*
* @param string $message The text of the message
* @param string|null $title The title of the message
*
* @return void
*/
public function warning($message, $title = null)
{
return $this->alert($message, 'warning');
}
/**
* Print an error message.
*
* It is a function of the Jaxon\Request\Interfaces\Alert interface.
*
* @param string $message The text of the message
* @param string|null $title The title of the message
*
* @return void
*/
public function error($message, $title = null)
{
return $this->alert($message, 'danger');
}
}
|