88
99class ApiResourceDataTable extends CollectionDataTable
1010{
11- /**
12- * Collection object.
13- *
14- * @var \Illuminate\Http\Resources\Json\AnonymousResourceCollection
15- */
16- public $ collection ;
17-
18- /**
19- * Collection object.
20- *
21- * @var \Illuminate\Http\Resources\Json\AnonymousResourceCollection
22- */
23- public $ original ;
24-
2511 /**
2612 * Can the DataTable engine be created with these parameters.
2713 *
@@ -36,7 +22,7 @@ public static function canCreate($source)
3622 /**
3723 * Factory method, create and return an instance for the DataTable engine.
3824 *
39- * @param \Illuminate\Http\Resources\Json\AnonymousResourceCollection $source
25+ * @param \Illuminate\Http\Resources\Json\AnonymousResourceCollection<array-key, array>|array $source
4026 * @return ApiResourceDataTable|DataTableAbstract
4127 */
4228 public static function create ($ source )
@@ -47,17 +33,14 @@ public static function create($source)
4733 /**
4834 * CollectionEngine constructor.
4935 *
50- * @param \Illuminate\Http\Resources\Json\AnonymousResourceCollection $collection
36+ * @param \Illuminate\Http\Resources\Json\AnonymousResourceCollection<array-key, array> $collection
5137 */
5238 public function __construct (AnonymousResourceCollection $ collection )
5339 {
5440 $ this ->request = app ('datatables.request ' );
5541 $ this ->config = app ('datatables.config ' );
56- $ this ->collection = collect ($ collection ->toArray ($ this ->request ));
57- $ this ->original = $ collection ;
58- $ this ->columns = array_keys ($ this ->serialize (collect ($ collection ->toArray ($ this ->request ))->first ()));
59- if ($ collection ->resource instanceof LengthAwarePaginator) {
60- $ this ->isFilterApplied = true ;
61- }
42+ $ this ->collection = collect ($ collection );
43+ $ this ->original = collect ($ collection );
44+ $ this ->columns = array_keys ($ this ->serialize (collect ($ collection )->first ()));
6245 }
63- }
46+ }
0 commit comments