From c90c181785f348b28823d0c397fc04c67bea91f9 Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 5 Jun 2020 19:39:09 +0200 Subject: [PATCH] Basic code for an object group select item thing. --- app/Support/ExpandedForm.php | 29 +++++++++++++++++++++++ resources/lang/en_US/form.php | 1 + resources/views/v1/form/object_group.twig | 9 +++++++ 3 files changed, 39 insertions(+) create mode 100644 resources/views/v1/form/object_group.twig diff --git a/app/Support/ExpandedForm.php b/app/Support/ExpandedForm.php index c782df7c27..a92b013279 100644 --- a/app/Support/ExpandedForm.php +++ b/app/Support/ExpandedForm.php @@ -436,4 +436,33 @@ class ExpandedForm return $html; } + + /** + * @param null $value + * @param array|null $options + * + * @return string + */ + public function objectGroup($value = null, array $options = null): string + { + $name = 'object_group'; + $label = $this->label($name, $options); + $options = $this->expandOptionArray($name, $label, $options); + $classes = $this->getHolderClasses($name); + $value = $this->fillFieldValue($name, $value); + $options['rows'] = 4; + + if (null === $value) { + $value = ''; + } + + try { + $html = view('form.object_group', compact('classes', 'name', 'label', 'value', 'options'))->render(); + } catch (Throwable $e) { + Log::debug(sprintf('Could not render objectGroup(): %s', $e->getMessage())); + $html = 'Could not render objectGroup.'; + } + + return $html; + } } diff --git a/resources/lang/en_US/form.php b/resources/lang/en_US/form.php index 15b70b0c23..518181efcd 100644 --- a/resources/lang/en_US/form.php +++ b/resources/lang/en_US/form.php @@ -38,6 +38,7 @@ return [ 'match' => 'Matches on', 'strict' => 'Strict mode', 'repeat_freq' => 'Repeats', + 'object_group' => 'Group', 'location' => 'Location', 'update_channel' => 'Update channel', 'currency_id' => 'Currency', diff --git a/resources/views/v1/form/object_group.twig b/resources/views/v1/form/object_group.twig new file mode 100644 index 0000000000..e94cee84fb --- /dev/null +++ b/resources/views/v1/form/object_group.twig @@ -0,0 +1,9 @@ +
+ + +
+ {{ Form.input('text', name, value, options) }} + {% include 'form/help' %} + {% include 'form/feedback' %} +
+