Yii2 wrapper for Vex, a modern dialog library (https://github.com/HubSpot/vex)
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist demogorgorn/yii2-vex-dialog "*"
or add
"demogorgorn/yii2-vex-dialog": "*"
to the require section of your composer.json file.
On your view file.
<?php
VexAsset::register($this);
VexThemeFlatAttackAsset::register($this);
?>
<?php
$js = 'function showModal() {
vex.dialog.buttons.YES.text = "Yes!";
vex.dialog.buttons.NO.text = "No";
vex.dialog.confirm({
message: "Do you really want to visit Minsk, Belarus?",
callback: function(value) {
return console.log(value);
},
className: "vex-theme-flat-attack"
});
}';
$this->registerJs($js);
?>After that just call your function (in this example "showModal").
For example, common use with demogorgorn/yii2-ajax-submit-button (https://github.com/demogorgorn/yii2-ajax-submit-button) :
The same view file:
<?php
\demogorgorn\ajax\AjaxSubmitButton::begin([
'id' => 'delete-button',
'label' => Yii::t('modules/payments/common', 'Visit'),
'ajaxOptions' => [
'type'=>'POST',
'url'=> \yii\helpers\Url::toRoute(['/payments/category/count-children']),
'beforeSend' => new \yii\web\JsExpression('function (xhr) {
var idurl = getTreeSelectedItem();
if (idurl == null) {
xhr.abort();
showModal();
}
this.url = this.url + "&id=" + idurl;
}'),
'success' => new \yii\web\JsExpression('function(html){
showModal();
}'),
],
'options' => ['class' => 'button large danger', 'type' => 'submit', 'disabled' => true],
]);
\demogorgorn\ajax\AjaxSubmitButton::end();
?>