Exemple #1
0
 /**
  * @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;
 }
Exemple #3
0
 /**
  * @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]);
 }
Exemple #4
0
 /**
  * @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'] : []))]);
 }
Exemple #5
0
 /**
  * @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'] : []));
 }
Exemple #6
0
 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'] : []));
 }