@@ -13,43 +13,41 @@ trait ColumnHelpers
1313 */
1414 public function setColumns (): void
1515 {
16- $ this -> columns = collect ($ this ->getPrependedColumns ())->concat ($ this ->columns ())->concat (collect ($ this ->getAppendedColumns ()));
17-
16+ $ columns = collect ($ this ->getPrependedColumns ())->concat ($ this ->columns ())->concat (collect ($ this ->getAppendedColumns ()));
17+ $ this -> columns = $ columns -> filter ( fn ( $ column ) => $ column instanceof Column);
1818 }
1919
2020 protected function setupColumns (): void
2121 {
22- if (! $ this ->hasRunColumnSetup ) {
23- $ this ->columns = $ this ->columns
24- ->filter (fn ($ column ) => $ column instanceof Column)
25- ->map (function (Column $ column ) {
26- $ column ->setTheme ($ this ->getTheme ())
27- ->setHasTableRowUrl ($ this ->hasTableRowUrl ())
28- ->setIsReorderColumn ($ this ->getDefaultReorderColumn () == $ column ->getField ());
29-
30- if ($ column instanceof AggregateColumn) {
31- if ($ column ->getAggregateMethod () == 'count ' && $ column ->hasDataSource ()) {
32- $ this ->addExtraWithCount ($ column ->getDataSource ());
33- } elseif ($ column ->getAggregateMethod () == 'sum ' && $ column ->hasDataSource () && $ column ->hasForeignColumn ()) {
34- $ this ->addExtraWithSum ($ column ->getDataSource (), $ column ->getForeignColumn ());
35- } elseif ($ column ->getAggregateMethod () == 'avg ' && $ column ->hasDataSource () && $ column ->hasForeignColumn ()) {
36- $ this ->addExtraWithAvg ($ column ->getDataSource (), $ column ->getForeignColumn ());
37- }
22+ $ this ->columns = $ this ->columns
23+ ->filter (fn ($ column ) => $ column instanceof Column)
24+ ->map (function (Column $ column ) {
25+ $ column ->setTheme ($ this ->getTheme ())
26+ ->setHasTableRowUrl ($ this ->hasTableRowUrl ())
27+ ->setIsReorderColumn ($ this ->getDefaultReorderColumn () == $ column ->getField ());
28+
29+ if ($ column instanceof AggregateColumn) {
30+ if ($ column ->getAggregateMethod () == 'count ' && $ column ->hasDataSource ()) {
31+ $ this ->addExtraWithCount ($ column ->getDataSource ());
32+ } elseif ($ column ->getAggregateMethod () == 'sum ' && $ column ->hasDataSource () && $ column ->hasForeignColumn ()) {
33+ $ this ->addExtraWithSum ($ column ->getDataSource (), $ column ->getForeignColumn ());
34+ } elseif ($ column ->getAggregateMethod () == 'avg ' && $ column ->hasDataSource () && $ column ->hasForeignColumn ()) {
35+ $ this ->addExtraWithAvg ($ column ->getDataSource (), $ column ->getForeignColumn ());
3836 }
37+ }
3938
40- if ($ column ->hasField ()) {
41- if ($ column ->isBaseColumn ()) {
42- $ column ->setTable ($ this ->getBuilder ()->getModel ()->getTable ());
43- } else {
44- $ column ->setTable ($ this ->getTableForColumn ($ column ));
45- }
39+ if ($ column ->hasField ()) {
40+ if ($ column ->isBaseColumn ()) {
41+ $ column ->setTable ($ this ->getBuilder ()->getModel ()->getTable ());
42+ } else {
43+ $ column ->setTable ($ this ->getTableForColumn ($ column ));
4644 }
45+ }
4746
48- return $ column ;
49- });
47+ return $ column ;
48+ });
5049
51- $ this ->hasRunColumnSetup = true ;
52- }
50+ $ this ->hasRunColumnSetup = true ;
5351 }
5452
5553 public function getColumns (): Collection
@@ -215,64 +213,12 @@ public function getColspanCount(): int
215213
216214 public function getPrependedColumns (): Collection
217215 {
218- return collect ($ this ->prependedColumns ?? $ this ->prependColumns ());
219- /*return collect($this->prependedColumns ?? $this->prependColumns())
220- ->filter(fn ($column) => $column instanceof Column)
221- ->map(function (Column $column) {
222- $column->setTheme($this->getTheme());
223- $column->setHasTableRowUrl($this->hasTableRowUrl());
224- $column->setIsReorderColumn($this->getDefaultReorderColumn() == $column->getField());
225- if ($column instanceof AggregateColumn) {
226- if ($column->getAggregateMethod() == 'count' && $column->hasDataSource()) {
227- $this->addExtraWithCount($column->getDataSource());
228- } elseif ($column->getAggregateMethod() == 'sum' && $column->hasDataSource() && $column->hasForeignColumn()) {
229- $this->addExtraWithSum($column->getDataSource(), $column->getForeignColumn());
230- } elseif ($column->getAggregateMethod() == 'avg' && $column->hasDataSource() && $column->hasForeignColumn()) {
231- $this->addExtraWithAvg($column->getDataSource(), $column->getForeignColumn());
232- }
233- }
234-
235- if ($column->hasField()) {
236- if ($column->isBaseColumn()) {
237- $column->setTable($this->getBuilder()->getModel()->getTable());
238- } else {
239- $column->setTable($this->getTableForColumn($column));
240- }
241- }
242-
243- return $column;
244- });*/
216+ return $ this ->prependedColumns ?? collect ($ this ->prependColumns ());
245217 }
246218
247219 public function getAppendedColumns (): Collection
248220 {
249- return collect ($ this ->appendedColumns ?? $ this ->appendColumns ());
250- /*->filter(fn ($column) => $column instanceof Column)
251- ->map(function (Column $column) {
252- $column->setTheme($this->getTheme());
253- $column->setHasTableRowUrl($this->hasTableRowUrl());
254- $column->setIsReorderColumn($this->getDefaultReorderColumn() == $column->getField());
255- if ($column instanceof AggregateColumn) {
256- if ($column->getAggregateMethod() == 'count' && $column->hasDataSource()) {
257- $this->addExtraWithCount($column->getDataSource());
258- } elseif ($column->getAggregateMethod() == 'sum' && $column->hasDataSource() && $column->hasForeignColumn()) {
259- $this->addExtraWithSum($column->getDataSource(), $column->getForeignColumn());
260- } elseif ($column->getAggregateMethod() == 'avg' && $column->hasDataSource() && $column->hasForeignColumn()) {
261- $this->addExtraWithAvg($column->getDataSource(), $column->getForeignColumn());
262- }
263- }
264-
265- if ($column->hasField()) {
266- if ($column->isBaseColumn()) {
267- $column->setTable($this->getBuilder()->getModel()->getTable());
268- } else {
269- $column->setTable($this->getTableForColumn($column));
270- }
271- }
272-
273- return $column;
274- });*/
275-
221+ return $ this ->appendedColumns ?? collect ($ this ->appendColumns ());
276222 }
277223
278224 public function getCollapsedAlwaysColumns (): Collection
@@ -297,4 +243,21 @@ public function shouldCollapseAlways(): bool
297243
298244 return $ this ->shouldAlwaysCollapse ;
299245 }
246+
247+
248+ /**
249+ * Prepend columns.
250+ */
251+ public function prependColumns (): array
252+ {
253+ return [];
254+ }
255+
256+ /**
257+ * Append columns.
258+ */
259+ public function appendColumns (): array
260+ {
261+ return [];
262+ }
300263}
0 commit comments