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 / Type / ToggleOptions.php
codepress-admin-columns / classes / Type Last commit date
Url 2 days ago ColumnFactoryDefinition.php 2 days ago ColumnId.php 2 days ago ColumnWidth.php 2 days ago DateRange.php 2 days ago EditorUrlFactory.php 2 days ago FileSize.php 2 days ago Group.php 2 days ago Groups.php 2 days ago Integration.php 2 days ago Integrations.php 2 days ago KeyGenerator.php 2 days ago Labels.php 2 days ago Link.php 2 days ago ListScreenId.php 2 days ago ListScreenIdGenerator.php 2 days ago ListScreenStatus.php 2 days ago OriginalColumn.php 2 days ago OriginalColumns.php 2 days ago PostTypeSlug.php 2 days ago Promo.php 2 days ago PromoCollection.php 2 days ago StartingPrice.php 2 days ago TableId.php 2 days ago TableIdCollection.php 2 days ago TableScreenContext.php 2 days ago TaxonomySlug.php 2 days ago ToggleOptions.php 2 days ago Uri.php 2 days ago Url.php 2 days ago UserId.php 2 days ago UserRole.php 2 days ago UserRoles.php 2 days ago Value.php 2 days ago ValueCollection.php 2 days ago
ToggleOptions.php
61 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Type;
6
7 use AC\Helper\Select\Option;
8 use InvalidArgumentException;
9
10 final class ToggleOptions
11 {
12 private Option $disabled;
13
14 private Option $enabled;
15
16 public function __construct(Option $disabled, Option $enabled)
17 {
18 $this->disabled = $disabled;
19 $this->enabled = $enabled;
20
21 $this->validate();
22 }
23
24 private function validate(): void
25 {
26 if ((string)$this->disabled->get_value() === (string)$this->enabled->get_value()) {
27 throw new InvalidArgumentException('Values for enabled and disabled cannot be the same.');
28 }
29 }
30
31 public function get_enabled(): Option
32 {
33 return $this->enabled;
34 }
35
36 public function get_disabled(): Option
37 {
38 return $this->disabled;
39 }
40
41 public static function create_from_values(string $disabled_value = '0', string $enabled_value = '1'): self
42 {
43 return new self(
44 new Option($disabled_value),
45 new Option($enabled_value),
46 );
47 }
48
49 public static function create_from_array(array $options): self
50 {
51 $first_key = array_key_first($options);
52 $last_key = array_key_last($options);
53
54 return new self(
55 new Option((string)$first_key, (string)$options[$first_key]),
56 new Option((string)$last_key, (string)$options[$last_key])
57 );
58 }
59
60 }
61