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 / ColumnSize / ListStorage.php
codepress-admin-columns / classes / ColumnSize Last commit date
ListStorage.php 1 day ago UserStorage.php 1 day ago
ListStorage.php
87 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\ColumnSize;
6
7 use AC\Column;
8 use AC\Column\SettingUpdater;
9 use AC\ColumnIterator;
10 use AC\Type\ColumnId;
11 use AC\Type\ColumnWidth;
12 use AC\Type\ListScreenId;
13 use InvalidArgumentException;
14
15 class ListStorage
16 {
17 private SettingUpdater $setting_updater;
18
19 public function __construct(SettingUpdater $setting_updater)
20 {
21 $this->setting_updater = $setting_updater;
22 }
23
24 public function save(ListScreenId $list_id, ColumnId $column_id, ColumnWidth $column_width): void
25 {
26 $this->setting_updater->update($list_id, $column_id, [
27 'width' => (string) $column_width->get_value(),
28 'width_unit' => $column_width->get_unit(),
29 ]);
30 }
31
32 public function get(Column $column): ?ColumnWidth
33 {
34 return $this->create($column);
35 }
36
37 /**
38 * @return ColumnWidth[]
39 */
40 public function get_all(ColumnIterator $columns): array
41 {
42 $results = [];
43
44 foreach ($columns as $column) {
45 $width = $this->create($column);
46
47 if ($width) {
48 $results[(string) $column->get_id()] = $width;
49 }
50 }
51
52 return $results;
53 }
54
55 private function create(Column $column): ?ColumnWidth
56 {
57 $width_setting = $column->get_setting('width');
58
59 if (! $width_setting) {
60 return null;
61 }
62
63 $width = (int) $width_setting->get_input()->get_value();
64
65 if ($width < 1) {
66 return null;
67 }
68
69 $unit_setting = $column->get_setting('width_unit');
70
71 if (! $unit_setting) {
72 return null;
73 }
74
75 $unit = (string) $unit_setting->get_input()->get_value();
76
77 try {
78 $width = new ColumnWidth($unit, $width);
79 } catch (InvalidArgumentException $e) {
80 return null;
81 }
82
83 return $width;
84 }
85
86 }
87