chomenko/extra-form

There is no license information available for the latest version (v3.0.7) of this package.

v3.0.7 2019-11-19 11:42 UTC

This package is auto-updated.

Last update: 2024-03-19 21:59:48 UTC


README

What do you do?

  • Ability to work with the entity
  • Rendering bootstrap style
    • Grid allows you to create custom layouts without using templates
    • Input group
  • Allows you to use it symfony/validator in entities
  • Can be used on relation entity pairs list

Required:

  • nette/di
  • nette/forms
  • symfony/validator
  • kdyby/doctrine
  • nettpack/stage

Install

$ composer require chomenko/extra-form

Configure

extensions:
	ExtraForm: Chomenko\ExtraForm\DI\ExtraFormExtension

Events

Look on this example Simple event. Service tag extraForm.events.

If you do not use auto-install.

services:
	SimpleEvent:
		class: Examples\SimpleEvent\Event
		tags: ["extraForm.events"]

Form events

  • CRETE_FORM
  • INSTALL_ENTITY
  • BEFORE_ADD_COMPONENT
  • ADD_COMPONENT
  • BEFORE_RENDER
  • AFTER_RENDER

Elements events

  • ATTACHED
  • INSTALLED
  • SET_OPTION
  • ADD_CONSTRAINT
  • LOAD_HTTP_DATA
  • AFTER_LOAD_HTTP_DATA
  • SET_ITEMS
  • SET_VALUE
  • RENDER

There are not all things I want now.

Examples

To create the first form, look at the class Chomenko\ExtraForm\FormFactory

Entity forms

Events

Rendering

Builder preserve the order of the elements, so if you need to edit only two elements, you do not have to edit the whole form

<?php

	//......
	
	/**
	 * @return ExtraForm
	 */
	public function create(): ExtraForm
	{
		$form = $this->createForm();
		
		$form->addText('name', 'Name')
			->setRequired();
		
		$form->addText('surname', 'Surname')
			->setRequired();
		
		$form->addPassword('password', 'Password')
			->setRequired();
		
		$form->addSubmit('send', 'Sign in');
		
		$builder = $form->builder();
		
		$row = $builder->addRow();
		$row->addColMd(6, "name");
		$row->addColMd(6, ["surname"]);
		
		return $form;
	}
	
	//......