rupadana / filament-announce
向潜在用户展示您的卓越产品的一个简单方法
3.2.5
2024-06-21 08:58 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- guava/filament-icon-picker: ^2.0
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpunit/phpunit: ^10.0.17
This package is auto-updated.
Last update: 2024-09-06 08:38:50 UTC
README
在 filament 中发布通知的最简单方法!
安装
您可以通过 composer 安装此包
composer require rupadana/filament-announce
# Laravel 11 and higher php artisan make:notifications-table # Laravel 10 php artisan notifications:table
运行迁移
php artisan migrate
可选地,您可以使用
php artisan vendor:publish --tag="filament-announce-views"
发布配置
php artisan vendor:publish --tag="filament-announce-config"
return [ 'navigation' => [ 'group' => '', 'sort' => 1 ], 'can_access' => [ 'role' => ['super_admin'] ] ];
使用说明
您必须通过将 FilamentAnnouncePlugin
类添加到您的 Filament 面板插件()或plugins([])方法中启用 Announce
use Rupadana\FilamentAnnounce\FilamentAnnouncePlugin; use Filament\Support\Colors\Color; class CustomersPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ... ->plugin( FilamentAnnouncePlugin::make() ->pollingInterval('30s') // optional, by default it is set to null ->defaultColor(Color::Blue) // optional, by default it is set to "primary" ) } }
要使用您自己的自定义资源覆盖 plugins announcementResource,您应在注册插件时附加 usingResource
方法
use Rupadana\FilamentAnnounce\FilamentAnnouncePlugin; use Filament\Support\Colors\Color; class CustomersPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ... ->plugin( FilamentAnnouncePlugin::make() ->usingResource(MyCustomAnnouncementResource::class) ->pollingInterval('30s') // optional, by default it is set to null ->defaultColor(Color::Blue) // optional, by default it is set to "primary" ) } }
现在您可以向用户发布任何内容
use App\Models\User; use Rupadana\FilamentAnnounce\Announce; Announce::make() ->title('Big News!') ->icon('heroicon-o-megaphone') ->body('Filament can now show very important message to specific users!') ->disableCloseButton() // Optional, if you want ur announcement discloseable ->announceTo(User::all());
标题和正文对齐
默认情况下,对齐方式将是 start
,您可能需要调整它们
use App\Models\User; use Filament\Support\Enums\Alignment; use Rupadana\FilamentAnnounce\Announce; Announce::make() ->title('Big News!') ->icon('heroicon-o-megaphone') ->body('Filament can now show very important message to specific users!') ->alignment(Alignment::Center) // this will set both title and body alignments (common alignment) ->titleAlignment(Alignment::Start) // this will set title alignment and take precedence over common alignment methods ->bodyAlignment(Alignment::Start) // this will set body alignment and take precedence over common alignment methods ->actions([ Action::make('view') ->button(), Action::make('undo') ->color('gray'), ]) ->announceTo(User::all());
您还可以使用 alignStart()
、alignCenter()
、alignEnd()
、alignJustify()
、alignBetween()
、alignLeft()
和 alignRight()
以方便您。
向通知添加操作
由于 Announce 扩展了 Filament 通知,您可以将 Filament 通知操作添加到您的通知中
use App\Models\User; use Rupadana\FilamentAnnounce\Announce; Announce::make() ->title('Big News!') ->icon('heroicon-o-megaphone') ->body('Filament can now show very important message to specific users!') ->actions([ Action::make('view') ->button(), Action::make('undo') ->color('gray'), ]) ->announceTo(User::all());
有关 通知操作 的更多信息,请参阅。
公告资源
待办事项
- 可以向每个公告添加操作
- 提供资源/操作以发送公告
- 为全局公告添加类似横幅的实现
- 设置结束日期或时间,以便它将自动消失
测试
composer test
更改日志
有关最近更改的更多信息,请参阅 更改日志。
贡献
有关详细信息,请参阅 贡献。
安全漏洞
有关如何报告安全漏洞的更多信息,请参阅 我们的安全策略。
鸣谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。