formfeed-uk / nova-resource-cards
一个Laravel Nova扩展包,用于在所有CRUD页面上显示卡片。
1.1.0
2022-10-12 16:22 UTC
Requires
- php: ^7.4|^8
- laravel/nova: ^4.0
README
这个 Laravel Nova 扩展包增加了在页面顶部添加资源卡片的功能。
我认为这个包的功能已经完善,但我仍然欢迎功能请求和pull请求,如果你有想要看到的功能,请随时提交问题。
要求
php: >=7.4
laravel/nova: ^4.0
功能
此包封装了以下Laravel Nova页面,并增加了在上面显示资源卡片的能力
- 索引
- 详情
- 创建
- 更新
- 附加
- 更新附加
- 复制
- 透镜
- 仪表板
由于这个包封装了页面,所以它应该对Nova更新有较强的鲁棒性。
此包还包括对显示卡片的页面的更细粒度控制,遵循与字段相同的逻辑
- showOnIndex
- showOnDetail
- showOnCreating
- showOnUpdating
- showOnPreview
- showOnAttach
- showOnReplicate
- showOnLens
- showOnDashboard
- hideFromIndex
- hideFromDetail
- hideFromDashboard
- hideFromLens
- hideWhenCreating
- hideWhenUpdating
- hideWhenAttaching
- hideWhenReplicating
- onlyOnIndex
- onlyOnDetail
- onlyOnForms (现在包括附加和复制)
- onlyOnLens
- onlyOnDashboard
- exceptOnForms (现在包括附加和复制)
卡片应该扩展包含的 ResourceCard
类,而不是标准类,但其他方面可以像常规卡片一样使用。
安装
使用composer将包安装到使用 Nova 的Laravel应用中
composer require formfeed-uk/nova-resource-cards
用法
通用
-
创建一个卡片,根据 Nova文档 (或者如果你想要将其转换为ResourceCards,可以使用现有的卡片)。
-
更新你的卡片,使其扩展ResourceCard而不是Card
// MyResourceCard.php ... use Formfeed\ResourceCards\ResourceCard; class MyResourceCard extends ResourceCard { ... }
- 然后就像常规卡片一样,在资源中包含它
// MyNovaResource.php use App\MyResourceCard; ... class MyNovaResource extends Resource { ... public function cards(NovaRequest $request) { return [ MyResourceCard::make($request) ]; } ... }
可选地链式可见性和授权
public function cards(NovaRequest $request) { return [ MyResourceCard::make($request) ->onlyOnForms() ->canSee(function ($request) { return $request->user()->role === "admin"; }), ]; }
就这么简单!
可用参数
你的卡片有多种参数可用,具体取决于当前页面。这些参数作为查询参数在请求对象上可用。
注意:尽管这些参数可用,但并不意味着它们会在任何请求中被填充。
索引
- resourceName
- display: "index"
详情
- resourceName
- resourceId
- display: "detail"
创建
- resourceName
- viaResource
- viaResourceId
- viaRelationship
- display: "create"
更新
- resourceName
- resourceId
- viaResource
- viaResourceId
- viaRelationship
- display: "update"
复制
- resourceName
- resourceId
- viaResource
- viaResourceId
- viaRelationship
- display: "replicate"
附加
- resourceName
- resourceId
- viaResource
- viaResourceId
- viaRelationship
- parentResource
- polymorphic
- formUniqueId
- relatedResourceName
- display: "attach"
更新附加
- resourceName
- resourceId
- viaResource
- viaResourceId
- viaRelationship
- parentResource
- polymorphic
- formUniqueId
- relatedResourceName
- relatedResourceId
- viaPivotId
- display: "updateAttached"
透镜
- resourceName
- lens
- display: "lens
仪表板
- resourceName: Dashboard Name
- display: "dashboard"
许可证
Nova Resource Cards 是开源软件,采用 MIT许可证。