Pouxh Watcher
var s_id = app.gpv(vm_local.show, "_id");
window.BJ = {db:manage_db, _id:s_id};
BJ.watcher = manage_db.changes({
since: 'now',
live: true,
include_docs: true,
filter : function(doc){
return true;//doc.color === "yellow";
},
}).on('change', function (change) {
// received a change
console.log("I have changes all for id")
console.log(change)
var old_item = app.utils.copy(BJ.doc)
var co = app.utils.update_obj(change.doc, old_item);
console.log(co);
}).on('error', function (err) {
console.info(err)
});
BJ.REDWatcher = manage_db.changes({
since: 'now',
live: true,
include_docs: true,
filter : function(doc){
return doc.color === "red";
},
}).on('change', function (change) {
// received a change
console.log("I have changes all for id")
console.log(change)
}).on('error', function (err) {
console.info(err)
});
var items = ["blue", "green", "yellow", "red", "purple", "pink"];
BJ.save = function(){
manage_db.get(s_id, function(err, doc){
if(err){
console.error(err);
return false;
}
var item = items[Math.floor(Math.random()*items.length)];
doc.color = item;
doc.cover = {color:item, smelly:doc.cover.smelly+1};
console.log("setting -"+item);
manage_db.put(doc, function(err, res){
console.log(err);
console.log(res);
})
})
}
BJ.pink = function(){
BJ.watcher.cancel();
BJ.watcher = manage_db.changes({
since: 'now',
live: true,
include_docs: true,
filter : function(doc){
return doc.color === "pink";
},
}).on('change', function (change) {
// received a change
console.log("I have changes pink")
console.log(change)
}).on('error', function (err) {
console.info(err)
});
}
p.alert.show("Getting Data", 2);
console.log("Getting Data")
manage_db.get(s_id, function(err, doc){
if(err){
var doc = {
"_id": s_id,
"managed": false,
"created" : app.utils.create_num_date(new Date(), true),
"cover":{color:"red", smelly:0}
};
manage_db.put(doc, function(err, res){
if(!err){
doc.rev = res.rev;
}
});
}else{
p.alert.show("Got it", 2);
console.log("Got it", doc)
BJ.doc = doc;
doc.accessed = app.utils.create_num_date(new Date(), true);
console.log("Before Put");
manage_db.put(doc).then(function(res){
console.log("After Put");
console.log(res);
}).catch(function (err) {
// oh noes! we got an error
console.log("After Put");
console.log(err)
});
}
});