ColumnInstantiate.php
871 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
namespace ACA\MetaBox\Service;
use AC;
use ACA\MetaBox\Column;
use ACA\MetaBox\RelationshipRepository;
final class ColumnInstantiate implements AC\Registerable
{
/**
* @var RelationshipRepository
*/
private $relationship_repository;
public function __construct(RelationshipRepository $relationship_repository)
{
$this->relationship_repository = $relationship_repository;
}
public function register(): void
{
add_action('ac/list_screen/column_created', [$this, 'configure_column']);
}
public function configure_column(AC\Column $column)
{
if ($column instanceof Column\Relation) {
$relationship = $this->relationship_repository->get_by_column($column);
if ($relationship) {
$column->set_relation($relationship);
}
}
}
}