updated-packages
This commit is contained in:
83
vendor/yajra/laravel-datatables-oracle/src/DataTablesServiceProvider.php
vendored
Normal file
83
vendor/yajra/laravel-datatables-oracle/src/DataTablesServiceProvider.php
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace Yajra\DataTables;
|
||||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Str;
|
||||
use Yajra\DataTables\Utilities\Config;
|
||||
use Yajra\DataTables\Utilities\Request;
|
||||
|
||||
class DataTablesServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
if ($this->isLumen()) {
|
||||
require_once 'lumen.php';
|
||||
}
|
||||
|
||||
$this->setupAssets();
|
||||
|
||||
$this->app->alias('datatables', DataTables::class);
|
||||
$this->app->singleton('datatables', function () {
|
||||
return new DataTables;
|
||||
});
|
||||
|
||||
$this->app->singleton('datatables.request', function () {
|
||||
return new Request;
|
||||
});
|
||||
|
||||
$this->app->singleton('datatables.config', Config::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Boot the instance, add macros for datatable engines.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
$engines = (array) config('datatables.engines');
|
||||
foreach ($engines as $engine => $class) {
|
||||
$engine = Str::camel($engine);
|
||||
|
||||
if (! method_exists(DataTables::class, $engine) && ! DataTables::hasMacro($engine)) {
|
||||
DataTables::macro($engine, function () use ($class) {
|
||||
if (! call_user_func_array([$class, 'canCreate'], func_get_args())) {
|
||||
throw new \InvalidArgumentException();
|
||||
}
|
||||
|
||||
return call_user_func_array([$class, 'create'], func_get_args());
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup package assets.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function setupAssets()
|
||||
{
|
||||
$this->mergeConfigFrom($config = __DIR__ . '/config/datatables.php', 'datatables');
|
||||
|
||||
if ($this->app->runningInConsole()) {
|
||||
$this->publishes([$config => config_path('datatables.php')], 'datatables');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if app uses Lumen.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function isLumen()
|
||||
{
|
||||
return Str::contains($this->app->version(), 'Lumen');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user