-
Notifications
You must be signed in to change notification settings - Fork 121
Closed
Description
Hi @running-coder,
I'm trying to set a dropdownFilter relying on the source groups. I encounter an issue : all the filters are duplicated (see below).
Here is my code :
$.typeahead({
debug: true,
input: '.js-typeahead',
minLength: 2,
maxItem: 10,
maxItemPerGroup: 4,
searchOnFocus: true,
accent: false,
order: null, //à laisser à null pour ne pas modifier l'ordre de l'historique
hint: false,
cache: true,
compression: true,
generateOnLoad: true,
display: ["code", "libelle"],
dropdownFilter: "Tout CASSINI",
href: "{{url}}",
template: function (item) {
var groupName = item.group;
var result = '<span>' +
'<span class="group">{{concept}} </span>' +
'<span class="hexaidabs">{{hexaidabs}} </span>' +
'<span class="code">({{code}}) </span>' +
'<span class="libelle">{{libelle}}</span>' +
'<span class="logo">' +
'<img src="/assets/jquerytypeahead/img/hockey_v1/{{img}}.gif">' +
'</span>' +
'</span>';
return result;
},
correlativeTemplate: true,
source: {
"mes derni\350res recherches": {
data: function () {
if (typeof Cookies.getJSON('CASSINISearchHistory') != "undefined") {
return Cookies.getJSON('CASSINISearchHistory')
}
else {
return []
}
}
//dynamic:true //NE FONCTIONNE PAS
},
"Urbanisme": {
url: "data/urba.json"
},
"Applications": {
url: "data/apps.json"
},
"Mod\350le m\351tier d'entreprise": {
url: "data/mme.json"
},
"Bases de donn\351es": {
url: "data/bdds.json"
},
"Services et pivots": {
url: "data/pfs.json"
},
"Technologies": {
url: "data/tecs.json"
}
},
callback: {
onShowLayout: function (node, query) {
console.log("onShowLayout");
},
onNavigateBefore: function (node, query, event) {
event.preventInputChange = true; // on ne met pas à jour le champ input lorsqu'on navigue dans la liste des résultats
if (~[38, 40].indexOf(event.keyCode)) { //flèches haut et bas
}
//bouton enter -> equivalent d'un click
if (event.keyCode === 13) {
window.location.href = $('.typeahead__item.active a:first').attr("href")
}
},
onClickBefore: function (node, a, query, event) { //cas du clic sur un élément proposé -> on atteint la page ou ou lance une recherche classique selon le cas
//console.log(node);
},
onSubmit: function (node, form, item, event) { //cas du lancement de la recherche sur un terme -> on lance une recherche classique
query = $(this)[0].query;
alert("lancement d'une recherche sur le terme (webservice) : " + query);
addToSearchHistory(query);
//debugger;
}
}
});
Any idea ? :-)