| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
angular2-indexeddb is a service that wraps indexeddb database in an Angular 2 service. It exposes very simple promises API to enable the usage of indexeddb without most of it plumbing.
Copyright (C) 2016, Gil Fink gil@sparxys.com
You can choose your preferred method of installation:
npm install angular2-indexeddb
Include angular2-indexeddb.js in your application.
<script src="components/angular2-indexeddb/angular2-indexeddb.js"></script>Import the the AngularIndexedDB class as a dependency:
import {AngularIndexedDB} from 'angular2-indexeddb';First instantiate the service as follows:
let db = new AngularIndexedDB('myDb', 1);The first argument is the name of your database and the second is the database version. If you forget the version you the service will default to version 1.
Use the APIs that the AngularIndexedDB service exposes to use indexeddb. In the API the following functions:
Usage example:
db.createStore(1, (evt) => {
let objectStore = evt.currentTarget.result.createObjectStore(
'people', { keyPath: "id", autoIncrement: true });
objectStore.createIndex("name", "name", { unique: false });
objectStore.createIndex("email", "email", { unique: true });
});Usage example:
db.getByKey('people', 1).then((person) => {
console.log(person);
}, (error) => {
console.log(error);
});Usage example:
db.getAll('people').then((people) => {
console.log(people);
}, (error) => {
console.log(people);
});Usage example:
db.getByIndex('people', 'name', 'Dave').then((person) => {
console.log(person);
}, (error) => {
console.log(error);
});Usage example (add without a key):
db.add('people', { name: 'name', email: 'email' }).then(() => {
// Do something after the value was added
}, (error) => {
console.log(error);
});In the previous example I'm using undefined as the key because the key is configured in the objectStore as auto-generated.
Usage example (update without a key):
db.update('people', { id: 3, name: 'name', email: 'email' }).then(() => {
// Do something after update
}, (error) => {
console.log(error);
});Usage example:
db.remove('people', 3).then(() => {
// Do something after remove
}, (error) => {
console.log(error);
});Usage example:
db.openCursor('people', (evt) => {
var cursor = evt.target.result;
if(cursor) {
console.log(cursor.value);
cursor.continue();
} else {
console.log('Entries all displayed.');
}
}, IDBKeyRange.bound("A", "F"));Usage example:
db.clear('people').then(() => {
// Do something after clear
}, (error) => {
console.log(error);
});Released under the terms of the MIT License.
| Back | FazBrowse Home | New Git URL |