sixlive/nova-text-copy-field

Laravel Nova 文本字段,支持点击复制

v1.5.0 2019-03-03 19:28 UTC

This package is auto-updated.

Last update: 2024-08-29 04:42:38 UTC


README

Packagist Version Packagist Downloads StyleCI

这是一个支持点击复制的 Laravel Nova 文本字段。这个字段的行为就像一个文本字段,但增加了通过点击将字段值复制到剪贴板的功能。

此软件包也可在 Nova Packages 上找到。

animated screenshot

安装

> composer require sixlive/nova-text-copy-field

使用

将字段添加到资源中。

use Sixlive\TextCopy\TextCopy;

public function fields(Request $request)
{
    return [
        TextCopy::make('Example Copy Field', 'example_copy_field'),
    ];
}

截断长字符串

在某些情况下,您可能希望截断字段的显示值,但仍允许复制完整值。您可以使用 truncate() 方法来完成此操作。

TextCopy::make('Some Long Field')
    ->truncate(100)

隐藏字段值

这对于像 API 密钥这样的秘密非常适合。

TextCopy::make('Some Secret String', 'some_secret_string')
    ->mask('') // default '*'
    ->truncate(5)

复制按钮标题

复制按钮的标题默认为以 '复制' 为前缀的字段名。例如,TextCopy::make('Some Field', 'some_field') 的按钮标题将是 "复制 Some Field"。

如果您想手动设置标题,可以使用 copyButtonTitle() 方法。

TextCopy::make('Some Field', 'some_field')
    ->copyButtonTitle('Some alternative title')

替代复制值

您可以选择要复制到用户剪贴板的值。您可以传递一个值或一个闭包。

TextCopy::make('Some Secret String', 'some_long_string')
    ->copyValue(function ($value) {
        return substr($value, -6);
    })

TextCopy::make('Some Secret String', 'some_long_string')
    ->copyValue('some fixed copy value')

仅在悬停时显示按钮

TextCopy::make('Some Secret String', 'some_long_string')
    ->showButtonOnlyOnHover()

截图

默认状态

default default

成功状态

当字段值成功复制到用户的剪贴板时。 success

错误状态

当向用户的剪贴板添加字段值时出错。 error

截断显示值

truncated display

隐藏显示值

masked display

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

代码风格

StyleCI 将应用 Laravel 预设

安全

如果您发现任何与安全相关的漏洞,请通过电子邮件 oss@tjmiller.co 联系,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件