JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://include.jaydata.org/jaydata.min.js"></script>
JavaScript
$data.Entity.extend("Todo", {
Id: { type: "int", key: true, computed: true },
Task: { type: String, required: true, maxLength: 200 }
});
$data.EntityContext.extend("TodoDatabase", {
Todos: { type: $data.EntitySet, elementType: Todo }
});
var todoDB = new TodoDatabase({
provider: 'indexedDb', databaseName: 'MyTodoDatabase2'
});
todoDB.onReady(function() {
var newTodo = new Todo({Task: "alma"});
todoDB.Todos.add(newTodo);
todoDB.saveChanges()
.then(function() {
console.log("Initial value: ", newTodo.Task);
todoDB.Todos.attach(newTodo);
newTodo.Task = "korte";
return todoDB.Todos.saveChanges();
})
.then(function(){
console.log("Updated value: ", newTodo.Task);
return todoDB.Todos
.filter(function(t) {return t.Id == item.Id;}, {item: newTodo})
.toArray(function(dbResult){
var todoFromDb = dbResult[0];
console.log("Value from DB: ", todoFromDb.Task);
});
})
.then(function(){
console.log("Updated value: ", newTodo.Task);
return todoDB.Todos
.filter(function(t) {return t.Id == item.Id;}, {item: newTodo})
.toArray(function(dbResult){
var todoFromDb = dbResult[0];
console.log("Value from DB: ", todoFromDb.Task);
});
})
});