From c05efa8d7ae464235cf83d7c0956e42dc6974103 Mon Sep 17 00:00:00 2001 From: julieng Date: Sat, 2 Oct 2021 17:20:14 +0200 Subject: move *.html to *.md --- files/fr/web/api/idbindex/count/index.html | 142 ------------------- files/fr/web/api/idbindex/count/index.md | 142 +++++++++++++++++++ files/fr/web/api/idbindex/get/index.html | 123 ---------------- files/fr/web/api/idbindex/get/index.md | 123 ++++++++++++++++ files/fr/web/api/idbindex/getall/index.html | 101 ------------- files/fr/web/api/idbindex/getall/index.md | 101 +++++++++++++ files/fr/web/api/idbindex/getallkeys/index.html | 102 -------------- files/fr/web/api/idbindex/getallkeys/index.md | 102 ++++++++++++++ files/fr/web/api/idbindex/getkey/index.html | 135 ------------------ files/fr/web/api/idbindex/getkey/index.md | 135 ++++++++++++++++++ files/fr/web/api/idbindex/index.html | 140 ------------------ files/fr/web/api/idbindex/index.md | 140 ++++++++++++++++++ files/fr/web/api/idbindex/isautolocale/index.html | 79 ----------- files/fr/web/api/idbindex/isautolocale/index.md | 79 +++++++++++ files/fr/web/api/idbindex/keypath/index.html | 98 ------------- files/fr/web/api/idbindex/keypath/index.md | 98 +++++++++++++ files/fr/web/api/idbindex/locale/index.html | 83 ----------- files/fr/web/api/idbindex/locale/index.md | 83 +++++++++++ files/fr/web/api/idbindex/multientry/index.html | 97 ------------- files/fr/web/api/idbindex/multientry/index.md | 97 +++++++++++++ files/fr/web/api/idbindex/name/index.html | 112 --------------- files/fr/web/api/idbindex/name/index.md | 112 +++++++++++++++ files/fr/web/api/idbindex/objectstore/index.html | 100 ------------- files/fr/web/api/idbindex/objectstore/index.md | 100 +++++++++++++ files/fr/web/api/idbindex/opencursor/index.html | 156 --------------------- files/fr/web/api/idbindex/opencursor/index.md | 156 +++++++++++++++++++++ files/fr/web/api/idbindex/openkeycursor/index.html | 151 -------------------- files/fr/web/api/idbindex/openkeycursor/index.md | 151 ++++++++++++++++++++ files/fr/web/api/idbindex/unique/index.html | 96 ------------- files/fr/web/api/idbindex/unique/index.md | 96 +++++++++++++ 30 files changed, 1715 insertions(+), 1715 deletions(-) delete mode 100644 files/fr/web/api/idbindex/count/index.html create mode 100644 files/fr/web/api/idbindex/count/index.md delete mode 100644 files/fr/web/api/idbindex/get/index.html create mode 100644 files/fr/web/api/idbindex/get/index.md delete mode 100644 files/fr/web/api/idbindex/getall/index.html create mode 100644 files/fr/web/api/idbindex/getall/index.md delete mode 100644 files/fr/web/api/idbindex/getallkeys/index.html create mode 100644 files/fr/web/api/idbindex/getallkeys/index.md delete mode 100644 files/fr/web/api/idbindex/getkey/index.html create mode 100644 files/fr/web/api/idbindex/getkey/index.md delete mode 100644 files/fr/web/api/idbindex/index.html create mode 100644 files/fr/web/api/idbindex/index.md delete mode 100644 files/fr/web/api/idbindex/isautolocale/index.html create mode 100644 files/fr/web/api/idbindex/isautolocale/index.md delete mode 100644 files/fr/web/api/idbindex/keypath/index.html create mode 100644 files/fr/web/api/idbindex/keypath/index.md delete mode 100644 files/fr/web/api/idbindex/locale/index.html create mode 100644 files/fr/web/api/idbindex/locale/index.md delete mode 100644 files/fr/web/api/idbindex/multientry/index.html create mode 100644 files/fr/web/api/idbindex/multientry/index.md delete mode 100644 files/fr/web/api/idbindex/name/index.html create mode 100644 files/fr/web/api/idbindex/name/index.md delete mode 100644 files/fr/web/api/idbindex/objectstore/index.html create mode 100644 files/fr/web/api/idbindex/objectstore/index.md delete mode 100644 files/fr/web/api/idbindex/opencursor/index.html create mode 100644 files/fr/web/api/idbindex/opencursor/index.md delete mode 100644 files/fr/web/api/idbindex/openkeycursor/index.html create mode 100644 files/fr/web/api/idbindex/openkeycursor/index.md delete mode 100644 files/fr/web/api/idbindex/unique/index.html create mode 100644 files/fr/web/api/idbindex/unique/index.md (limited to 'files/fr/web/api/idbindex') diff --git a/files/fr/web/api/idbindex/count/index.html b/files/fr/web/api/idbindex/count/index.html deleted file mode 100644 index 82d71e4b0c..0000000000 --- a/files/fr/web/api/idbindex/count/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: IDBIndex.count() -slug: Web/API/IDBIndex/count -tags: - - API - - IDBIndex - - IndexedDB - - Méthode - - Reference -translation_of: Web/API/IDBIndex/count ---- -
{{APIRef("IndexedDB")}}
- -

La méthode count(), rattachée à l'interface {{domxref("IDBIndex")}}, renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, renvoie le nombre d'enregistrements contenu dans un intervalle de clé.

- -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var request = monIndex.count();
-var request = monIndex.count(cle);
- -

Paramètres

- -
-
cle {{optional_inline}}
-
La clé ou l'intervalle de clé qui définit les enregistrements qu'on souhaite compter.
-
- -

Valeur de retour

- -

Un objet {{domxref("IDBRequest")}} sur lequel seront déclenchés les différents évènements relatifs à l'opération.

- -

Exceptions

- -

Cette méthode peut déclencher différents types d'exceptions :

- - - - - - - - - - - - - - - - - - - - - - -
ExceptionDescription
TransactionInactiveErrorLa transaction associée à cet index est inactive.
DataError -

La clé ou l'intervalle de clé fourni possède une clé invalide.

-
InvalidStateErrorL'index a été supprimé ou retiré.
- -

Exemples

- -

Dans l'exemple qui suit, on ouvre une transaction et un magasin d'objets puis on récupère l'index lName depuis une base de données de contacts. Ensuite, on ouvre un curseur simple sur cet index grâce à la méthode {{domxref("IDBIndex.openCursor")}} (ce qui fonctionne comme si on ouvrait un curseur sur le magasin d'objets avec {{domxref("IDBObjectStore.openCursor")}} sauf que les enregistrements sont ici triés selon l'index plutôt que selon la clé primaire).

- -

myIndex.count() est alors utilisé afin de compter le nombre d'enregistrements dans l'index et le résultat de la requête est affiché dans la console au travers du gestionnaire d'évènements pour la réussite (onsuccess).

- -

Efin, on parcourt chaque enregistrement pour l'insérer dans un tableau HTML. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre dépôt IDBIndex-example (cf. la démonstration live).

- -
function displayDataByIndex() {
-  tableEntry.innerHTML = '';
-  var transaction = db.transaction(['contactsList'], 'readonly');
-  var objectStore = transaction.objectStore('contactsList');
-
-  var myIndex = objectStore.index('lName');
-  var countRequest = myIndex.count();
-  countRequest.onsuccess = function() {
-    console.log(countRequest.result);
-  }
-
-  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('Éléments affichés.');
-    }
-  };
-};
- -

Spécifications

- -
-
- - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-count-IDBRequest-any-key', 'count()')}}{{Spec2('IndexedDB')}} 
{{SpecName("IndexedDB 2", "#dom-idbindex-count", "count()")}}{{Spec2("IndexedDB 2")}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.count")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/count/index.md b/files/fr/web/api/idbindex/count/index.md new file mode 100644 index 0000000000..82d71e4b0c --- /dev/null +++ b/files/fr/web/api/idbindex/count/index.md @@ -0,0 +1,142 @@ +--- +title: IDBIndex.count() +slug: Web/API/IDBIndex/count +tags: + - API + - IDBIndex + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBIndex/count +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode count(), rattachée à l'interface {{domxref("IDBIndex")}}, renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, renvoie le nombre d'enregistrements contenu dans un intervalle de clé.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var request = monIndex.count();
+var request = monIndex.count(cle);
+ +

Paramètres

+ +
+
cle {{optional_inline}}
+
La clé ou l'intervalle de clé qui définit les enregistrements qu'on souhaite compter.
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBRequest")}} sur lequel seront déclenchés les différents évènements relatifs à l'opération.

+ +

Exceptions

+ +

Cette méthode peut déclencher différents types d'exceptions :

+ + + + + + + + + + + + + + + + + + + + + + +
ExceptionDescription
TransactionInactiveErrorLa transaction associée à cet index est inactive.
DataError +

La clé ou l'intervalle de clé fourni possède une clé invalide.

+
InvalidStateErrorL'index a été supprimé ou retiré.
+ +

Exemples

+ +

Dans l'exemple qui suit, on ouvre une transaction et un magasin d'objets puis on récupère l'index lName depuis une base de données de contacts. Ensuite, on ouvre un curseur simple sur cet index grâce à la méthode {{domxref("IDBIndex.openCursor")}} (ce qui fonctionne comme si on ouvrait un curseur sur le magasin d'objets avec {{domxref("IDBObjectStore.openCursor")}} sauf que les enregistrements sont ici triés selon l'index plutôt que selon la clé primaire).

+ +

myIndex.count() est alors utilisé afin de compter le nombre d'enregistrements dans l'index et le résultat de la requête est affiché dans la console au travers du gestionnaire d'évènements pour la réussite (onsuccess).

+ +

Efin, on parcourt chaque enregistrement pour l'insérer dans un tableau HTML. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre dépôt IDBIndex-example (cf. la démonstration live).

+ +
function displayDataByIndex() {
+  tableEntry.innerHTML = '';
+  var transaction = db.transaction(['contactsList'], 'readonly');
+  var objectStore = transaction.objectStore('contactsList');
+
+  var myIndex = objectStore.index('lName');
+  var countRequest = myIndex.count();
+  countRequest.onsuccess = function() {
+    console.log(countRequest.result);
+  }
+
+  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('Éléments affichés.');
+    }
+  };
+};
+ +

Spécifications

+ +
+
+ + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-count-IDBRequest-any-key', 'count()')}}{{Spec2('IndexedDB')}} 
{{SpecName("IndexedDB 2", "#dom-idbindex-count", "count()")}}{{Spec2("IndexedDB 2")}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.count")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/get/index.html b/files/fr/web/api/idbindex/get/index.html deleted file mode 100644 index f5cbe56570..0000000000 --- a/files/fr/web/api/idbindex/get/index.html +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: IDBIndex.get() -slug: Web/API/IDBIndex/get -translation_of: Web/API/IDBIndex/get ---- -

{{ APIRef("IndexedDB") }}

- -
-

La méthode get() de l'interface {{domxref("IDBIndex")}} fait une requête ({{domxref("IDBRequest")}}) pour renvoyer le premier enregistrement correspondant à la clé ou l'intervalle de clé {{domxref("IDBKeyRange","")}} du magasin d'objet suivant l'index.

-
- -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var request = myIndex.get(key);
- -

Paramètre

- -
-
key
-
la clé ou l'intervalle de clé ({{domxref("IDBKeyRange")}}) de l'enregistrement dont on cherche la valeur.
-
- -

Valeur de retour

- -
-
Une requête ({{domxref("IDBRequest")}})
-
La propriété "result" ({{domxref("IDBRequest.result")}}) de cette requête renvoie en cas de succès le premier enregistrement correspondant à la clé ou à l'intervalle de clé. Le résultat contient l'enregistrement { key: la clé, value: un_clone_structuré_de_la_valeur }.
-
- -

Exceptions

- -
-
TransactionInactiveError
-
Cette exception ( {{domxref("DOMException")}}) est levée si la transaction ({{domxref("IDBTransaction")}}) dont dépend l'accès ({{domxref("IDBObjectStore")}}) au magasin d'objet de cet index est inactive.
-
DataError
-
Cette exception ({{domxref("DOMException")}}) est levée si la clé ou l'intervalle de clé ({{domxref("IDBKeyRange")}}) est invalide.
-
InvalidStateError
-
Cette exception ({{domxref("DOMException")}}) est levée si l'index à été supprimé.
-
- -

Exemple

- -

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

- -

Le code myIndex.get('Bungle') renvoie une requête qui cherche sur l'index un enregistrement dont la clé lName est Bungle. En cas de sucés le résultat de la requête qui contient l'enregistrement est affiché 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 {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'accès ({{domxref("IDBObjectStore")}}) 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');
-  //requête de recherche
-  var getRequest = myIndex.get('Bungle');
-  //en cas de succès
-  getRequest.onsuccess = function() {
-    console.log(getRequest.result);
-  }
-
-  //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.');
-    }
-  };
-};
- -

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

- -

Spécification

- - - - - - - - - - - - - - -
SpécificationÈtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-get-IDBRequest-any-key', 'get()')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité avec les navigateurs

- -

{{Compat("api.IDBIndex.get")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/get/index.md b/files/fr/web/api/idbindex/get/index.md new file mode 100644 index 0000000000..f5cbe56570 --- /dev/null +++ b/files/fr/web/api/idbindex/get/index.md @@ -0,0 +1,123 @@ +--- +title: IDBIndex.get() +slug: Web/API/IDBIndex/get +translation_of: Web/API/IDBIndex/get +--- +

{{ APIRef("IndexedDB") }}

+ +
+

La méthode get() de l'interface {{domxref("IDBIndex")}} fait une requête ({{domxref("IDBRequest")}}) pour renvoyer le premier enregistrement correspondant à la clé ou l'intervalle de clé {{domxref("IDBKeyRange","")}} du magasin d'objet suivant l'index.

+
+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var request = myIndex.get(key);
+ +

Paramètre

+ +
+
key
+
la clé ou l'intervalle de clé ({{domxref("IDBKeyRange")}}) de l'enregistrement dont on cherche la valeur.
+
+ +

Valeur de retour

+ +
+
Une requête ({{domxref("IDBRequest")}})
+
La propriété "result" ({{domxref("IDBRequest.result")}}) de cette requête renvoie en cas de succès le premier enregistrement correspondant à la clé ou à l'intervalle de clé. Le résultat contient l'enregistrement { key: la clé, value: un_clone_structuré_de_la_valeur }.
+
+ +

Exceptions

+ +
+
TransactionInactiveError
+
Cette exception ( {{domxref("DOMException")}}) est levée si la transaction ({{domxref("IDBTransaction")}}) dont dépend l'accès ({{domxref("IDBObjectStore")}}) au magasin d'objet de cet index est inactive.
+
DataError
+
Cette exception ({{domxref("DOMException")}}) est levée si la clé ou l'intervalle de clé ({{domxref("IDBKeyRange")}}) est invalide.
+
InvalidStateError
+
Cette exception ({{domxref("DOMException")}}) est levée si l'index à été supprimé.
+
+ +

Exemple

+ +

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

+ +

Le code myIndex.get('Bungle') renvoie une requête qui cherche sur l'index un enregistrement dont la clé lName est Bungle. En cas de sucés le résultat de la requête qui contient l'enregistrement est affiché 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 {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'accès ({{domxref("IDBObjectStore")}}) 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');
+  //requête de recherche
+  var getRequest = myIndex.get('Bungle');
+  //en cas de succès
+  getRequest.onsuccess = function() {
+    console.log(getRequest.result);
+  }
+
+  //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.');
+    }
+  };
+};
+ +

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

+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationÈtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-get-IDBRequest-any-key', 'get()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité avec les navigateurs

+ +

{{Compat("api.IDBIndex.get")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/getall/index.html b/files/fr/web/api/idbindex/getall/index.html deleted file mode 100644 index f9ed6d0d8f..0000000000 --- a/files/fr/web/api/idbindex/getall/index.html +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: IDBIndex.getAll() -slug: Web/API/IDBIndex/getAll -tags: - - API - - IDBIndex - - IndexedDB - - Méthode - - Reference -translation_of: Web/API/IDBIndex/getAll ---- -

{{ APIRef("IndexedDB") }}

- -
-

La méthode getAll() de l'interface {{domxref("IDBIndex")}} fait une requête ({{domxref("IDBRequest")}}) qui renvoie un tableau ordonné suivant les clés, des clones structurés des enregistrements de l'index relié ({{domxref("IDBIndex")}}). On peut limiter le nombre d'enregistrements en les filtrant suivant leurs clés ou en paramétrant le compteur.

-
- -

On peut comparer cette méthode avec une recherche par curseur. Effectivement, il est plus intéressant si l'on veut accéder aux enregistrements un par un d'utiliser un {{domxref("IDBCursor","curseur")}}, les clones structurés des valeurs seront faits un par un. Mais si l'on veut un tableau des clones structurés des valeurs il vaut mieux utiliser getAll(), le moteur Gecko fera les clones structurés en une seule fois.

- -

Syntaxe

- -
var getAllKeysRequest = IDBIndex.getAll();
-var getAllKeysRequest = IDBIndex.getAll(query);
-var getAllKeysRequest = IDBIndex.getAll(query, count);
- -

Paramètres

- -
-
query {{optional_inline}}
-
Une clé ou un intervalle de clé ({{domxref("IDBKeyRange")}}) pour filtrer, seules les valeurs des enregistrements correspondant sont renvoyées. Par défaut toutes les clones structurés des enregistrements de l'index relié sont renvoyés.
-
count {{optional_inline}}
-
Le nombre d'enregistrement maximum renvoyés. Un nombre décimal sera tronqué. Zéro annule le compteur et toutes les valeurs sont retournées.
-
- -

Valeur de retour

- -
-
{{domxref("IDBRequest")}}
-
La propriété {{domxref("IDBRequest.result","result")}} de cette requête renvoie le tableau des clones structurés des enregistrements en cas de succès.
-
- -

Exceptions

- -
-
TransactionInactiveError
-
Cette {{domxref("DOMException","exception")}} est levée si la transaction ({{domxref("IDBTransaction")}}) est inactive.
-
DataError
-
Cette exception ({{domxref("DOMException")}}) est levée si la clé ou l'intervalle de clé ({{domxref("IDBKeyRange")}}) est invalide.
-
InvalidStateError
-
Cette exception ({{domxref("DOMException")}}) est levée si l'index à été supprimé.
-
TypeError
-
Cette exception ({{domxref("DOMException")}}) est levée si le compteur n'est pas un nombre positif.
-
- -

Exemples

- -
//on récupère l’accès à l'index
-var myIndex = objectStore.index('index');
-//on fait une requête de recherche sur l'index
-var getAllKeyRequest = myIndex.getAllKeys();
-//si la requête réussi
-getAllKeysRequest.onsuccess = function() {
-  //on affiche le résultat sur la console
-  //~= [{key:'a',value:un_clone_structuré},{key:'2',value:un_clone_structuré},...]
-  console.log(getAllKeysRequest.result);
-}
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB2', '#dom-idbindex-getall', 'getAll()')}}{{Spec2('IndexedDB')}}Définition initiale.
- -

Compatibilité des navigateurs

- - - -

{{Compat("api.IDBIndex.getAll")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/getall/index.md b/files/fr/web/api/idbindex/getall/index.md new file mode 100644 index 0000000000..f9ed6d0d8f --- /dev/null +++ b/files/fr/web/api/idbindex/getall/index.md @@ -0,0 +1,101 @@ +--- +title: IDBIndex.getAll() +slug: Web/API/IDBIndex/getAll +tags: + - API + - IDBIndex + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBIndex/getAll +--- +

{{ APIRef("IndexedDB") }}

+ +
+

La méthode getAll() de l'interface {{domxref("IDBIndex")}} fait une requête ({{domxref("IDBRequest")}}) qui renvoie un tableau ordonné suivant les clés, des clones structurés des enregistrements de l'index relié ({{domxref("IDBIndex")}}). On peut limiter le nombre d'enregistrements en les filtrant suivant leurs clés ou en paramétrant le compteur.

+
+ +

On peut comparer cette méthode avec une recherche par curseur. Effectivement, il est plus intéressant si l'on veut accéder aux enregistrements un par un d'utiliser un {{domxref("IDBCursor","curseur")}}, les clones structurés des valeurs seront faits un par un. Mais si l'on veut un tableau des clones structurés des valeurs il vaut mieux utiliser getAll(), le moteur Gecko fera les clones structurés en une seule fois.

+ +

Syntaxe

+ +
var getAllKeysRequest = IDBIndex.getAll();
+var getAllKeysRequest = IDBIndex.getAll(query);
+var getAllKeysRequest = IDBIndex.getAll(query, count);
+ +

Paramètres

+ +
+
query {{optional_inline}}
+
Une clé ou un intervalle de clé ({{domxref("IDBKeyRange")}}) pour filtrer, seules les valeurs des enregistrements correspondant sont renvoyées. Par défaut toutes les clones structurés des enregistrements de l'index relié sont renvoyés.
+
count {{optional_inline}}
+
Le nombre d'enregistrement maximum renvoyés. Un nombre décimal sera tronqué. Zéro annule le compteur et toutes les valeurs sont retournées.
+
+ +

Valeur de retour

+ +
+
{{domxref("IDBRequest")}}
+
La propriété {{domxref("IDBRequest.result","result")}} de cette requête renvoie le tableau des clones structurés des enregistrements en cas de succès.
+
+ +

Exceptions

+ +
+
TransactionInactiveError
+
Cette {{domxref("DOMException","exception")}} est levée si la transaction ({{domxref("IDBTransaction")}}) est inactive.
+
DataError
+
Cette exception ({{domxref("DOMException")}}) est levée si la clé ou l'intervalle de clé ({{domxref("IDBKeyRange")}}) est invalide.
+
InvalidStateError
+
Cette exception ({{domxref("DOMException")}}) est levée si l'index à été supprimé.
+
TypeError
+
Cette exception ({{domxref("DOMException")}}) est levée si le compteur n'est pas un nombre positif.
+
+ +

Exemples

+ +
//on récupère l’accès à l'index
+var myIndex = objectStore.index('index');
+//on fait une requête de recherche sur l'index
+var getAllKeyRequest = myIndex.getAllKeys();
+//si la requête réussi
+getAllKeysRequest.onsuccess = function() {
+  //on affiche le résultat sur la console
+  //~= [{key:'a',value:un_clone_structuré},{key:'2',value:un_clone_structuré},...]
+  console.log(getAllKeysRequest.result);
+}
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB2', '#dom-idbindex-getall', 'getAll()')}}{{Spec2('IndexedDB')}}Définition initiale.
+ +

Compatibilité des navigateurs

+ + + +

{{Compat("api.IDBIndex.getAll")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/getallkeys/index.html b/files/fr/web/api/idbindex/getallkeys/index.html deleted file mode 100644 index fd13fd5758..0000000000 --- a/files/fr/web/api/idbindex/getallkeys/index.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: IDBIndex.getAllKeys() -slug: Web/API/IDBIndex/getAllKeys -tags: - - API - - IDBIndex - - IndexedDB - - Méthode - - Reference -translation_of: Web/API/IDBIndex/getAllKeys ---- -
{{APIRef("IndexedDB")}}
- -

La méthode getAllKeys(), rattachée à l'interface {{domxref("IDBIndex")}}, permet de récupérer les clés de tous les objets contenus dans l'index et de les enregistrer dans la propriété result de l'objet renvoyé par la méthode.

- -

Syntaxe

- -
var getAllKeysRequest = IDBIndex.getAllKeys();
-var getAllKeysRequest = IDBIndex.getAllKeys(requete);
-var getAllKeysRequest = IDBIndex.getAllKeys(requete, quantite);
- -

Paramètres

- -
-
requete {{optional_inline}}
-
Une clé ou un intervalle de clé ({{domxref("IDBKeyRange")}}) qui identifie les clés qu'on souhaite récupérer. Si cette valeur vaut {{jsxref("null")}} ou est absente, le navigateur utilisera un intervalle de clé sans limite.
-
quantite {{optional_inline}}
-
Le nombre d'enregistrements qu'on souhaite obtenir. Si cette quantité est supérieure au nombre d'enregistrements récupérés par la requête, le navigateur ne récupèrera que le premier élément. Si elle est négative ou supérieure à 2^32-1, une exception {{jsxref("TypeError")}} sera levée.
-
- -

Valeur de retour

- -

Un objet {{domxref("IDBRequest")}} sur lequel seront reçus les différents évènements rattachés à cette opération.

- -

Exceptions

- -

Cette méthode peut déclencher une des exceptions suivantes :

- - - - - - - - - - - - - - - - - - - - - - -
ExceptionDescription
TransactionInactiveErrorLa transaction pour cet index {{domxref("IDBIndex")}} est inactive.
InvalidStateErrorL'index {{domxref("IDBIndex")}} a été supprimé ou déplacé.
{{jsxref("TypeError")}}Le paramètre quantite n'est pas compris entre 0 et 2^32-1
- -

Exemples

- -
var myIndex = objectStore.index('index');
-var getAllKeyRequest = myIndex.getAllKeys();
-getAllKeysRequest.onsuccess = function() {
-  console.log(getAllKeysRequest.result);
-}
-
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB 2', '#dom-idbindex-getallkeys', 'getAll()')}}{{Spec2('IndexedDB 2')}}Définition initiale.
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.getAllKeys")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/getallkeys/index.md b/files/fr/web/api/idbindex/getallkeys/index.md new file mode 100644 index 0000000000..fd13fd5758 --- /dev/null +++ b/files/fr/web/api/idbindex/getallkeys/index.md @@ -0,0 +1,102 @@ +--- +title: IDBIndex.getAllKeys() +slug: Web/API/IDBIndex/getAllKeys +tags: + - API + - IDBIndex + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBIndex/getAllKeys +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode getAllKeys(), rattachée à l'interface {{domxref("IDBIndex")}}, permet de récupérer les clés de tous les objets contenus dans l'index et de les enregistrer dans la propriété result de l'objet renvoyé par la méthode.

+ +

Syntaxe

+ +
var getAllKeysRequest = IDBIndex.getAllKeys();
+var getAllKeysRequest = IDBIndex.getAllKeys(requete);
+var getAllKeysRequest = IDBIndex.getAllKeys(requete, quantite);
+ +

Paramètres

+ +
+
requete {{optional_inline}}
+
Une clé ou un intervalle de clé ({{domxref("IDBKeyRange")}}) qui identifie les clés qu'on souhaite récupérer. Si cette valeur vaut {{jsxref("null")}} ou est absente, le navigateur utilisera un intervalle de clé sans limite.
+
quantite {{optional_inline}}
+
Le nombre d'enregistrements qu'on souhaite obtenir. Si cette quantité est supérieure au nombre d'enregistrements récupérés par la requête, le navigateur ne récupèrera que le premier élément. Si elle est négative ou supérieure à 2^32-1, une exception {{jsxref("TypeError")}} sera levée.
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBRequest")}} sur lequel seront reçus les différents évènements rattachés à cette opération.

+ +

Exceptions

+ +

Cette méthode peut déclencher une des exceptions suivantes :

+ + + + + + + + + + + + + + + + + + + + + + +
ExceptionDescription
TransactionInactiveErrorLa transaction pour cet index {{domxref("IDBIndex")}} est inactive.
InvalidStateErrorL'index {{domxref("IDBIndex")}} a été supprimé ou déplacé.
{{jsxref("TypeError")}}Le paramètre quantite n'est pas compris entre 0 et 2^32-1
+ +

Exemples

+ +
var myIndex = objectStore.index('index');
+var getAllKeyRequest = myIndex.getAllKeys();
+getAllKeysRequest.onsuccess = function() {
+  console.log(getAllKeysRequest.result);
+}
+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB 2', '#dom-idbindex-getallkeys', 'getAll()')}}{{Spec2('IndexedDB 2')}}Définition initiale.
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.getAllKeys")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/getkey/index.html b/files/fr/web/api/idbindex/getkey/index.html deleted file mode 100644 index 828f700fb9..0000000000 --- a/files/fr/web/api/idbindex/getkey/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: IDBIndex.getKey() -slug: Web/API/IDBIndex/getKey -tags: - - API - - IDBIndex - - IndexedDB - - Méthode - - Reference -translation_of: Web/API/IDBIndex/getKey ---- -
{{APIRef("IndexedDB")}}
- -

La méthode getKey(), rattachée à l'interface {{domxref("IDBIndex")}}, renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, récupère la clé associée ou la clé primaire si l'argument passé à la fonction est un intervalle {{domxref("IDBKeyRange")}}.

- -

Si la méthode trouve une clé, ce sera alors la propriété result de la requête renvoyée. Seule la clé primaire de l'enregistrement est renvoyée (pour obtenir l'ensemble de l'enregistrement, on utilisera {{domxref("IDBIndex.get")}}).

- -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var myIndex = objectStore.index('index');
-var request = myIndex.getKey(key);
- -

Paramètres

- -
-
key {{optional_inline}}
-
Une clé ou un intervalle {{domxref("IDBKeyRange")}} qui identifie l'enregistrement dont on souhaite obtenir la clé. Si la valeur vaut {{jsxref("null")}} ou si elle est absente, le navigateur utilisera un intervalle de clé sans limite.
-
- -

Valeur de retour

- -

Un objet {{domxref("IDBRequest")}} qui recevra les différents évènements relatifs à l'opération qui est déclenchée.

- -

Exceptions

- -

Cette méthode peut déclencher une exception. Celle-ci peut avoir l'un des types suivants :

- - - - - - - - - - - - - - - - - - - - - - -
ExceptionDescription
TransactionInactiveErrorLa transaction rattachée à cet IDBIndex est inactive.
DataError -

La clé ou l'intervalle de clés qui est fourni contient une clé invalide.

-
InvalidStateErrorL'index a été supprimé ou déplacé.
- -

Exemples

- -

Dans l'exemple qui suit, on ouvre une transaction et un magasin d'objets. Ensuite on récupère l'index lName sur cette base de donnée. On ouvre alors un curseur sur l'index grâce à la méthode {{domxref("IDBIndex.openCursor")}} (cela fonctionne de la même façon que {{domxref("IDBObjectStore.openCursor")}} sauf que les enregistrements sont triés selon l'index et pas selon la clé primaire).

- -

myIndex.getKey('Bungle') est ensuite utilisé afin d'obtenir la clé primaire de l'enregistrement pour lequel lName vaut Bungle. Le résultat de cette requête est imprimé dans la console lorsque la fonction de rappel (callback) de succès est déclenché.

- -

Enfin, on parcourt les enregistrements pour remplir un tableau HTML. Le dépôt IDBIndex-example contient un exemple complet (ainsi qu'une démonstration).

- -
function displayDataByIndex() {
-  tableEntry.innerHTML = '';
-  var transaction = db.transaction(['contactsList'], 'readonly');
-  var objectStore = transaction.objectStore('contactsList');
-  var myIndex = objectStore.index('lName');
-  var getKeyRequest = myIndex.getKey('Bungle');
-  getKeyRequest.onsuccess = function() {
-    console.log(getKeyRequest.result);
-  }
-
-  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('Les éléments sont affichés.');
-    }
-  };
-};
- -

Spécification

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-getKey-IDBRequest-any-key', 'getKey()')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.getKey")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/getkey/index.md b/files/fr/web/api/idbindex/getkey/index.md new file mode 100644 index 0000000000..828f700fb9 --- /dev/null +++ b/files/fr/web/api/idbindex/getkey/index.md @@ -0,0 +1,135 @@ +--- +title: IDBIndex.getKey() +slug: Web/API/IDBIndex/getKey +tags: + - API + - IDBIndex + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBIndex/getKey +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode getKey(), rattachée à l'interface {{domxref("IDBIndex")}}, renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, récupère la clé associée ou la clé primaire si l'argument passé à la fonction est un intervalle {{domxref("IDBKeyRange")}}.

+ +

Si la méthode trouve une clé, ce sera alors la propriété result de la requête renvoyée. Seule la clé primaire de l'enregistrement est renvoyée (pour obtenir l'ensemble de l'enregistrement, on utilisera {{domxref("IDBIndex.get")}}).

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var myIndex = objectStore.index('index');
+var request = myIndex.getKey(key);
+ +

Paramètres

+ +
+
key {{optional_inline}}
+
Une clé ou un intervalle {{domxref("IDBKeyRange")}} qui identifie l'enregistrement dont on souhaite obtenir la clé. Si la valeur vaut {{jsxref("null")}} ou si elle est absente, le navigateur utilisera un intervalle de clé sans limite.
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBRequest")}} qui recevra les différents évènements relatifs à l'opération qui est déclenchée.

+ +

Exceptions

+ +

Cette méthode peut déclencher une exception. Celle-ci peut avoir l'un des types suivants :

+ + + + + + + + + + + + + + + + + + + + + + +
ExceptionDescription
TransactionInactiveErrorLa transaction rattachée à cet IDBIndex est inactive.
DataError +

La clé ou l'intervalle de clés qui est fourni contient une clé invalide.

+
InvalidStateErrorL'index a été supprimé ou déplacé.
+ +

Exemples

+ +

Dans l'exemple qui suit, on ouvre une transaction et un magasin d'objets. Ensuite on récupère l'index lName sur cette base de donnée. On ouvre alors un curseur sur l'index grâce à la méthode {{domxref("IDBIndex.openCursor")}} (cela fonctionne de la même façon que {{domxref("IDBObjectStore.openCursor")}} sauf que les enregistrements sont triés selon l'index et pas selon la clé primaire).

+ +

myIndex.getKey('Bungle') est ensuite utilisé afin d'obtenir la clé primaire de l'enregistrement pour lequel lName vaut Bungle. Le résultat de cette requête est imprimé dans la console lorsque la fonction de rappel (callback) de succès est déclenché.

+ +

Enfin, on parcourt les enregistrements pour remplir un tableau HTML. Le dépôt IDBIndex-example contient un exemple complet (ainsi qu'une démonstration).

+ +
function displayDataByIndex() {
+  tableEntry.innerHTML = '';
+  var transaction = db.transaction(['contactsList'], 'readonly');
+  var objectStore = transaction.objectStore('contactsList');
+  var myIndex = objectStore.index('lName');
+  var getKeyRequest = myIndex.getKey('Bungle');
+  getKeyRequest.onsuccess = function() {
+    console.log(getKeyRequest.result);
+  }
+
+  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('Les éléments sont affichés.');
+    }
+  };
+};
+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-getKey-IDBRequest-any-key', 'getKey()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.getKey")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/index.html b/files/fr/web/api/idbindex/index.html deleted file mode 100644 index 57e72be398..0000000000 --- a/files/fr/web/api/idbindex/index.html +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: IDBIndex -slug: Web/API/IDBIndex -tags: - - API - - Database - - IDBIndex - - IndexedDB - - Interface - - Reference - - Storage - - TopicStub -translation_of: Web/API/IDBIndex ---- -

{{APIRef("IndexedDB")}}

- -
-

L'interface IDBIndexde l'{{domxref("IndexedDB_API","API IndexedDB")}} est un accès à un index d'un magasins d'objet. Un index permet de trier les enregistrements d'un magasin d'objet sur une autre clé que la clé primaire.

- -

Un index contient des enregistrements persistent. Chaque enregistrement est composé d'une clé ( la valeur du chemin de clé) et d'une valeur (la clé primaire de l'enregistrement dans le magasin d'objet). Les enregistrements de l'index se mettent automatiquement à jour lorsque un enregistrement du magasin d'objet est ajouté , mise à jour ou supprimé. Chaque enregistrement de l'index ne peut référer qu'a un enregistrement du magasin d'objet. Un magasin d'objet peut avoir plusieurs index et lorsque le magasin d'objet change tout les index sont mis à jour automatiquement.

- -

On peut retrouver les enregistrement sur une partie des clés, voir {{domxref("IDBKeyRange","intervalle de clé")}}.

- -

{{AvailableInWorkers}}

- -

Méthodes

- -

Hérite de: EventTarget

- -
-
{{domxref("IDBIndex.count()")}}
-
Fait un {{domxref("IDBRequest","requête")}} sur l'index. La requête compte le nombre d'enregistrements dans cet index ou sur l'{{domxref("IDBKeyRange","intervalle de clé")}} passé en paramètre.
-
{{domxref("IDBIndex.get()")}}
-
Fait une {{domxref("IDBRequest","requête")}} pour renvoyer le premier enregistrement correspondant à la clé ou l'{{domxref("IDBKeyRange","")}} du magasin d'objet suivant l'index.
-
{{domxref("IDBIndex.getKey()")}}
-
Fait une {{domxref("IDBRequest","requête")}} pour renvoyer la clé primaire correspondant à la clé ou à l'{{domxref("IDBKeyRange","intervalle de clé")}} de l'index. Si une clé est trouvé le résultat de la requête contiendra seulement la clé primaire de l'enregistrement et non l'enregistrement comme le fait {{domxref("IDBIndex.get")}}.
-
{{domxref("IDBIndex.getAll()")}}
-
Fait une {{domxref("IDBRequest","requête")}} qui renvoie un tableau ordonné suivant les clés, des clones structurés des enregistrements de l'{{domxref("IDBIndex","index relié")}}. On peut limité le nombre d'enregistrements en les filtrants suivant leurs clés ou en paramétrant le compteur.
-
{{domxref("IDBIndex.getAllKeys()")}}
-
Ferrais une {{domxref("IDBRequest","requête")}} qui renverrait la liste de toutes les clés des enregistrements de l'index. On pourrait limiter le nombre d'enregistrements en les filtrants suivant leurs clés ou en paramétrant le compteur.
-
{{domxref("IDBIndex.openCursor()")}}
-
Fait une {{domxref("IDBRequest","requête")}} récursive suivant un {{domxref("IDBCursorWithValue","curseur avec valeur")}} qui itère l'index {{domxref("IDBObjectStore","relié")}} sur l'{{domxref("IDBKeyRange","intervalle de clé")}} spécifié.
-
{{domxref("IDBIndex.openKeyCursor()")}}
-
Fait une {{domxref("IDBRequest","requête")}} récursive suivant un {{domxref("IDBCursor","curseur")}} qui itère l'index {{domxref("IDBObjectStore","relié")}} sur l'{{domxref("IDBKeyRange","intervalle de clé")}} spécifié.
-
- -

Propriétés

- -
-
{{domxref("IDBIndex.isAutoLocale")}} {{readonlyInline}} {{ Non-Standard_inline() }}
-
Renvoie un {{domxref("Boolean","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 {{domxref("IDBObjectStore.createIndex")}}).
-
{{domxref("IDBIndex.locale")}} {{readonlyInline}} {{ Non-Standard_inline() }}
-
Renvoie la localisation de l'index (par exemple fr, ou en-US) si la localisation à été spécifie lors de la mise en place de l'index (voir les paramètres {{domxref("IDBObjectStore.createIndex")}}).
-
{{domxref("IDBIndex.name")}} {{readonlyInline}}
-
Renvoie le nom de l'index.
-
{{domxref("IDBIndex.objectStore")}} {{readonlyInline}}
-
Renvoie un {{domxref("IDBObjectStore","accès au magasin d'objet")}} que référence l'index.
-
{{domxref("IDBIndex.keyPath")}} {{readonlyInline}}
-
Renvoie le chemin de clé de l'index. Si l'index n'est pas automatiquement mise à jour la propriété vaux null.
-
{{domxref("IDBIndex.multiEntry")}} {{readonlyInline}}
-
Renvoie un {{domxref("Boolean","booléen")}} qui indique comment l'index gère le chemin de clé si c'est un tableau.
-
{{domxref("IDBIndex.unique")}} {{readonlyInline}}
-
Renvoie un {{domxref("Boolean","booléen")}} qui indique l'index interdit la duplication d'enregistrement sur sa clé.
-
- -

Exemple

- -

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

- -

Finalement, On itère sur tous les enregistrements pour en insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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');
-
-  //un curseur qui itère sur l'index
-  var request = myIndex.openCursor();
-  request.onsuccess = function(event) {
-    var cursor = request.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.');
-    }
-  };
-};
- -

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

- -

Spécification

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#idl-def-IDBIndex', 'IDBIndex')}}{{Spec2('IndexedDB')}}
- -

Compatibilité avec les navigateurs

- -

{{Compat("api.IDBIndex")}}

- -

Voir aussi

- - -
diff --git a/files/fr/web/api/idbindex/index.md b/files/fr/web/api/idbindex/index.md new file mode 100644 index 0000000000..57e72be398 --- /dev/null +++ b/files/fr/web/api/idbindex/index.md @@ -0,0 +1,140 @@ +--- +title: IDBIndex +slug: Web/API/IDBIndex +tags: + - API + - Database + - IDBIndex + - IndexedDB + - Interface + - Reference + - Storage + - TopicStub +translation_of: Web/API/IDBIndex +--- +

{{APIRef("IndexedDB")}}

+ +
+

L'interface IDBIndexde l'{{domxref("IndexedDB_API","API IndexedDB")}} est un accès à un index d'un magasins d'objet. Un index permet de trier les enregistrements d'un magasin d'objet sur une autre clé que la clé primaire.

+ +

Un index contient des enregistrements persistent. Chaque enregistrement est composé d'une clé ( la valeur du chemin de clé) et d'une valeur (la clé primaire de l'enregistrement dans le magasin d'objet). Les enregistrements de l'index se mettent automatiquement à jour lorsque un enregistrement du magasin d'objet est ajouté , mise à jour ou supprimé. Chaque enregistrement de l'index ne peut référer qu'a un enregistrement du magasin d'objet. Un magasin d'objet peut avoir plusieurs index et lorsque le magasin d'objet change tout les index sont mis à jour automatiquement.

+ +

On peut retrouver les enregistrement sur une partie des clés, voir {{domxref("IDBKeyRange","intervalle de clé")}}.

+ +

{{AvailableInWorkers}}

+ +

Méthodes

+ +

Hérite de: EventTarget

+ +
+
{{domxref("IDBIndex.count()")}}
+
Fait un {{domxref("IDBRequest","requête")}} sur l'index. La requête compte le nombre d'enregistrements dans cet index ou sur l'{{domxref("IDBKeyRange","intervalle de clé")}} passé en paramètre.
+
{{domxref("IDBIndex.get()")}}
+
Fait une {{domxref("IDBRequest","requête")}} pour renvoyer le premier enregistrement correspondant à la clé ou l'{{domxref("IDBKeyRange","")}} du magasin d'objet suivant l'index.
+
{{domxref("IDBIndex.getKey()")}}
+
Fait une {{domxref("IDBRequest","requête")}} pour renvoyer la clé primaire correspondant à la clé ou à l'{{domxref("IDBKeyRange","intervalle de clé")}} de l'index. Si une clé est trouvé le résultat de la requête contiendra seulement la clé primaire de l'enregistrement et non l'enregistrement comme le fait {{domxref("IDBIndex.get")}}.
+
{{domxref("IDBIndex.getAll()")}}
+
Fait une {{domxref("IDBRequest","requête")}} qui renvoie un tableau ordonné suivant les clés, des clones structurés des enregistrements de l'{{domxref("IDBIndex","index relié")}}. On peut limité le nombre d'enregistrements en les filtrants suivant leurs clés ou en paramétrant le compteur.
+
{{domxref("IDBIndex.getAllKeys()")}}
+
Ferrais une {{domxref("IDBRequest","requête")}} qui renverrait la liste de toutes les clés des enregistrements de l'index. On pourrait limiter le nombre d'enregistrements en les filtrants suivant leurs clés ou en paramétrant le compteur.
+
{{domxref("IDBIndex.openCursor()")}}
+
Fait une {{domxref("IDBRequest","requête")}} récursive suivant un {{domxref("IDBCursorWithValue","curseur avec valeur")}} qui itère l'index {{domxref("IDBObjectStore","relié")}} sur l'{{domxref("IDBKeyRange","intervalle de clé")}} spécifié.
+
{{domxref("IDBIndex.openKeyCursor()")}}
+
Fait une {{domxref("IDBRequest","requête")}} récursive suivant un {{domxref("IDBCursor","curseur")}} qui itère l'index {{domxref("IDBObjectStore","relié")}} sur l'{{domxref("IDBKeyRange","intervalle de clé")}} spécifié.
+
+ +

Propriétés

+ +
+
{{domxref("IDBIndex.isAutoLocale")}} {{readonlyInline}} {{ Non-Standard_inline() }}
+
Renvoie un {{domxref("Boolean","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 {{domxref("IDBObjectStore.createIndex")}}).
+
{{domxref("IDBIndex.locale")}} {{readonlyInline}} {{ Non-Standard_inline() }}
+
Renvoie la localisation de l'index (par exemple fr, ou en-US) si la localisation à été spécifie lors de la mise en place de l'index (voir les paramètres {{domxref("IDBObjectStore.createIndex")}}).
+
{{domxref("IDBIndex.name")}} {{readonlyInline}}
+
Renvoie le nom de l'index.
+
{{domxref("IDBIndex.objectStore")}} {{readonlyInline}}
+
Renvoie un {{domxref("IDBObjectStore","accès au magasin d'objet")}} que référence l'index.
+
{{domxref("IDBIndex.keyPath")}} {{readonlyInline}}
+
Renvoie le chemin de clé de l'index. Si l'index n'est pas automatiquement mise à jour la propriété vaux null.
+
{{domxref("IDBIndex.multiEntry")}} {{readonlyInline}}
+
Renvoie un {{domxref("Boolean","booléen")}} qui indique comment l'index gère le chemin de clé si c'est un tableau.
+
{{domxref("IDBIndex.unique")}} {{readonlyInline}}
+
Renvoie un {{domxref("Boolean","booléen")}} qui indique l'index interdit la duplication d'enregistrement sur sa clé.
+
+ +

Exemple

+ +

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

+ +

Finalement, On itère sur tous les enregistrements pour en insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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');
+
+  //un curseur qui itère sur l'index
+  var request = myIndex.openCursor();
+  request.onsuccess = function(event) {
+    var cursor = request.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.');
+    }
+  };
+};
+ +

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

+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#idl-def-IDBIndex', 'IDBIndex')}}{{Spec2('IndexedDB')}}
+ +

Compatibilité avec les navigateurs

+ +

{{Compat("api.IDBIndex")}}

+ +

Voir aussi

+ + +
diff --git a/files/fr/web/api/idbindex/isautolocale/index.html b/files/fr/web/api/idbindex/isautolocale/index.html deleted file mode 100644 index 70a7c7ea4a..0000000000 --- a/files/fr/web/api/idbindex/isautolocale/index.html +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: IDBIndex.isAutoLocale -slug: Web/API/IDBIndex/isAutoLocale -tags: - - API - - Experimental - - IDBIndex - - IndexedDB - - Propriété - - Reference -translation_of: Web/API/IDBIndex/isAutoLocale ---- -
{{APIRef("IndexedDB")}}{{SeeCompatTable}}
- -

La propriété en lecture seule isAutoLocale, rattachée à l'interface {{domxref("IDBIndex")}}, est un booléen qui indique si la valeur locale de l'index vaut auto (cf. les paramètres optionnels de createIndex()).

- -

Syntaxe

- -
var monIndex = objectStore.index('index');
-console.log(monIndex.isAutoLocale);
- -

Valeur

- -

Un booléen.

- -

Exemples

- -

Dans l'exemple suivant, on ouvre une transaction et un magasin d'objet puis on récupère l'index lName depuis une base de données de contact. Ensuite, on ouvre un curseur simple sur l'index grâce à la méthode {{domxref("IDBIndex.openCursor")}} — cela fonctionne comme si on avait directement ouvert un curseur sur un magasin d'objet avec {{domxref("IDBObjectStore.openCursor")}} mais ici les enregistrements sont triés selon l'index et pas selon la clé primaire.

- -

La valeur isAutoLocale est affichée dans la console.

- -
function displayDataByIndex() {
-  tableEntry.innerHTML = '';
-  var transaction = db.transaction(['contactsList'], 'readonly');
-  var objectStore = transaction.objectStore('contactsList');
-
-  var myIndex = objectStore.index('lName');
-  console.log(myIndex.isAutoLocale);
-
-  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('Les éléments ont été affichés.');
-    }
-  };
-};
- -

Spécifications

- -

Actuellement, cette propriété ne fait partie d'aucune spécification.

- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.isAutoLocale")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/isautolocale/index.md b/files/fr/web/api/idbindex/isautolocale/index.md new file mode 100644 index 0000000000..70a7c7ea4a --- /dev/null +++ b/files/fr/web/api/idbindex/isautolocale/index.md @@ -0,0 +1,79 @@ +--- +title: IDBIndex.isAutoLocale +slug: Web/API/IDBIndex/isAutoLocale +tags: + - API + - Experimental + - IDBIndex + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBIndex/isAutoLocale +--- +
{{APIRef("IndexedDB")}}{{SeeCompatTable}}
+ +

La propriété en lecture seule isAutoLocale, rattachée à l'interface {{domxref("IDBIndex")}}, est un booléen qui indique si la valeur locale de l'index vaut auto (cf. les paramètres optionnels de createIndex()).

+ +

Syntaxe

+ +
var monIndex = objectStore.index('index');
+console.log(monIndex.isAutoLocale);
+ +

Valeur

+ +

Un booléen.

+ +

Exemples

+ +

Dans l'exemple suivant, on ouvre une transaction et un magasin d'objet puis on récupère l'index lName depuis une base de données de contact. Ensuite, on ouvre un curseur simple sur l'index grâce à la méthode {{domxref("IDBIndex.openCursor")}} — cela fonctionne comme si on avait directement ouvert un curseur sur un magasin d'objet avec {{domxref("IDBObjectStore.openCursor")}} mais ici les enregistrements sont triés selon l'index et pas selon la clé primaire.

+ +

La valeur isAutoLocale est affichée dans la console.

+ +
function displayDataByIndex() {
+  tableEntry.innerHTML = '';
+  var transaction = db.transaction(['contactsList'], 'readonly');
+  var objectStore = transaction.objectStore('contactsList');
+
+  var myIndex = objectStore.index('lName');
+  console.log(myIndex.isAutoLocale);
+
+  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('Les éléments ont été affichés.');
+    }
+  };
+};
+ +

Spécifications

+ +

Actuellement, cette propriété ne fait partie d'aucune spécification.

+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.isAutoLocale")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/keypath/index.html b/files/fr/web/api/idbindex/keypath/index.html deleted file mode 100644 index 551f9f0b73..0000000000 --- a/files/fr/web/api/idbindex/keypath/index.html +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: IDBIndex.keyPath -slug: Web/API/IDBIndex/keyPath -translation_of: Web/API/IDBIndex/keyPath ---- -

{{ APIRef("IndexedDB") }}

- -
-

La propriété keyPath de l'interface {{domxref("IDBIndex")}} renvoie le chemin de clé de l'index. Si l'index n'est pas automatiquement mise à jour la propriété vaux null.

- -

{{AvailableInWorkers}}

-
- -

Syntaxe

- -
var keyPath = myIndex.keyPath
- -

Valeur

- -

Tous types de valeur pouvant être utilisés comme chemin de clé.

- -

Exemple

- -

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

- -

Le chemin de clé de l'index est affiché sur la console (ici: lName).

- -

Finalement, On itère sur tous les enregistrements pour en insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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 le chemin de clé de l'index sur la console
-  console.log(myIndex.keyPath);
-
-  //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.');
-    }
-  };
-};
- -

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

- -

Spécification

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBIndex-keyPath', 'keyPath')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.keyPath")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/keypath/index.md b/files/fr/web/api/idbindex/keypath/index.md new file mode 100644 index 0000000000..551f9f0b73 --- /dev/null +++ b/files/fr/web/api/idbindex/keypath/index.md @@ -0,0 +1,98 @@ +--- +title: IDBIndex.keyPath +slug: Web/API/IDBIndex/keyPath +translation_of: Web/API/IDBIndex/keyPath +--- +

{{ APIRef("IndexedDB") }}

+ +
+

La propriété keyPath de l'interface {{domxref("IDBIndex")}} renvoie le chemin de clé de l'index. Si l'index n'est pas automatiquement mise à jour la propriété vaux null.

+ +

{{AvailableInWorkers}}

+
+ +

Syntaxe

+ +
var keyPath = myIndex.keyPath
+ +

Valeur

+ +

Tous types de valeur pouvant être utilisés comme chemin de clé.

+ +

Exemple

+ +

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

+ +

Le chemin de clé de l'index est affiché sur la console (ici: lName).

+ +

Finalement, On itère sur tous les enregistrements pour en insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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 le chemin de clé de l'index sur la console
+  console.log(myIndex.keyPath);
+
+  //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.');
+    }
+  };
+};
+ +

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

+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBIndex-keyPath', 'keyPath')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.keyPath")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/locale/index.html b/files/fr/web/api/idbindex/locale/index.html deleted file mode 100644 index 6f91a28888..0000000000 --- a/files/fr/web/api/idbindex/locale/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: IDBIndex.locale -slug: Web/API/IDBIndex/locale -translation_of: Web/API/IDBIndex/locale ---- -
{{APIRef("IndexedDB")}}{{SeeCompatTable}}
- -

La propriété locale de l'interface {{domxref("IDBIndex")}} renvoie la localisation de l'index (par exemple fr, ou en-US) si la localisation à été spécifie lors de la mise en place de l'index (voir les paramètres {{domxref("IDBObjectStore.createIndex")}}).

- -

{{note("Cette propriété renvoie la localisation utilisé par l'index. En d'autres termes, elle ne renverras jamais 'auto'.")}}

- -

Syntaxe

- -
var indexLocalisation = myIndex.locale;
- -

Valeur

- -

Une {{domxref("DOMString","chaîne de caractère")}} représentant la localisation courante de l'index.

- -

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é Locale 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 {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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é locale sur la console
-  console.log(myIndex.locale);
-
-  //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.');
-    }
-  };
-};
- -

Note : 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é des navigateurs

- -

{{Compat("api.IDBIndex.locale")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/locale/index.md b/files/fr/web/api/idbindex/locale/index.md new file mode 100644 index 0000000000..6f91a28888 --- /dev/null +++ b/files/fr/web/api/idbindex/locale/index.md @@ -0,0 +1,83 @@ +--- +title: IDBIndex.locale +slug: Web/API/IDBIndex/locale +translation_of: Web/API/IDBIndex/locale +--- +
{{APIRef("IndexedDB")}}{{SeeCompatTable}}
+ +

La propriété locale de l'interface {{domxref("IDBIndex")}} renvoie la localisation de l'index (par exemple fr, ou en-US) si la localisation à été spécifie lors de la mise en place de l'index (voir les paramètres {{domxref("IDBObjectStore.createIndex")}}).

+ +

{{note("Cette propriété renvoie la localisation utilisé par l'index. En d'autres termes, elle ne renverras jamais 'auto'.")}}

+ +

Syntaxe

+ +
var indexLocalisation = myIndex.locale;
+ +

Valeur

+ +

Une {{domxref("DOMString","chaîne de caractère")}} représentant la localisation courante de l'index.

+ +

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é Locale 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 {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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é locale sur la console
+  console.log(myIndex.locale);
+
+  //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.');
+    }
+  };
+};
+ +

Note : 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é des navigateurs

+ +

{{Compat("api.IDBIndex.locale")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/multientry/index.html b/files/fr/web/api/idbindex/multientry/index.html deleted file mode 100644 index 730a9f074a..0000000000 --- a/files/fr/web/api/idbindex/multientry/index.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: IDBIndex.multiEntry -slug: Web/API/IDBIndex/multiEntry -tags: - - API - - IDBIndex - - IndexedDB - - Propriété - - Reference -translation_of: Web/API/IDBIndex/multiEntry ---- -
{{APIRef("IndexedDB")}}
- -

La propriété multiEntry, rattachée à l'interface {{domxref("IDBIndex")}}, est un booléen qui indique le comportement de l'index lorsque le résultat de l'évaluation d'un chemin de clé renvoie un tableau.

- -

Ce comportement est paramétré au moment où l'index est créé avec la méthode {{domxref("IDBObjectStore.createIndex")}}. Cette méthode permet d'utiliser un paramètre facultatif options pour définir la propriété multiEntry avec true/false.

- -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var monIndex = objectStore.index('index');
-console.log(monIndex.multiEntry);
- -

Valeur

- -

Un booléen. S'il vaut true, cela signifie qu'il y a autant d'enregistrement que de valeurs dans le tableau renvoyé lors de l'évaluation du chemin (les clés des enregistrements sont les valeurs du tableau). S'il vaut false, cela signifie qu'il n'y aura qu'un seul enregistrement ajouté et que la clé sera le tableau.

- -

Exemples

- -

Dans l'exemple qui suit, on ouvre une transaction sur un magasin d'objets et on récupère l'index lName depuis la base de données des contacts. Ensuite, on ouvre un curseur simple sur l'index grâce à la méthode {{domxref("IDBIndex.openCursor")}} (cela fonctionne comme si on avait directement ouvert un curseur sur le magasin d'objets avec {{domxref("IDBObjectStore.openCursor")}} mais les enregistrements sont ici renvoyés en étant triés selon l'index et non selon la clé primaire.

- -

La propriété multiEntry est affichée dans la console. Dans cet exemple, elle a la valeur false.

- -

Enfin, on parcourt chacun des enregistrements pour insérer les données dans un tableau HTML. Pour consulter un exemple complet, vous pouvez vous référer à notre dépôt IDBIndex-example (voir également la démo live).

- -
function displayDataByIndex() {
-  tableEntry.innerHTML = '';
-  var transaction = db.transaction(['contactsList'], 'readonly');
-  var objectStore = transaction.objectStore('contactsList');
-
-  var myIndex = objectStore.index('lName');
-  console.log(myIndex.multiEntry);
-
-  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('Les éléments ont été affichés.');
-    }
-  };
-};
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-multiEntry', 'multiEntry')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.multiEntry")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/multientry/index.md b/files/fr/web/api/idbindex/multientry/index.md new file mode 100644 index 0000000000..730a9f074a --- /dev/null +++ b/files/fr/web/api/idbindex/multientry/index.md @@ -0,0 +1,97 @@ +--- +title: IDBIndex.multiEntry +slug: Web/API/IDBIndex/multiEntry +tags: + - API + - IDBIndex + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBIndex/multiEntry +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété multiEntry, rattachée à l'interface {{domxref("IDBIndex")}}, est un booléen qui indique le comportement de l'index lorsque le résultat de l'évaluation d'un chemin de clé renvoie un tableau.

+ +

Ce comportement est paramétré au moment où l'index est créé avec la méthode {{domxref("IDBObjectStore.createIndex")}}. Cette méthode permet d'utiliser un paramètre facultatif options pour définir la propriété multiEntry avec true/false.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var monIndex = objectStore.index('index');
+console.log(monIndex.multiEntry);
+ +

Valeur

+ +

Un booléen. S'il vaut true, cela signifie qu'il y a autant d'enregistrement que de valeurs dans le tableau renvoyé lors de l'évaluation du chemin (les clés des enregistrements sont les valeurs du tableau). S'il vaut false, cela signifie qu'il n'y aura qu'un seul enregistrement ajouté et que la clé sera le tableau.

+ +

Exemples

+ +

Dans l'exemple qui suit, on ouvre une transaction sur un magasin d'objets et on récupère l'index lName depuis la base de données des contacts. Ensuite, on ouvre un curseur simple sur l'index grâce à la méthode {{domxref("IDBIndex.openCursor")}} (cela fonctionne comme si on avait directement ouvert un curseur sur le magasin d'objets avec {{domxref("IDBObjectStore.openCursor")}} mais les enregistrements sont ici renvoyés en étant triés selon l'index et non selon la clé primaire.

+ +

La propriété multiEntry est affichée dans la console. Dans cet exemple, elle a la valeur false.

+ +

Enfin, on parcourt chacun des enregistrements pour insérer les données dans un tableau HTML. Pour consulter un exemple complet, vous pouvez vous référer à notre dépôt IDBIndex-example (voir également la démo live).

+ +
function displayDataByIndex() {
+  tableEntry.innerHTML = '';
+  var transaction = db.transaction(['contactsList'], 'readonly');
+  var objectStore = transaction.objectStore('contactsList');
+
+  var myIndex = objectStore.index('lName');
+  console.log(myIndex.multiEntry);
+
+  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('Les éléments ont été affichés.');
+    }
+  };
+};
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-multiEntry', 'multiEntry')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.multiEntry")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/name/index.html b/files/fr/web/api/idbindex/name/index.html deleted file mode 100644 index 1211cc937e..0000000000 --- a/files/fr/web/api/idbindex/name/index.html +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: IDBIndex.name -slug: Web/API/IDBIndex/name -tags: - - API - - IDBIndex - - IndexedDB - - Propriété - - Reference -translation_of: Web/API/IDBIndex/name ---- -
{{APIRef("IndexedDB")}}
- -

La propriété name, rattachée à l'interface {{domxref("IDBIndex")}}, contient une chaîne de caractères qui permet de désigner l'index courant.

- -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var indexName = IDBIndex.name;
-IDBIndex.name = indexName;
- -

Valeur

- -

Une chaîne de caractères qui fournit le nom à l'index.

- -

Exceptions

- -

Différentes exceptions peuvent être déclenchées lorsqu'on souhaite modifier le nom d'un index.

- -
-
InvalidStateError
-
L'index ou le magasin d'objets a été supprimé ou la transaction courante n'est pas une transaction de montée de niveau. Le renommage des index est uniquement possible lors des transactions de montée de niveau (c'est-à-dire quand le mode de la transaction est "versionchange").
-
TransactionInactiveError
-
La transaction courante n'est pas active.
-
ConstraintError
-
Il existe déjà un index avec ce nom.
-
- -

Exemples

- -

Dans l'exemple qui suit, on ouvre une transaction sur un magasin d'objets pour lequel on récupère l'index lName. Ensuite, on ouvre un curseur sur cet index avec la méthode {{domxref("IDBIndex.openCursor()")}} (celle-ci fonctionne comme la méthode {{domxref("IDBObjectStore.openCursor", "openCursor()")}} qui s'utilise sur les magasins d'objets mais ici, les enregistrements sont triés selon l'index et pas selon la clé primaire).

- -

Le nom de l'index est affiché dans la console grâce à la propriété (ici, le nom sera "lName").

- -

Enfin, on parcourt chacun des enregistrements et on ajoute les données dans un tableau HTML.

- -
function displayDataByIndex() {
-  tableEntry.innerHTML = '';
-  var transaction = db.transaction(['contactsList'], 'readonly');
-  var objectStore = transaction.objectStore('contactsList');
-
-  var myIndex = objectStore.index('lName');
-  console.log(myIndex.name);
-
-  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('Les éléments sont affichés.');
-    }
-  };
-};
- -
-

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

-
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-name', 'name')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.name")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/name/index.md b/files/fr/web/api/idbindex/name/index.md new file mode 100644 index 0000000000..1211cc937e --- /dev/null +++ b/files/fr/web/api/idbindex/name/index.md @@ -0,0 +1,112 @@ +--- +title: IDBIndex.name +slug: Web/API/IDBIndex/name +tags: + - API + - IDBIndex + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBIndex/name +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété name, rattachée à l'interface {{domxref("IDBIndex")}}, contient une chaîne de caractères qui permet de désigner l'index courant.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var indexName = IDBIndex.name;
+IDBIndex.name = indexName;
+ +

Valeur

+ +

Une chaîne de caractères qui fournit le nom à l'index.

+ +

Exceptions

+ +

Différentes exceptions peuvent être déclenchées lorsqu'on souhaite modifier le nom d'un index.

+ +
+
InvalidStateError
+
L'index ou le magasin d'objets a été supprimé ou la transaction courante n'est pas une transaction de montée de niveau. Le renommage des index est uniquement possible lors des transactions de montée de niveau (c'est-à-dire quand le mode de la transaction est "versionchange").
+
TransactionInactiveError
+
La transaction courante n'est pas active.
+
ConstraintError
+
Il existe déjà un index avec ce nom.
+
+ +

Exemples

+ +

Dans l'exemple qui suit, on ouvre une transaction sur un magasin d'objets pour lequel on récupère l'index lName. Ensuite, on ouvre un curseur sur cet index avec la méthode {{domxref("IDBIndex.openCursor()")}} (celle-ci fonctionne comme la méthode {{domxref("IDBObjectStore.openCursor", "openCursor()")}} qui s'utilise sur les magasins d'objets mais ici, les enregistrements sont triés selon l'index et pas selon la clé primaire).

+ +

Le nom de l'index est affiché dans la console grâce à la propriété (ici, le nom sera "lName").

+ +

Enfin, on parcourt chacun des enregistrements et on ajoute les données dans un tableau HTML.

+ +
function displayDataByIndex() {
+  tableEntry.innerHTML = '';
+  var transaction = db.transaction(['contactsList'], 'readonly');
+  var objectStore = transaction.objectStore('contactsList');
+
+  var myIndex = objectStore.index('lName');
+  console.log(myIndex.name);
+
+  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('Les éléments sont affichés.');
+    }
+  };
+};
+ +
+

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-name', 'name')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.name")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/objectstore/index.html b/files/fr/web/api/idbindex/objectstore/index.html deleted file mode 100644 index 72f83bc88e..0000000000 --- a/files/fr/web/api/idbindex/objectstore/index.html +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: IDBIndex.objectStore -slug: Web/API/IDBIndex/objectStore -translation_of: Web/API/IDBIndex/objectStore ---- -

{{ APIRef("IndexedDB") }}

- -
-

La propriètè objectStore de l'interface {{domxref("IDBIndex")}} renvoie un accès au magasin d'objet que référence l'index.

- -

{{AvailableInWorkers}}

-
- -

Syntaxe

- -
var indexObjectStore = myIndex.objectStore;
- -

Valeur

- -

Un {{ domxref("IDBObjectStore","accès au magasin d'objet") }}.

- -

Example

- -

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

- -

Le magasin d'objet référencé par l'index est afficher sur la console, quelque chose ressemblant à:

- -
IDBObjectStore { name: "contactsList", keyPath: "id", indexNames: DOMStringList[7], transaction: IDBTransaction, autoIncrement: false }
- -

Finalement, On itère sur tous les enregistrements pour en insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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 le magasin d'objet référencé locale sur la console
-  console.log(myIndex.objectStore);
-
-  //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.');
-    }
-  };
-};
- -

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

- -

Spécification

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBIndex-objectStore', 'objectStore')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.objectStore")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/objectstore/index.md b/files/fr/web/api/idbindex/objectstore/index.md new file mode 100644 index 0000000000..72f83bc88e --- /dev/null +++ b/files/fr/web/api/idbindex/objectstore/index.md @@ -0,0 +1,100 @@ +--- +title: IDBIndex.objectStore +slug: Web/API/IDBIndex/objectStore +translation_of: Web/API/IDBIndex/objectStore +--- +

{{ APIRef("IndexedDB") }}

+ +
+

La propriètè objectStore de l'interface {{domxref("IDBIndex")}} renvoie un accès au magasin d'objet que référence l'index.

+ +

{{AvailableInWorkers}}

+
+ +

Syntaxe

+ +
var indexObjectStore = myIndex.objectStore;
+ +

Valeur

+ +

Un {{ domxref("IDBObjectStore","accès au magasin d'objet") }}.

+ +

Example

+ +

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

+ +

Le magasin d'objet référencé par l'index est afficher sur la console, quelque chose ressemblant à:

+ +
IDBObjectStore { name: "contactsList", keyPath: "id", indexNames: DOMStringList[7], transaction: IDBTransaction, autoIncrement: false }
+ +

Finalement, On itère sur tous les enregistrements pour en insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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 le magasin d'objet référencé locale sur la console
+  console.log(myIndex.objectStore);
+
+  //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.');
+    }
+  };
+};
+ +

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

+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBIndex-objectStore', 'objectStore')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.objectStore")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/opencursor/index.html b/files/fr/web/api/idbindex/opencursor/index.html deleted file mode 100644 index 8e0dff9573..0000000000 --- a/files/fr/web/api/idbindex/opencursor/index.html +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: IDBIndex.openCursor() -slug: Web/API/IDBIndex/openCursor -tags: - - API - - IDBIndex - - IndexedDB - - Méthode - - Reference - - openCursor -translation_of: Web/API/IDBIndex/openCursor ---- -
{{APIRef("IndexedDB")}}
- -

La méthode openCursor() de l'interface {{domxref("IDBIndex")}} renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, crée un curseur sur l'intervalle de clé fourni en argument.

- -

La méthode la positionne le curseur de façon approprié, selon la direction indiquée :

- - - -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var request = myIndex.openCursor(keyRange,direction);
- -

Paramètres

- -
-
keyRange {{optional_inline}}
-
L'intervalle de clé ({{domxref("IDBKeyRange")}}) sur lequel se déplace le curseur. Si aucun argument n'est passé, la valeur par défaut sera un intervalle qui englobe tous les enregistrements du magasin d'objets.
-
direction {{optional_inline}}
-
La direction dans laquelle se déplace le curseur (la propriété direction de l'objet {{domxref("IDBCursor.direction")}}). La valeur par défaut est "next".
-
- -

Valeur de retour

- -

Un objet {{domxref("IDBRequest")}} sur lequel les évènements associés à l'opération seront déclenchés.

- -

Exceptions

- -

Cette méthode peut déclencher une {{domxref("DOMException")}} dont le type peut être l'un des suivant :

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Type d'exceptionDescription
TransactionInactiveErrorLa transaction pour cet index est inactive.
TypeErrorLa valeur du paramètre pour la direction est invalide.
DataError -

La clé ou l'intervalle de clé fourni contient une clé invalide.

-
InvalidStateErrorL'index a été supprimé ou déplacé.
- -

Exemple

- -

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

- -

Ensuite, on parcourt les enregistrements pour insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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');
-
-  //un curseur qui itère sur l'index
-  var request = myIndex.openCursor();
-  request.onsuccess = function(event) {
-    var cursor = request.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.');
-    }
-  };
-};
- -
-

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

-
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-openCursor-IDBRequest-any-range-IDBCursorDirection-direction', 'openCursor()')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.openCursor")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/opencursor/index.md b/files/fr/web/api/idbindex/opencursor/index.md new file mode 100644 index 0000000000..8e0dff9573 --- /dev/null +++ b/files/fr/web/api/idbindex/opencursor/index.md @@ -0,0 +1,156 @@ +--- +title: IDBIndex.openCursor() +slug: Web/API/IDBIndex/openCursor +tags: + - API + - IDBIndex + - IndexedDB + - Méthode + - Reference + - openCursor +translation_of: Web/API/IDBIndex/openCursor +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode openCursor() de l'interface {{domxref("IDBIndex")}} renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, crée un curseur sur l'intervalle de clé fourni en argument.

+ +

La méthode la positionne le curseur de façon approprié, selon la direction indiquée :

+ + + +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var request = myIndex.openCursor(keyRange,direction);
+ +

Paramètres

+ +
+
keyRange {{optional_inline}}
+
L'intervalle de clé ({{domxref("IDBKeyRange")}}) sur lequel se déplace le curseur. Si aucun argument n'est passé, la valeur par défaut sera un intervalle qui englobe tous les enregistrements du magasin d'objets.
+
direction {{optional_inline}}
+
La direction dans laquelle se déplace le curseur (la propriété direction de l'objet {{domxref("IDBCursor.direction")}}). La valeur par défaut est "next".
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBRequest")}} sur lequel les évènements associés à l'opération seront déclenchés.

+ +

Exceptions

+ +

Cette méthode peut déclencher une {{domxref("DOMException")}} dont le type peut être l'un des suivant :

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Type d'exceptionDescription
TransactionInactiveErrorLa transaction pour cet index est inactive.
TypeErrorLa valeur du paramètre pour la direction est invalide.
DataError +

La clé ou l'intervalle de clé fourni contient une clé invalide.

+
InvalidStateErrorL'index a été supprimé ou déplacé.
+ +

Exemple

+ +

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

+ +

Ensuite, on parcourt les enregistrements pour insérer les données dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openCursor")}} de l'{{domxref("IDBObjectStore","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');
+
+  //un curseur qui itère sur l'index
+  var request = myIndex.openCursor();
+  request.onsuccess = function(event) {
+    var cursor = request.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.');
+    }
+  };
+};
+ +
+

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-openCursor-IDBRequest-any-range-IDBCursorDirection-direction', 'openCursor()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.openCursor")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/openkeycursor/index.html b/files/fr/web/api/idbindex/openkeycursor/index.html deleted file mode 100644 index a52f7c4e8e..0000000000 --- a/files/fr/web/api/idbindex/openkeycursor/index.html +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: IDBIndex.openKeyCursor() -slug: Web/API/IDBIndex/openKeyCursor -tags: - - API - - IDBIndex - - IndexedDB - - Méthode - - Reference - - openKeyCursor -translation_of: Web/API/IDBIndex/openKeyCursor ---- -
{{APIRef("IndexedDB")}}
- -

La méthode openKeyCursor() de {{domxref("IDBIndex")}} renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, crée un curseur sur l'intervalle de clé passé en argument pour l'index courant.

- -

Cette méthode positionne le curseur sur la clé appropriée, dans la direction indiquée :

- - - -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var monIndex = objectStore.index("index");
-var request = monIndex.openKeyCursor(keyRange,direction);
- -

Paramètres

- -
-
keyRange {{optional_inline}}
-
L'{{domxref("IDBKeyRange","intervalle de clé")}} sur lequel se déplace le curseur. On peut passer un clé seule qui sera alors considéré comme une {{domxref("IDBKeyRange.only","intervalle seule")}}. Par défaut le curseur se déplace sur l'ensemble des clés de l'index.
-
direction {{optional_inline}}
-
La {{domxref("IDBCursor.direction","direction")}} du {{domxref("IDBCursor","curseur")}} qui défini le sens d'itération. par défaut "next".
-
- -

Valeur de retour

- -

Un objet {{domxref("IDBRequest")}} sur lequel on peut écouter les évènements associés à l'opération lancée par la méthode.

- -

Exceptions

- -

Cette méthode peut lever une exception :

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Type d'exceptionDescription
TransactionInactiveErrorLa transaction pour cet index {{domxref("IDBIndex")}} est inactive.
TypeErrorLa valeur du paramètre pour la direction est invalide.
DataError -

La clé ou l'intervalle de clé fourni contient une clé invalide.

-
InvalidStateErrorL'index {{domxref("IDBIndex")}} a été supprimé ou déplacé.
- -

Exemple

- -

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

- -

Ensuite, on itère sur l'ensemble des enregistrements pour en insérer leur clé dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openKeyCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openKeyCursor")}} de l'{{domxref("IDBObjectStore","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');
-
-  //un curseur qui itère sur l'index
-  var request = myIndex.openCursor();
-  request.onsuccess = function(event) {
-    var cursor = request.result;
-    if(cursor) {
-
-
-      // cursor.key la clé de l'enregistrement à la position du curseur
-      // il n'y as pas de cursor.value contrairement à openCursor()
-
-      var tableRow = document.createElement('tr');
-      tableRow.innerHTML =   '<td>' + cursor.key + '</td>'
-      tableEntry.appendChild(tableRow);
-
-      //on relance la requête pour la position suivante du curseur
-      cursor.continue();
-    } else {
-      console.log('Toutes les clé ont été affichés.');
-    }
-  };
-};
- -
-

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

-
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-openKeyCursor-IDBRequest-any-range-IDBCursorDirection-direction', 'openKeyCursor()')}}{{Spec2('IndexedDB')}} 
- -

Browser compatibility

- -

{{Compat("api.IDBIndex.openKeyCursor")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/openkeycursor/index.md b/files/fr/web/api/idbindex/openkeycursor/index.md new file mode 100644 index 0000000000..a52f7c4e8e --- /dev/null +++ b/files/fr/web/api/idbindex/openkeycursor/index.md @@ -0,0 +1,151 @@ +--- +title: IDBIndex.openKeyCursor() +slug: Web/API/IDBIndex/openKeyCursor +tags: + - API + - IDBIndex + - IndexedDB + - Méthode + - Reference + - openKeyCursor +translation_of: Web/API/IDBIndex/openKeyCursor +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode openKeyCursor() de {{domxref("IDBIndex")}} renvoie un objet {{domxref("IDBRequest")}} et, dans un thread séparé, crée un curseur sur l'intervalle de clé passé en argument pour l'index courant.

+ +

Cette méthode positionne le curseur sur la clé appropriée, dans la direction indiquée :

+ + + +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var monIndex = objectStore.index("index");
+var request = monIndex.openKeyCursor(keyRange,direction);
+ +

Paramètres

+ +
+
keyRange {{optional_inline}}
+
L'{{domxref("IDBKeyRange","intervalle de clé")}} sur lequel se déplace le curseur. On peut passer un clé seule qui sera alors considéré comme une {{domxref("IDBKeyRange.only","intervalle seule")}}. Par défaut le curseur se déplace sur l'ensemble des clés de l'index.
+
direction {{optional_inline}}
+
La {{domxref("IDBCursor.direction","direction")}} du {{domxref("IDBCursor","curseur")}} qui défini le sens d'itération. par défaut "next".
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBRequest")}} sur lequel on peut écouter les évènements associés à l'opération lancée par la méthode.

+ +

Exceptions

+ +

Cette méthode peut lever une exception :

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Type d'exceptionDescription
TransactionInactiveErrorLa transaction pour cet index {{domxref("IDBIndex")}} est inactive.
TypeErrorLa valeur du paramètre pour la direction est invalide.
DataError +

La clé ou l'intervalle de clé fourni contient une clé invalide.

+
InvalidStateErrorL'index {{domxref("IDBIndex")}} a été supprimé ou déplacé.
+ +

Exemple

+ +

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

+ +

Ensuite, on itère sur l'ensemble des enregistrements pour en insérer leur clé dans un tableau HTML. En utilisant la méthode {{domxref("IDBIndex.openKeyCursor")}} qui travaille de la même façon que la méthode {{domxref("IDBObjectStore.openKeyCursor")}} de l'{{domxref("IDBObjectStore","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');
+
+  //un curseur qui itère sur l'index
+  var request = myIndex.openCursor();
+  request.onsuccess = function(event) {
+    var cursor = request.result;
+    if(cursor) {
+
+
+      // cursor.key la clé de l'enregistrement à la position du curseur
+      // il n'y as pas de cursor.value contrairement à openCursor()
+
+      var tableRow = document.createElement('tr');
+      tableRow.innerHTML =   '<td>' + cursor.key + '</td>'
+      tableEntry.appendChild(tableRow);
+
+      //on relance la requête pour la position suivante du curseur
+      cursor.continue();
+    } else {
+      console.log('Toutes les clé ont été affichés.');
+    }
+  };
+};
+ +
+

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-openKeyCursor-IDBRequest-any-range-IDBCursorDirection-direction', 'openKeyCursor()')}}{{Spec2('IndexedDB')}} 
+ +

Browser compatibility

+ +

{{Compat("api.IDBIndex.openKeyCursor")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbindex/unique/index.html b/files/fr/web/api/idbindex/unique/index.html deleted file mode 100644 index 4e199912a4..0000000000 --- a/files/fr/web/api/idbindex/unique/index.html +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: IDBIndex.unique -slug: Web/API/IDBIndex/unique -tags: - - API - - IDBIndex - - IndexedDB - - Propriété - - Reference -translation_of: Web/API/IDBIndex/unique ---- -
{{APIRef("IndexedDB")}}
- -

La propriété unique, rattachée à l'interface IDBIndex, est un booléen qui indique si l'index utilisé permet d'avoir des clés dupliquées.

- -

Cette caractéristique est décidée lors de la création de l'index, avec la méthode {{domxref("IDBObjectStore.createIndex")}}. Cette méthode prend un paramètre optionnel, unique, qui, s'il vaut true, indique que l'index ne permettra pas d'avoir de clés dupliquées.

- -

{{AvailableInWorkers}}

- -

Syntaxe

- -
var myIndex = objectStore.index('index');
- -

Valeur

- -

Un booléen qui vaut true si l'index permet d'avoir des valeurs dupliquées pour une même clé ou false s'il n'est pas possible d'avoir de clés dupliquées.

- -

Exemples

- -

Dans l'exemple suivant, on ouvre une transaction en lecture sur un magasin d'objets puis on récupère l'index lName. On ouvre alors un curseur sur l'index grâce à {{domxref("IDBIndex.openCursor")}} (cela fonctionne de façon analogue à l'ouverture d'un curseur sur le magasin d'objets avec {{domxref("IDBObjectStore.openCursor")}} sauf qu'ici, les enregistrements sont triés selon l'index et pas selon la clé primaire.

- -

On affiche le caractère unique des clé dans la console (ici, on voit que la propriété vaut false).

- -

Enfin, on parcourt chaque enregistrement et on insère les données dans le tableau HTML (pour voir un exemple complet, consulter notre dépôt IDBIndex-example (voir la démonstration live).

- -
function displayDataByIndex() {
-  tableEntry.innerHTML = '';
-  var transaction = db.transaction(['contactsList'], 'readonly');
-  var objectStore = transaction.objectStore('contactsList');
-
-  var myIndex = objectStore.index('lName');
-  console.log(myIndex.unique);
-
-  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('Les éléments sont affichés.');
-    }
-  };
-};
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-unique', 'unique')}}{{Spec2('IndexedDB')}} 
- -

Compatibilité des navigateurs

- -

{{Compat("api.IDBIndex.unique")}}

- -

Voir aussi

- - diff --git a/files/fr/web/api/idbindex/unique/index.md b/files/fr/web/api/idbindex/unique/index.md new file mode 100644 index 0000000000..4e199912a4 --- /dev/null +++ b/files/fr/web/api/idbindex/unique/index.md @@ -0,0 +1,96 @@ +--- +title: IDBIndex.unique +slug: Web/API/IDBIndex/unique +tags: + - API + - IDBIndex + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBIndex/unique +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété unique, rattachée à l'interface IDBIndex, est un booléen qui indique si l'index utilisé permet d'avoir des clés dupliquées.

+ +

Cette caractéristique est décidée lors de la création de l'index, avec la méthode {{domxref("IDBObjectStore.createIndex")}}. Cette méthode prend un paramètre optionnel, unique, qui, s'il vaut true, indique que l'index ne permettra pas d'avoir de clés dupliquées.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var myIndex = objectStore.index('index');
+ +

Valeur

+ +

Un booléen qui vaut true si l'index permet d'avoir des valeurs dupliquées pour une même clé ou false s'il n'est pas possible d'avoir de clés dupliquées.

+ +

Exemples

+ +

Dans l'exemple suivant, on ouvre une transaction en lecture sur un magasin d'objets puis on récupère l'index lName. On ouvre alors un curseur sur l'index grâce à {{domxref("IDBIndex.openCursor")}} (cela fonctionne de façon analogue à l'ouverture d'un curseur sur le magasin d'objets avec {{domxref("IDBObjectStore.openCursor")}} sauf qu'ici, les enregistrements sont triés selon l'index et pas selon la clé primaire.

+ +

On affiche le caractère unique des clé dans la console (ici, on voit que la propriété vaut false).

+ +

Enfin, on parcourt chaque enregistrement et on insère les données dans le tableau HTML (pour voir un exemple complet, consulter notre dépôt IDBIndex-example (voir la démonstration live).

+ +
function displayDataByIndex() {
+  tableEntry.innerHTML = '';
+  var transaction = db.transaction(['contactsList'], 'readonly');
+  var objectStore = transaction.objectStore('contactsList');
+
+  var myIndex = objectStore.index('lName');
+  console.log(myIndex.unique);
+
+  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('Les éléments sont affichés.');
+    }
+  };
+};
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBIndex-unique', 'unique')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +

{{Compat("api.IDBIndex.unique")}}

+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf