![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/vendor/yajra/laravel-datatables-oracle/src/ |
<?php namespace Yajra\DataTables; use Illuminate\Http\Resources\Json\AnonymousResourceCollection; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; class ApiResourceDataTable extends CollectionDataTable { /** * Collection object. * * @var \Illuminate\Http\Resources\Json\AnonymousResourceCollection */ public $collection; /** * Collection object. * * @var \Illuminate\Http\Resources\Json\AnonymousResourceCollection */ public $original; /** * Can the DataTable engine be created with these parameters. * * @param mixed $source * @return bool */ public static function canCreate($source) { return $source instanceof AnonymousResourceCollection; } /** * Factory method, create and return an instance for the DataTable engine. * * @param \Illuminate\Http\Resources\Json\AnonymousResourceCollection $source * @return ApiResourceDataTable|DataTableAbstract */ public static function create($source) { return parent::create($source); } /** * CollectionEngine constructor. * * @param \Illuminate\Http\Resources\Json\AnonymousResourceCollection $collection */ public function __construct(AnonymousResourceCollection $collection) { $this->request = app('datatables.request'); $this->config = app('datatables.config'); $this->collection = collect($collection->toArray($this->request)); $this->original = $collection; $this->columns = array_keys($this->serialize(collect($collection->toArray($this->request))->first())); if ($collection->resource instanceof LengthAwarePaginator) { $this->isFilterApplied = true; } } }