/** * @param Parameter $parameter * @param string $serialized * @return \DateInterval */ public function inflate(Parameter $parameter, $serialized) { if (!$serialized) { return $parameter->isRequired() ? new \DateInterval('P0D') : null; } $days = intval($serialized['d']); $hours = intval($serialized['h']); $minutes = intval($serialized['i']); return new \DateInterval("P{$days}DT{$hours}H{$minutes}M"); }
/** * @param Parameter $parameter * @return string * @throws \Exception */ public function read(Parameter $parameter) { $prompt = $parameter->getName(); if ($parameter->isRequired()) { $prompt = $prompt . '*'; } $field = $this->getField($parameter); $description = $field->getDescription($parameter); if ($description !== null) { $prompt .= ' ' . $description; } $value = $this->console->read($prompt . ': '); while ($parameter->isRequired() && !$value) { $value = $this->console->read($prompt . ': '); } return $value; }
/** * @param Parameter $parameter * @param Text $value * @return string */ public function render(Parameter $parameter, $value) { return (string) new Element('textarea', array_merge(['name' => $parameter->getName(), 'class' => 'form-control'], $parameter->isRequired() ? ['required' => 'required'] : []), [$value ? $value->getContent() : null]); }
/** * @param Parameter $parameter * @param null|\DateTimeInterface $value * @return string */ public function render(Parameter $parameter, $value) { return (string) new Element('div', ['class' => 'input-group date datetimepicker', 'style' => 'width: 100%;'], [new Element('span', ['class' => 'input-group-addon', 'onclick' => "\$(this).closest('.datetimepicker').datetimepicker(dateTimePickerSettings); \$(this).siblings('.hidden').toggleClass('hidden'); \$(this).remove(); return false;"], [new Element('span', ['class' => 'glyphicon glyphicon-calendar', 'style' => 'opacity: 0.5'])]), new Element('span', ['class' => 'input-group-addon hidden'], [new Element('span', ['class' => 'glyphicon glyphicon-calendar'])]), new Element('input', array_merge(['type' => 'text', 'name' => $parameter->getName(), 'class' => 'form-control', 'value' => $value ? $this->serialize($value) : null], $parameter->isRequired() ? ['required' => 'required'] : []))]); }
/** * @param Parameter $parameter * @param Color $value * @return string */ public function render(Parameter $parameter, $value) { return (string) new Element('input', array_merge(['type' => 'color', 'name' => $parameter->getName(), 'value' => $value ? $value->asHex() : ''], $parameter->isRequired() ? ['required' => 'required'] : [])); }
public function render(Parameter $parameter, $value) { return (string) new Element('input', array_merge(['class' => 'form-control', 'type' => 'text', 'name' => $parameter->getName(), 'value' => $value], $parameter->isRequired() ? ['required' => 'required'] : [])); }