ronnytorresmtz/text-inline

Laravel Nova 字段。

1.0.12 2021-01-01 19:52 UTC

This package is not auto-updated.

Last update: 2024-09-21 13:57:43 UTC


README

此包允许您通过 一键 在索引页面上编辑文本字段。

安装

    composer require ronnytorresmtz/text-inline

用法

使其可编辑

use Ronnytorresmtz\TextInline\TextInline;

public function fields()
{
    return [
        TextInline::make('Name')
            ->inlineOnIndex(),
    ];
}

要编辑您需要点击的文本字段,并根据定义的 saveOn 事件将文本字段值存储在数据库中。

如果您按下 Esc 键,字段文本将返回到不可编辑模式,或者如果文本字段失去焦点。

此方法还接受一个闭包,该闭包包含当前请求,如果您想使其可编辑的话。

public function fields()
{
    return [
        InlineText::make('Name')
            ->inlineOnIndex(function (NovaRequest $request) {
                return $request->user()->isAdmin();
            }),
    ];
}

更新字段值

默认的触发保存值的操作是通过按下 Enter 键(keyup.enter)。如果您希望使用不同的触发事件来更新值,可以使用接受一个与 JavaScript 事件相对应的参数的 saveOn() 方法。

public function fields()
{
    return [
        InlineText::make('Name')
            ->inlineOnIndex()
            ->saveOn('blur'),
    ];
}

键盘事件修饰符

您还可以指定键盘事件修饰符

public function fields()
{
    return [
        InlineText::make('Name')
            ->inlineOnIndex()
            ->saveOn('keyup.shift'),
    ];
}

资源示例

Image

致谢

此包的信用属于 PDMFC,我只是添加了可点击功能以启用编辑模式,并添加了一个用于启用只读模式的模糊事件监听器。我还消除了 refreshTable 方法。

此包基于 pdmfc/nova-inline-text 包。