a-pb/horizon-ui
最新稳定版本:v1.0.1
Composer 安装命令:
composer require a-pb/horizon-ui
包简介
Enhanced UI for Laravel Horizon - adds job name search/filter to Pending, Completed, and Failed tabs.
README 文档
README
Enhanced UI for Laravel Horizon — adds job name search/filter to Pending, Completed, and Failed job tabs.
Installation
composer require a-pb/horizon-ui
The package auto-discovers its service provider. No additional configuration needed.
What it does
This package extends the official laravel/horizon dashboard with job name filtering:
- Pending Jobs — search input to filter by job class name
- Completed Jobs — search input to filter by job class name
- Failed Jobs — search input to filter by job class name (alongside the existing tag search)
The search is case-insensitive and matches partial phrases. Results are debounced (500ms) for a smooth experience.
How it works
- Controller overrides — Registers enhanced versions of
PendingJobsController,CompletedJobsController, andFailedJobsControllerthat accept aqueryparameter and scan Redis for matching job names. When noqueryparameter is present, the original Horizon logic is used viaparent::index(). - Middleware JS swap — A
SwapHorizonAssetsmiddleware (appended to thehorizonmiddleware group) replaces the inlined<script>block in Horizon's HTML response with our enhanced JS bundle that includes search UI components. No Blade views are overridden — Horizon'slayout.blade.phpis used as-is. - Zero config — Routes are registered with the same names as Horizon's originals, so Laravel's last-registered-wins behavior ensures our enhanced controllers handle the requests.
What is NOT overridden
- Horizon's Blade views (layout, etc.)
- Horizon's CSS styles
- All other Horizon API routes (dashboard, metrics, batches, monitoring, etc.)
- Horizon's authentication and authorization logic
Requirements
- PHP ^8.2
- Laravel ^11.0 | ^12.0
- Laravel Horizon ^5.0
Development — rebuilding the frontend
The dist/app.js bundle is pre-built and committed to the repository. To rebuild it after modifying files in patches/:
# Provide the path to the installed laravel/horizon package
HORIZON_PATH=/path/to/vendor/laravel/horizon ./build.sh
The build script:
- Copies all JS sources from Horizon's vendor directory
- Overlays modified Vue components from
patches/ - Runs Vite to produce
dist/app.js - Cleans up the temporary source files
License
MIT
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-24