pdmfc / nova-action-button

一个用于执行操作的Laravel Nova字段。

v0.7.4 2021-10-09 13:32 UTC

README

Latest Version on Packagist Licence Total Downloads

此软件包允许您直接在资源表视图中执行操作。

安装

composer require pdmfc/nova-action-button

用法

use App\Nova\Actions\ChangeRole;
use Pdmfc\NovaFields\ActionButton;

//...

public function fields()
{
    return [
        ActionButton::make('Action')
            ->action(ChangeRole::class, $this->id)
            //->action(new ChangeRole(), $this->id) using a new instance
    ];
}

action()方法需要两个参数 - 操作类名或新实例,以及目标资源ID。

Basic example

禁用按钮

您可以使用Laravel nova的本地readonly()方法来阻止用户点击按钮。

ActionButton::make('Action')
    ->action(ChangeRole::class, $this->id)
    ->readonly(function () {
        return $this->role->name === 'admin';
    })

Disabling the button

更改按钮文本

要编辑按钮文本内容,请使用text()方法。

->text('Execute')

在按钮上启用加载动画并更改颜色

要启用按钮上的加载动画并更改颜色,请使用showLoadingAnimation()loadingColor('#fff')方法。

->showLoadingAnimation()
->loadingColor('#fff') # default is #000

向按钮添加svg

为了向按钮添加svg,您首先需要创建一个包含svg的vue组件,然后将组件名称传递给svg()方法。

->svg('VueComponentName')

更改按钮颜色

要更改按钮颜色,请使用buttonColor('#21b970')方法。

->buttonColor('#21b970') # default is .btn-primary color

注意事项

  • 目前,为了使用此字段,您仍然需要在资源的actions()方法中声明操作。

如何贡献

  • 克隆存储库
  • 在Laravel nova应用的composer.json中添加以下内容:
{
    //...

    "require" {
        "pdmfc/nova-action-button: "*"
    },

    //...
    "repositories": [
        {
            "type": "path",
            "url": "../path_to_your_package_folder"
        }
    ],
}
  • 运行composer update pdmfc/nova-action-button

您现在可以开始贡献了!

变更日志

有关最近更改的更多信息,请参阅变更日志