chomenko / extra-form
Installs: 709
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
Open Issues: 1
Type:extensions
pkg:composer/chomenko/extra-form
Requires
- php: >=5.6
 - kdyby/doctrine: ^3.3
 - nette/di: ^2.4
 - nette/forms: ^2.4
 - nettpack/stage: ^1.0
 - symfony/validator: ^4.2
 
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
- Simple form
 - With use symfony assert
 - Pairs list
 - Join pairs list
 - Relation pairs OneToMany ->relation record<- ManyToOne
 
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; } //......