PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Table / TableScreenCollection.php
codepress-admin-columns / classes / Table Last commit date
InlineStyle 1 day ago ManageHeading 1 day ago ManageValue 1 day ago SaveHeading 1 day ago Service 1 day ago TableScreenRepository 1 day ago AdminHeadStyle.php 1 day ago ManageValueServiceFactory.php 1 day ago PrimaryColumn.php 1 day ago PrimaryColumnFactory.php 1 day ago SaveHeadingFactory.php 1 day ago Screen.php 1 day ago ScreenTools.php 1 day ago TableFormView.php 1 day ago TablePreference.php 1 day ago TableScreenCollection.php 1 day ago TableScreenRepository.php 1 day ago
TableScreenCollection.php
116 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Table;
6
7 use AC\Exception\IteratorException;
8 use AC\TableScreen;
9 use ArrayAccess;
10 use Countable;
11 use Iterator;
12 use ReturnTypeWillChange;
13
14 final class TableScreenCollection implements Iterator, Countable, ArrayAccess
15 {
16 /**
17 * @var TableScreen[]
18 */
19 private array $data = [];
20
21 public function __construct(array $table_screens = [])
22 {
23 array_map([$this, 'add'], $table_screens);
24 }
25
26 public function add(TableScreen $table_screen): void
27 {
28 $this->data[] = $table_screen;
29 }
30
31 public function current(): TableScreen
32 {
33 $current = current($this->data);
34
35 if (! $current instanceof TableScreen) {
36 throw IteratorException::from_current();
37 }
38
39 return $current;
40 }
41
42 public function next(): void
43 {
44 next($this->data);
45 }
46
47 public function key(): int
48 {
49 $key = key($this->data);
50
51 if (! is_int($key)) {
52 throw IteratorException::from_key();
53 }
54
55 return $key;
56 }
57
58 public function valid(): bool
59 {
60 return key($this->data) !== null;
61 }
62
63 public function rewind(): void
64 {
65 reset($this->data);
66 }
67
68 public function count(): int
69 {
70 return count($this->data);
71 }
72
73 #[ReturnTypeWillChange]
74 public function offsetExists($offset): bool
75 {
76 return isset($this->data[$offset]);
77 }
78
79 #[ReturnTypeWillChange]
80 public function offsetGet($offset)
81 {
82 return $this->data[$offset];
83 }
84
85 #[ReturnTypeWillChange]
86 public function offsetSet($offset, $value)
87 {
88 return $this->data[$offset] = $value;
89 }
90
91 #[ReturnTypeWillChange]
92 public function offsetUnset($offset)
93 {
94 unset($this->data[$offset]);
95 }
96
97 public function first(): ?TableScreen
98 {
99 $key = array_key_first($this->data);
100
101 return $key !== null
102 ? $this->data[$key]
103 : null;
104 }
105
106 public function last(): ?TableScreen
107 {
108 $key = array_key_last($this->data);
109
110 return $key !== null
111 ? $this->data[$key]
112 : null;
113 }
114
115 }
116