[增添]添加了datasource的setting数据库以及默认值

This commit is contained in:
makotocc0107
2024-08-27 09:57:44 +08:00
parent d111dfaea4
commit 72eb990970
10955 changed files with 978898 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
@props([
'channel',
])
<div
x-data="{}"
x-init="
window.addEventListener('EchoLoaded', () => {
window.Echo.private(@js($channel)).listen('.database-notifications.sent', () => {
setTimeout(() => $wire.call('$refresh'), 500)
})
})
if (window.Echo) {
window.dispatchEvent(new CustomEvent('EchoLoaded'))
}
"
{{ $attributes }}
></div>

View File

@@ -0,0 +1,27 @@
@props([
'notifications',
'unreadNotificationsCount',
])
<div {{ $attributes->class('mt-2 flex gap-x-3') }}>
@if ($unreadNotificationsCount)
<x-filament::link
color="primary"
tabindex="-1"
tag="button"
wire:click="markAllNotificationsAsRead"
>
{{ __('filament-notifications::database.modal.actions.mark_all_as_read.label') }}
</x-filament::link>
@endif
<x-filament::link
color="danger"
tabindex="-1"
tag="button"
wire:click="clearNotifications"
x-on:click="close()"
>
{{ __('filament-notifications::database.modal.actions.clear.label') }}
</x-filament::link>
</div>

View File

@@ -0,0 +1,18 @@
@props([
'unreadNotificationsCount',
])
<x-filament::modal.heading>
<span class="relative">
{{ __('filament-notifications::database.modal.heading') }}
@if ($unreadNotificationsCount)
<x-filament::badge
size="xs"
class="absolute -top-1 start-full ms-1 w-max"
>
{{ $unreadNotificationsCount }}
</x-filament::badge>
@endif
</span>
</x-filament::modal.heading>

View File

@@ -0,0 +1,64 @@
@props([
'notifications',
'unreadNotificationsCount',
])
@php
use Filament\Support\Enums\Alignment;
$hasNotifications = $notifications->count();
$isPaginated = $notifications instanceof \Illuminate\Contracts\Pagination\Paginator && $notifications->hasPages();
@endphp
<x-filament::modal
:alignment="$hasNotifications ? null : Alignment::Center"
close-button
:description="$hasNotifications ? null : __('filament-notifications::database.modal.empty.description')"
:heading="$hasNotifications ? null : __('filament-notifications::database.modal.empty.heading')"
:icon="$hasNotifications ? null : 'heroicon-o-bell-slash'"
:icon-alias="$hasNotifications ? null : 'notifications::database.modal.empty-state'"
:icon-color="$hasNotifications ? null : 'gray'"
id="database-notifications"
slide-over
:sticky-header="$hasNotifications"
width="md"
>
@if ($hasNotifications)
<x-slot name="header">
<div>
<x-filament-notifications::database.modal.heading
:unread-notifications-count="$unreadNotificationsCount"
/>
<x-filament-notifications::database.modal.actions
:notifications="$notifications"
:unread-notifications-count="$unreadNotificationsCount"
/>
</div>
</x-slot>
<div
@class([
'-mx-6 -mt-6 divide-y divide-gray-200 dark:divide-white/10',
'-mb-6' => ! $isPaginated,
'border-b border-gray-200 dark:border-white/10' => $isPaginated,
])
>
@foreach ($notifications as $notification)
<div
@class([
'relative before:absolute before:start-0 before:h-full before:w-0.5 before:bg-primary-600 dark:before:bg-primary-500' => $notification->unread(),
])
>
{{ $this->getNotification($notification)->inline() }}
</div>
@endforeach
</div>
@if ($isPaginated)
<x-slot name="footer">
<x-filament::pagination :paginator="$notifications" />
</x-slot>
@endif
@endif
</x-filament::modal>

View File

@@ -0,0 +1,7 @@
<div
x-data="{}"
x-on:click="$dispatch('open-modal', { id: 'database-notifications' })"
{{ $attributes->class(['inline-block']) }}
>
{{ $slot }}
</div>