namespace Combodo\iTop\Form\Field; use Closure; /** * A field for Dates and Date & Times, supporting custom formats */ class DateTimeField extends StringField { /** @var string */ protected $sJSDateTimeFormat; /** @var string */ protected $sPHPDateTimeFormat; /** @var bool */ protected $bDateOnly; /** * @inheritDoc */ public function __construct(string $sId, Closure $onFinalizeCallback = null) { parent::__construct($sId, $onFinalizeCallback); $this->bDateOnly = false; } /** * Get the PHP format string * * @return string */ public function GetPHPDateTimeFormat() { return $this->sPHPDateTimeFormat; } /** * * @param string $sPHPDateTimeFormat * * @return \Combodo\iTop\Form\Field\DateTimeField */ public function SetPHPDateTimeFormat(string $sPHPDateTimeFormat) { $this->sPHPDateTimeFormat = $sPHPDateTimeFormat; return $this; } /** * @return string */ public function GetJSDateTimeFormat() { return $this->sJSDateTimeFormat; } /** * * @param string $sJSDateTimeFormat * * @return \Combodo\iTop\Form\Field\DateTimeField */ public function SetJSDateTimeFormat(string $sJSDateTimeFormat) { $this->sJSDateTimeFormat = $sJSDateTimeFormat; return $this; } /** * Set the DateOnly flag * * @param boolean $bDateOnly * * @return \Combodo\iTop\Form\Field\DateTimeField */ public function SetDateOnly(bool $bDateOnly) { $this->bDateOnly = $bDateOnly; return $this; } /** * @return bool */ public function IsDateOnly() { return $this->bDateOnly; } }