Skip to content

Commit

Permalink
Merge factory for template & normal form, rename method setProcessor …
Browse files Browse the repository at this point in the history
…to addProcessor
  • Loading branch information
jsifalda committed Sep 28, 2013
1 parent 6272034 commit 1df9474
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 184 deletions.
78 changes: 0 additions & 78 deletions Flame/Forms/Factory.php

This file was deleted.

78 changes: 75 additions & 3 deletions Flame/Forms/FormFactory.php
Expand Up @@ -8,26 +8,98 @@
namespace Flame\Forms;

use Flame\Application\UI\Form;
use Flame\Application\UI\TemplateForm;
use Nette\Forms\IFormRenderer;
use Nette\Localization\ITranslator;
use Nette\Object;

class FormFactory extends Factory implements IFormFactory
class FormFactory extends Object implements IFormFactory
{

/** @var \Nette\Localization\ITranslator */
private $translator;

/** @var \Nette\Forms\IFormRenderer */
private $renderer;

/** @var array|IFormProcessor[] */
private $processors = array();

/**
* Set translate adapter
*
* @param ITranslator $translator
* @return $this
*/
public function setTranslator(ITranslator $translator = null)
{
$this->translator = $translator;
return $this;
}

/**
* Sets form renderer
*
* @param IFormRenderer $renderer
* @return $this
*/
public function setRenderer(IFormRenderer $renderer = null)
{
$this->renderer = $renderer;
return $this;
}

/**
* Set form processor
*
* @param IFormProcessor $processor
* @return $this
*/
public function addProcessor(IFormProcessor $processor = null)
{
if($processor !== null) {
$this->processors[] = $processor;
}

return $this;
}

/**
* Create base Form
*
* @return \Flame\Application\UI\Form
*/
public function createForm()
{
$form = new Form;
return $this->initForm(new Form);
}

/**
* Create base Form with template
*
* @return \Flame\Application\UI\TemplateForm
*/
public function createTemplateForm()
{
return $this->initForm(new TemplateForm);
}

/**
* @param Form $form
* @return Form
*/
private function initForm(Form &$form)
{
$form->setTranslator($this->translator);

if($this->renderer !== null) {
$form->setRenderer($this->renderer);
}
$this->attachProcessors($form);

foreach ($this->processors as $processor) {
$processor->attach($form);
}

return $form;
}
}
9 changes: 8 additions & 1 deletion Flame/Forms/IFormFactory.php
Expand Up @@ -20,6 +20,13 @@ interface IFormFactory
*/
public function createForm();

/**
* Create base Form with template
*
* @return \Flame\Application\UI\TemplateForm
*/
public function createTemplateForm();

/**
* Set translate adapter
*
Expand All @@ -43,6 +50,6 @@ public function setRenderer(IFormRenderer $renderer = null);
* @param IFormProcessor $processor
* @return $this
*/
public function setProcessor(IFormProcessor $processor = null);
public function addProcessor(IFormProcessor $processor = null);

}
56 changes: 0 additions & 56 deletions Flame/Forms/ITemplateFormFactory.php

This file was deleted.

46 changes: 0 additions & 46 deletions Flame/Forms/TemplateFormFactory.php

This file was deleted.

0 comments on commit 1df9474

Please sign in to comment.