Added report listener skip event fire feature..
This commit is contained in:
parent
b9057afd08
commit
5d1ffa2d90
|
|
@ -25,11 +25,20 @@ abstract class Report
|
|||
|
||||
public function skipThisClass($event)
|
||||
{
|
||||
$fire_event = $event;
|
||||
|
||||
$this->fireEvent('App\Events\Report\SkipClass', $fire_event);
|
||||
|
||||
return (empty($event->class) || !in_array(get_class($event->class), $this->classes));
|
||||
}
|
||||
|
||||
public function skipRowsShowing($event, $group)
|
||||
{
|
||||
$fire_event = $event;
|
||||
$fire_group = $group;
|
||||
|
||||
$this->fireEvent('App\Events\Report\SkipRowsShowing', $fire_event, $fire_group);
|
||||
|
||||
return $this->skipThisClass($event)
|
||||
|| empty($event->class->model->settings->group)
|
||||
|| ($event->class->model->settings->group != $group);
|
||||
|
|
@ -280,6 +289,17 @@ abstract class Report
|
|||
return $this->getPeriodicDate($date, $event->class->getSetting('period'), $event->class->year);
|
||||
}
|
||||
|
||||
protected function fireEvent($event_class, $event, $group = null)
|
||||
{
|
||||
$this->class = $event->class;
|
||||
|
||||
if ($group) {
|
||||
$this->group = $group;
|
||||
}
|
||||
|
||||
event(new $event_class($this));
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the listeners for the subscriber.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
namespace App\Events\Report;
|
||||
|
||||
use App\Abstracts\Event;
|
||||
|
||||
class SkipClass extends Event
|
||||
{
|
||||
public $classes;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param $classes
|
||||
*/
|
||||
public function __construct($classes)
|
||||
{
|
||||
$this->classes = $classes;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
namespace App\Events\Report;
|
||||
|
||||
use App\Abstracts\Event;
|
||||
|
||||
class SkipRowsShowing extends Event
|
||||
{
|
||||
public $classes;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @param $classes
|
||||
*/
|
||||
public function __construct($classes)
|
||||
{
|
||||
$this->classes = $classes;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue