-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjs.js
100 lines (97 loc) · 2.73 KB
/
js.js
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
const DBName = 'MyDBName'
, DBVersion = 4;
//init your DB
var openRequest = idb.open(DBName, DBVersion);
openRequest.onupgradeneeded = function (e) {
var db = e.target.result;
console.log('Running onupgradeneeded, new version ' + DBVersion);
if (!db.objectStoreNames.contains('MY_TABLE_NAME')) {
let t = db.createObjectStore('MY_TABLE_NAME', {keyPath: 'key'});
}
};
openRequest.onsuccess = function (e) {
console.log('DB running');
db = e.target.result;
};
openRequest.onerror = function (e) {
console.error('DB Error (1)');
console.log(e);
};
//DB OBject
window.dbi = {
success: false,
use: function (n) {
console.log('Table in use ' + n);
dbTable = n;
},
getAll: function () {
dbi.success = false;
let tx = db.transaction(dbTable, 'readonly');
let store = tx.objectStore(dbTable);
return store.getAll();
},
getVal: function (n) {
dbi.success = false;
let tx = db.transaction(dbTable, 'readonly');
let store = tx.objectStore(dbTable);
let r = store.get(n);
r.onsuccess = function (e) {
dbi.success = true;
let t = e.target.result || null;
return t;
}
},
getRow: function (t, o) {
dbi.success = false;
return db ? void (db.transaction(dbTable, 'readonly').objectStore(dbTable).get(t).onsuccess = function (e) {
let t = e.target.result && e.target.result.v || null;
if (t !== null) {
dbi.success = true;
}
o(t)
}) : void setTimeout(function () {
dbi.get(t, o)
}, 100)
},
set: function (k, i) {
dbi.success = false;
let transaction = db.transaction([dbTable], 'readwrite');
let store = transaction.objectStore(dbTable);
let o = {key: "", v: ""};
o.key = k, o.v = i;
let request = store.add(o);
request.onerror = function (e) {
console.error('DB Error ', e.target.error.name);
};
request.onsuccess = function (e) {
dbi.success = true;
console.log('DB Success');
};
},
del: function (k) {
dbi.success = false;
let transaction = db.transaction(dbTable, 'readwrite');
let store = transaction.objectStore(dbTable);
let request = store.delete(k);
request.onerror = function (e) {
console.error('DB Error ', e.target.error.name);
};
request.onsuccess = function (e) {
dbi.success = true;
console.log('DB Success');
};
},
empty: function () {
dbi.success = false;
let transaction = db.transaction(dbTable, 'readwrite');
let store = transaction.objectStore(dbTable);
let request = store.clear();
request.onerror = function (e) {
console.error('DB Error ', e.target.error.name);
};
request.onsuccess = function (e) {
dbi.success = true;
console.log('DB Success');
};
}
};