39 private array $fieldAssemblers;
43 private array $visibleColumnIds;
50 $this->visibleColumnIds = $visibleColumnIds;
63 return $this->visibleColumnIds;
69 private function getAssemblers():
array
71 if (!isset($this->fieldAssemblers))
73 $this->fieldAssemblers = [];
77 $this->fieldAssemblers[] = $assembler;
81 return $this->fieldAssemblers;
87 private function getFilteredAssemblers(): Generator
89 foreach ($this->getAssemblers() as $fieldAssembler)
91 $assemblerColumnsIds = $fieldAssembler->getColumnIds();
94 if (!empty($columnsIds))
96 if (
count($assemblerColumnsIds) !==
count($columnsIds))
98 yield $fieldAssembler->clone($columnsIds);
102 yield $fieldAssembler;
117 foreach ($this->getFilteredAssemblers() as $fieldAssembler)
119 $rowsList = $fieldAssembler->prepareRows($rowsList);
__construct(array $visibleColumnIds)
prepareRows(array $rowsList)