ILIAS  trunk Revision v11.0_alpha-1753-gb21ca8c4367
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
SmoothTableFilter.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\LegalDocuments;
22 
24 use ilTable2GUI;
25 use Closure;
26 
28 {
30  private array $later = [];
31 
32  public function __construct(private readonly ilTable2GUI $target, private readonly string $reset_command)
33  {
34  }
35 
36  public function addFilterItem(
37  ilTableFilterItem $a_input_item,
38  bool $a_optional = false
39  ): void {
40  $args = func_get_args();
41  $this->later[] = fn() => $this->target->addFilterItem(...$args);
42  }
43 
44  public function flush(): void
45  {
46  array_map(fn($f) => $f(), $this->later);
47  $this->later = [];
48  $this->target->setupFilter($this->reset_command);
49  }
50 }
addFilterItem(ilTableFilterItem $a_input_item, bool $a_optional=false)
__construct(private readonly ilTable2GUI $target, private readonly string $reset_command)