<- sync notebook.udpate[ok]

This commit is contained in:
life
2015-01-25 22:21:42 +08:00
parent 72232dc86e
commit f4d0ce223e
3 changed files with 42 additions and 32 deletions

6
node_modules/notebook.js generated vendored
View File

@@ -242,13 +242,15 @@ var Notebook = {
}, },
// 更新笔记本 // 更新笔记本
// 这里的notebook是服务器传过来的数据, 需要fix下, // 这里的notebook是服务器传过来的数据, 需要fix下,
updateNotebookForce: function(notebook, callback) { updateNotebookForce: function(notebook, notebookLocal, callback) {
var me = this;
notebook.IsDirty = false; notebook.IsDirty = false;
notebook.LocalIsNew = false; notebook.LocalIsNew = false;
var serverNotebookId = notebook.NotebookId; var serverNotebookId = notebook.NotebookId;
me.getNotebookIdByServerNotebookId(notebook.ParentNotebookId, function(parentNotebookId) { me.getNotebookIdByServerNotebookId(notebook.ParentNotebookId, function(parentNotebookId) {
notebook.ParentNotebookId = parentNotebookId; notebook.ParentNotebookId = parentNotebookId;
delete notebook['NotebookId']; notebook.ServerNotebookId = notebook.NotebookId;
notebook.NotebookId = notebookLocal.NotebookId;
NB.update({ServerNotebookId: serverNotebookId}, {$set: notebook}, {}, function (err, updates) { // Callback is optional NB.update({ServerNotebookId: serverNotebookId}, {$set: notebook}, {}, function (err, updates) { // Callback is optional
if(err) { if(err) {
console.log(err); console.log(err);

2
node_modules/sync.js generated vendored
View File

@@ -151,7 +151,7 @@ var Sync = {
} else { } else {
} }
// 这里都是用服务器端的数据, 不处理冲突 // 这里都是用服务器端的数据, 不处理冲突
Notebook.updateNotebookForce(notebook, function(notebook) { Notebook.updateNotebookForce(notebook, notebookLocal, function(notebook) {
if(notebook) { if(notebook) {
me._syncInfo.notebook.updates.push(notebook); me._syncInfo.notebook.updates.push(notebook);
} }

View File

@@ -245,7 +245,7 @@ Notebook.allNotebookId = "0";
Notebook.trashNotebookId = "-1"; Notebook.trashNotebookId = "-1";
Notebook.curNotebookIsTrashOrAll = function() { Notebook.curNotebookIsTrashOrAll = function() {
return Notebook.curNotebookId == Notebook.trashNotebookId || Notebook.curNotebookId == Notebook.allNotebookId ; return Notebook.curNotebookId == Notebook.trashNotebookId || Notebook.curNotebookId == Notebook.allNotebookId ;
} };
Notebook.renderNotebooks = function(notebooks) { Notebook.renderNotebooks = function(notebooks) {
var self = this; var self = this;
@@ -765,7 +765,7 @@ Notebook.updateNotebookTitle = function(target) {
} else { } else {
self.tree.editName(self.tree.getNodeByTId(notebookId)); self.tree.editName(self.tree.getNodeByTId(notebookId));
} }
} };
Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) { Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) {
var self = Notebook; var self = Notebook;
ajaxPost("/notebook/updateNotebookTitle", {notebookId: notebookId, title: newTitle}, function(ret) { ajaxPost("/notebook/updateNotebookTitle", {notebookId: notebookId, title: newTitle}, function(ret) {
@@ -778,10 +778,32 @@ Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) {
if(self.tree2) { if(self.tree2) {
var notebook = self.tree.getNodeByTId(notebookId); var notebook = self.tree.getNodeByTId(notebookId);
notebook.Title = newTitle; notebook.Title = newTitle;
self.tree.updateNode(notebook); self.tree.updateNode(notebook); // 同步到对方
} }
}); });
} };
// 修改标题 for sync
Notebook.renderUpdateNoteTitle = function(notebookId, newTitle) {
var self = this;
// 修改缓存
Notebook.cache[notebookId].Title = newTitle;
// 改变nav
Notebook.changeNav();
var notebook = self.tree.getNodeByTId(notebookId);
if(!notebook) {
return;
}
notebook.Title = newTitle;
if(self.tree) {
self.tree.updateNode(notebook);
}
if(self.tree2) {
self.tree2.updateNode(notebook);
}
};
//----------- //-----------
// 添加笔记本 // 添加笔记本
@@ -1011,50 +1033,36 @@ Notebook.addSync = function(notebooks) {
if(isEmpty(notebooks)) { if(isEmpty(notebooks)) {
return; return;
} }
log('add sync'); log('add sync notebook');
for(var i in notebooks) { for(var i in notebooks) {
var notebook = notebooks[i]; var notebook = notebooks[i];
Notebook.setCache(notebook); Notebook.setCache(notebook);
me.tree.addNodes(me.tree.getNodeByTId(notebook.ParentNotebookId), {Title: notebook.Title, NotebookId: notebook.NotebookId, IsNew: true}, true, true, false); me.tree.addNodes(me.tree.getNodeByTId(notebook.ParentNotebookId), {Title: notebook.Title, NotebookId: notebook.NotebookId, IsNew: true}, true, true, false);
/*
// 添加到当前的笔记列表中
var newHtmlObject = Note._getNoteHtmlObjct(note);
log(newHtmlObject);
$('#noteItemList').prepend(newHtmlObject);
*/
} }
} }
// 本地 -> 添加到服务器上的 // 本地 -> 添加到服务器上的
// LocalNotebookId // 不用做任何操作
// NotebookId是新的
Notebook.addChange = function(notebooks) { Notebook.addChange = function(notebooks) {
return;
var me = this; var me = this;
if(isEmpty(notebooks)) { if(isEmpty(notebooks)) {
return; return;
} }
for(var i in notebooks) { for(var i in notebooks) {
var notebook = notebooks[i]; var notebook = notebooks[i];
me.tree.addNodes(self.tree.getNodeByTId(notebook.ParentNotebookId), {Title: notebook.Title, NotebookId: notebook.NotebookId, IsNew: true}, true, true, false);
} }
}; };
// 更新 // 更新
Notebook.updateSync = function(notes) { // 不对移动做修改, 只修改标题
log("??") Notebook.updateSync = function(notebooks) {
if(isEmpty(notes)) { var me = this;
if(isEmpty(notebooks)) {
return; return;
} }
log("what?") log("update notebook sync");
for(var i in notes) { for(var i in notebooks) {
var note = notes[i]; var notebook = notebooks[i];
note.InitSync = true; // 需要重新获取内容 me.renderUpdateNoteTitle(notebook.NotebookId, notebook.Title);
Note.addNoteCache(note);
// 如果当前修改的是本笔记, 那么重新render之
log('->>>')
log(Note.curNoteId);
if(Note.curNoteId == note.NoteId) {
log('yes---');
Note.changeNote(Note.curNoteId);
}
} }
}; };