diff --git a/src/freeform_next/Library/EETags/Transformers/FieldTransformer.php b/src/freeform_next/Library/EETags/Transformers/FieldTransformer.php index fcbb15ab..c35e5db1 100644 --- a/src/freeform_next/Library/EETags/Transformers/FieldTransformer.php +++ b/src/freeform_next/Library/EETags/Transformers/FieldTransformer.php @@ -127,6 +127,7 @@ public function transformField( $prefix . 'layout' => $this->getTableLayout($field), $prefix . 'use_script' => $field instanceof TableField ? $field->isUseScript() : null, $prefix . 'max_rows' => $field instanceof TableField ? $field->getMaxRows() : null, + $prefix . 'form' => $this->getForm($field), ]; if (null !== $columnCount && null !== $columnIndex) { @@ -184,6 +185,40 @@ private function getOptionValues(AbstractField $field) return $values ? implode(', ', $values) : ''; } + /** + * @param AbstractField $field + * + * @return array|null + */ + private function getForm(AbstractField $field) + { + $form = $field->getForm(); + + return [ + [ + 'form:id' => $form->getId(), + 'form:name' => $form->getName(), + 'form:handle' => $form->getHandle(), + 'form:description' => $form->getDescription(), + 'form:return_url' => $form->getReturnUrl(), + 'form:return' => $form->getReturnUrl(), + 'form:action' => $form->getCustomAttributes()->getAction(), + 'form:method' => $form->getCustomAttributes()->getMethod(), + 'form:class' => $form->getCustomAttributes()->getClass(), + 'form:page_count' => count($form->getPages()), + 'form:row_class' => $form->getCustomAttributes()->getRowClass(), + 'form:column_class' => $form->getCustomAttributes()->getColumnClass(), + 'form:field_id_prefix' => $form->getCustomAttributes()->getFieldIdPrefix(), + 'form:current_page' => [ + [ + 'page:index' => $form->getCurrentPage()->getIndex(), + 'page:label' => $form->getCurrentPage()->getLabel(), + ], + ], + ], + ]; + } + /** * @param AbstractField $field *