awcodes / overlook
一个Filament插件,为您的管理面板添加应用程序概览小部件。
Requires
- php: ^8.1
- ext-intl: *
- filament/filament: ^3.0
- spatie/laravel-package-tools: ^1.15
Requires (Dev)
- laravel/pint: ^1.0
- spatie/laravel-ray: ^1.26
README
一个Filament插件,为您的管理面板添加应用程序概览小部件。
安装
您可以通过composer安装此包。
composer require awcodes/overlook
为了与Filament的主题方法保持一致,您需要使用自定义主题来使用此插件。
注意如果您尚未设置自定义主题并正在使用面板,请首先参考Filament文档中的说明。
将插件的视图添加到您的tailwind.config.js
文件中。
content: [ '<path-to-vendor>/awcodes/overlook/resources/**/*.blade.php', ]
使用方法
将插件和控件添加到您的面板提供者。您可以使用插件的sort
和columns
方法来更改小部件的顺序和小部件将用于显示其项目的列数。
use Awcodes\Overlook\OverlookPlugin; use Awcodes\Overlook\Widgets\OverlookWidget; public function panel(Panel $panel): Panel { return $panel ->plugins([ OverlookPlugin::make() ->sort(2) ->columns([ 'default' => 1, 'sm' => 2, 'md' => 3, 'lg' => 4, 'xl' => 5, '2xl' => null, ]), ]) ->widgets([ OverlookWidget::class, ]); }
包含和排除项目
默认情况下,小部件将显示与Filament注册的所有资源。您可以使用插件的includes
或excludes
方法来指定要包含或排除的资源。
这些方法不应同时使用
use Awcodes\Overlook\OverlookPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ OverlookPlugin::make() ->includes([ \App\Filament\Resources\Shop\ProductResource::class, \App\Filament\Resources\Shop\OrderResource::class, ]), ]); }
use Awcodes\Overlook\OverlookPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ OverlookPlugin::make() ->excludes([ \App\Filament\Resources\Shop\ProductResource::class, \App\Filament\Resources\Shop\OrderResource::class, ]), ]); }
简略计数
您可以通过将false
传递给插件的abbreviateCount
方法来禁用简略计数。
use Awcodes\Overlook\OverlookPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ OverlookPlugin::make() ->abbreviateCount(false), ]); }
工具提示
当使用简略计数时,鼠标悬停时将显示一个工具提示,显示非简略计数。您可以通过将false
传递给插件的tooltips
方法来禁用它们。
use Awcodes\Overlook\OverlookPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ OverlookPlugin::make() ->tooltips(false), ]); }
对项目进行排序
默认情况下,项目将按照在Filament中注册的顺序或includes
方法中提供的顺序进行排序。您可以使用插件的alphabetical
方法将其更改为按字母顺序排序。
use Awcodes\Overlook\OverlookPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ OverlookPlugin::make() ->alphabetical(), ]); }
自定义小部件
默认情况下,overlook小部件使用Filament资源的getEloquentQuery()
方法,但您可以通过在Filament资源上实现CustomizeOverlookWidget
接口来自定义查询。HandlesOverlookWidgetCustomization
特质预定义了可以在资源类上重写的现有自定义。
use Awcodes\Overlook\Contracts\CustomizeOverlookWidget; use Awcodes\Overlook\Concerns\HandlesOverlookWidgetCustomization; class UserResource extends Resource implements CustomizeOverlookWidget { use HandlesOverlookWidgetCustomization; }
自定义小部件查询
重写getOverlookWidgetQuery()
方法来自定义Overlook小部件的查询。此方法接受现有的eloquent查询作为参数,可用于进行进一步的自定义。
use Illuminate\Database\Eloquent\Builder; public static function getOverlookWidgetQuery(Builder $query): Builder { return $query->where('status','=','PENDING'); }
自定义小部件标题
重写getOverlookWidgetTitle()
方法来自定义小部件的标题
public static function getOverlookWidgetTitle(): string { return 'Pending Users'; }
自定义小部件图标
默认情况下,图标将从资源加载,但您可以通过在插件上使用icons
修饰符并传递包含图标名称和资源名称的数组来覆盖它。
use Awcodes\Overlook\OverlookPlugin; public function panel(Panel $panel): Panel { return $panel ->plugins([ OverlookPlugin::make() ->icons([ 'heroicon-o-heart' => \App\Filament\Resources\Shop\ProductResource::class, 'heroicon-o-newspaper' => \App\Filament\Resources\Shop\OrderResource::class, ]), ]); }
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
安全漏洞
请参阅我们关于如何报告安全漏洞的安全策略。
鸣谢
许可证
麻省理工学院许可证(MIT)。请参阅许可证文件获取更多信息。