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