-
Notifications
You must be signed in to change notification settings - Fork 0
/
d3_indexdb1.html
77 lines (43 loc) · 2.3 KB
/
d3_indexdb1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<html>
<body>
<script id="userNonPresentationData">
//User Data Section. Keep things that will fetch user non-presentation data here
//Do not put presentation elements here. Presentation elements will need rePainting when screens are resized. Put them in next script tag UserPresentationCode under function rePaintUserData()
/*
configureIndexedDB
addIntoIndexedDB
getFromIndexedDB
updateIntoIndexedDB
deleteFromIndexedDB
createIndexIntoIndexedDB
runTheCursorOnIndexedDB
*/
//databaseVErsion is 1 initially. If you want to add or remove a objectStore, then database version must change. If you add a keypath to an objectStore, then version number must change.
//So we needd to create an Object .. just not a function
function appDB(databaseName,objectStoreName,objectStoreKey){
this.databaseName = databaseName;
this.objectStoreName = objectStoreName;
this.objectStoreKey = objectStoreKey;
//When I add an object or key path, I can update the database version directly there, and trigger onupgradeevent
this.databaseVersion = 1;
this.configureIndexedDb = function (){
var that = this;
var request = window.indexedDB.open(that.databaseName, that.databaseVersion);
// debugger;
request.onupgradeneeded = function(event){
var db = event.target.result;
var objectStore = db.createObjectStore(that.objectStoreName,{keyPath: that.objectStoreKey});
console.log(`${that.objectStoreName} Object Store Successfully created with version number ${that.databaseVersion}`);
};
request.onsuccess = function(event){
db = event.target.result;
console.log(`${that.objectStoreName} Object Store in ${that.databaseName} successfully opened with version number ${that.databaseVersion}`);
};
request.onerror = function(event) {
alert("Why didn't you allow my web app to use IndexedDB?!"+event.target.errorCode);
};
}
}
</script>
</body>
</html>