kenepa/multi-widget

一个包含多个小部件的Filament小部件。

2.0.2 2023-09-27 11:48 UTC

README

filament-multi-widget-art

Latest Version on Packagist Total Downloads

Filament Multi Widget为您的Filament应用程序添加了新的小部件类型。Multi Widget允许您将多个小部件组合成单个小部件,可以通过标签页进行切换。此插件有助于清理您的Filament仪表板。

filament-multi-widget-art

安装

您可以通过composer安装此包。

composer require kenepa/multi-widget

用法

通过扩展Kenepa\MultiWidget\MultiWidget类创建一个新的Multi Widget。

// app/Filament/Widgets/UserMultiWidget.php

class UserMultiWidget extends MultiWidget
{
    public array $widgets = [
        MySubmittedComments::class,
        MySubmittedFeedback::class,
        MySubscriptions::class,
    ];
}

$widgets属性包含应添加到Multi Widget的所有小部件的类。这些是您创建的正常Filament小部件
上面的Multi Widget将按以下方式渲染

如果您的widget在仪表板上显示两次,请确保该widget不会被自动添加到仪表板。请检查您的adminPanelProvider.php文件中的discoverWidgets()函数。

使用自定义标签名

默认情况下,标签名称是基于类名生成的。如果您想自定义标签的名称,请在您的widget中添加getDisplayName()方法。

// app/Filament/Widgets/ProductSales.php

class ProductSales extends BaseWidget
{
   // Some widget content...
   
    public function getDisplayName(): string {
        return "Custom name";
    }
}

在会话中持久化标签

要持久化用户会话中的标签,请使用shouldPersistMultiWidgetTabsInSession()方法。

// app/Filament/Widgets/UserMultiWidget.php

class UserMultiWidget extends MultiWidget
{
    public array $widgets = [
        MySubmittedComments::class,
        MySubmittedFeedback::class,
        MySubscriptions::class,
    ];
    
    public function shouldPersistMultiWidgetTabsInSession(): bool
    {
        return true;
    }
}

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。