Updates
This commit is contained in:
144
vendor/yajra/laravel-datatables-oracle/src/DatatablesServiceProvider.php
vendored
Normal file
144
vendor/yajra/laravel-datatables-oracle/src/DatatablesServiceProvider.php
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
|
||||
namespace Yajra\Datatables;
|
||||
|
||||
use Collective\Html\HtmlServiceProvider;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use League\Fractal\Manager;
|
||||
use League\Fractal\Serializer\DataArraySerializer;
|
||||
use Maatwebsite\Excel\ExcelServiceProvider;
|
||||
use Yajra\Datatables\Generators\DataTablesMakeCommand;
|
||||
use Yajra\Datatables\Generators\DataTablesScopeCommand;
|
||||
|
||||
/**
|
||||
* Class DatatablesServiceProvider.
|
||||
*
|
||||
* @package Yajra\Datatables
|
||||
* @author Arjay Angeles <aqangeles@gmail.com>
|
||||
*/
|
||||
class DatatablesServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Indicates if loading of the provider is deferred.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $defer = false;
|
||||
|
||||
/**
|
||||
* Bootstrap the application events.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
$this->loadViewsFrom(__DIR__ . '/resources/views', 'datatables');
|
||||
|
||||
$this->publishAssets();
|
||||
|
||||
$this->registerCommands();
|
||||
}
|
||||
|
||||
/**
|
||||
* Publish datatables assets.
|
||||
*/
|
||||
protected function publishAssets()
|
||||
{
|
||||
$this->publishes([
|
||||
__DIR__ . '/config/config.php' => config_path('datatables.php'),
|
||||
], 'datatables');
|
||||
|
||||
$this->publishes([
|
||||
__DIR__ . '/resources/assets/buttons.server-side.js' => public_path('vendor/datatables/buttons.server-side.js'),
|
||||
], 'datatables');
|
||||
|
||||
$this->publishes([
|
||||
__DIR__ . '/resources/views' => base_path('/resources/views/vendor/datatables'),
|
||||
], 'datatables');
|
||||
}
|
||||
|
||||
/**
|
||||
* Register datatables commands.
|
||||
*/
|
||||
protected function registerCommands()
|
||||
{
|
||||
$this->commands(DataTablesMakeCommand::class);
|
||||
$this->commands(DataTablesScopeCommand::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
if ($this->isLumen()) {
|
||||
require_once 'fallback.php';
|
||||
}
|
||||
|
||||
$this->registerRequiredProviders();
|
||||
|
||||
$this->app->singleton('datatables', function () {
|
||||
return new Datatables($this->app->make(Request::class));
|
||||
});
|
||||
|
||||
$this->app->singleton('datatables.fractal', function () {
|
||||
$fractal = new Manager;
|
||||
$config = $this->app['config'];
|
||||
$request = $this->app['request'];
|
||||
|
||||
$includesKey = $config->get('datatables.fractal.includes', 'include');
|
||||
if ($request->get($includesKey)) {
|
||||
$fractal->parseIncludes($request->get($includesKey));
|
||||
}
|
||||
|
||||
$serializer = $config->get('datatables.fractal.serializer', DataArraySerializer::class);
|
||||
$fractal->setSerializer(new $serializer);
|
||||
|
||||
return $fractal;
|
||||
});
|
||||
|
||||
$this->registerAliases();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if app uses Lumen.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function isLumen()
|
||||
{
|
||||
return str_contains($this->app->version(), 'Lumen');
|
||||
}
|
||||
|
||||
/**
|
||||
* Register 3rd party providers.
|
||||
*/
|
||||
protected function registerRequiredProviders()
|
||||
{
|
||||
$this->app->register(HtmlServiceProvider::class);
|
||||
$this->app->register(ExcelServiceProvider::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create aliases for the dependency.
|
||||
*/
|
||||
protected function registerAliases()
|
||||
{
|
||||
if (class_exists('Illuminate\Foundation\AliasLoader')) {
|
||||
$loader = \Illuminate\Foundation\AliasLoader::getInstance();
|
||||
$loader->alias('Datatables', \Yajra\Datatables\Facades\Datatables::class);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the services provided by the provider.
|
||||
*
|
||||
* @return string[]
|
||||
*/
|
||||
public function provides()
|
||||
{
|
||||
return ['datatables'];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user