PHP code example of tienvx / ux-collection-js
1. Go to this page and download the library: Download tienvx/ux-collection-js library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once ('vendor/autoload.php' );
tienvx / ux-collection-js example snippets
use Tienvx \UX \CollectionJs \Form \CollectionJsType ;
class PostType extends AbstractType
{
public function buildForm (FormBuilderInterface $builder, array $options)
{
$builder
->add('authors' , CollectionJsType::class, [
'entry_type' => TextType::class,
'prototype' => true ,
'allow_add' => true ,
'allow_delete' => true ,
'allow_move_up' => true ,
'allow_move_down' => true ,
'call_post_add_on_init' => true ,
])
;
}
}
namespace App \Controller \EasyAdmin ;
use Tienvx \UX \CollectionJs \Form \CollectionJsType ;
class FormFieldReferenceController extends AbstractCrudController
{
public function configureCrud (Crud $crud) : Crud
{
return $crud
->setFormThemes(['@EasyAdmin/crud/form_theme.html.twig' , '@CollectionJs/bootstrap_5_layout.html.twig' ]);
}
public function configureFields (string $pageName) : iterable
{
yield CollectionField::new('collectionSimple' , 'Collection Field (simple)' )
->setFormType(CollectionJsType::class)
->setFormTypeOptions([
'entry_type' => CollectionSimpleType::class,
'allow_add' => true ,
'allow_delete' => true ,
'allow_move_up' => true ,
'allow_move_down' => true ,
'call_post_add_on_init' => true ,
])
->addWebpackEncoreEntries('stimulus' );
}
}
$form = $this ->createFormBuilder($task)
->add('some_field' , SomeType::class, [
'attr' => [
'data-controller' => 'items' ,
'data-action' => 'ux-collection-js:post-add->items#postAdd ux-collection-js:post-delete->items#postDelete ' ,
],
])
->getForm();