IDBIndex.isAutoLocale

Cet article nécessite une relecture technique. Voici comment vous pouvez aider.

Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété isAutoLocale de l'interface IDBIndex renvoie un booléen indiquant si la valeur de locale à été paramétré sur auto lors de la mise en place de l'index (voir les paramètres IDBObjectStore.createIndex).

Syntaxe

var indexAotuLocale = myIndex.isAutoLocale

Valeur

Un booléen.

true
La localisation par défaut est utilisée (peut être régler par l'utilisateur).
false
La localisation par défaut n'est pas utilisée.

Exemple

Dans l'exemple suivant on ouvre une transaction puis un magasin d'objet et enfin l'index lName.

La valeur de la propriété isAutoLocale est affichée sur la console.

Finalement, On itère sur tous les enregistrements pour en insérer les données dans un tableau HTML. En utilisant la méthode IDBIndex.openCursor qui travaille de la même façon que la méthode IDBObjectStore.openCursor de l'accès au magasin d'objet sauf que les enregistrements sont renvoyés dans l'ordre de l'index et non celui du magasin d'objet.

function displayDataByIndex() {
  tableEntry.innerHTML = '';
  
  //ouvre un transaction
  var transaction = db.transaction(['contactsList'], 'readonly');
  //accés au magasin d'objet
  var objectStore = transaction.objectStore('contactsList');
  
  //on récupère l'index
  var myIndex = objectStore.index('lName'); 
  //on affiche la propriété isAutoLocale sur la console
  console.log(myIndex.isAutoLocale);

  //un curseur qui itère sur l'index
  myIndex.openCursor().onsuccess = function(event) {
    var cursor = event.target.result;
    if(cursor) {
      var tableRow = document.createElement('tr');
      tableRow.innerHTML =   '<td>' + cursor.value.id + '</td>'
                           + '<td>' + cursor.value.lName + '</td>'
                           + '<td>' + cursor.value.fName + '</td>'
                           + '<td>' + cursor.value.jTitle + '</td>'
                           + '<td>' + cursor.value.company + '</td>'
                           + '<td>' + cursor.value.eMail + '</td>'
                           + '<td>' + cursor.value.phone + '</td>'
                           + '<td>' + cursor.value.age + '</td>';
      tableEntry.appendChild(tableRow);  

      cursor.continue();
    } else {
      console.log('Tous les enregistrements ont été affichés.');    
    }
  };
};

Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

Spécification

Ne fait actuellement partie d'aucune spécification.

Compatibilité avec les navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique Pas de support 43.0 (43.0)[1] Pas de support Pas de support Pas de support
Fonctionnalité Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Support basique Pas de support 43.0 (43.0)[1] 2.5[1] Pas de support Pas de support Pas de support

[1] Pour accédé à cette fonctionnalité il faut activé dom.indexedDB.experimental dans about:config..

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : gadgino
 Dernière mise à jour par : gadgino,