Bonjour,
Pour ceux que l'auto-remplissage intéresse voici quelques variantes:
Le plus simple est de démarrer avec ce script :
var anotherLib = libByName("Lib2");
entries = anotherLib.find(query + "*");
resultArray = [];
for (i in entries )
{
object = {};
object["Obj1"]=entries[i].title;
resultArray.push(object);
}
result(resultArray);
Pour "y" par exemple cela vous donne une liste de résultats de requête comme :
[Obj1:xyz]
[Obj1:abcy]
[Obj1:ghiy]
[Obj1:abcy]
Première inconvénient, ont peut voir que la ligne 2 et 4 sont identiques, pour supprimer les résultats déjà présents, ont peut ajouter:
tempArray = [];
if(tempArray.indexOf(entries[i].title) === -1)
tempArray.push(entries[i].title);
Donc le script devient :
var anotherLib = libByName("Lib2");
entries = anotherLib.find(query + "*");
resultArray = [];
tempArray = [];
for (i in entries )
{
if(tempArray.indexOf(entries[i].title) === -1)
tempArray.push(entries[i].title);
object = {};
object["Obj1"]=entries[i].title;
resultArray.push(object);
}
}
result(resultArray);
Toujours pour "y" par exemple maintenant cela vous donne une liste de résultats de requête comme :
[Obj1:xyz]
[Obj1:abcy]
[Obj1:ghiy]
C'est cool, mais cela serait mieux classé par ordre alphabétique, ont va donc ajouter une fonction ( a,b )
resultArray.sort(function(a, b)
{
var x = a.title.toLowerCase();
var y = b.title.toLowerCase();
return x < y ? -1 : x > y ? 1 : 0;
});
Le script devient :
var anotherLib = libByName("Lib2");
entries = anotherLib.find(query + "*");
resultArray = [];
tempArray = [];
for (i in entries )
{
if(tempArray.indexOf(entries[i].title) === -1)
tempArray.push(entries[i].title);
object = {};
object["Obj1"]=entries[i].title;
resultArray.push(object);
}
}
resultArray.sort(function(a, b)
{
var x = a.title.toLowerCase();
var y = b.title.toLowerCase();
return x < y ? -1 : x > y ? 1 : 0;
});
result(resultArray);
Encore et toujours pour "y" par exemple maintenant cela vous donne une liste de résultats de requête comme :
[Obj1:abcy]
[Obj1:ghiy]
[Obj1:xyz]
L'on voit que les enregistrements trouvés avec "y" dans l'identifiant (title) sont classés par ordre alphabétique et les doublons sont supprimés.
Bon scripts à vous.
Gilles.