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 / Service / ListScreen.php
codepress-admin-columns / classes / Table / Service Last commit date
ListScreen.php 2 days ago
ListScreen.php
71 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Table\Service;
6
7 use AC;
8 use AC\Registerable;
9 use AC\Services;
10 use AC\Table\InlineStyle\ColumnSize;
11 use AC\Table\PrimaryColumnFactory;
12 use AC\Table\TableFormView;
13
14 final class ListScreen implements Registerable
15 {
16 private AC\ListScreen $list_screen;
17
18 private PrimaryColumnFactory $primary_column_factory;
19
20 private ColumnSize $column_size;
21
22 public function __construct(
23 AC\ListScreen $list_screen,
24 PrimaryColumnFactory $primary_column_factory,
25 ColumnSize $column_size
26 ) {
27 $this->list_screen = $list_screen;
28 $this->primary_column_factory = $primary_column_factory;
29 $this->column_size = $column_size;
30 }
31
32 public function register(): void
33 {
34 $this->create_services()->register();
35
36 add_filter('list_table_primary_column', [$this, 'set_primary_column'], 20);
37 add_action('admin_head', [$this, 'admin_head_scripts']);
38 add_action('admin_footer', [$this, 'admin_footer_scripts']);
39 }
40
41 private function create_services(): Services
42 {
43 return new Services([
44 new TableFormView(
45 $this->list_screen->get_meta_type(),
46 sprintf('<input type="hidden" name="layout" value="%s">', $this->list_screen->get_id())
47 ),
48 ]);
49 }
50
51 public function set_primary_column($default): string
52 {
53 return $this->primary_column_factory
54 ->create($this->list_screen)
55 ->set_primary_column($default);
56 }
57
58 public function admin_head_scripts(): void
59 {
60 echo $this->column_size->render($this->list_screen);
61
62 do_action('ac/admin_head', $this->list_screen, $this);
63 }
64
65 public function admin_footer_scripts(): void
66 {
67 do_action('ac/table/admin_footer', $this->list_screen, $this);
68 }
69
70 }
71