lednerb / nova-text-copy-field
Laravel Nova文本字段,支持点击复制
v1.6.0
2022-03-25 16:32 UTC
Requires
- php: >=7.1.0
- laravel/nova: *
This package is auto-updated.
Last update: 2024-09-25 21:53:11 UTC
README
此存储库是从原始的 sixlive/nova-text-copy-field
分支而来,该分支实现了一些附加功能和修复,并与原始代码完全兼容
- 支持只读字段
- 对于空或null值不显示复制按钮
- 将图标更改为heroicons以匹配Nova样式
A Laravel Nova文本字段,支持点击复制。此字段的行为就像一个文本字段,但添加了只需点击即可将字段值复制到剪贴板的功能。
此包也可在 Nova Packages 上找到。
安装
> composer require lednerb/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()
屏幕截图
默认状态
成功状态
错误状态
截断显示值
隐藏显示值
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
有关详细信息,请参阅 CONTRIBUTING
代码风格
StyleCI将应用Laravel预设。
安全
如果您发现任何安全相关的问题,请通过电子邮件oss@tjmiller.co而不是使用问题跟踪器。
鸣谢
许可协议
MIT许可(MIT)。有关更多信息,请参阅许可文件