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');
/* Start to develop here. Best regards https://php-download.com/ */
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');
}
}
// SomeController.php
$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();