digital-creative / nova-slider-filter
A Laravel Nova 过滤器,用于选择最小/最大值之间的范围。
v1.0.1
2023-10-02 07:45 UTC
Requires
- php: >=8.0
- laravel/nova: ^4.0
README
A Laravel Nova 过滤器,用于选择最小/最大值之间的范围。
安装
您可以通过 composer 安装此包
composer require digital-creative/nova-slider-filter
基本用法
创建一个过滤器,像往常一样,并扩展 DigitalCreative\SliderFilter\SliderFilter
类
use DigitalCreative\SliderFilter\SliderFilter; class MyFilter extends SliderFilter { public function apply(NovaRequest $request, $query, $values) { // $values will be an array when using ->range() and int when using ->single() } }
然后在您的资源类中的过滤器方法内像往常一样使用它
class ExampleNovaResource extends Resource { public function filters(NovaRequest $request): array { return [ MyFilter::make()->single(min: 0, max: 100), ]; } }
调用 ->range()
方法将渲染一个带有两个(或更多)滑块的滑块,而调用 single()
方法将渲染一个带有单个滑块的滑块。
class ExampleNovaResource extends Resource { public function filters(NovaRequest $request): array { return [ MyFilter::make() ->range(0, 500, 300) ->label('${value}') MyFilter::make() ->single(min: 0, max: 500) ->label('${value}') ]; } }
您还可以通过使用 ->marks()
方法在滑块上设置标记。该方法接受一个键值对数组,其中键是标记的值,值是要显示的标签。
class ExampleNovaResource extends Resource { public function filters(NovaRequest $request): array { return [ MyFilter::make() ->single(0, 100) ->marks([ '0' => '🌑', '50' => '🌓', '100' => '🌕' ]) ]; } }
⭐️ 展示您的支持
如果此项目对您有帮助,请给一个 ⭐️!
您可能还会喜欢的其他包
- Nova Dashboard - Laravel Nova 缺失的仪表板!
- Nova Welcome Card - Nova 内置的
帮助卡
的可配置版本。 - Icon Action Toolbar - 用基于图标的操作行替换默认的乏味的操作菜单。
- Expandable Table Row - 为您的资源表中的每一行轻松添加额外数据。
- Collapsible Resource Manager - 为侧边栏中的资源排序和分组提供简单的方法。
- Resource Navigation Tab - 将您的资源字段组织到选项卡中。
- Resource Navigation Link - 创建指向内部或外部资源的链接。
- Nova Mega Filter - 在卡片中显示所有过滤器而不是微小的下拉菜单!
- Nova Pill Filter - 将渲染为可点击药丸的 Laravel Nova 过滤器。
- Nova Slider Filter - 用于在最小/最大值之间选择范围的 Laravel Nova 过滤器。
- Nova Range Input Filter - Laravel Nova 范围输入过滤器。
- Nova FilePond - 使用 Filepond 上传文件、图片和视频的 Nova 字段。
- Custom Relationship Field - 在资源之间没有实际关系设置的情况下模拟 HasMany 关系。
- Column Toggler - 允许您在索引视图中隐藏/显示列的 Laravel Nova 包。
- 批量编辑工具栏 - 允许您直接从索引页面一次性更新资源的单个列。
许可协议
MIT许可协议(MIT)。有关更多信息,请参阅许可文件。