MultipleForm.php 728 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Dcat\Admin\Form;
  3. use Dcat\Admin\Form;
  4. use Dcat\Admin\Widgets\Form as WidgetForm;
  5. class MultipleForm extends WidgetForm
  6. {
  7. /**
  8. * @var Form
  9. */
  10. protected $form;
  11. /**
  12. * @var Builder
  13. */
  14. protected $builder;
  15. public function __construct(Form $form)
  16. {
  17. $this->form = $form;
  18. $this->builder = $form->builder();
  19. $this->initFormAttributes();
  20. }
  21. /**
  22. * Add a form field to form.
  23. *
  24. * @param Field $field
  25. * @return $this
  26. */
  27. public function pushField(Field &$field)
  28. {
  29. array_push($this->fields, $field);
  30. $field->setForm($this->form);
  31. $field::collectAssets();
  32. return $this;
  33. }
  34. }