lifo101 / typeahead-bundle Goto Github PK
View Code? Open in Web Editor NEWA Symfony2 bundle that provides an enhanced Bootstrap v3 Typeahead form type.
License: MIT License
A Symfony2 bundle that provides an enhanced Bootstrap v3 Typeahead form type.
License: MIT License
Hi!
I Just wanted to say thank you for yor bundle first! it is really helpful!
However I found myself stucked with a small issue (not a bug).
The plugin works really well with entity type field but won't work with simple string.
What if I wanted to store a user name without storing the whole user entity?
With a __toString it will be stored but then in my edit form I will get an error saying:
"Expected argument of type "object or array", "string" given"
After investigation, the issue comes from the data transformers strongly coupled with the form Type. Maybe you could inject them via the service container or create a second formType called 'simple_typeahead' which would allow autocomplete based on entities (reverse transformation) but wouldn't try to reload the field based on an object but a string/int.
Another option is just to test if the initial data to transform is an entity in the transformer and if it's not, do nothing.
I'll see if I can contribute and submit you a pull request soon ^^.
Thanks again!
Hello, everything is working ok, but spinner is never showing up, I tried to leave it as default or adding my own value like this one:
->add('code', 'entity_typeahead', array('required' => false,
'label' => Your code',
'class' => 'AppBundle:TheCode',
'render' => 'code',
'route' => 'list_codes',
'callback' => 'getCodeInfo',
'minLength' => 3,
'spinner' => "fa fa-spinner"
))
I'm running in dev
mode so I don't think is an assets thing, and the rest of things are properly styled (I have font awesome library also)
Thank you
Can you add license file? Is it MIT like braincrafted/bootstrap-bundle?
Hello, when in PROD mode (strangely it works in DEV mode) I get this error in prod.log
:
request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /js/lifo_typeahead.js" (from "http://example.com/example/new")" at /var/www/html/example/app/cache/prod/classes.php line 2512 {"exception":"[object] (Symfony\Component\HttpKernel\Exception\NotFoundHttpException(code: 0): No route found for "GET /js/lifo_typeahead.js"
I guess it's related to this part of my code, that I copied from README.md
without really understanding it:
<script src="{{asset( '/js/bootstrap.min.js') }}" type="text/javascript"></script>
{% javascripts filter='?yui_js' output='js/lifo_typeahead.js'
'@lifo_typeahead_js'
%}
<script src="{{ asset_url }}"></script>
As a maybe related issue, I stripped out de yui_css
part in next code due to another exception:
{% stylesheets filter='cssrewrite' output='css/lifo_typeahead.css'
'@lifo_typeahead_css'
-%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
Hello,
Instead of setting the default options into TypeaheadType's class, could you create a configuration file please ( for options delay, minLength, items, spinner)?
When using the source option to call a javascript function I get the above error. I declare the field like so
$builder->add('street', 'entity_typeahead', array(
'class' => 'AppBundle:Street',
'render' => 'name',
'source' => 'test',
'minLength' => 1,
'callback' => 'test2'
))
If I simply include the 'route' option it seems to resolve the issue and still calls the JS function but not sure why it would be required. Documentation says just one or the other.
When multiple select is enabled and the form name contains underscores (e.g. my_form_name) selected input elements have the wrong name values.
I have traced the issue to the following code in the js:
var name = id.split(//);
name = (name.length > 1 ? name.shift() + '[' + name.join('][') + ']' : name.join()) + '[]';
Hello
I'm trying this for a multiple (ManyToMany) relationship.
Existing items appear correctly in the unordered list.
I can delete an item, submit the form and it is deleted correctly.
I can add new items and they appear correctly in the unordered list but ...
When I submit the form, the new items are not posted.
I'm not sure where to begin to help debug but the $array parameter in
EntitiesToPropertyTransformer::reverseTransform does not contain newly added items.
The same code works if I replace the typeahead with a standard entity form component with multiple = true.
Thanks
After executing:
composer require lifo/typeahead-bundle dev-master
I'm getting following errors:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package lifo/typeahead-bundle dev-master dev-master could not be found
.
Problem 2
- Installation request for symfony/framework-standard-edition 2.2.x-dev -> satisfiable
by symfony/framework-standard-edition[2.2.x-dev].
- symfony/framework-standard-edition 2.2.x-dev requires lifo/typeahead-bundle dev-mast
er dev-master -> no matching package found.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stabi
lity setting
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more de
tails.
Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
Installation failed, reverting composer.json to its original content.
Any ideas what might went wrong?
Hi, Thanks for that wonderfull plugin, but what about support symfony 2.3?
Bootstrap 3 does not have typeahead. Instead they suggest using Twitters typeahead
Would it be possible to upgrade to this?
Hey, running into a bit of a snag.
I have the controller setup to return the JSON object, that bit is working.
I have the following code in my form object:
->add('localAccountExecs', 'entity_typeahead', [
'label' => 'Local Account Executive(s)',
'class' => 'AssociateBundle:Associate',
'render' => 'name',
'route' => 'associate_list',
])
My template looks like:
{{ form_row(form.localAccountExecs, {attr: {placeholder: 'Search for an associate...'}}) }}
When loading the form I get the following error:
Notice: Undefined index: 0000000063caf225000000000ef8ef71
Hi,
When we type somethink new to input and go to the next form element (the blur event is fired on the typehead) the entered data disappear.
Hi,
I have tried to use this bundle with symfony2.2, but I have the following error :
Variable "loadingIconUrl" does not exist in /var/www/myproject/vendor/lifo/typeahead-bundle/Lifo/TypeaheadBundle/Resources/views/Form/fields.html.twig at line 9
I have tried to define this property with empty string in fields.html.twig, the error disappears and my action works... but typeahead does'nt work :( . In my browser console I have the following error :
Uncaught TypeError: Cannot read property 'defaults' of undefined
Any idea ?
The bundle seem configured well :/
hey,
i integrate your bundle in my project for using it as tag input.
but i get this error
**
"Impossible to access an attribute ("id") on a null variable in LifoTypeaheadBundle:Form:typeahead.html.twig at line 62."
**
i use symfony 2.7, this is my form code:
->add('tags', 'entity_typeahead', array(
'class' => 'WF\TagBundle\Entity\Tag',
'render' => 'name',
'route' => 'wf_advert_tags',
'multiple' => true
));
Hi
Thanks for this. It's exactly what I was looking for and it works great!
A minor error but it caught me for a while as I blindly copied and pasted. The instructions say to add this to composer.json
"lifo/symfony-typeahead-bundle": "dev-master"
but it should be
"lifo/typeahead-bundle": "dev-master"
Can you give an example of using callback parameter? I tryed all these and nothing happens when I click an item:
$builder
->add('the_list', 'entity_typeahead', array('label' => 'A list',
'class' => 'AppBundle:TheList',
'render' => 'name',
'route' => 'the_list',
'mapped' => false,
'callback' => 'alert(text)'
))
Also
'callback' => 'function(text, data) {alert(text);}'
Nothing happens, no error, no action. I can see the attribute data-callback="function(text, data) {alert(text);}"
is correctly set.
Also, I can't see the spinner when waiting response, maybe these problems are related
I got the parsing error from javascript source of your code.
my json output was like :
[{"id":1,"value":"test"},{"id":2,"value":"test2"}]
and the success method of $.ajax acts like its string and it parsed all string like an array ( which is count of string )
I guess there were problem in intelligient guess method of jquery but just we can simply add
dataType: "json",
into typeheadjs which under the $.ajax. This will fix the problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.