Broadcast Events

Created by Sam Poyigi
  2,549 installs

Push browser notifications in real-time from your TastyIgniter application.

  • Version:
    v1.1.0
  • Last Updated:
    3 days ago
  • Published:
    10 Jun 19
  • License:
  • Public repository:

This extension integrates with Laravel Broadcasting to allow you to receive browser notifications when certain events happen in TastyIgniter. Now you can receive instant updates directly from your website to all of your devices.

Configuration

You need to fill in your applicable Pusher credentials under System > Settings > Broadcast Events settings. Follow the instructions given below for each social network you would like to use.

Add the Broadcast component included with this extension to a layout or page. The component injects the required js libraries into the page.

Usage

Example of Registering Event Broadcast

Here is an example of an extension registering an event broadcast class to be dispatched when system event activityLogger.logCreated is fired.

public function registerEventBroadcasts()
{
    return [
        'activityLogger.logCreated' => \Igniter\Broadcast\Events\BroadcastActivityCreated::class,
    ];
}

Example of an Event Class

An event broadcast class should implement Illuminate\Contracts\Broadcasting\ShouldBroadcast.

class BroadcastActivityCreated implements \Illuminate\Contracts\Broadcasting\ShouldBroadcast
{
    use Queueable, SerializesModels;

    /**
     * The activity model instance.
     *
     * @var \Igniter\Flame\ActivityLog\Models\Activity
     */
    public $activity;

    /**
     * BroadcastActivityCreated constructor.
     * @param $activity
     */
    public function __construct($activity)
    {
        $this->activity = $activity;
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return Channel|Channel[]
     */
    public function broadcastOn()
    {
        return new PrivateChannel('admin.user.'.$this->activity->user_id);
    }
}

For more information see Defining Broadcast Events

Listening For Events on a User Authenticated Channel

Broadcast.user()
    .listen('eventName', (e) => {
        console.log(e);
    })

Listening For Events on a Public Channel

Broadcast.channel('channelName')
    .listen('eventName', (e) => {
        console.log(e);
    })

Use this PHP to manually dispatch a broadcast event:

Event::dispatch(new BroadcastActivityCreated($activity));

Releases

  1.   Latest release
    v1.1.0

    • ❗️❗️❗️Requires v3.1.0+
  2. v1.0.9

    • Minor improvements and bug fixes
  3. v1.0.8

    Release v1.0.8

  4. v1.0.7

    • Minor improvements and bug fixes
  • Version:
    v1.1.0
  • Last Updated:
    3 days ago
  • Published:
    10 Jun 19
  • License:
  • Public repository:

Add your extension to the TastyIgniter Marketplace