waynestate / nova-text-copy-field

Laravel Nova文本字段,支持一键复制

v2.0.5 2023-03-27 13:24 UTC

This package is auto-updated.

Last update: 2024-08-27 16:42:20 UTC


README

Latest Stable Version Total Downloads License PHP Version Require

这是一个支持一键复制的Laravel Nova文本字段。该字段的行为与文本字段类似,但添加了通过点击将字段值复制到剪贴板的功能。

此包也可以在Nova Packages上找到。

animated screenshot

安装

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

使用方法

将字段添加到资源中。

use Waynestate\Nova\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了解详细信息。

安全性

如果您发现任何与安全相关的问题,请通过电子邮件web@wayne.edu而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件了解详细信息。