From 522801902c51cab721ab9b6601d3e44ddcea673f Mon Sep 17 00:00:00 2001 From: Kaya Date: Tue, 16 May 2017 11:51:11 +0200 Subject: [PATCH] support for seconds field, fixed widget option not read from property field --- CHANGELOG.md | 6 ++++++ src/ride/web/orm/form/ScaffoldComponent.php | 24 ++++++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 599a67f..5c13728 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# [1.5.0] +## Added +- support for seconds field +## Updated +- fixed widget option not read from property field + # [1.4.0] ## Added - added scaffold form component option diff --git a/src/ride/web/orm/form/ScaffoldComponent.php b/src/ride/web/orm/form/ScaffoldComponent.php index b562915..f89209f 100644 --- a/src/ride/web/orm/form/ScaffoldComponent.php +++ b/src/ride/web/orm/form/ScaffoldComponent.php @@ -484,6 +484,10 @@ protected function addPropertyRow(FormBuilder $builder, ModelField $field, $labe $rowOptions['component'] = new DateTimeComponent(); } elseif ($type == 'date') { $rowOptions['round'] = true; + } elseif ($type == 'seconds') { + $type = 'time'; + $rowOptions['seconds'] = true; + $rowOptions['hours'] = false; } elseif ($type == 'label') { $decorator = $field->getOption('scaffold.form.decorator'); if ($decorator) { @@ -579,6 +583,13 @@ protected function addPropertyRow(FormBuilder $builder, ModelField $field, $labe protected function addOptionRow(FormBuilder $builder, ModelField $field, $label, $description, array $filters, array $validators, array $options, $type) { $options = $this->ormService->getFieldInputOptions($this->model, $field, $options['translator'], $options['data']); + if ($type == 'object') { + $widget = 'option'; + } else { + $widget = $type; + } + $widget = $field->getOption('scaffold.form.widget', $widget); + $rowOptions = array( 'label' => $label, 'description' => $description, @@ -586,10 +597,11 @@ protected function addOptionRow(FormBuilder $builder, ModelField $field, $label, 'attributes' => array( 'data-toggle-dependant' => 'option-' . $field->getName(), ), + 'multiple' => $field instanceof HasManyField, 'localized' => $field->isLocalized(), 'filters' => $filters, 'validators' => $validators, - 'widget' => 'option', + 'widget' => $widget, ); $fieldDependency = $this->getFieldDependency($field); @@ -598,19 +610,11 @@ protected function addOptionRow(FormBuilder $builder, ModelField $field, $label, } if (!$field instanceof PropertyField) { - if ($type == 'object') { - $type = null; - } + $this->proxy[$field->getName()] = true; - $rowOptions['widget'] = $field->getOption('scaffold.form.widget', $type); - $rowOptions['multiple'] = $field instanceof HasManyField; $rowOptions['order'] = $rowOptions['multiple'] && $field->isOrdered(); $type = 'option'; - - $this->proxy[$field->getName()] = true; - } else { - $rowOptions['multiple'] = false; } if (!$rowOptions['multiple'] && $rowOptions['widget'] != 'option') {