devletes/filament-timeline-view
Render Filament Tables as chronological timelines. Adds Table macros ->asTimeline() and ->asDoubleSidedTimeline(), plus a TimelineEntry column to turn any table query into date-grouped cards with avatars, timestamps, actions dropdown, collapsible days, and load-more.
Strengths:
asTimeline()/asDoubleSidedTimeline()), requiring minimal architectural changes. No need to refactor core table logic or introduce new controllers/services.Fit for Use Cases:
Anti-Patterns:
Low Barrier to Entry:
->asDataTable() or ->asGrid()).Dependencies:
Table::macro() and Filament’s column system).created_at).Testing Overhead:
Minor Risks:
!important overrides.Load More or database cursors.Carbon or Str::of() adjustments for non-English apps.Major Risks:
Cache::remember wrappers.Data Model Alignment:
created_at, event_date)?Scalability Needs:
Customization Requirements:
TimelineEntry layout (e.g., add badges, custom actions)?Deployment Constraints:
Analytics/Export:
Ideal Stack:
Cache::tags() for timeline groups).Non-Ideal Stack:
Assessment Phase:
Proof of Concept:
asTimeline() on a representative table (e.g., ActivityLog).Incremental Rollout:
asTimeline() in a non-critical resource.TimelineEntry for brand-specific styling/actions.Fallback Plan:
tailwind.config.js.With Filament Ecosystem:
ActivityLogResource).EditAction, DeleteAction).With Third-Party Packages:
spatie/laravel-filament-admin.Carbon is used internally; ensure no version conflicts.Customization Hooks:
Table::macro('asTimeline', fn($table) => ...).resources/views/vendor/filament-timeline-view/... (if needed).Prerequisites:
Implementation Order:
use Devletes\FilamentTimelineView\FilamentTimelineView; to the resource.table() with table()->asTimeline() in the resource’s table() method.TimelineEntry column).Post-Deployment:
Pros:
composer update for package upgrades.Cons:
TimelineEntry become your responsibility.Maintenance Tasks:
Troubleshooting:
created_at or custom timestamp fields are selected.dd($table->getQuery()) to inspect the timeline query.debug:table command for table macro output.Support Channels:
How can I help you explore Laravel packages today?