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 / Column / ColumnFactory.php
codepress-admin-columns / classes / Column Last commit date
Base.php 1 day ago BaseColumnFactory.php 1 day ago ColumnFactory.php 1 day ago ColumnIdGenerator.php 1 day ago ColumnLabelTrait.php 1 day ago Context.php 1 day ago CustomFieldContext.php 1 day ago GroupTrait.php 1 day ago LabelEncoder.php 1 day ago SettingUpdater.php 1 day ago
ColumnFactory.php
68 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Column;
6
7 use AC\Column;
8 use AC\FormatterCollection;
9 use AC\Setting\ComponentCollection;
10 use AC\Setting\Config;
11 use AC\Type\ColumnId;
12
13 abstract class ColumnFactory
14 {
15 abstract public function create(Config $config): Column;
16
17 abstract public function get_column_type(): string;
18
19 abstract public function get_label(): string;
20
21 protected function resolve_id(Config $config): ColumnId
22 {
23 $id = (string)$config->get('name');
24
25 if (ColumnId::is_valid_id($id)) {
26 return new ColumnId($id);
27 }
28
29 return (new ColumnIdGenerator())->generate();
30 }
31
32 public function get_description(): ?string
33 {
34 return null;
35 }
36
37 protected function get_settings(Config $config): ComponentCollection
38 {
39 return new ComponentCollection();
40 }
41
42 protected function get_context(Config $config): Context
43 {
44 return new Context($config, $this->get_label());
45 }
46
47 protected function get_formatters(Config $config): FormatterCollection
48 {
49 return $this->get_formatters_from_settings(
50 $this->get_settings($config)
51 );
52 }
53
54 private function get_formatters_from_settings(ComponentCollection $settings): FormatterCollection
55 {
56 $formatters = new FormatterCollection();
57
58 foreach ($settings as $setting) {
59 foreach ($setting->get_formatters() as $formatter) {
60 $formatters->add($formatter);
61 }
62 }
63
64 return $formatters;
65 }
66
67 }
68