GridGenerera::visa()   A
last analyzed

Complexity

Conditions 6
Paths 12

Size

Total Lines 35
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 15
CRAP Score 6.3357

Importance

Changes 0
Metric Value
cc 6
eloc 19
nc 12
nop 0
dl 0
loc 35
ccs 15
cts 19
cp 0.7895
crap 6.3357
rs 9.0111
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Klass GridGenerera.
5
 * @author Niklas Dougherty
6
 */
7
8
declare(strict_types=1);
9
10
namespace Tips\Klasser\Omgang;
11
12
use Tips\Klasser\Tips;
13
use Tips\Egenskaper\Varden;
14
15
/**
16
 * Klass GridGenerera.
17
 */
18
final class GridGenerera {
19
	use Varden;
20
21
	/**
22
	 * Initiera.
23
	 */
24 1
	public function __construct(private Tips $tips) {
25 1
		$this->hämta_värden($this->tips->spel->db);
26
	}
27
28
	/**
29
	 * Visa grid.
30
	 */
31 1
	public function visa(): string {
32 1
		$sekvenssträng =  '';
33 1
		$grid_generera = '';
34
35
		/**
36
		 * Rullgardin för sekvenser.
37
		 */
38 1
		foreach ($this->tips->utdelning->spel->sekvenser as $sekvens) {
39 1
			$vald = ($this->tips->utdelning->spel->sekvens === $sekvens) ? ' selected="selected"' : '';
40 1
			$sekvenssträng .= t(8, "<option$vald>$sekvens</option>");
41
		}
42
43 1
		if (count($this->tips->utdelning->spel->sekvenser) > 1 || $this->tips->spelade->spelad) {
44 1
			$grid_generera = <<< EOT
45 1
						<p>
46
							<select id="sekvens">
47 1
$sekvenssträng							</select>
48 1
							<button id="radera_sekvens" value="{$this->tips->utdelning->spel->sekvens}">❌</button>
49
						</p>
50
51 1
EOT;
52
		}
53
54
		/**
55
		 * Knapp för att generera tipsrader.
56
		 */
57 1
		$grid_generera .= $this->tips->spelade->spelad ?
58 1
			rtrim(t(6, "<p><input type=\"submit\" value=\"➕ Ny sekvens\" id=\"ny_sekvens\"></p>")) :
59
			<<< EOT
60
						<form id="generera" method="post" action="/#flikar-genererat">
61
							<p><button class="generera" name="generera">⚽️ Generera {$this->max_rader}</button></p>
62
						</form>
63
EOT;
64
65 1
		return $grid_generera;
66
	}
67
}
68