mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-18 09:24:55 +00:00
change notebook status: dirty, new
This commit is contained in:
10
node_modules/notebook.js
generated
vendored
10
node_modules/notebook.js
generated
vendored
@@ -434,6 +434,7 @@ var Notebook = {
|
|||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
// 服务器没有, 但是是发送更新的, 所以需要作为添加
|
// 服务器没有, 但是是发送更新的, 所以需要作为添加
|
||||||
|
// 情况很少见
|
||||||
if(notebookSyncInfo.changeNeedAdds) {
|
if(notebookSyncInfo.changeNeedAdds) {
|
||||||
var needAddNotebooks = notebookSyncInfo.changeNeedAdds;
|
var needAddNotebooks = notebookSyncInfo.changeNeedAdds;
|
||||||
for(var i in needAddNotebooks) {
|
for(var i in needAddNotebooks) {
|
||||||
@@ -442,6 +443,7 @@ var Notebook = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// pull
|
||||||
// 处理添加的, 更新的, 这里前端统一重新渲染!!
|
// 处理添加的, 更新的, 这里前端统一重新渲染!!
|
||||||
var adds = notebookSyncInfo.adds;
|
var adds = notebookSyncInfo.adds;
|
||||||
if (!isEmpty(adds) || !isEmpty(notebookSyncInfo.updates)) {
|
if (!isEmpty(adds) || !isEmpty(notebookSyncInfo.updates)) {
|
||||||
@@ -452,11 +454,15 @@ var Notebook = {
|
|||||||
Web.reloadNotebook();
|
Web.reloadNotebook();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// push
|
||||||
if (!isEmpty(notebookSyncInfo.changeAdds)) {
|
if (!isEmpty(notebookSyncInfo.changeAdds)) {
|
||||||
console.log(' has changeAdds notebook')
|
console.log(' has changeAdds notebook', notebookSyncInfo.changeAdds);
|
||||||
console.log(notebookSyncInfo.changeAdds)
|
|
||||||
Web.addChangeNotebook(notebookSyncInfo.changeAdds);
|
Web.addChangeNotebook(notebookSyncInfo.changeAdds);
|
||||||
}
|
}
|
||||||
|
if (!isEmpty(notebookSyncInfo.changeUpdates)) {
|
||||||
|
console.log(' has changeUpdates notebook', notebookSyncInfo.changeUpdates);
|
||||||
|
Web.updateChangeNotebook(notebookSyncInfo.changeUpdates);
|
||||||
|
}
|
||||||
|
|
||||||
if (!isEmpty(notebookSyncInfo.deletes)) {
|
if (!isEmpty(notebookSyncInfo.deletes)) {
|
||||||
// 处理删除的
|
// 处理删除的
|
||||||
|
20
node_modules/sync.js
generated
vendored
20
node_modules/sync.js
generated
vendored
@@ -32,7 +32,7 @@ syncProgress 设置
|
|||||||
var Sync = {
|
var Sync = {
|
||||||
// 同步的信息, 返回给调用者
|
// 同步的信息, 返回给调用者
|
||||||
_syncInfo: {
|
_syncInfo: {
|
||||||
notebook: {changeAdds: [], changeConflicts: [], adds: [], deletes: [], updates: []},
|
notebook: {changeAdds: [], changeConflicts: [], adds: [], deletes: [], updates: [], changeUpdates: []},
|
||||||
note: {changeAdds: [], changeConflicts: [], adds: [], deletes: [], updates: [], conflicts: [], errors: []},
|
note: {changeAdds: [], changeConflicts: [], adds: [], deletes: [], updates: [], conflicts: [], errors: []},
|
||||||
tag: {}
|
tag: {}
|
||||||
},
|
},
|
||||||
@@ -84,7 +84,7 @@ var Sync = {
|
|||||||
|
|
||||||
// 同步信息
|
// 同步信息
|
||||||
me._syncInfo = {
|
me._syncInfo = {
|
||||||
notebook: {ok: false, changeAdds: [], changeConflicts: [], changeNeedAdds: [], adds: [], deletes: [], updates: []},
|
notebook: {ok: false, changeAdds: [], changeConflicts: [], changeNeedAdds: [], adds: [], deletes: [], updates: [], changeUpdates: []},
|
||||||
note: {ok: false, adds: [], changeAdds: [], changeConflicts: [], changeUpdates:[], changeNeedAdds: [], deletes: [], updates: [], conflicts: [], errors: []},
|
note: {ok: false, adds: [], changeAdds: [], changeConflicts: [], changeUpdates:[], changeNeedAdds: [], deletes: [], updates: [], conflicts: [], errors: []},
|
||||||
tag: {ok: false, adds: [], changeAdds: [], changeConflicts: [], changeNeedAdds: [], deletes: [], updates: [], conflicts: []},
|
tag: {ok: false, adds: [], changeAdds: [], changeConflicts: [], changeNeedAdds: [], deletes: [], updates: [], conflicts: []},
|
||||||
};
|
};
|
||||||
@@ -884,8 +884,8 @@ var Sync = {
|
|||||||
} else if(newNotebook.Msg == 'notExists') {
|
} else if(newNotebook.Msg == 'notExists') {
|
||||||
// 服务器端没有, 那么要作为添加
|
// 服务器端没有, 那么要作为添加
|
||||||
// 可能服务器上已删除, 此时应该要作为添加而不是更新
|
// 可能服务器上已删除, 此时应该要作为添加而不是更新
|
||||||
me._syncInfo.notebook.changeNeedAdds.push(notebook);
|
// me._syncInfo.notebook.changeNeedAdds.push(notebook);
|
||||||
// me.fixSynced('notebook', 'changeNeedAdds', notebook);
|
me.fixSynced('notebook', 'changeNeedAdds', notebook);
|
||||||
}
|
}
|
||||||
|
|
||||||
// me.checkNeedIncSyncAgain(newNotebook.Usn);
|
// me.checkNeedIncSyncAgain(newNotebook.Usn);
|
||||||
@@ -894,17 +894,15 @@ var Sync = {
|
|||||||
else {
|
else {
|
||||||
// 更新
|
// 更新
|
||||||
// TODO 后端updateNotebook只要传Usn回来即可
|
// TODO 后端updateNotebook只要传Usn回来即可
|
||||||
console.log(" 返回来的notebook" + newNotebook.Title)
|
console.log(" 返回来的notebook " + newNotebook.Title)
|
||||||
|
|
||||||
Notebook.updateNotebookForceForSendChange(notebook.NotebookId, newNotebook, function() {
|
Notebook.updateNotebookForceForSendChange(notebook.NotebookId, newNotebook, function() {
|
||||||
if(notebook.LocalIsNew) {
|
if(notebook.LocalIsNew) {
|
||||||
// 没用
|
// me._syncInfo.notebook.changeAdds.push(newNotebook);
|
||||||
me._syncInfo.notebook.changeAdds.push(newNotebook);
|
me.fixSynced('notebook', 'changeAdds', newNotebook);
|
||||||
// me.fixSynced('notebook', 'changeAdds', newNotebook);
|
|
||||||
} else {
|
} else {
|
||||||
// 没用
|
// me._syncInfo.notebook.changeUpdates.push(newNotebook);
|
||||||
// me._syncInfo.notebook.updates.push(newNotebook);
|
me.fixSynced('notebook', 'changeUpdates', newNotebook);
|
||||||
me.fixSynced('notebook', 'updates', newNotebook);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 这里才cb(), 因为先添加父, 再添加子
|
// 这里才cb(), 因为先添加父, 再添加子
|
||||||
|
5
node_modules/web.js
generated
vendored
5
node_modules/web.js
generated
vendored
@@ -57,7 +57,10 @@ var Web = {
|
|||||||
},
|
},
|
||||||
addChangeNotebook: function(notebooks) {
|
addChangeNotebook: function(notebooks) {
|
||||||
var me = this;
|
var me = this;
|
||||||
me.Notebook.addChange(notebooks);
|
me.Notebook.addChanges(notebooks);
|
||||||
|
},
|
||||||
|
updateChangeNotebook: function (notebooks) {
|
||||||
|
this.Notebook.updateChanges(notebooks);
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
fixNotebookConflicts: function(notebookInfo) {
|
fixNotebookConflicts: function(notebookInfo) {
|
||||||
|
@@ -2336,7 +2336,7 @@ Note.initContextmenu = function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var ms = Note.getContextNotebooksSys(notebooks);
|
// var ms = Note.getContextNotebooksSys(notebooks);
|
||||||
// this.move.submenu = ms[0];
|
// this.move.submenu = ms[0];
|
||||||
// this.copy.submenu = ms[1];
|
// this.copy.submenu = ms[1];
|
||||||
|
|
||||||
|
@@ -3,7 +3,6 @@ Notebook.cache = {}; // notebookId => {};
|
|||||||
Notebook.notebooks = []; // 按次序
|
Notebook.notebooks = []; // 按次序
|
||||||
// <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li>
|
// <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li>
|
||||||
Notebook.notebookNavForListNote = ""; // html 为了note list上面和新建时的ul
|
Notebook.notebookNavForListNote = ""; // html 为了note list上面和新建时的ul
|
||||||
Notebook.notebookNavForNewNote = ""; // html 为了note list上面和新建时的ul
|
|
||||||
|
|
||||||
// 设置缓存
|
// 设置缓存
|
||||||
Notebook.setCache = function(notebook) {
|
Notebook.setCache = function(notebook) {
|
||||||
@@ -148,6 +147,7 @@ Notebook.getSubNotebooks = function(parentNotebookId) {
|
|||||||
}
|
}
|
||||||
return nodes;
|
return nodes;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple Tree Setting(基本版)
|
* Simple Tree Setting(基本版)
|
||||||
* 笔记移动、复制时使用
|
* 笔记移动、复制时使用
|
||||||
@@ -202,16 +202,13 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
icoObj = $("#" + treeId + " #" + treeNode.tId + "_ico");
|
icoObj = $("#" + treeId + " #" + treeNode.tId + "_ico");
|
||||||
switchObj.remove();
|
switchObj.remove();
|
||||||
icoObj.before(switchObj);
|
icoObj.before(switchObj);
|
||||||
if(!isShare) {
|
|
||||||
if(!Notebook.isAllNotebookId(treeNode.NotebookId) && !Notebook.isTrashNotebookId(treeNode.NotebookId)) {
|
if(!Notebook.isAllNotebookId(treeNode.NotebookId) && !Notebook.isTrashNotebookId(treeNode.NotebookId)) {
|
||||||
icoObj.after($('<span class="notebook-number-notes" id="numberNotes_' + treeNode.NotebookId + '">' + (treeNode.NumberNotes || 0) + '</span>'));
|
icoObj.after($('<span class="notebook-number-notes" id="numberNotes_' + treeNode.NotebookId + '">' + (treeNode.NumberNotes || 0) + '</span>'));
|
||||||
icoObj.after($('<span class="fa notebook-setting" title="' + getMsg('Setting') + '"></span>'));
|
// icoObj.after($('<span class="notebook-dirty" id="notebookDirty_' + treeNode.NotebookId + '"></span>'));
|
||||||
}
|
icoObj.after($('<span class="fa notebook-setting" title="' + getMsg('Setting') + '"></span>'));
|
||||||
} else {
|
|
||||||
if(!Share.isDefaultNotebookId(treeNode.NotebookId)) {
|
|
||||||
icoObj.after($('<span class="fa notebook-setting" title="' + getMsg('Setting') + '"></span>'));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (treeNode.level > 1) {
|
if (treeNode.level > 1) {
|
||||||
var spaceStr = "<span style='display: inline-block;width:" + (spaceWidth * treeNode.level)+ "px'></span>";
|
var spaceStr = "<span style='display: inline-block;width:" + (spaceWidth * treeNode.level)+ "px'></span>";
|
||||||
switchObj.before(spaceStr);
|
switchObj.before(spaceStr);
|
||||||
@@ -270,34 +267,22 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
// {siblings: [id1, id2], parentNotebookId: 'xx', curNotebookId: 'yy'}
|
// {siblings: [id1, id2], parentNotebookId: 'xx', curNotebookId: 'yy'}
|
||||||
NotebookService.dragNotebooks(ajaxData.curNotebookId, ajaxData.parentNotebookId, ajaxData.siblings);
|
NotebookService.dragNotebooks(ajaxData.curNotebookId, ajaxData.parentNotebookId, ajaxData.siblings);
|
||||||
|
|
||||||
// ajaxPost("/notebook/dragNotebooks", {data: JSON.stringify(ajaxData)});
|
|
||||||
|
|
||||||
// 这里慢!
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
Notebook.changeNav();
|
Notebook.changeNav();
|
||||||
}, 100);
|
}, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isShare) {
|
var onClick = function(e, treeId, treeNode) {
|
||||||
var onClick = function(e, treeId, treeNode) {
|
var notebookId = treeNode.NotebookId;
|
||||||
var notebookId = treeNode.NotebookId;
|
Notebook.changeNotebook(notebookId);
|
||||||
Notebook.changeNotebook(notebookId);
|
};
|
||||||
};
|
var onDblClick = function(e) {
|
||||||
var onDblClick = function(e) {
|
var notebookId = $(e.target).attr("notebookId");
|
||||||
var notebookId = $(e.target).attr("notebookId");
|
if(!Notebook.isAllNotebookId(notebookId) && !Notebook.isTrashNotebookId(notebookId)) {
|
||||||
if(!Notebook.isAllNotebookId(notebookId) && !Notebook.isTrashNotebookId(notebookId)) {
|
self.updateNotebookTitle(e.target);
|
||||||
self.updateNotebookTitle(e.target);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
};
|
||||||
var onClick = function(e, treeId, treeNode) {
|
|
||||||
var notebookId = treeNode.NotebookId;
|
|
||||||
var fromUserId = $(e.target).closest('.friend-notebooks').attr("fromUserId");
|
|
||||||
Share.changeNotebook(fromUserId, notebookId);
|
|
||||||
};
|
|
||||||
var onDblClick = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
var setting = {
|
var setting = {
|
||||||
view: {
|
view: {
|
||||||
showLine: false,
|
showLine: false,
|
||||||
@@ -341,6 +326,8 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
$('#numberNotes_' + notebookId).html(Notebook._subNotebookNumberNotes[notebookId]);
|
$('#numberNotes_' + notebookId).html(Notebook._subNotebookNumberNotes[notebookId]);
|
||||||
Notebook._subNotebookNumberNotes[notebookId] = undefined;
|
Notebook._subNotebookNumberNotes[notebookId] = undefined;
|
||||||
}
|
}
|
||||||
|
// 子的dirty, new状态
|
||||||
|
Notebook.setDirtyOrNewForSub(notebookId);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -373,7 +360,8 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return setting;
|
return setting;
|
||||||
}
|
};
|
||||||
|
|
||||||
Notebook.allNotebookId = "0";
|
Notebook.allNotebookId = "0";
|
||||||
Notebook.trashNotebookId = "-1";
|
Notebook.trashNotebookId = "-1";
|
||||||
Notebook.curNotebookIsTrashOrAll = function() {
|
Notebook.curNotebookIsTrashOrAll = function() {
|
||||||
@@ -499,13 +487,6 @@ Notebook.searchNotebookForAddNote = function(key) {
|
|||||||
notebooks2.push(notebooks[i]);
|
notebooks2.push(notebooks[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(isEmpty(notebooks2)) {
|
|
||||||
$("#notebookNavForNewNote").html("");
|
|
||||||
} else {
|
|
||||||
$("#notebookNavForNewNote").html(self.getChangedNotebooks(notebooks2));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$("#notebookNavForNewNote").html(self.everNavForNewNote);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -531,42 +512,9 @@ Notebook.searchNotebookForList = function(key) {
|
|||||||
self.tree2 = null;
|
self.tree2 = null;
|
||||||
$search.hide();
|
$search.hide();
|
||||||
$notebookList.show();
|
$notebookList.show();
|
||||||
$("#notebookNavForNewNote").html(self.everNavForNewNote);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 修改,添加,删除notebook后调用
|
|
||||||
// 改变nav
|
|
||||||
// 直接从html中取!
|
|
||||||
Notebook.getChangedNotebooks = function(notebooks) {
|
|
||||||
var self = this;
|
|
||||||
var navForNewNote = "";
|
|
||||||
|
|
||||||
var len = notebooks.length;
|
|
||||||
for(var i = 0; i < len; ++i) {
|
|
||||||
var notebook = notebooks[i];
|
|
||||||
|
|
||||||
var classes = "";
|
|
||||||
if(!isEmpty(notebook.Subs)) {
|
|
||||||
classes = "dropdown-submenu";
|
|
||||||
}
|
|
||||||
var eachForNew = tt('<li role="presentation" class="clearfix ?"><div class="new-note-left pull-left" title="为该笔记本新建笔记" href="#" notebookId="?">?</div><div title="为该笔记本新建markdown笔记" class="new-note-right pull-left" notebookId="?">M</div>', classes, notebook.NotebookId, notebook.Title, notebook.NotebookId);
|
|
||||||
|
|
||||||
if(!isEmpty(notebook.Subs)) {
|
|
||||||
eachForNew += "<ul class='dropdown-menu'>";
|
|
||||||
eachForNew += self.getChangedNotebooks(notebook.Subs);
|
|
||||||
eachForNew += "</ul>";
|
|
||||||
}
|
|
||||||
|
|
||||||
eachForNew += '</li>';
|
|
||||||
|
|
||||||
navForNewNote += eachForNew;
|
|
||||||
}
|
|
||||||
return navForNewNote;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Notebook.everNavForNewNote = "";
|
|
||||||
Notebook.everNotebooks = [];
|
Notebook.everNotebooks = [];
|
||||||
Notebook.changeNav = function() {
|
Notebook.changeNav = function() {
|
||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
@@ -579,21 +527,10 @@ Notebook.changeNav = function() {
|
|||||||
pureNotebooks.push(notebooks[i]);
|
pureNotebooks.push(notebooks[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var html = self.getChangedNotebooks(pureNotebooks);
|
|
||||||
|
|
||||||
self.everNavForNewNote = html;
|
|
||||||
self.everNotebooks = pureNotebooks;
|
self.everNotebooks = pureNotebooks;
|
||||||
|
|
||||||
$("#notebookNavForNewNote").html(html);
|
|
||||||
|
|
||||||
// 移动, 复制重新来, 因为nav变了, 移动至-----的notebook导航也变了
|
// 移动, 复制重新来, 因为nav变了, 移动至-----的notebook导航也变了
|
||||||
// 这里速度很慢
|
|
||||||
// var t1 = (new Date()).getTime();
|
|
||||||
Note.initContextmenu();
|
Note.initContextmenu();
|
||||||
// Share.initContextmenu(Note.notebooksCopy);
|
};
|
||||||
// var t2 = (new Date()).getTime();
|
|
||||||
// log(t2-t1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 我的共享notebooks
|
* 我的共享notebooks
|
||||||
@@ -949,6 +886,37 @@ Notebook.updateNotebookTitle = function(target) {
|
|||||||
self.tree.editName(self.tree.getNodeByTId(notebookId));
|
self.tree.editName(self.tree.getNodeByTId(notebookId));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Notebook.subNotebookDirtyOrNew = {}; // notebookId => {dirty: new: }
|
||||||
|
Notebook.setDirtyOrNew = function (notebookId, isDirty, isNew) {
|
||||||
|
if (this._setDirtyOrNew(notebookId, isDirty, isNew)) {
|
||||||
|
if (this.subNotebookDirtyOrNew[notebookId]) {
|
||||||
|
delete this.subNotebookDirtyOrNew[notebookId];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 没找到, 可能是子笔记本, 还没展开
|
||||||
|
else {
|
||||||
|
this.subNotebookDirtyOrNew[notebookId] = {isDirty: isDirty, isNew: isNew};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Notebook.setDirtyOrNewForSub = function (notebookId, isDirty, isNew) {
|
||||||
|
var d = this.subNotebookDirtyOrNew[notebookId];
|
||||||
|
if (!d) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this._setDirtyOrNew(notebookId, d.isDirty, d.isNew);
|
||||||
|
};
|
||||||
|
|
||||||
|
Notebook._setDirtyOrNew = function (notebookId, isDirty, isNew) {
|
||||||
|
var $o = $('#' + notebookId + '_a');
|
||||||
|
if ($o.length) {
|
||||||
|
isDirty ? $o.addClass('nb-dirty') : $o.removeClass('nb-dirty');
|
||||||
|
isNew ? $o.addClass('nb-new') : $o.removeClass('nb-new');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) {
|
Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) {
|
||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
newTitle = trimTitle(newTitle);
|
newTitle = trimTitle(newTitle);
|
||||||
@@ -957,13 +925,15 @@ Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) {
|
|||||||
Notebook.cache[notebookId].Title = newTitle;
|
Notebook.cache[notebookId].Title = newTitle;
|
||||||
// 改变nav
|
// 改变nav
|
||||||
Notebook.changeNav();
|
Notebook.changeNav();
|
||||||
|
|
||||||
// 同步
|
// 同步
|
||||||
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); // 同步到对方
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.setDirtyOrNew(notebookId, true);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1117,10 +1087,21 @@ Notebook.fixSyncConflict = function(note, newNote) {
|
|||||||
*/
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// push
|
||||||
// 本地 -> 添加到服务器上的
|
// 本地 -> 添加到服务器上的
|
||||||
// 不用做任何操作
|
// 前端取消dirty
|
||||||
Notebook.addChange = function(notebooks) {
|
Notebook.addChanges = function(notebooks) {
|
||||||
return;
|
var me = this;
|
||||||
|
if(isEmpty(notebooks)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for(var i = 0; i < notebooks.length; ++i) {
|
||||||
|
var notebook = notebooks[i];
|
||||||
|
me.setDirtyOrNew(notebook.NotebookId, false, false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
Notebook.updateChanges = function(notebooks) {
|
||||||
|
this.addChanges(notebooks);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 服务器adds/updates后, 一起渲染
|
// 服务器adds/updates后, 一起渲染
|
||||||
@@ -1132,10 +1113,13 @@ Notebook.reload = function() {
|
|||||||
|
|
||||||
// 定位到某个笔记本下
|
// 定位到某个笔记本下
|
||||||
Notebook.expandNotebookTo(curNotebookId);
|
Notebook.expandNotebookTo(curNotebookId);
|
||||||
|
|
||||||
|
// 为了移动/复制笔记
|
||||||
|
me.changeNav();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// 弃用, 一起渲染
|
// 弃用, 一起渲染 reload
|
||||||
// notebooks
|
// notebooks
|
||||||
// <- server 服务器端添加过来的
|
// <- server 服务器端添加过来的
|
||||||
// ? 如果是子先添加了, 再父添加呢?
|
// ? 如果是子先添加了, 再父添加呢?
|
||||||
@@ -1153,7 +1137,7 @@ Notebook.addSync = function(notebooks) {
|
|||||||
true, true, false);
|
true, true, false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// 弃用, 一起渲染
|
// 弃用, 一起渲染 reload
|
||||||
// 更新
|
// 更新
|
||||||
// 不对移动做修改, 只修改标题
|
// 不对移动做修改, 只修改标题
|
||||||
Notebook.updateSync = function(notebooks) {
|
Notebook.updateSync = function(notebooks) {
|
||||||
|
@@ -1193,7 +1193,14 @@
|
|||||||
}
|
}
|
||||||
// life
|
// life
|
||||||
// 加入notebookId
|
// 加入notebookId
|
||||||
html.push("<a id='", node.tId, consts.id.A, "' class='notebook-item ", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''),
|
var classes = 'notebook-item ';
|
||||||
|
if (node.IsDirty) {
|
||||||
|
classes += "nb-dirty "
|
||||||
|
}
|
||||||
|
if (node.IsNew) {
|
||||||
|
classes += "nb-new ";
|
||||||
|
}
|
||||||
|
html.push("<a id='", node.tId, consts.id.A, "' class='" + classes, consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''),
|
||||||
"\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''),
|
"\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''),
|
||||||
"'", ' notebookId="' + node.NotebookId + '" ');
|
"'", ' notebookId="' + node.NotebookId + '" ');
|
||||||
if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"'").replace(/</g,'<').replace(/>/g,'>'),"'");}
|
if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"'").replace(/</g,'<').replace(/>/g,'>'),"'");}
|
||||||
|
@@ -524,32 +524,6 @@ h3 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-dirty {
|
|
||||||
.dirty-bg {
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
z-index: 1;
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
border-top: 29px solid transparent;
|
|
||||||
border-right: 23px solid #040421;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::after {
|
|
||||||
content: "\f093";
|
|
||||||
position: absolute;
|
|
||||||
right: 1px;
|
|
||||||
bottom: 1px;
|
|
||||||
z-index: 2;
|
|
||||||
color: #FFF;
|
|
||||||
/* font-size: 5px; */
|
|
||||||
font: normal normal normal 14px/1 FontAwesome;
|
|
||||||
/* font-size: inherit; */
|
|
||||||
text-rendering: auto;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#noteItemList {
|
#noteItemList {
|
||||||
user-select: none;
|
user-select: none;
|
||||||
@@ -672,6 +646,7 @@ h3 {
|
|||||||
padding: 0 3px;
|
padding: 0 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 设置
|
// 设置
|
||||||
.notebook-setting {
|
.notebook-setting {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -2326,5 +2301,54 @@ img::selection {
|
|||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dirty
|
||||||
|
|
||||||
|
.nb-dirty:after,
|
||||||
|
.nb-new:after {
|
||||||
|
content: "";
|
||||||
|
width: 7px;
|
||||||
|
height: 7px;
|
||||||
|
background: #FF6363;
|
||||||
|
position: absolute;
|
||||||
|
right: 4px;
|
||||||
|
top: 11px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-dirty {
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
width: 7px;
|
||||||
|
height: 7px;
|
||||||
|
background: #FF6363;
|
||||||
|
position: absolute;
|
||||||
|
right: 7px;
|
||||||
|
bottom: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
// .dirty-bg {
|
||||||
|
// position: absolute;
|
||||||
|
// right: 0;
|
||||||
|
// bottom: 0;
|
||||||
|
// z-index: 1;
|
||||||
|
// width: 0;
|
||||||
|
// height: 0;
|
||||||
|
// border-top: 29px solid transparent;
|
||||||
|
// border-right: 23px solid #040421;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// &::after {
|
||||||
|
// content: "\f093";
|
||||||
|
// position: absolute;
|
||||||
|
// right: 1px;
|
||||||
|
// bottom: 1px;
|
||||||
|
// z-index: 2;
|
||||||
|
// color: #FFF;
|
||||||
|
// font: normal normal normal 14px/1 FontAwesome;
|
||||||
|
// text-rendering: auto;
|
||||||
|
// -webkit-font-smoothing: antialiased;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
@import '../css/includes/traffic.less';
|
@import '../css/includes/traffic.less';
|
||||||
@import '../css/includes/ani.less';
|
@import '../css/includes/ani.less';
|
||||||
|
Reference in New Issue
Block a user