PluginProbe
The Innovative Form Builder – IvyForms / 1.0
The Innovative Form Builder – IvyForms v1.0
1.5.1 1.5 1.4.1 1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 All 27 releases
ivyforms / backend / src / ValueObjects / Field / TimeFieldGeneralSettings.php

TimeFieldGeneralSettings.php in The Innovative Form Builder – IvyForms 1.0, at backend/src/ValueObjects/Field/TimeFieldGeneralSettings.php

132 lines 2.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * @copyright © Melograno Venture Studio. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace IvyForms\ValueObjects\Field;
9
10 /**
11 * Class TimeFieldGeneralSettings
12 *
13 * Encapsulates time-specific settings extracted from FieldGeneralSettings.
14 */
15 final class TimeFieldGeneralSettings
16 {
17 /**
18 * @var string
19 */
20 private string $timeFieldType;
21
22 /**
23 * @var string
24 */
25 private string $timeFormat;
26
27 /**
28 * @var string|null
29 */
30 private ?string $minTimeValue = null;
31
32 /**
33 * @var string|null
34 */
35 private ?string $maxTimeValue = null;
36
37 /**
38 * @var bool
39 */
40 private bool $limitTimeRange = false;
41
42 public function __construct(
43 bool $limitTimeRange,
44 string $timeFieldType = '',
45 string $timeFormat = '',
46 ?string $minTimeValue = null,
47 ?string $maxTimeValue = null
48 ) {
49 $this->timeFieldType = $timeFieldType;
50 $this->timeFormat = $timeFormat;
51 $this->minTimeValue = $minTimeValue;
52 $this->maxTimeValue = $maxTimeValue;
53 $this->limitTimeRange = $limitTimeRange;
54 }
55
56 /**
57 * Get timeFieldType.
58 */
59 public function getTimeFieldType(): string
60 {
61 return $this->timeFieldType;
62 }
63
64 /**
65 * Set timeFieldType.
66 */
67 public function setTimeFieldType(string $timeFieldType): void
68 {
69 $this->timeFieldType = $timeFieldType;
70 }
71
72 /**
73 * Get timeFormat.
74 */
75 public function getTimeFormat(): string
76 {
77 return $this->timeFormat;
78 }
79
80 /**
81 * Set timeFormat.
82 */
83 public function setTimeFormat(string $timeFormat): void
84 {
85 $this->timeFormat = $timeFormat;
86 }
87
88 public function getMinTimeValue(): ?string
89 {
90 return $this->minTimeValue;
91 }
92
93 public function setMinTimeValue(?string $minTimeValue): void
94 {
95 $this->minTimeValue = $minTimeValue;
96 }
97
98 public function getMaxTimeValue(): ?string
99 {
100 return $this->maxTimeValue;
101 }
102
103 public function setMaxTimeValue(?string $maxTimeValue): void
104 {
105 $this->maxTimeValue = $maxTimeValue;
106 }
107
108 public function getLimitTimeRange(): bool
109 {
110 return $this->limitTimeRange;
111 }
112
113 public function setLimitTimeRange(bool $limitTimeRange): void
114 {
115 $this->limitTimeRange = $limitTimeRange;
116 }
117
118 /**
119 * @return array<string, string|bool|null>
120 */
121 public function toArray(): array
122 {
123 return [
124 'timeFieldType' => $this->getTimeFieldType(),
125 'timeFormat' => $this->getTimeFormat(),
126 'minTimeValue' => $this->getMinTimeValue(),
127 'maxTimeValue' => $this->getMaxTimeValue(),
128 'limitTimeRange' => $this->getLimitTimeRange(),
129 ];
130 }
131 }
132