Select Git revision
textarea.php
-
Marcin Kolanko authoredMarcin Kolanko authored
FormWithFields.php 4.72 KiB
<?php
namespace WPDesk\Forms\Form;
use Psr\Container\ContainerInterface;
use WPDesk\Forms\ContainerForm;
use WPDesk\Forms\Field;
use WPDesk\Forms\FieldProvider;
use WPDesk\Forms\Form;
use WPDesk\Persistence\Adapter\ArrayContainer;
use WPDesk\Persistence\ElementNotExistsException;
use WPDesk\Persistence\PersistentContainer;
use WPDesk\View\Renderer\Renderer;
class FormWithFields implements Form, ContainerForm, FieldProvider {
/**
* Unique form_id.
*
* @var string
*/
protected $form_id = 'form';
/**
* Updated data.
*
* @var array
*/
private $updated_data;
/**
* Form fields.
*
* @var Field[]
*/
private $fields;
/**
* FormWithFields constructor.
*
* @param array $fields Form fields.
* @param string $form_id Unique form id.
*/
public function __construct( array $fields, $form_id = 'form' ) {
$this->fields = $fields;
$this->form_id = $form_id;
$this->updated_data = null;
}
/**
* @inheritDoc
*/
public function is_submitted() {
return null !== $this->updated_data;
}
/**
* @inheritDoc
*/
public function add_field( Field $field ) {
$this->fields[] = $field;
}
/**
* @inheritDoc
*/
public function is_active() {
return true;
}
/**
* Add more fields to form.
*