added first prototype of the new HB with indexedDB
This commit is contained in:
parent
c5b47e88ac
commit
7a89c1cc6d
48
examples/indexedDB/index.coffee
Normal file
48
examples/indexedDB/index.coffee
Normal file
@ -0,0 +1,48 @@
|
||||
|
||||
class Buffer
|
||||
constructor: (@buffer)->
|
||||
set: (op)->
|
||||
that = this
|
||||
new Promise (resolve, reject)=>
|
||||
request = that.buffer.put op
|
||||
request.onsuccess = (event)->
|
||||
resolve op
|
||||
request.onerror = (event)->
|
||||
reject "Could not set value!"
|
||||
|
||||
get: (uid)->
|
||||
that = this
|
||||
new Promise (resolve, reject)=>
|
||||
request = that.buffer.get uid
|
||||
request.onsuccess = (event)->
|
||||
resolve request.result
|
||||
request.onerror = (event)->
|
||||
reject "Could not set value!"
|
||||
|
||||
class window.HB
|
||||
constructor: ()->
|
||||
@ready = (new Promise (resolve, reject)->
|
||||
request = indexedDB.open "Testy", 7
|
||||
request.onerror = ()->
|
||||
reject "Couldn't open the IndexedDB database!"
|
||||
request.onsuccess = (event)->
|
||||
resolve event.target.result
|
||||
request.onupgradeneeded = (event)->
|
||||
db = event.target.result
|
||||
objectStore = db.createObjectStore "HistoryBuffer", {keyPath: "uid"}
|
||||
).catch (message)->
|
||||
throw new Error message
|
||||
|
||||
requestBuffer: ()->
|
||||
@ready.then (db)->
|
||||
new Promise (resolve, reject)->
|
||||
resolve new Buffer(db.transaction(["HistoryBuffer"], "readwrite").objectStore("HistoryBuffer"))
|
||||
|
||||
removeDatabase: ()->
|
||||
req = indexedDB.deleteDatabase "Testy"
|
||||
req.onsuccess = ()->
|
||||
console.log("Deleted database successfully");
|
||||
req.onerror = ()->
|
||||
console.log("Couldn't delete database")
|
||||
|
||||
window.hb = new HB()
|
11
examples/indexedDB/index.html
Normal file
11
examples/indexedDB/index.html
Normal file
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8 />
|
||||
<title>Y Example</title>
|
||||
<script src="./index.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 contentEditable> Tutorial</h1>
|
||||
</body>
|
||||
</html>
|
96
examples/indexedDB/index.js
Normal file
96
examples/indexedDB/index.js
Normal file
@ -0,0 +1,96 @@
|
||||
// Generated by CoffeeScript 1.9.2
|
||||
(function() {
|
||||
var Buffer;
|
||||
|
||||
Buffer = (function() {
|
||||
function Buffer(buffer) {
|
||||
this.buffer = buffer;
|
||||
}
|
||||
|
||||
Buffer.prototype.set = function(op) {
|
||||
var that;
|
||||
that = this;
|
||||
return new Promise((function(_this) {
|
||||
return function(resolve, reject) {
|
||||
var request;
|
||||
request = that.buffer.put(op);
|
||||
request.onsuccess = function(event) {
|
||||
return resolve(op);
|
||||
};
|
||||
return request.onerror = function(event) {
|
||||
return reject("Could not set value!");
|
||||
};
|
||||
};
|
||||
})(this));
|
||||
};
|
||||
|
||||
Buffer.prototype.get = function(uid) {
|
||||
var that;
|
||||
that = this;
|
||||
return new Promise((function(_this) {
|
||||
return function(resolve, reject) {
|
||||
var request;
|
||||
request = that.buffer.get(uid);
|
||||
request.onsuccess = function(event) {
|
||||
return resolve(request.result);
|
||||
};
|
||||
return request.onerror = function(event) {
|
||||
return reject("Could not set value!");
|
||||
};
|
||||
};
|
||||
})(this));
|
||||
};
|
||||
|
||||
return Buffer;
|
||||
|
||||
})();
|
||||
|
||||
window.HB = (function() {
|
||||
function HB() {
|
||||
this.ready = (new Promise(function(resolve, reject) {
|
||||
var request;
|
||||
request = indexedDB.open("Testy", 7);
|
||||
request.onerror = function() {
|
||||
return reject("Couldn't open the IndexedDB database!");
|
||||
};
|
||||
request.onsuccess = function(event) {
|
||||
return resolve(event.target.result);
|
||||
};
|
||||
return request.onupgradeneeded = function(event) {
|
||||
var db, objectStore;
|
||||
db = event.target.result;
|
||||
return objectStore = db.createObjectStore("HistoryBuffer", {
|
||||
keyPath: "uid"
|
||||
});
|
||||
};
|
||||
}))["catch"](function(message) {
|
||||
throw new Error(message);
|
||||
});
|
||||
}
|
||||
|
||||
HB.prototype.requestBuffer = function() {
|
||||
return this.ready.then(function(db) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
return resolve(new Buffer(db.transaction(["HistoryBuffer"], "readwrite").objectStore("HistoryBuffer")));
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
HB.prototype.removeDatabase = function() {
|
||||
var req;
|
||||
req = indexedDB.deleteDatabase("Testy");
|
||||
req.onsuccess = function() {
|
||||
return console.log("Deleted database successfully");
|
||||
};
|
||||
return req.onerror = function() {
|
||||
return console.log("Couldn't delete database");
|
||||
};
|
||||
};
|
||||
|
||||
return HB;
|
||||
|
||||
})();
|
||||
|
||||
window.hb = new HB();
|
||||
|
||||
}).call(this);
|
Loading…
x
Reference in New Issue
Block a user