brookinsconsulting / bcknockoutjsbundle
Symfony BcKnockoutJSBundle
Installs: 16
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 4
Type:symfony-bundle
Requires
- php: >=5.6.0
- jms/di-extra-bundle: ^1.8
- symfony/symfony: 3.2.*
This package is auto-updated.
Last update: 2024-10-29 04:59:16 UTC
README
Integrates knockout.js into Symfony2, provides automatic code generation for collections.
1. Example
$builder
->add('items', 'knockout', array(
'type' => new OrderItemType(),
'allow_add' => true,
'allow_delete' => true,
'prototype' => true,
'by_reference' => false,
))
;
I have added the items field with the KnockoutType, which extends the CollectionType, and handled the same way as a collection.
2. Installation
2.1. Composer:
"brookinsconsulting/bcknockoutjsbundle": "dev-master",
2.2. AppKernel:
$bundles = array(
...
new BrookinsConsulting\BcKnockoutJSBundle\BcKnockoutJSBundle(),
);
2.3. config.yml:
imports:
...
- { resource: "@BcKnockoutJSBundle/Resources/config/config.yml" }
# BcKnockoutJS Bundle Configuration
jms_di_extra:
locations:
all_bundles: false
bundles: [BcKnockoutJSBundle]
directories: ["%kernel.root_dir%/../src"]
jms_di_extra configuration is unnecessary if you have set all_bundles to true which is strongly discouraged for performance reasons by the upstream dependant bundle in question.
2.4. Add the js to your page.
<script src="{{ asset('bundles/bcknockoutjs/js/knockout-3.4.1.js') }}"></script>
2.5. Create your view
{{ knockout(form.vars.knockout)|raw }}
{{ form_widget(form) }}
3. Dependencies
This package does infact depend upon the 'jms/di-extra-bundle' bundle.
For testing purposes the original author used his now private BaseBundle, if you want to test it, you have to include it in your composer.json file too.
4. Stuff to do
- Generator. Right now the command is there, but its not working properly.