News

Filament Gaze: Show When Multiple Users View the Same Resource

Published
Filament Gaze: Show When Multiple Users View the Same Resource image

Filament Gaze is a plugin for Filament PHP that allows you to display when other users view the same resource. This plugin provides a nice API to make a simple banner or even allow authorized users to take control of a locked page. Here's the most basic example of using Gaze with a form:

public static function form(Form $form): Form
{
return $form
->schema([
GazeBanner::make(),
 
// ...
]);
}

Main features:

  • Quickly display when other users are on the same resource
  • Configurable poll time to determine how often it should inform Filament and get a list of users still viewing the page
  • Lock a resource
  • Allow lock overrides, supporting custom logic
  • Conditionally hide the banner

My favorite feature is the canTakeControl() method, which lets you define custom logic for taking over a page that someone else has control over:

GazeBanner::make()
->lock()
->canTakeControl(fn() => auth()->user()->isAdmin())

Using the above code, the owning user will see that they have control of the page and which other users are on the page. Here's the interface when a user does not have control of a page, but has permission to take control:

You can get started with this package, including full documentation on GitHub at discoverydesign/filament-gaze. This plugin is also listed on the Filament community plugin page.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article