ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

lib jquery, jquery ui, bootstrap -> conflit ? #29

Closed davidjrme closed 10 years ago

davidjrme commented 10 years ago

Salut!

J'ai tenté d'intégrer la complétion de jquery ui sur un champ input mais j'obtient l'erreur suivante: Cannot read property 'element' of undefined J'ai donc envisager un problème avec les librairies et tester un $.getScript de jquery puis jquery ui, d'abord avec les scripts distants (http://code.jquery.com/) puis avec les scripts fournis avec le cms. Cette méthode permet de faire fonctionner la complétion. Mais cette solution fait doublon...

Code non fonctionnel (utilise les libs locals):

var tagsAvailable = ['un', 'deux'];
$("#input_completion").autocomplete({source : tagsAvailable });

Et même en remplaçant les libs dans le template par les versions en ligne (qui sont les mêmes), impossible de faire fonctionner la complétion.

Code fonctionnel (utilise les libs distantes)

$.getScript("http://code.jquery.com/jquery-1.9.1.js", 
function() { $.getScript("http://code.jquery.com/ui/1.10.3/jquery-ui.js", function() {
var tagsAvailable = ['un', 'deux'];
$("#input_completion").autocomplete({ source : 'tagsAvailable });
});
});

J'ai également un problème avec une modal bootstrap. Lorsque j'appel modal('show'), j'obtient une erreur du type: l'objet ne possède pas de méthode modal()

ldleman commented 10 years ago

Yop !!

Donc dans le dernier commit j'ai réduit jquery ui a la seule fonction datepicker, toutes les autres fonctions sont assurées par boostrap.

Pour simplifer la comprehension j'ai renommé la fonction d'autocomplete de boostrap (nommé typeahead) en "autocomplete" que je trouve plus logique, par contre les options restet celles de boostrap.

Donc tu devrais pouvoir faire en natif :

$(".input_completion").autocomplete({source : ['un', 'deux'] });
davidjrme commented 10 years ago

Parfait! J'ai testé et pour l'instant j'obtient un comportement normal :D Merci ;)