@@ -13,14 +13,21 @@ trait ColumnHelpers
1313 */
1414 public function setColumns (): void
1515 {
16- $ this ->prependedColumns = $ this ->getPrependedColumns ();
16+ $ this ->columns = collect ( $ this ->getPrependedColumns ())-> concat ( $ this -> columns ())-> concat ( collect ( $ this -> getAppendedColumns ()) );
1717
18- $ columns = collect ($ this ->columns ())
18+ }
19+
20+ protected function setupColumns (): void
21+ {
22+ if (!$ this ->hasRunColumnSetup )
23+ {
24+ $ this ->columns = $ this ->columns
1925 ->filter (fn ($ column ) => $ column instanceof Column)
2026 ->map (function (Column $ column ) {
21- $ column ->setTheme ($ this ->getTheme ());
22- $ column ->setHasTableRowUrl ($ this ->hasTableRowUrl ());
23- $ column ->setIsReorderColumn ($ this ->getDefaultReorderColumn () == $ column ->getField ());
27+ $ column ->setTheme ($ this ->getTheme ())
28+ ->setHasTableRowUrl ($ this ->hasTableRowUrl ())
29+ ->setIsReorderColumn ($ this ->getDefaultReorderColumn () == $ column ->getField ());
30+
2431 if ($ column instanceof AggregateColumn) {
2532 if ($ column ->getAggregateMethod () == 'count ' && $ column ->hasDataSource ()) {
2633 $ this ->addExtraWithCount ($ column ->getDataSource ());
@@ -42,13 +49,16 @@ public function setColumns(): void
4249 return $ column ;
4350 });
4451
45- $ this ->appendedColumns = $ this ->getAppendedColumns ();
46-
47- $ this ->columns = collect ([...$ this ->prependedColumns , ...$ columns , ...$ this ->appendedColumns ]);
52+ $ this ->hasRunColumnSetup = true ;
53+ }
4854 }
4955
5056 public function getColumns (): Collection
5157 {
58+ if (!$ this ->hasRunColumnSetup )
59+ {
60+ $ this ->setupColumns ();
61+ }
5262 return $ this ->columns ;
5363 }
5464
@@ -206,7 +216,8 @@ public function getColspanCount(): int
206216
207217 public function getPrependedColumns (): Collection
208218 {
209- return collect ($ this ->prependedColumns ?? $ this ->prependColumns ())
219+ return collect ($ this ->prependedColumns ?? $ this ->prependColumns ());
220+ /*return collect($this->prependedColumns ?? $this->prependColumns())
210221 ->filter(fn ($column) => $column instanceof Column)
211222 ->map(function (Column $column) {
212223 $column->setTheme($this->getTheme());
@@ -231,13 +242,13 @@ public function getPrependedColumns(): Collection
231242 }
232243
233244 return $column;
234- });
245+ });*/
235246 }
236247
237248 public function getAppendedColumns (): Collection
238249 {
239- return collect ($ this ->appendedColumns ?? $ this ->appendColumns ())
240- ->filter (fn ($ column ) => $ column instanceof Column)
250+ return collect ($ this ->appendedColumns ?? $ this ->appendColumns ());
251+ /* ->filter(fn ($column) => $column instanceof Column)
241252 ->map(function (Column $column) {
242253 $column->setTheme($this->getTheme());
243254 $column->setHasTableRowUrl($this->hasTableRowUrl());
@@ -261,7 +272,7 @@ public function getAppendedColumns(): Collection
261272 }
262273
263274 return $column;
264- });
275+ });*/
265276
266277 }
267278
0 commit comments