fix(ActivityMonitor): prevent multiple event dispatches during polling
This commit is contained in:
parent
e97cf2db3a
commit
24d7429e4f
1 changed files with 9 additions and 3 deletions
|
|
@ -22,6 +22,8 @@ class ActivityMonitor extends Component
|
|||
|
||||
protected $activity;
|
||||
|
||||
public static $eventDispatched = false;
|
||||
|
||||
protected $listeners = ['activityMonitor' => 'newMonitorActivity'];
|
||||
|
||||
public function newMonitorActivity($activityId, $eventToDispatch = 'activityFinished')
|
||||
|
|
@ -51,15 +53,19 @@ public function polling()
|
|||
$causer_id = data_get($this->activity, 'causer_id');
|
||||
$user = User::find($causer_id);
|
||||
if ($user) {
|
||||
foreach ($user->teams as $team) {
|
||||
$teamId = $team->id;
|
||||
$teamId = $user->currentTeam()->id;
|
||||
if (! self::$eventDispatched) {
|
||||
$this->eventToDispatch::dispatch($teamId);
|
||||
self::$eventDispatched = true;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
$this->dispatch($this->eventToDispatch);
|
||||
if (! self::$eventDispatched) {
|
||||
$this->dispatch($this->eventToDispatch);
|
||||
self::$eventDispatched = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue