clevyr / nova-help
Laravel Nova 帮助字段。
v1.0.0
2023-11-03 18:18 UTC
Requires
- php: >=8.1
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
README
一个自定义 Nova 字段,允许在表单、详情和索引屏幕中显示自定义帮助信息。
变更日志
请在此处查看变更日志。
安装
在您的 nova 项目中运行以下命令
composer require clevyr/nova-help
然后您可以在资源中使用该字段,如下所示
use Clevyr\Nova\Fields\Help\Help; public function fields(Request $request) { return [ Help::make('Help title', 'Help message!'), ]; }
选项
Nova 帮助字段有如下选项
默认模板
Help::make('title', 'message'); // Default help message Help::success('title', 'message'); Help::info('title', 'message'); Help::warning('title', 'message'); Help::danger('title', 'message'); // There's also a special template for headings Help::header('title', 'subtitle'); // If you prefer you can call the non static type method Help::make('title', 'message')->type('warning');
帮助模板
标题模板
标题和消息都是可选的
Help::make('Only title'); Help::make()->message('Only message');
消息也可以是可调用的
Help::make()->message(function () { return "{$this->name} is awesome!"; });
图标
您可以从 Steve Schoger 提供的默认 SVG 图标中选择一个(http://www.zondicons.com/)。
Help::make('Title')->icon('help'); // the default one Help::make('Title')->icon('info'); Help::make('Title')->icon('warning'); Help::make('Title')->icon('danger'); // Load a custom one Help::make('Love you') ->message('Yes, I love you!') ->icon('<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m10 3.22-.61-.6a5.5 5.5 0 0 0 -7.78 7.77l8.39 8.39 8.39-8.4a5.5 5.5 0 0 0 -7.78-7.77z"/></svg>'); // or show no icon at all Help::make('Sad')->withoutIcon();
渲染 HTML 消息
Help::make('Title', 'Message with <a href="#">link</a>')->displayAsHtml();
从 v0.2 版本开始,displayAsHtml()
方法也适用于字段名称(除非在索引中显示为列标题)。
在详情屏幕上全宽显示
// Remove annoing padding in detail screen, also the default behaviour for the heading template Help::make('Negative margin')->showFullWidthOnDetail();
带侧标签
// Show a side label instead of the title on the top Help::make('Look I\'m on the side') ->message('I\'m not...') ->withSideLabel();
可折叠帮助字段
可以使用流畅方法 collapsible()
使帮助字段可折叠。可折叠帮助字段默认是折叠的,通过点击标题切换其状态。请注意,可折叠字段必须定义标题和消息,并且不能与侧标签一起使用。
// Collapsible field Help::info('Click here to toggle', 'Lorem ipsum dolor sit amet...') ->collapsible();
在索引中显示帮助信息
/** * By default help messages aren't shown on index, * when enabled they are shown as an hoverable * icon showing a plain (no html) tooltip. */ Help::make('Column title') ->message('Message with <a href="#">link</a>') // The link code will be stripped out on index ->alsoOnIndex(); // Field icons can be shown conditionally on index Help::make()->message(function () { return $this->name?"{$this->name} is awesome!":null; })->onlyOnIndex();