TranslationLocalesSelectorTool   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 53
rs 10
ccs 16
cts 16
cp 1
wmc 6

6 Methods

Rating   Name   Duplication   Size   Complexity  
A handle() 0 6 1
A render() 0 5 1
A position() 0 3 1
A check() 0 3 1
A identifier() 0 3 1
A isCurrentLocale() 0 3 1
1
<?php
2
3
namespace Yaro\Jarboe\Table\Toolbar;
4
5
use Illuminate\Http\Request;
6
7
class TranslationLocalesSelectorTool extends AbstractTool
8
{
9
    /**
10
     * Position where should tool be placed.
11
     */
12 1
    public function position()
13
    {
14 1
        return self::POSITION_HEADER;
15
    }
16
17
    /**
18
     * Unique tool identifier.
19
     */
20 2
    public function identifier(): string
21
    {
22 2
        return 'translation_locales_selector';
23
    }
24
25
    /**
26
     * Tool's view.
27
     */
28 1
    public function render()
29
    {
30 1
        return view('jarboe::crud.toolbar.translation_locales_selector', [
31 1
            'tool' => $this,
32 1
            'locales' => $this->crud()->getLocales(),
33
        ]);
34
    }
35
36
    /**
37
     * Handle tool execution.
38
     * @param Request $request
39
     */
40 1
    public function handle(Request $request)
41
    {
42 1
        $this->crud()->saveCurrentLocale($request->get('locale'));
43
44 1
        return response()->json([
45 1
            'ok' => true,
46
        ]);
47
    }
48
49
    /**
50
     * Check allowance to show and process tool.
51
     */
52 1
    public function check(): bool
53
    {
54 1
        return true;
55
    }
56
57 1
    public function isCurrentLocale($locale)
58
    {
59 1
        return $this->crud()->getCurrentLocale() == $locale;
60
    }
61
}
62