awcodes/overlook

一个Filament插件,为您的管理面板添加应用程序概览小部件。

资助包维护!
awcodes

v2.2.0 2024-02-17 17:08 UTC

README

Latest Version on Packagist Total Downloads

overlook-og

一个Filament插件,为您的管理面板添加应用程序概览小部件。

安装

您可以通过composer安装此包。

composer require awcodes/overlook

为了与Filament的主题方法保持一致,您需要使用自定义主题来使用此插件。

注意如果您尚未设置自定义主题并正在使用面板,请首先参考Filament文档中的说明。

将插件的视图添加到您的tailwind.config.js文件中。

content: [
    '<path-to-vendor>/awcodes/overlook/resources/**/*.blade.php',
]

使用方法

将插件和控件添加到您的面板提供者。您可以使用插件的sortcolumns方法来更改小部件的顺序和小部件将用于显示其项目的列数。

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注册的所有资源。您可以使用插件的includesexcludes方法来指定要包含或排除的资源。

这些方法不应同时使用

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)。请参阅许可证文件获取更多信息。