kartik-v/yii2-dialog

为 Yii 2.0 框架提供的 bootstrap3-dialog 资产包。

安装量: 4,770,506

依赖者: 23

建议者: 0

安全: 0

星标: 49

关注者: 7

分支: 41

开放问题: 4

类型:yii2-extension

v1.0.6 2021-09-02 08:26 UTC

This package is auto-updated.

Last update: 2024-09-09 09:46:22 UTC


README

Krajee Logo
yii2-dialog Donate

Stable Version Unstable Version License Total Downloads Monthly Downloads Daily Downloads

为 Yii Framework 2.0 提供的弹窗通知对话框组件,可以轻松配置和初始化。它为原生的 JavaScript alert、confirm 和 prompt 对话框提供了 polyfill。它包括通过基于并增强自 bootstrap3-dialog 的 Krajee 插件实现的内置丰富对话框支持。此插件使使用 Bootstrap 的模态对话框更加灵活。Krajee 的增强还包括对 Bootstrap 5.x、4.x 和 3.x 的增强支持。该库提供的主要功能包括

  • 控制您想要如何渲染 JAVASCRIPT 对话框。内置以下对话框类型的快速支持
    • ALERT 对话框
    • CONFIRM 对话框
    • PROMPT 对话框
    • 自定义对话框
  • 包括一个 jQuery 插件 krajeeDialog(由 Krajee 创建),允许用户轻松配置 bootstrap3-dialog 库,或使用原生的 JS 提示组件,或配置任何第三方 JS 通知库。
  • 可以通过覆盖和增强使用 yii 的 data-confirm 方法的链接的确认对话框来渲染漂亮的对话框。
  • 通过 kartik\dialog\Dialog 小部件进行高级配置。此小部件允许用户全局设置原生的 JS alert 或 bootstrap3-dialog 设置。

如何通过拉取请求进行贡献?

请参阅此 git workflow for contributors

安装

安装此扩展的首选方式是通过 composer

先决条件

注意:请在扩展的 composer.json 中检查此扩展的要求和依赖关系。在安装此扩展之前,您必须在应用程序根目录中的 composer.json 文件中将 minimum-stability 设置为 dev,或者如果您的 minimum-stability 设置为除 dev 之外的任何值,则在您的 composer.json 文件的 require 部分中设置以下内容

kartik-v/yii2-dialog: "@dev"

请参阅有关设置应用程序 composer.json 的 minimum-stability 设置的 web tip /wiki

发布更改

请参阅 CHANGE LOG 以了解各种版本的详细信息。

安装

运行以下命令之一

$ php composer.phar require kartik-v/yii2-dialog "@dev"

"kartik-v/yii2-dialog": "@dev"

将其添加到您的 composer.json 文件的 require 部分中。

文档和演示

请查看 Krajee Yii 2 Demos 中的 文档和演示,了解扩展的使用方法。

用法

基本用法

在您的视图中,您可以加载资产包并渲染 JavaScript 来加载 bootstrap 3 模态对话框。

// view.php
use kartik\dialog\DialogAsset;
DialogAsset::register($this);
$this->registerJs("\$('#your-btn-id').on('click', function(){BootstrapDialog.alert('I want banana!');});");

高级用法(小部件)

在您的视图或视图布局文件中,您可以按如下方式渲染小部件。这将不会直接显示任何内容 - 但会渲染所有初始化 BootstrapDialog 所需的 JavaScript 和 CSS。

use kartik\dialog\Dialog;

// Example 1
echo Dialog::widget([
   'libName' => 'krajeeDialog',
   'options' => [], // default options
]);

// Example 2
echo Dialog::widget([
   'libName' => 'krajeeDialogCust',
   'options' => ['draggable' => true, 'closable' => true], // custom options
]);

然后,在您的视图中,您可以编写自己的JavaScript来渲染您的警告框、确认框和提示框(或自定义对话框)。例如,当点击HTML按钮 btn-1btn-2 时,对话框可以像下面这样弹出

// NOTE: This is a javascript code and must be run in Yii via 'registerJs' 
//       or via a JS File in an AssetBundle

// use krajeeDialog object instance initialized by the widget
$('#btn-1').on('click', function() {
    krajeeDialog.alert('An alert');
    // or show a confirm
    krajeeDialog.confirm('Are you sure', function(out){
        if(out) {
            alert('Yes'); // or do something on confirmation
        }
    });
});

// use krajeeDialogCust object instance
$('#btn-2').on('click', function() {
    krajeeDialogCust.alert('An alert');
    // or show a prompt
    krajeeDialogCust.prompt({label:'Provide reason', placeholder:'Upto 30 characters...'}, function(out){
        if (out) {
            alert('Yes'); // or do something based on the value of out
        }
    });
});

覆盖Yii的确认对话框

Yii通过在链接上设置data-confirm属性来渲染原生的确认对话框。此小部件使用Krajee Dialog增强了并美化了原生确认对话框。此行为可以通过overrideYiiConfirm属性进行控制,默认为true。这在渲染链接和动作按钮(如GridView动作列的删除按钮)时可能很有用。

// the rendered link will automatically show a Krajee Dialog Confirmation dialog
use kartik\dialog\Dialog;
echo Dialog::widget(['overrideYiiConfirm' => true]);
echo Html::a(
    'Delete', 
    ['/item/delete', 'id' => $model->id], 
    [
        'data-confirm' => 'Are you sure to delete this item?'
        'data-method' => 'post'
    ]
);

许可证

yii2-dialog是在BSD 3-Clause许可证下发布的。有关详细信息,请参阅捆绑的LICENSE.md文件。