/** * @param Parameter $parameter * @param File|null $file * @return string */ protected function renderImagePreservation(Parameter $parameter, File $file = null) { if ($file === null) { return ''; } return (string) new Element('p', [], [new Element('input', ['type' => 'hidden', 'name' => $parameter->getName() . '[name]', 'value' => $file->getName()]), new Element('input', ['type' => 'hidden', 'name' => $parameter->getName() . '[type]', 'value' => $file->getType()]), new Element('input', ['type' => 'hidden', 'name' => $parameter->getName() . '[data]', 'value' => base64_encode($file->getContent())]), (new FileRenderer())->render($file)]); }
private function getInnerParameter(Parameter $parameter) { $type = $parameter->getType(); if (!$type instanceof NullableType) { throw new \InvalidArgumentException("[{$type}] is not a NullableType"); } return new Parameter($parameter->getName() . '-value', $type->getType()); }
protected function renderComboBox(Parameter $parameter, $value, $fieldNameSuffix = '', $options = []) { $id = str_replace(['[', ']'], '-', $parameter->getName()); $optionsString = json_encode($options); $children = $this->renderOptions($parameter, (string) $value); $children[] = new Element('script', [], ["\n \$(function(){\n \$('#{$id}').combobox({$optionsString});\n });\n "]); return (string) new Element('select', ['name' => $parameter->getName() . $fieldNameSuffix, 'id' => $id, 'class' => 'form-control combobox'], $children); }
/** * @param Parameter $parameter * @param string $serialized * @return mixed * @throws \Exception */ public function inflate(Parameter $parameter, $serialized) { $param = new Parameter($parameter->getName(), $this->getType($parameter)->getOptionType()); $options = $this->getType($parameter)->getOptions(); if (!array_key_exists($serialized, $options)) { throw new \Exception("[{$serialized}] is not an option in [" . implode(',', array_keys($options)) . ']'); } return $this->fields->getField($param)->inflate($param, $options[$serialized]); }
/** * @param Parameter $parameter * @param mixed $value * @return string */ public function render(Parameter $parameter, $value) { /** @var RangeType $range */ $range = $parameter->getType(); $min = $range->getMin(); $max = $range->getMax(); $step = $range->getStep(); $value = is_null($value) ? $min : (int) $value; $name = $parameter->getName(); $id = str_replace(['[', ']'], ['-', ''], $name); return (string) new Element('div', ['class' => 'form-group', 'id' => $id], [new Element('div', ['class' => 'slider']), new Element('input', ['class' => 'amount form-control', 'type' => 'number', 'name' => $name, 'value' => $value]), new Element('script', [], ["\$(function() {\n \$('#{$id} .slider').slider({\n range: 'min',\n value: {$value},\n min: {$min},\n max: {$max},\n step: {$step},\n slide: function(event, ui) {\n \$('#{$id} .amount').val(ui.value);\n }\n });\n });"])]); }
/** * @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; }
private function lineParameter(Parameter $parameter, $lineNumber) { return new Parameter($parameter->getName() . '-' . $lineNumber, $parameter->getType()); }
/** * @param Parameter $parameter * @return boolean */ public function has(Parameter $parameter) { return $this->console->hasOption($parameter->getName()); }
/** * @param Parameter $parameter * @return boolean */ public function has(Parameter $parameter) { return $this->request->getArguments()->has($parameter->getName()); }
/** * @param Parameter $parameter * @param \DateInterval $value * @return string */ public function render(Parameter $parameter, $value) { return (string) new Element('div', [], [new Element('input', ['class' => 'form-control-inline', 'type' => 'number', 'size' => 3, 'name' => $parameter->getName() . '[d]', 'value' => $value->d]), new Element('span', [], ['days']), new Element('input', ['class' => 'form-control-inline', 'type' => 'number', 'size' => 3, 'name' => $parameter->getName() . '[h]', 'value' => $value->h]), new Element('span', [], ['hours']), new Element('input', ['class' => 'form-control-inline', 'type' => 'number', 'size' => 3, 'name' => $parameter->getName() . '[i]', 'value' => $value->i]), new Element('span', [], ['minutes'])]); }
/** * @param Parameter $parameter * @param mixed $value * @return string */ public function render(Parameter $parameter, $value) { return implode('', [new Element('input', ['type' => 'hidden', 'name' => $parameter->getName(), 'value' => 0]), new Element('input', array_merge(['class' => 'boolean-switch', 'type' => 'checkbox', 'name' => $parameter->getName(), 'value' => 1], $value ? ['checked' => 'checked'] : []))]); }
/** * @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 mixed $value * @return string */ public function render(Parameter $parameter, $value) { return (string) new Element('select', ['name' => $parameter->getName(), 'class' => 'form-control'], $this->renderOptions($parameter, $value)); }
/** * @param Parameter $parameter * @param mixed|null $value * @return string */ public function render(Parameter $parameter, $value) { $id = str_replace(['[', ']'], '-', $parameter->getName()); return implode("\n", array_merge([new Element('select', ['class' => 'form-control form-group', 'onchange' => "\$(this).next().hide().appendTo('body'); \$('#' + \$(this).val()).show().insertAfter(\$(this));"], $this->getOptions($parameter, $value, $id))], $this->renderOptions($parameter, $value, $id))); }
/** * @param Parameter $parameter * @param string $suffix * @return Parameter */ private function makeInnerParameter(Parameter $parameter, $suffix = '') { /** @var ArrayType $type */ $type = $parameter->getType(); return new Parameter($parameter->getName() . $suffix, $type->getItemType()); }
/** * @param Parameter $parameter * @param string $serialized * @return mixed */ public function inflate(Parameter $parameter, $serialized) { $param = new Parameter($parameter->getName(), $this->getType($parameter)->getOptionType()); return $this->fields->getField($param)->inflate($param, $this->getType($parameter)->getOptions()[(int) $serialized]); }
private function get(Parameter $parameter, $array) { if (isset($array[$parameter->getName()])) { return $array[$parameter->getName()]; } return null; }
/** * @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'] : [])); }
/** * @param Parameter $parameter * @param string $serialized * @return mixed */ public function inflate(Parameter $parameter, $serialized) { $primitiveParameter = new Parameter($parameter->getName(), $this->getType($parameter)->getPrimitive()); return $this->fields->getField($primitiveParameter)->inflate($primitiveParameter, $serialized); }
/** * @param Parameter $parameter * @return array|\rtens\domin\delivery\web\Element[] */ public function headElements(Parameter $parameter) { $action = $this->actions->getAction($parameter->getName()); $headElements = [self::descriptionCode()]; foreach ($action->parameters() as $parameter) { $field = $this->fields->getField($parameter); if ($field instanceof WebField) { $headElements = array_merge($headElements, $field->headElements($parameter)); } } return $headElements; }
private function makePropertyParameter(Parameter $parameter, Property $property) { return new Parameter($parameter->getName() . '[' . $property->name() . ']', $property->type(), $property->isRequired()); }
/** * @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 * @return boolean */ public function has(Parameter $parameter) { return $this->request->files->has($parameter->getName()) || $this->request->get($parameter->getName(), '__NOPEDINOPE__') != '__NOPEDINOPE__'; }
/** * @param Parameter $parameter * @return mixed The serialized paramater */ public function read(Parameter $parameter) { return $this->console->getOption($parameter->getName()); }
/** * @param Parameter $parameter * @return boolean */ public function has(Parameter $parameter) { return array_key_exists($parameter->getName(), $this->parameters); }
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'] : [])); }