1 | <?php |
||
2 | |||
3 | namespace NovaFlexibleContent; |
||
4 | |||
5 | use Illuminate\Support\Arr; |
||
6 | use Illuminate\Support\Collection; |
||
7 | use Laravel\Nova\Events\ServingNova; |
||
8 | use Laravel\Nova\Nova; |
||
9 | use NovaFlexibleContent\Http\FlexibleAttribute; |
||
10 | use NovaFlexibleContent\Http\Middleware\InterceptFlexibleAttributes; |
||
11 | |||
12 | class ServiceProvider extends \Illuminate\Support\ServiceProvider |
||
13 | { |
||
14 | /** |
||
15 | * Bootstrap any application services. |
||
16 | * |
||
17 | * @return void |
||
18 | */ |
||
19 | 38 | public function boot(): void |
|
20 | { |
||
21 | 38 | $this->addMiddleware(); |
|
22 | |||
23 | 38 | Nova::serving(function (ServingNova $event) { |
|
0 ignored issues
–
show
|
|||
24 | 9 | Nova::script('flexible-content-field', __DIR__ . '/../dist/js/field.js'); |
|
25 | 9 | Nova::style('flexible-content-field', __DIR__ . '/../dist/css/field.css'); |
|
26 | |||
27 | 9 | Nova::provideToScript([ |
|
28 | 9 | 'flexible-content-field.flexible-attribute-key-name' => FlexibleAttribute::REGISTER_FLEXIBLE_FIELD_NAME, |
|
29 | 9 | 'flexible-content-field.file-indicator-prefix' => FlexibleAttribute::FILE_INDICATOR, |
|
30 | 9 | 'flexible-content-field.group-separator' => FlexibleAttribute::GROUP_SEPARATOR, |
|
31 | 9 | ]); |
|
32 | 38 | }); |
|
33 | |||
34 | 38 | if ($this->app->runningInConsole()) { |
|
35 | 38 | $this->publishes([ |
|
36 | 38 | __DIR__ . '/../config/nova-flexible-content.php' => config_path('nova-flexible-content.php'), |
|
37 | 38 | ], 'config'); |
|
38 | |||
39 | 38 | $this->commands([ |
|
40 | 38 | \NovaFlexibleContent\Console\Commands\GenerateIdeHelperLayoutsCommand::class, |
|
41 | 38 | ]); |
|
42 | } |
||
43 | |||
44 | 38 | $this->registerCollectionMacros(); |
|
45 | } |
||
46 | |||
47 | /** |
||
48 | * Register any application services. |
||
49 | * |
||
50 | * @return void |
||
51 | */ |
||
52 | 38 | public function register(): void |
|
53 | { |
||
54 | 38 | $this->mergeConfigFrom(__DIR__ . '/../config/nova-flexible-content.php', 'nova-flexible-content'); |
|
55 | } |
||
56 | |||
57 | /** |
||
58 | * Adds required middleware for Nova requests. |
||
59 | * |
||
60 | * @return void |
||
61 | */ |
||
62 | 38 | public function addMiddleware(): void |
|
63 | { |
||
64 | 38 | $router = $this->app['router']; |
|
65 | |||
66 | 38 | if ($router->hasMiddlewareGroup('nova')) { |
|
67 | 38 | $router->pushMiddlewareToGroup('nova', InterceptFlexibleAttributes::class); |
|
68 | |||
69 | 38 | return; |
|
70 | } |
||
71 | |||
72 | if (!$this->app->configurationIsCached()) { |
||
73 | config()->set('nova.middleware', array_merge( |
||
74 | config('nova.middleware', []), |
||
75 | [InterceptFlexibleAttributes::class] |
||
76 | )); |
||
77 | } |
||
78 | } |
||
79 | |||
80 | 38 | protected function registerCollectionMacros(): void |
|
81 | { |
||
82 | 38 | Collection::macro('isAssoc', function () { |
|
83 | return Arr::isAssoc($this->toBase()->all()); |
||
84 | 38 | }); |
|
85 | } |
||
86 | } |
||
87 |
This check looks for parameters that have been defined for a function or method, but which are not used in the method body.