PermissionBuilder   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 1
dl 0
loc 38
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 7 1
A loadNovaTranslations() 0 12 1
A renderNavigation() 0 4 1
1
<?php
2
3
namespace BBSLab\NovaPermission;
4
5
use Laravel\Nova\Nova;
6
use Laravel\Nova\Tool;
7
8
class PermissionBuilder extends Tool
9
{
10
    /**
11
     * Perform any tasks that need to happen when the tool is booted.
12
     *
13
     * @return void
14
     */
15
    public function boot()
16
    {
17
        Nova::script('nova-permission', __DIR__.'/../dist/js/tool.js');
18
        Nova::style('nova-permission', __DIR__.'/../dist/css/tool.css');
19
20
        $this->loadNovaTranslations();
21
    }
22
23
    protected function loadNovaTranslations()
24
    {
25
        $translations = collect(trans('nova-permission::permission-builder'))->mapWithKeys(function ($value, $key) {
26
            return ["permission-builder::{$key}" => $value];
27
        })->toArray();
28
29
        Nova::translations($translations);
30
31
        Nova::provideToScript([
32
            'translations' => Nova::allTranslations(),
33
        ]);
34
    }
35
36
    /**
37
     * Build the view that renders the navigation links for the tool.
38
     *
39
     * @return \Illuminate\View\View
40
     */
41
    public function renderNavigation()
42
    {
43
        return view('nova-permission::navigation');
44
    }
45
}
46