mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-21 03:11:18 +00:00
format code
This commit is contained in:
2
node_modules/api.js
generated
vendored
2
node_modules/api.js
generated
vendored
@@ -39,8 +39,8 @@ var Api = {
|
|||||||
"List": null,
|
"List": null,
|
||||||
"Item": null
|
"Item": null
|
||||||
}*/
|
}*/
|
||||||
var ret = resp.body;
|
|
||||||
try {
|
try {
|
||||||
|
var ret = resp.body;
|
||||||
if(typeof ret == 'object') {
|
if(typeof ret == 'object') {
|
||||||
if(!ret['Ok'] && ret['Msg'] == 'NOTLOGIN') {
|
if(!ret['Ok'] && ret['Msg'] == 'NOTLOGIN') {
|
||||||
Web.notLogin();
|
Web.notLogin();
|
||||||
|
4
node_modules/sync.js
generated
vendored
4
node_modules/sync.js
generated
vendored
@@ -740,6 +740,10 @@ var Sync = {
|
|||||||
// 如果第一次insync, 网络错误导致incrSyncStart不结束, 第二次就会永远转动
|
// 如果第一次insync, 网络错误导致incrSyncStart不结束, 第二次就会永远转动
|
||||||
setSyncFinished: function(hasError) {
|
setSyncFinished: function(hasError) {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
// unconnect也会调, 所以, 一旦所有都是unconnect, 那就时不时会有进度条到100
|
||||||
|
if (!me.incrSyncStart || !me.incrSyncStart) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
me.incrSyncStart = false;
|
me.incrSyncStart = false;
|
||||||
me.fullSyncStart = false;
|
me.fullSyncStart = false;
|
||||||
// Web.syncProgress(0);
|
// Web.syncProgress(0);
|
||||||
|
@@ -667,7 +667,6 @@ window.debug = false;
|
|||||||
<script src="public/js/app/note.js"></script>
|
<script src="public/js/app/note.js"></script>
|
||||||
<script src="public/js/app/tag.js"></script>
|
<script src="public/js/app/tag.js"></script>
|
||||||
<script src="public/js/app/notebook.js"></script>
|
<script src="public/js/app/notebook.js"></script>
|
||||||
<script src="public/js/app/share.js"></script>
|
|
||||||
<script src="public/js/object_id.js"></script>
|
<script src="public/js/object_id.js"></script>
|
||||||
|
|
||||||
<!-- 使用require js -->
|
<!-- 使用require js -->
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -7,10 +7,10 @@ Notebook.notebookNavForListNote = ""; // html 为了note list上面和新建时
|
|||||||
// 设置缓存
|
// 设置缓存
|
||||||
Notebook.setCache = function(notebook) {
|
Notebook.setCache = function(notebook) {
|
||||||
var notebookId = notebook.NotebookId;
|
var notebookId = notebook.NotebookId;
|
||||||
if(!notebookId) {
|
if (!notebookId) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!Notebook.cache[notebookId]) {
|
if (!Notebook.cache[notebookId]) {
|
||||||
Notebook.cache[notebookId] = {};
|
Notebook.cache[notebookId] = {};
|
||||||
}
|
}
|
||||||
$.extend(Notebook.cache[notebookId], notebook);
|
$.extend(Notebook.cache[notebookId], notebook);
|
||||||
@@ -31,10 +31,9 @@ Notebook._newNotebookNumberNotes = {}; // notebookId => count
|
|||||||
Notebook._subNotebookNumberNotes = {};
|
Notebook._subNotebookNumberNotes = {};
|
||||||
Notebook.reRenderNotebookNumberNotesIfIsNewNotebook = function(notebookId) {
|
Notebook.reRenderNotebookNumberNotesIfIsNewNotebook = function(notebookId) {
|
||||||
var count = Notebook._newNotebookNumberNotes[notebookId];
|
var count = Notebook._newNotebookNumberNotes[notebookId];
|
||||||
if(count) {
|
if (count) {
|
||||||
delete Notebook._newNotebookNumberNotes[notebookId];
|
delete Notebook._newNotebookNumberNotes[notebookId];
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Notebook.updateNotebookNumberNotes(notebookId, count);
|
Notebook.updateNotebookNumberNotes(notebookId, count);
|
||||||
@@ -46,7 +45,7 @@ Notebook.updateNotebookNumberNotes = function(notebookId, count) {
|
|||||||
// 为什么可能会没有? 因为可能是新加的笔记本, 此时该笔记本又有笔记, 一起同步过来
|
// 为什么可能会没有? 因为可能是新加的笔记本, 此时该笔记本又有笔记, 一起同步过来
|
||||||
// 可能是子笔记本, 显示不出
|
// 可能是子笔记本, 显示不出
|
||||||
// 还没显示到web上
|
// 还没显示到web上
|
||||||
if(!notebook) {
|
if (!notebook) {
|
||||||
Notebook._newNotebookNumberNotes[notebookId] = count;
|
Notebook._newNotebookNumberNotes[notebookId] = count;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -63,14 +62,14 @@ Notebook.updateNotebookNumberNotes = function(notebookId, count) {
|
|||||||
Notebook._updateNotebookNumberNotes = function(notebookId, n) {
|
Notebook._updateNotebookNumberNotes = function(notebookId, n) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var notebook = self.getNotebook(notebookId);
|
var notebook = self.getNotebook(notebookId);
|
||||||
if(!notebook) {
|
if (!notebook) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!notebook.NumberNotes) {
|
if (!notebook.NumberNotes) {
|
||||||
notebook.NumberNotes = 0;
|
notebook.NumberNotes = 0;
|
||||||
}
|
}
|
||||||
notebook.NumberNotes += n;
|
notebook.NumberNotes += n;
|
||||||
if(notebook.NumberNotes < 0) {
|
if (notebook.NumberNotes < 0) {
|
||||||
notebook.NumberNotes = 0;
|
notebook.NumberNotes = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,13 +77,13 @@ Notebook._updateNotebookNumberNotes = function(notebookId, n) {
|
|||||||
var notes = Note.getNotesByNotebookId(notebookId);
|
var notes = Note.getNotesByNotebookId(notebookId);
|
||||||
var cnt = notes ? notes.length : 0;
|
var cnt = notes ? notes.length : 0;
|
||||||
|
|
||||||
if(!cnt) {
|
if (!cnt) {
|
||||||
$("#numberNotes_" + notebookId).html(notebook.NumberNotes);
|
$("#numberNotes_" + notebookId).html(notebook.NumberNotes);
|
||||||
} else {
|
} else {
|
||||||
if(n == -1) {
|
if (n == -1) {
|
||||||
cnt += n;
|
cnt += n;
|
||||||
}
|
}
|
||||||
if(cnt < 0) {
|
if (cnt < 0) {
|
||||||
cnt = 0;
|
cnt = 0;
|
||||||
}
|
}
|
||||||
$("#numberNotes_" + notebookId).html(cnt);
|
$("#numberNotes_" + notebookId).html(cnt);
|
||||||
@@ -106,14 +105,15 @@ Notebook.minusNotebookNumberNotes = function(notebookId) {
|
|||||||
// called by Note
|
// called by Note
|
||||||
Notebook.getNotebook = function(notebookId) {
|
Notebook.getNotebook = function(notebookId) {
|
||||||
return Notebook.cache[notebookId];
|
return Notebook.cache[notebookId];
|
||||||
}
|
};
|
||||||
|
|
||||||
// called by Note
|
// called by Note
|
||||||
Notebook.getNotebookTitle = function(notebookId) {
|
Notebook.getNotebookTitle = function(notebookId) {
|
||||||
var notebook = Notebook.cache[notebookId];
|
var notebook = Notebook.cache[notebookId];
|
||||||
if(notebook) {
|
if (notebook) {
|
||||||
return trimTitle(notebook.Title);
|
return trimTitle(notebook.Title);
|
||||||
} else {
|
} else {
|
||||||
return "UnTitled";
|
return getMsg("UnTitled");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,17 +132,18 @@ Notebook.getSubNotebooks = function(parentNotebookId) {
|
|||||||
var treeObj = me.tree;
|
var treeObj = me.tree;
|
||||||
|
|
||||||
var parentNode = treeObj.getNodeByTId(parentNotebookId);
|
var parentNode = treeObj.getNodeByTId(parentNotebookId);
|
||||||
if(!parentNode) {
|
if (!parentNode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var nextLevel = parentNode.level+1;
|
var nextLevel = parentNode.level + 1;
|
||||||
|
|
||||||
function filter(node) {
|
function filter(node) {
|
||||||
return node.level == nextLevel;
|
return node.level == nextLevel;
|
||||||
}
|
}
|
||||||
var nodes = treeObj.getNodesByFilter(filter, false, parentNode);
|
var nodes = treeObj.getNodesByFilter(filter, false, parentNode);
|
||||||
|
|
||||||
if(nodes && nodes.length == 0) {
|
if (nodes && nodes.length == 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return nodes;
|
return nodes;
|
||||||
@@ -162,7 +163,7 @@ Notebook.getSimpleTreeSetting = function(options) {
|
|||||||
icoObj.before(switchObj);
|
icoObj.before(switchObj);
|
||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -203,41 +204,43 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
switchObj.remove();
|
switchObj.remove();
|
||||||
icoObj.before(switchObj);
|
icoObj.before(switchObj);
|
||||||
|
|
||||||
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="notebook-dirty" id="notebookDirty_' + treeNode.NotebookId + '"></span>'));
|
// icoObj.after($('<span class="notebook-dirty" id="notebookDirty_' + treeNode.NotebookId + '"></span>'));
|
||||||
icoObj.after($('<span class="fa notebook-setting" title="' + getMsg('Setting') + '"></span>'));
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 拖拽
|
// 拖拽
|
||||||
function beforeDrag(treeId, treeNodes) {
|
function beforeDrag(treeId, treeNodes) {
|
||||||
for (var i=0,l=treeNodes.length; i<l; i++) {
|
for (var i = 0, l = treeNodes.length; i < l; i++) {
|
||||||
if (treeNodes[i].drag === false) {
|
if (treeNodes[i].drag === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function beforeDrop(treeId, treeNodes, targetNode, moveType) {
|
function beforeDrop(treeId, treeNodes, targetNode, moveType) {
|
||||||
return targetNode ? targetNode.drop !== false : true;
|
return targetNode ? targetNode.drop !== false : true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onDrop(e, treeId, treeNodes, targetNode, moveType) {
|
function onDrop(e, treeId, treeNodes, targetNode, moveType) {
|
||||||
var treeNode = treeNodes[0];
|
var treeNode = treeNodes[0];
|
||||||
// 搜索不能drag
|
// 搜索不能drag
|
||||||
if(!targetNode) {
|
if (!targetNode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var parentNode;
|
var parentNode;
|
||||||
var treeObj = self.tree;
|
var treeObj = self.tree;
|
||||||
var ajaxData = {curNotebookId: treeNode.NotebookId};
|
var ajaxData = { curNotebookId: treeNode.NotebookId };
|
||||||
|
|
||||||
// 成为子节点, 那么只需要得到targetNode下所有的子结点即可
|
// 成为子节点, 那么只需要得到targetNode下所有的子结点即可
|
||||||
if(moveType == "inner") {
|
if (moveType == "inner") {
|
||||||
parentNode = targetNode;
|
parentNode = targetNode;
|
||||||
} else {
|
} else {
|
||||||
parentNode = targetNode.getParentNode();
|
parentNode = targetNode.getParentNode();
|
||||||
@@ -245,11 +248,12 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
|
|
||||||
// 在targetNode之前或之后,
|
// 在targetNode之前或之后,
|
||||||
// 那么: 1) 需要将该parentNode下所有的node重新排序即可; 2) treeNodes[0]为parentNode的子
|
// 那么: 1) 需要将该parentNode下所有的node重新排序即可; 2) treeNodes[0]为parentNode的子
|
||||||
if(!parentNode) {
|
if (!parentNode) {
|
||||||
var nodes = treeObj.getNodes(); // 得到所有nodes
|
var nodes = treeObj.getNodes(); // 得到所有nodes
|
||||||
} else {
|
} else {
|
||||||
ajaxData.parentNotebookId = parentNode.NotebookId;
|
ajaxData.parentNotebookId = parentNode.NotebookId;
|
||||||
var nextLevel = parentNode.level+1;
|
var nextLevel = parentNode.level + 1;
|
||||||
|
|
||||||
function filter(node) {
|
function filter(node) {
|
||||||
return node.level == nextLevel;
|
return node.level == nextLevel;
|
||||||
}
|
}
|
||||||
@@ -257,9 +261,9 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ajaxData.siblings = [];
|
ajaxData.siblings = [];
|
||||||
for(var i in nodes) {
|
for (var i in nodes) {
|
||||||
var notebookId = nodes[i].NotebookId;
|
var notebookId = nodes[i].NotebookId;
|
||||||
if(!Notebook.isAllNotebookId(notebookId) && !Notebook.isTrashNotebookId(notebookId)) {
|
if (!Notebook.isAllNotebookId(notebookId) && !Notebook.isTrashNotebookId(notebookId)) {
|
||||||
ajaxData.siblings.push(notebookId);
|
ajaxData.siblings.push(notebookId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -270,7 +274,7 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
// 设置dirty状态
|
// 设置dirty状态
|
||||||
// 不需要设置parentNotebookId
|
// 不需要设置parentNotebookId
|
||||||
var ids = [ajaxData.curNotebookId].concat(ajaxData.siblings || []);
|
var ids = [ajaxData.curNotebookId].concat(ajaxData.siblings || []);
|
||||||
ids.forEach(function (notebookId) {
|
ids.forEach(function(notebookId) {
|
||||||
if (notebookId) {
|
if (notebookId) {
|
||||||
Notebook.setDirtyOrNew(notebookId, true);
|
Notebook.setDirtyOrNew(notebookId, true);
|
||||||
}
|
}
|
||||||
@@ -286,7 +290,7 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
};
|
};
|
||||||
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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -322,13 +326,13 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
onDrop: onDrop,
|
onDrop: onDrop,
|
||||||
onClick: onClick,
|
onClick: onClick,
|
||||||
onDblClick: onDblClick,
|
onDblClick: onDblClick,
|
||||||
onExpand: function (event, treeId, treeNode) {
|
onExpand: function(event, treeId, treeNode) {
|
||||||
// 展开时, 会有子笔记本, 如果之前有设置数量, 则重新设置
|
// 展开时, 会有子笔记本, 如果之前有设置数量, 则重新设置
|
||||||
// 为了防止移动, 复制过来时没有该sub
|
// 为了防止移动, 复制过来时没有该sub
|
||||||
if (treeNode.isParent) {
|
if (treeNode.isParent) {
|
||||||
var childNotes = self.getSubNotebooks(treeNode.NotebookId);
|
var childNotes = self.getSubNotebooks(treeNode.NotebookId);
|
||||||
if (childNotes) {
|
if (childNotes) {
|
||||||
childNotes.forEach(function (node) {
|
childNotes.forEach(function(node) {
|
||||||
var notebookId = node.NotebookId;
|
var notebookId = node.NotebookId;
|
||||||
if (Notebook._subNotebookNumberNotes[notebookId] !== undefined) {
|
if (Notebook._subNotebookNumberNotes[notebookId] !== undefined) {
|
||||||
$('#numberNotes_' + notebookId).html(Notebook._subNotebookNumberNotes[notebookId]);
|
$('#numberNotes_' + notebookId).html(Notebook._subNotebookNumberNotes[notebookId]);
|
||||||
@@ -341,20 +345,20 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeRename: function(treeId, treeNode, newName, isCancel) {
|
beforeRename: function(treeId, treeNode, newName, isCancel) {
|
||||||
if(newName == "") {
|
if (newName == "") {
|
||||||
if(treeNode.IsNew) {
|
if (treeNode.IsNew) {
|
||||||
// 删除之
|
// 删除之
|
||||||
self.tree.removeNode(treeNode);
|
self.tree.removeNode(treeNode);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(treeNode.Title == newName) {
|
if (treeNode.Title == newName) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果是新添加的
|
// 如果是新添加的
|
||||||
if(treeNode.IsNew) {
|
if (treeNode.IsNew) {
|
||||||
var parentNode = treeNode.getParentNode();
|
var parentNode = treeNode.getParentNode();
|
||||||
var parentNotebookId = parentNode ? parentNode.NotebookId : "";
|
var parentNotebookId = parentNode ? parentNode.NotebookId : "";
|
||||||
|
|
||||||
@@ -373,7 +377,7 @@ Notebook.getTreeSetting = function(isSearch, isShare) {
|
|||||||
Notebook.allNotebookId = "0";
|
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.curNotebookIsTrash = function() {
|
Notebook.curNotebookIsTrash = function() {
|
||||||
return Notebook.curNotebookId == Notebook.trashNotebookId;
|
return Notebook.curNotebookId == Notebook.trashNotebookId;
|
||||||
@@ -382,26 +386,26 @@ Notebook.curNotebookIsTrash = function() {
|
|||||||
Notebook.renderNotebooks = function(notebooks, reload) {
|
Notebook.renderNotebooks = function(notebooks, reload) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
if(!notebooks || typeof notebooks != "object" || notebooks.length < 0) {
|
if (!notebooks || typeof notebooks != "object" || notebooks.length < 0) {
|
||||||
notebooks = [];
|
notebooks = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// title可能有<script>
|
// title可能有<script>
|
||||||
for(var i = 0, len = notebooks.length; i < len; ++i) {
|
for (var i = 0, len = notebooks.length; i < len; ++i) {
|
||||||
var notebook = notebooks[i];
|
var notebook = notebooks[i];
|
||||||
notebook.Title = trimTitle(notebook.Title);
|
notebook.Title = trimTitle(notebook.Title);
|
||||||
}
|
}
|
||||||
|
|
||||||
notebooks = [{NotebookId: Notebook.allNotebookId, Title: getMsg("all"), drop:false, drag: false}].concat(notebooks);
|
notebooks = [{ NotebookId: Notebook.allNotebookId, Title: getMsg("all"), drop: false, drag: false }].concat(notebooks);
|
||||||
notebooks.push({NotebookId: Notebook.trashNotebookId, Title: getMsg("trash"), drop:false, drag: false});
|
notebooks.push({ NotebookId: Notebook.trashNotebookId, Title: getMsg("trash"), drop: false, drag: false });
|
||||||
Notebook.notebooks = notebooks; // 缓存之
|
Notebook.notebooks = notebooks; // 缓存之
|
||||||
|
|
||||||
self.tree = $.fn.zTree.init($("#notebookList"), self.getTreeSetting(), notebooks);
|
self.tree = $.fn.zTree.init($("#notebookList"), self.getTreeSetting(), notebooks);
|
||||||
|
|
||||||
// 展开/折叠图标
|
// 展开/折叠图标
|
||||||
var $notebookList = $("#notebookList");
|
var $notebookList = $("#notebookList");
|
||||||
$notebookList.hover(function () {
|
$notebookList.hover(function() {
|
||||||
if(!$(this).hasClass("showIcon")) {
|
if (!$(this).hasClass("showIcon")) {
|
||||||
$(this).addClass("showIcon");
|
$(this).addClass("showIcon");
|
||||||
}
|
}
|
||||||
}, function() {
|
}, function() {
|
||||||
@@ -409,7 +413,7 @@ Notebook.renderNotebooks = function(notebooks, reload) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 缓存所有notebooks信息
|
// 缓存所有notebooks信息
|
||||||
if(!isEmpty(notebooks)) {
|
if (!isEmpty(notebooks)) {
|
||||||
Notebook.curNotebookId = notebooks[0].NotebookId;
|
Notebook.curNotebookId = notebooks[0].NotebookId;
|
||||||
self.cacheAllNotebooks(notebooks);
|
self.cacheAllNotebooks(notebooks);
|
||||||
}
|
}
|
||||||
@@ -420,22 +424,21 @@ Notebook.renderNotebooks = function(notebooks, reload) {
|
|||||||
|
|
||||||
// 渲染第一个notebook作为当前
|
// 渲染第一个notebook作为当前
|
||||||
Notebook.changeNotebookNavForNewNote(notebooks[0].NotebookId);
|
Notebook.changeNotebookNavForNewNote(notebooks[0].NotebookId);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
console.log(' reload notebook ok');
|
console.log(' reload notebook ok');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
Notebook.cacheAllNotebooks = function(notebooks) {
|
Notebook.cacheAllNotebooks = function(notebooks) {
|
||||||
var self = this;
|
var self = this;
|
||||||
for(var i in notebooks) {
|
for (var i in notebooks) {
|
||||||
var notebook = notebooks[i];
|
var notebook = notebooks[i];
|
||||||
Notebook.cache[notebook.NotebookId] = notebook;
|
Notebook.cache[notebook.NotebookId] = notebook;
|
||||||
if(!isEmpty(notebook.Subs)) {
|
if (!isEmpty(notebook.Subs)) {
|
||||||
self.cacheAllNotebooks(notebook.Subs);
|
self.cacheAllNotebooks(notebook.Subs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
// 展开到笔记本
|
// 展开到笔记本
|
||||||
Notebook.expandNotebookTo = function(notebookId, userId) {
|
Notebook.expandNotebookTo = function(notebookId, userId) {
|
||||||
@@ -444,33 +447,30 @@ Notebook.expandNotebookTo = function(notebookId, userId) {
|
|||||||
var tree = me.tree;
|
var tree = me.tree;
|
||||||
|
|
||||||
// 共享的
|
// 共享的
|
||||||
if(userId) {
|
if (userId) {
|
||||||
tree = Share.trees[userId];
|
|
||||||
}
|
|
||||||
if(!tree) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var curNode = tree.getNodeByTId(notebookId);
|
var curNode = tree.getNodeByTId(notebookId);
|
||||||
if(!curNode) {
|
if (!curNode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
while(true) {
|
while (true) {
|
||||||
var pNode = curNode.getParentNode();
|
var pNode = curNode.getParentNode();
|
||||||
if(pNode) {
|
if (pNode) {
|
||||||
tree.expandNode(pNode, true);
|
tree.expandNode(pNode, true);
|
||||||
if(!selected) {
|
if (!selected) {
|
||||||
Notebook.changeNotebookNav(notebookId);
|
Notebook.changeNotebookNav(notebookId);
|
||||||
selected = true;
|
selected = true;
|
||||||
}
|
}
|
||||||
curNode = pNode;
|
curNode = pNode;
|
||||||
} else {
|
} else {
|
||||||
if(!selected) {
|
if (!selected) {
|
||||||
Notebook.changeNotebookNav(notebookId);
|
Notebook.changeNotebookNav(notebookId);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
// RenderNotebooks调用,
|
// RenderNotebooks调用,
|
||||||
@@ -479,38 +479,38 @@ Notebook.expandNotebookTo = function(notebookId, userId) {
|
|||||||
Notebook.renderNav = function(nav) {
|
Notebook.renderNav = function(nav) {
|
||||||
var self = this;
|
var self = this;
|
||||||
self.changeNav();
|
self.changeNav();
|
||||||
}
|
};
|
||||||
|
|
||||||
// 搜索notebook
|
// 搜索notebook
|
||||||
Notebook.searchNotebookForAddNote = function(key) {
|
Notebook.searchNotebookForAddNote = function(key) {
|
||||||
var self = this;
|
var self = this;
|
||||||
if(key) {
|
if (key) {
|
||||||
var notebooks = self.tree.getNodesByParamFuzzy("Title", key);
|
var notebooks = self.tree.getNodesByParamFuzzy("Title", key);
|
||||||
notebooks = notebooks || [];
|
notebooks = notebooks || [];
|
||||||
// 过滤下, 把new, trash过滤掉
|
// 过滤下, 把new, trash过滤掉
|
||||||
var notebooks2 = [];
|
var notebooks2 = [];
|
||||||
for(var i in notebooks) {
|
for (var i in notebooks) {
|
||||||
var notebookId = notebooks[i].NotebookId;
|
var notebookId = notebooks[i].NotebookId;
|
||||||
if(!self.isAllNotebookId(notebookId) && !self.isTrashNotebookId(notebookId)) {
|
if (!self.isAllNotebookId(notebookId) && !self.isTrashNotebookId(notebookId)) {
|
||||||
notebooks2.push(notebooks[i]);
|
notebooks2.push(notebooks[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
// 搜索notebook
|
// 搜索notebook
|
||||||
Notebook.searchNotebookForList = function(key) {
|
Notebook.searchNotebookForList = function(key) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var $search = $("#notebookListForSearch");
|
var $search = $("#notebookListForSearch");
|
||||||
var $notebookList = $("#notebookList");
|
var $notebookList = $("#notebookList");
|
||||||
if(key) {
|
if (key) {
|
||||||
$search.show();
|
$search.show();
|
||||||
$notebookList.hide();
|
$notebookList.hide();
|
||||||
|
|
||||||
var notebooks = self.tree.getNodesByParamFuzzy("Title", key);
|
var notebooks = self.tree.getNodesByParamFuzzy("Title", key);
|
||||||
log('search');
|
log('search');
|
||||||
log(notebooks);
|
log(notebooks);
|
||||||
if(isEmpty(notebooks)) {
|
if (isEmpty(notebooks)) {
|
||||||
$search.html("");
|
$search.html("");
|
||||||
} else {
|
} else {
|
||||||
var setting = self.getTreeSetting(true);
|
var setting = self.getTreeSetting(true);
|
||||||
@@ -528,10 +528,9 @@ Notebook.changeNav = function() {
|
|||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
var notebooks = Notebook.tree.getNodes();
|
var notebooks = Notebook.tree.getNodes();
|
||||||
var pureNotebooks = []; // 不含新和垃圾
|
var pureNotebooks = []; // 不含新和垃圾
|
||||||
for(var i = 0; i < notebooks.length; ++i) {
|
for (var i = 0; i < notebooks.length; ++i) {
|
||||||
var notebookId = notebooks[i].NotebookId;
|
var notebookId = notebooks[i].NotebookId;
|
||||||
if(Notebook.isAllNotebookId(notebookId) || Notebook.isTrashNotebookId(notebookId)) {
|
if (Notebook.isAllNotebookId(notebookId) || Notebook.isTrashNotebookId(notebookId)) {} else {
|
||||||
} else {
|
|
||||||
pureNotebooks.push(notebooks[i]);
|
pureNotebooks.push(notebooks[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -561,30 +560,30 @@ Notebook.changeNav = function() {
|
|||||||
*/
|
*/
|
||||||
// TODO 层级
|
// TODO 层级
|
||||||
Notebook.renderShareNotebooks = function(sharedUserInfos, shareNotebooks) {
|
Notebook.renderShareNotebooks = function(sharedUserInfos, shareNotebooks) {
|
||||||
if(isEmpty(sharedUserInfos)) {
|
if (isEmpty(sharedUserInfos)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!shareNotebooks || typeof shareNotebooks != "object" || shareNotebooks.length < 0) {
|
if (!shareNotebooks || typeof shareNotebooks != "object" || shareNotebooks.length < 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var $shareNotebooks = $("#shareNotebooks");
|
var $shareNotebooks = $("#shareNotebooks");
|
||||||
var user2ShareNotebooks = {};
|
var user2ShareNotebooks = {};
|
||||||
for(var i in shareNotebooks) {
|
for (var i in shareNotebooks) {
|
||||||
var userNotebooks = shareNotebooks[i];
|
var userNotebooks = shareNotebooks[i];
|
||||||
user2ShareNotebooks[userNotebooks.UserId] = userNotebooks;
|
user2ShareNotebooks[userNotebooks.UserId] = userNotebooks;
|
||||||
}
|
}
|
||||||
for(var i in sharedUserInfos) {
|
for (var i in sharedUserInfos) {
|
||||||
var userInfo = sharedUserInfos[i];
|
var userInfo = sharedUserInfos[i];
|
||||||
var userNotebooks = user2ShareNotebooks[userInfo.UserId] || {ShareNotebooks:[]};
|
var userNotebooks = user2ShareNotebooks[userInfo.UserId] || { ShareNotebooks: [] };
|
||||||
|
|
||||||
userNotebooks.ShareNotebooks = [{NotebookId: "-2", Title: "默认共享"}].concat(userNotebooks.ShareNotebooks)
|
userNotebooks.ShareNotebooks = [{ NotebookId: "-2", Title: "默认共享" }].concat(userNotebooks.ShareNotebooks)
|
||||||
|
|
||||||
var username = userInfo.Username || userInfo.Email;
|
var username = userInfo.Username || userInfo.Email;
|
||||||
var header = tt('<div class="folderNote closed"><div class="folderHeader"><a><h1 title="? 的共享"><i class="fa fa-angle-right"></i>?</h1></a></div>', username, username);
|
var header = tt('<div class="folderNote closed"><div class="folderHeader"><a><h1 title="? 的共享"><i class="fa fa-angle-right"></i>?</h1></a></div>', username, username);
|
||||||
var body = '<ul class="folderBody">';
|
var body = '<ul class="folderBody">';
|
||||||
for(var j in userNotebooks.ShareNotebooks) {
|
for (var j in userNotebooks.ShareNotebooks) {
|
||||||
var notebook = userNotebooks.ShareNotebooks[j];
|
var notebook = userNotebooks.ShareNotebooks[j];
|
||||||
body += tt('<li><a notebookId="?">?</a></li>', notebook.NotebookId, notebook.Title)
|
body += tt('<li><a notebookId="?">?</a></li>', notebook.NotebookId, notebook.Title)
|
||||||
}
|
}
|
||||||
@@ -604,23 +603,23 @@ Notebook.selectNotebook = function(target) {
|
|||||||
Notebook.changeNotebookNavForNewNote = function(notebookId, title) {
|
Notebook.changeNotebookNavForNewNote = function(notebookId, title) {
|
||||||
// 没有notebookId, 则选择第1个notebook
|
// 没有notebookId, 则选择第1个notebook
|
||||||
// 第一个是全部笔记
|
// 第一个是全部笔记
|
||||||
if(!notebookId) {
|
if (!notebookId) {
|
||||||
var notebook = Notebook.notebooks[0];
|
var notebook = Notebook.notebooks[0];
|
||||||
notebookId = notebook.NotebookId;
|
notebookId = notebook.NotebookId;
|
||||||
title = notebook.Title;
|
title = notebook.Title;
|
||||||
}
|
}
|
||||||
if(!title) {
|
if (!title) {
|
||||||
var notebook = Notebook.cache[0];
|
var notebook = Notebook.cache[0];
|
||||||
title = notebook.Title;
|
title = notebook.Title;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!Notebook.isAllNotebookId(notebookId) && !Notebook.isTrashNotebookId(notebookId)) {
|
if (!Notebook.isAllNotebookId(notebookId) && !Notebook.isTrashNotebookId(notebookId)) {
|
||||||
$("#curNotebookForNewNote").html(title).attr("notebookId", notebookId);
|
$("#curNotebookForNewNote").html(title).attr("notebookId", notebookId);
|
||||||
} else if(!$("#curNotebookForNewNote").attr("notebookId")) {
|
} else if (!$("#curNotebookForNewNote").attr("notebookId")) {
|
||||||
// 但又没有一个笔记, 默认选第一个吧
|
// 但又没有一个笔记, 默认选第一个吧
|
||||||
// 这里很可能会死循环, 万一用户没有其它笔记呢?
|
// 这里很可能会死循环, 万一用户没有其它笔记呢?
|
||||||
// 服务端肯定要在新建一个用户时给他创建一个默认笔记本的
|
// 服务端肯定要在新建一个用户时给他创建一个默认笔记本的
|
||||||
if(Notebook.notebooks.length > 2) {
|
if (Notebook.notebooks.length > 2) {
|
||||||
var notebook = Notebook.notebooks[1];
|
var notebook = Notebook.notebooks[1];
|
||||||
notebookId = notebook.NotebookId;
|
notebookId = notebook.NotebookId;
|
||||||
title = notebook.Title;
|
title = notebook.Title;
|
||||||
@@ -655,7 +654,7 @@ Notebook.changeNotebookNav = function(notebookId) {
|
|||||||
|
|
||||||
var notebook = Notebook.cache[notebookId];
|
var notebook = Notebook.cache[notebookId];
|
||||||
|
|
||||||
if(!notebook) {
|
if (!notebook) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -683,19 +682,19 @@ Notebook.curActiveNotebookIsTrash = function() {
|
|||||||
|
|
||||||
Notebook.renderCurNotebook = function() {
|
Notebook.renderCurNotebook = function() {
|
||||||
Notebook.changeNotebook(Notebook.curNotebookId);
|
Notebook.changeNotebook(Notebook.curNotebookId);
|
||||||
}
|
}
|
||||||
// 改变笔记本
|
// 改变笔记本
|
||||||
// 0. 改变样式
|
// 0. 改变样式
|
||||||
// 1. 改变note, 此时需要先保存
|
// 1. 改变note, 此时需要先保存
|
||||||
// 2. ajax得到该notebook下的所有note
|
// 2. ajax得到该notebook下的所有note
|
||||||
// 3. 使用Note.RederNotes()
|
// 3. 使用Note.RederNotes()
|
||||||
// callback Pjax, 当popstate时调用
|
// callback Pjax, 当popstate时调用
|
||||||
Notebook.changeNotebookSeq = 1;
|
Notebook.changeNotebookSeq = 1;
|
||||||
Notebook.changeNotebook = function(notebookId, callback, needRendNoteId) {
|
Notebook.changeNotebook = function(notebookId, callback, needRendNoteId) {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
// 如果找不到
|
// 如果找不到
|
||||||
if(!Notebook.cache[notebookId]) {
|
if (!Notebook.cache[notebookId]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -710,19 +709,19 @@ Notebook.changeNotebook = function(notebookId, callback, needRendNoteId) {
|
|||||||
Note.clearAll();
|
Note.clearAll();
|
||||||
|
|
||||||
var url = "/note/listNotes/";
|
var url = "/note/listNotes/";
|
||||||
var param = {notebookId: notebookId};
|
var param = { notebookId: notebookId };
|
||||||
|
|
||||||
// 废纸篓
|
// 废纸篓
|
||||||
if(Notebook.isTrashNotebookId(notebookId)) {
|
if (Notebook.isTrashNotebookId(notebookId)) {
|
||||||
url = "/note/listTrashNotes";
|
url = "/note/listTrashNotes";
|
||||||
param = {};
|
param = {};
|
||||||
} else if(Notebook.isAllNotebookId(notebookId)) {
|
} else if (Notebook.isAllNotebookId(notebookId)) {
|
||||||
param = {};
|
param = {};
|
||||||
// 得到全部的...
|
// 得到全部的...
|
||||||
cacheNotes = Note.getNotesByNotebookId();
|
cacheNotes = Note.getNotesByNotebookId();
|
||||||
// 数量一致
|
// 数量一致
|
||||||
if(!isEmpty(cacheNotes)) {
|
if (!isEmpty(cacheNotes)) {
|
||||||
if(callback) {
|
if (callback) {
|
||||||
callback(cacheNotes);
|
callback(cacheNotes);
|
||||||
} else {
|
} else {
|
||||||
Note.renderNotesAndTargetNote(cacheNotes, needRendNoteId);
|
Note.renderNotesAndTargetNote(cacheNotes, needRendNoteId);
|
||||||
@@ -733,14 +732,14 @@ Notebook.changeNotebook = function(notebookId, callback, needRendNoteId) {
|
|||||||
cacheNotes = Note.getNotesByNotebookId(notebookId);
|
cacheNotes = Note.getNotesByNotebookId(notebookId);
|
||||||
var notebook = Notebook.cache[notebookId];
|
var notebook = Notebook.cache[notebookId];
|
||||||
notebook.Title = trimTitle(notebook.Title);
|
notebook.Title = trimTitle(notebook.Title);
|
||||||
if(!notebook) {
|
if (!notebook) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var len = cacheNotes ? cacheNotes.length : 0;
|
var len = cacheNotes ? cacheNotes.length : 0;
|
||||||
|
|
||||||
// 如果为0, 从服务器上拿
|
// 如果为0, 从服务器上拿
|
||||||
if(len != 0 && len == notebook.NumberNotes) {
|
if (len != 0 && len == notebook.NumberNotes) {
|
||||||
if(callback) {
|
if (callback) {
|
||||||
callback(cacheNotes);
|
callback(cacheNotes);
|
||||||
} else {
|
} else {
|
||||||
Note.renderNotesAndTargetNote(cacheNotes, needRendNoteId);
|
Note.renderNotesAndTargetNote(cacheNotes, needRendNoteId);
|
||||||
@@ -760,19 +759,19 @@ Notebook.changeNotebook = function(notebookId, callback, needRendNoteId) {
|
|||||||
(function(seq) {
|
(function(seq) {
|
||||||
var callback2 = function(cacheNotes) {
|
var callback2 = function(cacheNotes) {
|
||||||
// 后面点击过快, 之前的结果不要了
|
// 后面点击过快, 之前的结果不要了
|
||||||
if(seq != me.changeNotebookSeq) {
|
if (seq != me.changeNotebookSeq) {
|
||||||
log("notebook changed too fast!");
|
log("notebook changed too fast!");
|
||||||
log(cacheNotes);
|
log(cacheNotes);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(callback) {
|
if (callback) {
|
||||||
callback(cacheNotes);
|
callback(cacheNotes);
|
||||||
} else {
|
} else {
|
||||||
Note.renderNotesAndTargetNote(cacheNotes, needRendNoteId);
|
Note.renderNotesAndTargetNote(cacheNotes, needRendNoteId);
|
||||||
}
|
}
|
||||||
me.hideNoteAndEditorLoading();
|
me.hideNoteAndEditorLoading();
|
||||||
};
|
};
|
||||||
if(Notebook.isTrashNotebookId(notebookId)) {
|
if (Notebook.isTrashNotebookId(notebookId)) {
|
||||||
Service.noteService.getTrashNotes(callback2);
|
Service.noteService.getTrashNotes(callback2);
|
||||||
} else {
|
} else {
|
||||||
Service.noteService.getNotes(notebookId, callback2);
|
Service.noteService.getNotes(notebookId, callback2);
|
||||||
@@ -810,7 +809,7 @@ Notebook.isCurNotebook = function(notebookId) {
|
|||||||
// called by Note
|
// called by Note
|
||||||
Notebook.changeNotebookForNewNote = function(notebookId) {
|
Notebook.changeNotebookForNewNote = function(notebookId) {
|
||||||
// 废纸篓
|
// 废纸篓
|
||||||
if(Notebook.isTrashNotebookId(notebookId) || Notebook.isAllNotebookId(notebookId)) {
|
if (Notebook.isTrashNotebookId(notebookId) || Notebook.isAllNotebookId(notebookId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -829,12 +828,12 @@ Notebook.changeNotebookForNewNote = function(notebookId) {
|
|||||||
// 显示共享信息
|
// 显示共享信息
|
||||||
Notebook.listNotebookShareUserInfo = function(target) {
|
Notebook.listNotebookShareUserInfo = function(target) {
|
||||||
var notebookId = $(target).attr("notebookId");
|
var notebookId = $(target).attr("notebookId");
|
||||||
showDialogRemote("/share/listNotebookShareUserInfo", {notebookId: notebookId});
|
showDialogRemote("/share/listNotebookShareUserInfo", { notebookId: notebookId });
|
||||||
}
|
}
|
||||||
// 共享笔记本
|
// 共享笔记本
|
||||||
Notebook.shareNotebooks= function(target) {
|
Notebook.shareNotebooks = function(target) {
|
||||||
var title = $(target).text();
|
var title = $(target).text();
|
||||||
showDialog("dialogShareNote", {title: "分享笔记本给好友-" + title});
|
showDialog("dialogShareNote", { title: "分享笔记本给好友-" + title });
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$("#friendsEmail").focus();
|
$("#friendsEmail").focus();
|
||||||
}, 500);
|
}, 500);
|
||||||
@@ -849,34 +848,34 @@ Notebook.setNotebook2Blog = function(target) {
|
|||||||
var notebookId = $(target).attr("notebookId");
|
var notebookId = $(target).attr("notebookId");
|
||||||
var notebook = Notebook.cache[notebookId];
|
var notebook = Notebook.cache[notebookId];
|
||||||
var isBlog = true;
|
var isBlog = true;
|
||||||
if(notebook.IsBlog != undefined) {
|
if (notebook.IsBlog != undefined) {
|
||||||
isBlog = !notebook.IsBlog;
|
isBlog = !notebook.IsBlog;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 那么, 如果当前是该notebook下, 重新渲染之
|
// 那么, 如果当前是该notebook下, 重新渲染之
|
||||||
if(Notebook.curNotebookId == notebookId) {
|
if (Notebook.curNotebookId == notebookId) {
|
||||||
if(isBlog) {
|
if (isBlog) {
|
||||||
$("#noteList .item-blog").show();
|
$("#noteList .item-blog").show();
|
||||||
} else {
|
} else {
|
||||||
$("#noteList .item-blog").hide();
|
$("#noteList .item-blog").hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果当前在所有笔记本下
|
// 如果当前在所有笔记本下
|
||||||
} else if(Notebook.curNotebookId == Notebook.allNotebookId){
|
} else if (Notebook.curNotebookId == Notebook.allNotebookId) {
|
||||||
$("#noteItemList .item").each(function(){
|
$("#noteItemList .item").each(function() {
|
||||||
var noteId = $(this).attr("noteId");
|
var noteId = $(this).attr("noteId");
|
||||||
var note = Note.cache[noteId];
|
var note = Note.cache[noteId];
|
||||||
if(note.NotebookId == notebookId) {
|
if (note.NotebookId == notebookId) {
|
||||||
if(isBlog) $(this).find(".item-blog").show();
|
if (isBlog) $(this).find(".item-blog").show();
|
||||||
else $(this).find(".item-blog").hide();
|
else $(this).find(".item-blog").hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
ajaxPost("/notebook/setNotebook2Blog", {notebookId: notebookId, isBlog: isBlog}, function(ret) {
|
ajaxPost("/notebook/setNotebook2Blog", { notebookId: notebookId, isBlog: isBlog }, function(ret) {
|
||||||
if(ret) {
|
if (ret) {
|
||||||
// 这里要设置notebook下的note的blog状态
|
// 这里要设置notebook下的note的blog状态
|
||||||
Note.setAllNoteBlogStatus(notebookId, isBlog);
|
Note.setAllNoteBlogStatus(notebookId, isBlog);
|
||||||
Notebook.setCache({NotebookId: notebookId, IsBlog: isBlog});
|
Notebook.setCache({ NotebookId: notebookId, IsBlog: isBlog });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -888,14 +887,14 @@ Notebook.updateNotebookTitle = function(target) {
|
|||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
var notebookId = $(target).attr("notebookId");
|
var notebookId = $(target).attr("notebookId");
|
||||||
|
|
||||||
if(self.tree2) {
|
if (self.tree2) {
|
||||||
self.tree2.editName(self.tree2.getNodeByTId(notebookId));
|
self.tree2.editName(self.tree2.getNodeByTId(notebookId));
|
||||||
} else {
|
} else {
|
||||||
self.tree.editName(self.tree.getNodeByTId(notebookId));
|
self.tree.editName(self.tree.getNodeByTId(notebookId));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Notebook.subNotebookDirtyOrNew = {}; // notebookId => {dirty: new: }
|
Notebook.subNotebookDirtyOrNew = {}; // notebookId => {dirty: new: }
|
||||||
Notebook.setDirtyOrNew = function (notebookId, isDirty, isNew) {
|
Notebook.setDirtyOrNew = function(notebookId, isDirty, isNew) {
|
||||||
if (this._setDirtyOrNew(notebookId, isDirty, isNew)) {
|
if (this._setDirtyOrNew(notebookId, isDirty, isNew)) {
|
||||||
if (this.subNotebookDirtyOrNew[notebookId]) {
|
if (this.subNotebookDirtyOrNew[notebookId]) {
|
||||||
delete this.subNotebookDirtyOrNew[notebookId];
|
delete this.subNotebookDirtyOrNew[notebookId];
|
||||||
@@ -903,11 +902,11 @@ Notebook.setDirtyOrNew = function (notebookId, isDirty, isNew) {
|
|||||||
}
|
}
|
||||||
// 没找到, 可能是子笔记本, 还没展开
|
// 没找到, 可能是子笔记本, 还没展开
|
||||||
else {
|
else {
|
||||||
this.subNotebookDirtyOrNew[notebookId] = {isDirty: isDirty, isNew: isNew};
|
this.subNotebookDirtyOrNew[notebookId] = { isDirty: isDirty, isNew: isNew };
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Notebook.setDirtyOrNewForSub = function (notebookId, isDirty, isNew) {
|
Notebook.setDirtyOrNewForSub = function(notebookId, isDirty, isNew) {
|
||||||
var d = this.subNotebookDirtyOrNew[notebookId];
|
var d = this.subNotebookDirtyOrNew[notebookId];
|
||||||
if (!d) {
|
if (!d) {
|
||||||
return;
|
return;
|
||||||
@@ -915,7 +914,7 @@ Notebook.setDirtyOrNewForSub = function (notebookId, isDirty, isNew) {
|
|||||||
this._setDirtyOrNew(notebookId, d.isDirty, d.isNew);
|
this._setDirtyOrNew(notebookId, d.isDirty, d.isNew);
|
||||||
};
|
};
|
||||||
|
|
||||||
Notebook._setDirtyOrNew = function (notebookId, isDirty, isNew) {
|
Notebook._setDirtyOrNew = function(notebookId, isDirty, isNew) {
|
||||||
var $o = $('#' + notebookId + '_a');
|
var $o = $('#' + notebookId + '_a');
|
||||||
if ($o.length) {
|
if ($o.length) {
|
||||||
isDirty ? $o.addClass('nb-dirty') : $o.removeClass('nb-dirty');
|
isDirty ? $o.addClass('nb-dirty') : $o.removeClass('nb-dirty');
|
||||||
@@ -935,7 +934,7 @@ Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) {
|
|||||||
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); // 同步到对方
|
||||||
@@ -949,7 +948,7 @@ Notebook.doUpdateNotebookTitle = function(notebookId, newTitle) {
|
|||||||
Notebook.renderUpdateNoteTitle = function(notebookId, newTitle) {
|
Notebook.renderUpdateNoteTitle = function(notebookId, newTitle) {
|
||||||
var self = this;
|
var self = this;
|
||||||
// 修改缓存
|
// 修改缓存
|
||||||
if(!Notebook.cache[notebookId]) {
|
if (!Notebook.cache[notebookId]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Notebook.cache[notebookId].Title = trimTitle(newTitle);
|
Notebook.cache[notebookId].Title = trimTitle(newTitle);
|
||||||
@@ -957,14 +956,14 @@ Notebook.renderUpdateNoteTitle = function(notebookId, newTitle) {
|
|||||||
Notebook.changeNav();
|
Notebook.changeNav();
|
||||||
|
|
||||||
var notebook = self.tree.getNodeByTId(notebookId);
|
var notebook = self.tree.getNodeByTId(notebookId);
|
||||||
if(!notebook) {
|
if (!notebook) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
notebook.Title = newTitle;
|
notebook.Title = newTitle;
|
||||||
if(self.tree) {
|
if (self.tree) {
|
||||||
self.tree.updateNode(notebook);
|
self.tree.updateNode(notebook);
|
||||||
}
|
}
|
||||||
if(self.tree2) {
|
if (self.tree2) {
|
||||||
self.tree2.updateNode(notebook);
|
self.tree2.updateNode(notebook);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -977,19 +976,19 @@ Notebook.renderUpdateNoteTitle = function(notebookId, newTitle) {
|
|||||||
Notebook.addNotebookSeq = 1; // inputId
|
Notebook.addNotebookSeq = 1; // inputId
|
||||||
Notebook.addNotebook = function() {
|
Notebook.addNotebook = function() {
|
||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
if($("#myNotebooks").hasClass("closed")) {
|
if ($("#myNotebooks").hasClass("closed")) {
|
||||||
$("#myNotebooks .folderHeader").trigger("click");
|
$("#myNotebooks .folderHeader").trigger("click");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加并修改
|
// 添加并修改
|
||||||
self.tree.addNodes(null, {Title: "", NotebookId: getObjectId(), IsNew: true}, true, true);
|
self.tree.addNodes(null, { Title: "", NotebookId: getObjectId(), IsNew: true }, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// rename 调用
|
// rename 调用
|
||||||
Notebook.doAddNotebook = function(notebookId, title, parentNotebookId) {
|
Notebook.doAddNotebook = function(notebookId, title, parentNotebookId) {
|
||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
Service.notebookService.addNotebook(notebookId, title, parentNotebookId, function(ret) {
|
Service.notebookService.addNotebook(notebookId, title, parentNotebookId, function(ret) {
|
||||||
if(ret.NotebookId) {
|
if (ret.NotebookId) {
|
||||||
Notebook.cache[ret.NotebookId] = ret;
|
Notebook.cache[ret.NotebookId] = ret;
|
||||||
var notebook = self.tree.getNodeByTId(notebookId);
|
var notebook = self.tree.getNodeByTId(notebookId);
|
||||||
$.extend(notebook, ret);
|
$.extend(notebook, ret);
|
||||||
@@ -1008,14 +1007,14 @@ Notebook.doAddNotebook = function(notebookId, title, parentNotebookId) {
|
|||||||
// 添加子笔记本
|
// 添加子笔记本
|
||||||
Notebook.addChildNotebook = function(target) {
|
Notebook.addChildNotebook = function(target) {
|
||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
if($("#myNotebooks").hasClass("closed")) {
|
if ($("#myNotebooks").hasClass("closed")) {
|
||||||
$("#myNotebooks .folderHeader").trigger("click");
|
$("#myNotebooks .folderHeader").trigger("click");
|
||||||
}
|
}
|
||||||
|
|
||||||
var notebookId = $(target).attr("notebookId");
|
var notebookId = $(target).attr("notebookId");
|
||||||
|
|
||||||
// 添加并修改
|
// 添加并修改
|
||||||
self.tree.addNodes(self.tree.getNodeByTId(notebookId), {Title: "", NotebookId: getObjectId(), IsNew: true}, false, true);
|
self.tree.addNodes(self.tree.getNodeByTId(notebookId), { Title: "", NotebookId: getObjectId(), IsNew: true }, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------
|
//-------------
|
||||||
@@ -1024,18 +1023,18 @@ Notebook.deleteNotebook = function(target) {
|
|||||||
var self = Notebook;
|
var self = Notebook;
|
||||||
|
|
||||||
var notebookId = $(target).attr("notebookId");
|
var notebookId = $(target).attr("notebookId");
|
||||||
if(!notebookId) {
|
if (!notebookId) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO, 如果删除的是父, 那子树要移到前面去
|
// TODO, 如果删除的是父, 那子树要移到前面去
|
||||||
// 查看是否有子
|
// 查看是否有子
|
||||||
if(self.getSubNotebooks(notebookId)) {
|
if (self.getSubNotebooks(notebookId)) {
|
||||||
alert('This notebook has sub notebooks, please delete sub notebooks firstly.');
|
alert('This notebook has sub notebooks, please delete sub notebooks firstly.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
NotebookService.deleteNotebook(notebookId, function(ok, msg) {
|
NotebookService.deleteNotebook(notebookId, function(ok, msg) {
|
||||||
if(!ok) {
|
if (!ok) {
|
||||||
alert(msg || "error");
|
alert(msg || "error");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1045,7 +1044,7 @@ Notebook.deleteNotebook = function(target) {
|
|||||||
Notebook.deleteNotebookFromTree = function(notebookId) {
|
Notebook.deleteNotebookFromTree = function(notebookId) {
|
||||||
var self = this;
|
var self = this;
|
||||||
self.tree.removeNode(self.tree.getNodeByTId(notebookId));
|
self.tree.removeNode(self.tree.getNodeByTId(notebookId));
|
||||||
if(self.tree2) {
|
if (self.tree2) {
|
||||||
self.tree2.removeNode(self.tree2.getNodeByTId(notebookId));
|
self.tree2.removeNode(self.tree2.getNodeByTId(notebookId));
|
||||||
}
|
}
|
||||||
delete Notebook.cache[notebookId];
|
delete Notebook.cache[notebookId];
|
||||||
@@ -1056,9 +1055,9 @@ Notebook.deleteNotebookFromTree = function(notebookId) {
|
|||||||
// 清空垃圾
|
// 清空垃圾
|
||||||
Notebook.clearTrash = function() {
|
Notebook.clearTrash = function() {
|
||||||
var me = this;
|
var me = this;
|
||||||
if(confirm(getMsg('Are you sure ?'))) {
|
if (confirm(getMsg('Are you sure ?'))) {
|
||||||
NoteService.clearTrash(function() {
|
NoteService.clearTrash(function() {
|
||||||
if(Notebook.curNotebookId == Notebook.trashNotebookId) {
|
if (Notebook.curNotebookId == Notebook.trashNotebookId) {
|
||||||
Note.clearAll();
|
Note.clearAll();
|
||||||
Note.showEditorMask();
|
Note.showEditorMask();
|
||||||
}
|
}
|
||||||
@@ -1100,10 +1099,10 @@ Notebook.fixSyncConflict = function(note, newNote) {
|
|||||||
// 前端取消dirty
|
// 前端取消dirty
|
||||||
Notebook.addChanges = function(notebooks) {
|
Notebook.addChanges = function(notebooks) {
|
||||||
var me = this;
|
var me = this;
|
||||||
if(isEmpty(notebooks)) {
|
if (isEmpty(notebooks)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for(var i = 0; i < notebooks.length; ++i) {
|
for (var i = 0; i < notebooks.length; ++i) {
|
||||||
var notebook = notebooks[i];
|
var notebook = notebooks[i];
|
||||||
me.setDirtyOrNew(notebook.NotebookId, false, false);
|
me.setDirtyOrNew(notebook.NotebookId, false, false);
|
||||||
}
|
}
|
||||||
@@ -1133,15 +1132,14 @@ Notebook.reload = function() {
|
|||||||
// ? 如果是子先添加了, 再父添加呢?
|
// ? 如果是子先添加了, 再父添加呢?
|
||||||
Notebook.addSync = function(notebooks) {
|
Notebook.addSync = function(notebooks) {
|
||||||
var me = this;
|
var me = this;
|
||||||
if(isEmpty(notebooks)) {
|
if (isEmpty(notebooks)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log('web add sync notebook');
|
console.log('web add sync notebook');
|
||||||
for(var i = 0; i < notebooks.length; ++i) {
|
for (var i = 0; i < notebooks.length; ++i) {
|
||||||
var notebook = notebooks[i];
|
var notebook = notebooks[i];
|
||||||
Notebook.setCache(notebook);
|
Notebook.setCache(notebook);
|
||||||
me.tree.addNodes(me.tree.getNodeByTId(notebook.ParentNotebookId),
|
me.tree.addNodes(me.tree.getNodeByTId(notebook.ParentNotebookId), { Title: notebook.Title, NotebookId: notebook.NotebookId, IsNew: false }, // IsNew: false啊!!!
|
||||||
{Title: notebook.Title, NotebookId: notebook.NotebookId, IsNew: false}, // IsNew: false啊!!!
|
|
||||||
true, true, false);
|
true, true, false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -1150,18 +1148,18 @@ Notebook.addSync = function(notebooks) {
|
|||||||
// 不对移动做修改, 只修改标题
|
// 不对移动做修改, 只修改标题
|
||||||
Notebook.updateSync = function(notebooks) {
|
Notebook.updateSync = function(notebooks) {
|
||||||
var me = this;
|
var me = this;
|
||||||
if(isEmpty(notebooks)) {
|
if (isEmpty(notebooks)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log("update notebook sync");
|
log("update notebook sync");
|
||||||
for(var i in notebooks) {
|
for (var i in notebooks) {
|
||||||
var notebook = notebooks[i];
|
var notebook = notebooks[i];
|
||||||
// 更新可以是本笔记本删除后, 更新的服务器版
|
// 更新可以是本笔记本删除后, 更新的服务器版
|
||||||
if(me.cache[notebook.NotebookId]) {
|
if (me.cache[notebook.NotebookId]) {
|
||||||
me.renderUpdateNoteTitle(notebook.NotebookId, notebook.Title);
|
me.renderUpdateNoteTitle(notebook.NotebookId, notebook.Title);
|
||||||
} else {
|
} else {
|
||||||
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -1169,11 +1167,11 @@ Notebook.updateSync = function(notebooks) {
|
|||||||
// 删除
|
// 删除
|
||||||
Notebook.deleteSync = function(notebooks) {
|
Notebook.deleteSync = function(notebooks) {
|
||||||
var me = this;
|
var me = this;
|
||||||
if(isEmpty(notebooks)) {
|
if (isEmpty(notebooks)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
log('delete notebook sync');
|
log('delete notebook sync');
|
||||||
for(var i in notebooks) {
|
for (var i in notebooks) {
|
||||||
var notebookId = notebooks[i];
|
var notebookId = notebooks[i];
|
||||||
// 删除
|
// 删除
|
||||||
me.deleteNotebookFromTree(notebookId);
|
me.deleteNotebookFromTree(notebookId);
|
||||||
@@ -1229,13 +1227,13 @@ Notebook.init = function() {
|
|||||||
|
|
||||||
// 导入菜单
|
// 导入菜单
|
||||||
var importMenus = Api.getImportMenus();
|
var importMenus = Api.getImportMenus();
|
||||||
if(importMenus && importMenus.length) {
|
if (importMenus && importMenus.length) {
|
||||||
var importSubmenus = new gui.Menu();
|
var importSubmenus = new gui.Menu();
|
||||||
for(var i = 0; i < importMenus.length; ++i) {
|
for (var i = 0; i < importMenus.length; ++i) {
|
||||||
|
|
||||||
(function(j) {
|
(function(j) {
|
||||||
var clickCallback = importMenus[j].click;
|
var clickCallback = importMenus[j].click;
|
||||||
if(clickCallback) {
|
if (clickCallback) {
|
||||||
importMenus[i].click = function() {
|
importMenus[i].click = function() {
|
||||||
var notebookId = $(me.target).attr("notebookId");
|
var notebookId = $(me.target).attr("notebookId");
|
||||||
var notebook = Notebook.getNotebook(notebookId);
|
var notebook = Notebook.getNotebook(notebookId);
|
||||||
@@ -1257,7 +1255,7 @@ Notebook.init = function() {
|
|||||||
// 导出
|
// 导出
|
||||||
var exportsSubMenus = new gui.Menu();
|
var exportsSubMenus = new gui.Menu();
|
||||||
var exportMenus = Api.getExportMenusForNotebook() || [];
|
var exportMenus = Api.getExportMenusForNotebook() || [];
|
||||||
for(var i = 0; i < exportMenus.length; ++i) {
|
for (var i = 0; i < exportMenus.length; ++i) {
|
||||||
(function(j) {
|
(function(j) {
|
||||||
|
|
||||||
var menu = exportMenus[j];
|
var menu = exportMenus[j];
|
||||||
@@ -1276,12 +1274,11 @@ Notebook.init = function() {
|
|||||||
})(i);
|
})(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(exportMenus.length > 0) {
|
if (exportMenus.length > 0) {
|
||||||
this.exports = new gui.MenuItem({
|
this.exports = new gui.MenuItem({
|
||||||
label: getMsg('Export notes'),
|
label: getMsg('Export notes'),
|
||||||
submenu: exportsSubMenus,
|
submenu: exportsSubMenus,
|
||||||
click: function(e) {
|
click: function(e) {}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.menu.append(this.exports);
|
this.menu.append(this.exports);
|
||||||
@@ -1293,15 +1290,15 @@ Notebook.init = function() {
|
|||||||
this.popup = function(e, target, isSearch) {
|
this.popup = function(e, target, isSearch) {
|
||||||
me.target = target;
|
me.target = target;
|
||||||
var notebookId = $(target).attr("notebookId");
|
var notebookId = $(target).attr("notebookId");
|
||||||
if(Notebook.isTrashNotebookId(notebookId)) {
|
if (Notebook.isTrashNotebookId(notebookId)) {
|
||||||
newClearTrashMenuSys.popup(e);
|
newClearTrashMenuSys.popup(e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(Notebook.isAllNotebookId(notebookId)) {
|
if (Notebook.isAllNotebookId(notebookId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var notebook = Notebook.cache[notebookId];
|
var notebook = Notebook.cache[notebookId];
|
||||||
if(!notebook) {
|
if (!notebook) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 是否已公开为blog
|
// 是否已公开为blog
|
||||||
@@ -1313,12 +1310,12 @@ Notebook.init = function() {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
// 是否还有笔记
|
// 是否还有笔记
|
||||||
if(Note.notebookHasNotes(notebookId)) {
|
if (Note.notebookHasNotes(notebookId)) {
|
||||||
this.del.enabled = false;
|
this.del.enabled = false;
|
||||||
} else {
|
} else {
|
||||||
this.del.enabled = true;
|
this.del.enabled = true;
|
||||||
}
|
}
|
||||||
if(isSearch) {
|
if (isSearch) {
|
||||||
this.addSub.enabled = false;
|
this.addSub.enabled = false;
|
||||||
} else {
|
} else {
|
||||||
this.addSub.enabled = true;
|
this.addSub.enabled = true;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,602 +0,0 @@
|
|||||||
//------------------------------------
|
|
||||||
// 共享, notbeook, note
|
|
||||||
//------------------------------------
|
|
||||||
|
|
||||||
// 默认共享notebook id
|
|
||||||
Share.defaultNotebookId = "share0";
|
|
||||||
Share.defaultNotebookTitle = getMsg("defaulthhare");
|
|
||||||
Share.sharedUserInfos = {}; // userId => {}
|
|
||||||
|
|
||||||
// 在render时就创建, 以后复用之
|
|
||||||
Share.userNavs = {}; // userId => {"forList":html, "forNew":html}
|
|
||||||
|
|
||||||
// 缓存都不要, 统一放在Note.cache中
|
|
||||||
// 放在这里, 只是为了debug, 分离
|
|
||||||
Share.notebookCache = {}; // notebooks 的cache
|
|
||||||
Share.cache = {}; // note的cache
|
|
||||||
|
|
||||||
// 分享的弹出框是note的
|
|
||||||
Share.dialogIsNote = true;
|
|
||||||
|
|
||||||
// 设置缓存 note
|
|
||||||
Share.setCache = function(note) {
|
|
||||||
if(!note || !note.NoteId) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Share.cache[note.NoteId] = note;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 我的共享notebooks
|
|
||||||
<div id="shareNotebooks">
|
|
||||||
<div class="folderNote closed">
|
|
||||||
<div class="folderHeader">
|
|
||||||
<a>
|
|
||||||
<h1>
|
|
||||||
<i class="fa fa-angle-right"></i>
|
|
||||||
Life's</h1>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<ul class="folderBody">
|
|
||||||
<li><a>Hadoop</a></li>
|
|
||||||
<li><a>Node webkit</a></li>
|
|
||||||
<li><a>Hadoop</a></li>
|
|
||||||
<li><a>Node webkit</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
*/
|
|
||||||
// TODO 层级
|
|
||||||
// shareNotebooks = {userId => {}}
|
|
||||||
Share.getNotebooksForNew = function(userId, notebooks) {
|
|
||||||
var self = this;
|
|
||||||
var navForNewNote = "";
|
|
||||||
|
|
||||||
var len = notebooks.length;
|
|
||||||
for(var i = 0; i < len; ++i) {
|
|
||||||
var notebook = notebooks[i];
|
|
||||||
notebook.IsShared = true;
|
|
||||||
notebook.UserId = userId;
|
|
||||||
self.notebookCache[notebook.NotebookId] = notebook;
|
|
||||||
// notebook的cache也缓存一份, 为了显示标题
|
|
||||||
Notebook.cache[notebook.NotebookId] = notebook;
|
|
||||||
|
|
||||||
var classes = "";
|
|
||||||
var subs = false;
|
|
||||||
if(!isEmpty(notebook.Subs)) {
|
|
||||||
log(11);
|
|
||||||
log(notebook.Subs);
|
|
||||||
var subs = self.getNotebooksForNew(userId, notebook.Subs);
|
|
||||||
if(subs) {
|
|
||||||
classes = "dropdown-submenu";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var eachForNew = "";
|
|
||||||
if(notebook.Perm) {
|
|
||||||
var eachForNew = tt('<li role="presentation" class="clearfix ?" userId="?" notebookId="?"><div class="new-note-left pull-left" title="为该笔记本新建笔记" href="#">?</div><div title="为该笔记本新建markdown笔记" class="new-note-right pull-left">M</div>', classes, userId, notebook.NotebookId, notebook.Title);
|
|
||||||
if(subs) {
|
|
||||||
eachForNew += "<ul class='dropdown-menu'>";
|
|
||||||
eachForNew += subs;
|
|
||||||
eachForNew += "</ul>";
|
|
||||||
}
|
|
||||||
eachForNew += '</li>';
|
|
||||||
}
|
|
||||||
|
|
||||||
navForNewNote += eachForNew;
|
|
||||||
}
|
|
||||||
return navForNewNote;
|
|
||||||
}
|
|
||||||
Share.trees = {};
|
|
||||||
Share.renderShareNotebooks = function(sharedUserInfos, shareNotebooks) {
|
|
||||||
var self = Share;
|
|
||||||
if(isEmpty(sharedUserInfos)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!shareNotebooks || typeof shareNotebooks != "object" || shareNotebooks.length < 0) {
|
|
||||||
shareNotebooks = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
var $shareNotebooks = $("#shareNotebooks");
|
|
||||||
|
|
||||||
// render每一个用户的share给我的笔记本, 之前先建一个默认共享
|
|
||||||
for(var i in sharedUserInfos) {
|
|
||||||
var userInfo = sharedUserInfos[i];
|
|
||||||
var userNotebooksPre = shareNotebooks[userInfo.UserId] || [];
|
|
||||||
|
|
||||||
userNotebooks = [{NotebookId: self.defaultNotebookId, Title: Share.defaultNotebookTitle}].concat(userNotebooksPre)
|
|
||||||
|
|
||||||
self.notebookCache[self.defaultNotebookId] = userNotebooks[0];
|
|
||||||
|
|
||||||
var username = userInfo.Username || userInfo.Email;
|
|
||||||
userInfo.Username = username;
|
|
||||||
Share.sharedUserInfos[userInfo.UserId] = userInfo;
|
|
||||||
var userId = userInfo.UserId;
|
|
||||||
var header = tt('<li class="each-user"><div class="friend-header" fromUserId="?"><i class="fa fa-angle-down"></i><span>?</span> <span class="fa notebook-setting" title="setting"></span> </div>', userInfo.UserId, username);
|
|
||||||
var friendId = "friendContainer_" + userId;
|
|
||||||
var body = '<ul class="friend-notebooks ztree" id="' + friendId + '" fromUserId="' + userId + '"></ul>';
|
|
||||||
$shareNotebooks.append(header + body + "</li>")
|
|
||||||
|
|
||||||
self.trees[userId] = $.fn.zTree.init($("#" + friendId), Notebook.getTreeSetting(true, true), userNotebooks);
|
|
||||||
|
|
||||||
self.userNavs[userId] = {"forNew": self.getNotebooksForNew(userId, userNotebooksPre)};
|
|
||||||
log(self.userNavs);
|
|
||||||
}
|
|
||||||
|
|
||||||
$(".friend-notebooks").hover(function () {
|
|
||||||
if (!$(this).hasClass("showIcon")) {
|
|
||||||
$(this).addClass("showIcon");
|
|
||||||
}
|
|
||||||
}, function() {
|
|
||||||
$(this).removeClass("showIcon");
|
|
||||||
});
|
|
||||||
|
|
||||||
$(".friend-header i").click(function() {
|
|
||||||
var $this = $(this);
|
|
||||||
var $tree = $(this).parent().next();
|
|
||||||
if($tree.is(":hidden")) {
|
|
||||||
$tree.slideDown("fast");
|
|
||||||
$this.removeClass("fa-angle-right fa-angle-down").addClass("fa-angle-down");
|
|
||||||
} else {
|
|
||||||
$tree.slideUp("fast");
|
|
||||||
$this.removeClass("fa-angle-right fa-angle-down").addClass("fa-angle-right");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//-----------------------------
|
|
||||||
// contextmenu shareNotebooks
|
|
||||||
// 删除共享笔记本
|
|
||||||
var shareNotebookMenu = {
|
|
||||||
width: 180,
|
|
||||||
items: [
|
|
||||||
{ text: getMsg("deleteSharedNotebook"), icon: "", faIcon: "fa-trash-o", action: Share.deleteShareNotebook }
|
|
||||||
],
|
|
||||||
onShow: applyrule,
|
|
||||||
onContextMenu: beforeContextMenu,
|
|
||||||
|
|
||||||
parent: "#shareNotebooks",
|
|
||||||
children: ".notebook-item",
|
|
||||||
};
|
|
||||||
function applyrule(menu) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 默认共享不能删除
|
|
||||||
function beforeContextMenu() {
|
|
||||||
var notebookId = $(this).attr("notebookId");
|
|
||||||
return !Share.isDefaultNotebookId(notebookId);
|
|
||||||
}
|
|
||||||
|
|
||||||
var menuNotebooks = $("#shareNotebooks").contextmenu(shareNotebookMenu);
|
|
||||||
|
|
||||||
//---------------------------
|
|
||||||
// contextmenu shareNotebooks
|
|
||||||
// 删除某用户所有的
|
|
||||||
var shareUserMenu = {
|
|
||||||
width: 180,
|
|
||||||
items: [
|
|
||||||
{ text: getMsg("deleteAllShared"), icon: "", faIcon: "fa-trash-o", action: Share.deleteUserShareNoteAndNotebook }
|
|
||||||
],
|
|
||||||
parent: "#shareNotebooks",
|
|
||||||
children: ".friend-header",
|
|
||||||
};
|
|
||||||
|
|
||||||
var menuUser = $("#shareNotebooks").contextmenu(shareUserMenu);
|
|
||||||
|
|
||||||
$(".friend-header").on("click", ".notebook-setting", function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
e.stopPropagation();
|
|
||||||
var $p = $(this).parent();
|
|
||||||
menuUser.showMenu(e, $p);
|
|
||||||
});
|
|
||||||
$("#shareNotebooks .notebook-item").on("click", ".notebook-setting", function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
e.stopPropagation();
|
|
||||||
var $p = $(this).parent();
|
|
||||||
menuNotebooks.showMenu(e, $p);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
Share.isDefaultNotebookId = function(notebookId) {
|
|
||||||
return Share.defaultNotebookId == notebookId;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 转成共享的nav
|
|
||||||
// for list和for new
|
|
||||||
// 如果forNew没有, 那么还是保持我的nav
|
|
||||||
Share.toggleToSharedNav = function(userId, notebookId) {
|
|
||||||
var self = this;
|
|
||||||
// for list
|
|
||||||
$("#curNotebookForListNote").html(Share.notebookCache[notebookId].Title + '(' + Share.sharedUserInfos[userId].Username + ")");
|
|
||||||
|
|
||||||
// for new
|
|
||||||
// 如果该用户下有新建的note, 那么列出, 如果没有, 则列出我的笔记
|
|
||||||
var forNew = Share.userNavs[userId].forNew;
|
|
||||||
if(forNew) {
|
|
||||||
$("#notebookNavForNewSharedNote").html(forNew);
|
|
||||||
// 新建之, 可能当前选择的没有权限新建. 此时需要得到第一个
|
|
||||||
var curNotebookId = "";
|
|
||||||
var curNotebookTitle = "";
|
|
||||||
if(Share.notebookCache[notebookId].Perm) {
|
|
||||||
curNotebookId = notebookId;
|
|
||||||
curNotebookTitle = Share.notebookCache[notebookId].Title;
|
|
||||||
} else {
|
|
||||||
// 得到第一个
|
|
||||||
var $f = $("#notebookNavForNewSharedNote li").eq(0);
|
|
||||||
curNotebookId = $f.attr("notebookId");
|
|
||||||
curNotebookTitle = $f.find(".new-note-left").text();
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#curNotebookForNewSharedNote").html(curNotebookTitle + '(' + Share.sharedUserInfos[userId].Username + ')');
|
|
||||||
$("#curNotebookForNewSharedNote").attr("notebookId", curNotebookId);
|
|
||||||
$("#curNotebookForNewSharedNote").attr("userId", userId);
|
|
||||||
|
|
||||||
$("#newSharedNote").show();
|
|
||||||
$("#newMyNote").hide();
|
|
||||||
|
|
||||||
} else {
|
|
||||||
// 展示出我的笔记
|
|
||||||
$("#newMyNote").show();
|
|
||||||
$("#newSharedNote").hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 隐藏tag
|
|
||||||
$("#tagSearch").hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 刷新加载共享的笔记本, page.js调用
|
|
||||||
Share.firstRenderShareNote = function(ownerUserId, notebookId, noteId) {
|
|
||||||
$("#myShareNotebooks .folderHeader").trigger("click");
|
|
||||||
// 这里, 可能这个笔记本是子笔记本, 所以先扩展
|
|
||||||
Notebook.expandNotebookTo(notebookId, ownerUserId);
|
|
||||||
Share.changeNotebook(ownerUserId, notebookId, function(notes) {
|
|
||||||
Note.renderNotes(notes);
|
|
||||||
// 不push state
|
|
||||||
Note.changeNoteForPjax(noteId, false, false);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
//改变笔记本
|
|
||||||
//0. 改变样式
|
|
||||||
//1. 改变note, 此时需要先保存
|
|
||||||
//2. ajax得到该notebook下的所有note
|
|
||||||
//3. 使用Note.RederNotes()
|
|
||||||
Share.changeNotebook = function(userId, notebookId, callback) {
|
|
||||||
var me = this;
|
|
||||||
Notebook.curNotebookId = notebookId;
|
|
||||||
// 选中
|
|
||||||
var $t = $(tt('#friendContainer_? a[notebookId="?"]', userId, notebookId));
|
|
||||||
if($t.length == 0) {
|
|
||||||
// 切换到默认共享中
|
|
||||||
// 表示是popstate的默认共享笔记本下
|
|
||||||
Notebook.selectNotebook($(tt('#friendContainer_? a[notebookId="?"]', userId, me.defaultNotebookId)));
|
|
||||||
notebookId = me.defaultNotebookId;
|
|
||||||
} else {
|
|
||||||
Notebook.selectNotebook($t);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 改变nav!!!! TODO
|
|
||||||
Share.toggleToSharedNav(userId, notebookId);
|
|
||||||
|
|
||||||
// 1
|
|
||||||
Note.curChangedSaveIt();
|
|
||||||
|
|
||||||
// 2 先清空所有
|
|
||||||
Note.clearAll();
|
|
||||||
|
|
||||||
var url = "/share/listShareNotes";
|
|
||||||
var param = {userId: userId};
|
|
||||||
if(!Share.isDefaultNotebookId(notebookId)) {
|
|
||||||
param.notebookId = notebookId;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2 得到笔记本
|
|
||||||
// 这里可以缓存起来, note按notebookId缓存
|
|
||||||
ajaxGet(url, param, function(ret) {
|
|
||||||
// note 导航
|
|
||||||
//
|
|
||||||
// 如果是特定笔记本下的notes, 那么传过来的没有权限信息, 此时权限由notebookId决定
|
|
||||||
if(param.notebookId) {
|
|
||||||
|
|
||||||
}
|
|
||||||
if(callback) {
|
|
||||||
callback(ret);
|
|
||||||
} else {
|
|
||||||
Note.renderNotes(ret, false, true);
|
|
||||||
// 渲染第一个
|
|
||||||
// 这里, 有点小复杂, 还要判断权限...
|
|
||||||
if(!isEmpty(ret)) {
|
|
||||||
// 定位
|
|
||||||
Note.changeNoteForPjax(ret[0].NoteId, true, false);
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 是否有更新权限
|
|
||||||
// called by Note
|
|
||||||
Share.hasUpdatePerm = function(noteId) {
|
|
||||||
var note = Share.cache[noteId];
|
|
||||||
if(!note) {
|
|
||||||
note = Note.getNote(noteId);
|
|
||||||
}
|
|
||||||
if(!note || !note.Perm) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------
|
|
||||||
// 我删除别人共享给我的笔记本
|
|
||||||
Share.deleteShareNotebook = function(target) {
|
|
||||||
if(confirm("Are you sure to delete it?")) {
|
|
||||||
var notebookId = $(target).attr("notebookId");
|
|
||||||
var fromUserId = $(target).closest(".friend-notebooks").attr("fromUserId"); // 谁共享给了我 from
|
|
||||||
ajaxGet("/share/DeleteShareNotebookBySharedUser", {notebookId: notebookId, fromUserId: fromUserId}, function(ret) {
|
|
||||||
if(ret) {
|
|
||||||
$(target).parent().remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Share.deleteShareNote = function(target) {
|
|
||||||
var noteId = $(target).attr("noteId");
|
|
||||||
var fromUserId = $(target).attr("fromUserId"); // 谁共享给了我 from
|
|
||||||
ajaxGet("/share/DeleteShareNoteBySharedUser", {noteId: noteId, fromUserId: fromUserId}, function(ret) {
|
|
||||||
if(ret) {
|
|
||||||
$(target).remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Share.deleteUserShareNoteAndNotebook = function(target) {
|
|
||||||
if(confirm("Are you sure to delete all shared notebooks and notes?")) {
|
|
||||||
var fromUserId = $(target).attr("fromUserId"); // 谁共享给了我 from
|
|
||||||
ajaxGet("/share/deleteUserShareNoteAndNotebook", {fromUserId: fromUserId}, function(ret) {
|
|
||||||
if(ret) {
|
|
||||||
$(target).parent().remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新建shared note
|
|
||||||
Share.changeNotebookForNewNote = function(notebookId) {
|
|
||||||
// 改变nav for list, for new
|
|
||||||
Notebook.selectNotebook($(tt('#shareNotebooks [notebookId="?"]', notebookId)));
|
|
||||||
var userId = Share.notebookCache[notebookId].UserId;
|
|
||||||
Share.toggleToSharedNav(userId, notebookId);
|
|
||||||
|
|
||||||
// 得到笔记本
|
|
||||||
var url = "/share/listShareNotes";
|
|
||||||
var param = {userId: userId, notebookId: notebookId};
|
|
||||||
|
|
||||||
// 2 得到笔记本
|
|
||||||
// 这里可以缓存起来, note按notebookId缓存
|
|
||||||
ajaxGet(url, param, function(ret) {
|
|
||||||
// note 导航
|
|
||||||
Note.renderNotes(ret, true, true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除笔记, 我有权限, 且是我创建的笔记
|
|
||||||
Share.deleteSharedNote = function(target, contextmenuItem) {
|
|
||||||
Note.deleteNote(target, contextmenuItem, true);
|
|
||||||
}
|
|
||||||
Share.copySharedNote = function(target, contextmenuItem) {
|
|
||||||
Note.copyNote(target, contextmenuItem, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
Share.contextmenu = null;
|
|
||||||
Share.initContextmenu = function(notebooksCopy) {
|
|
||||||
if(Share.contextmenu) {
|
|
||||||
Share.contextmenu.destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------
|
|
||||||
// context menu
|
|
||||||
//---------------------
|
|
||||||
var noteListMenu = {
|
|
||||||
width: 180,
|
|
||||||
items: [
|
|
||||||
{ text: getMsg("copyToMyNotebook"), alias: "copy", faIcon: "fa-copy",
|
|
||||||
type: "group",
|
|
||||||
width: 180,
|
|
||||||
items: notebooksCopy
|
|
||||||
},
|
|
||||||
{ type: "splitLine" },
|
|
||||||
{ text: getMsg("delete"), alias: "delete", icon: "", faIcon: "fa-trash-o", action: Share.deleteSharedNote }
|
|
||||||
],
|
|
||||||
onShow: applyrule,
|
|
||||||
parent: "#noteItemList",
|
|
||||||
children: ".item-shared",
|
|
||||||
}
|
|
||||||
function applyrule(menu) {
|
|
||||||
var noteId = $(this).attr("noteId");
|
|
||||||
var note = Share.cache[noteId];
|
|
||||||
if(!note) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var items = [];
|
|
||||||
if(!(note.Perm && note.CreatedUserId == UserInfo.UserId)) {
|
|
||||||
items.push("delete");
|
|
||||||
}
|
|
||||||
// 不是自己的创建的不能删除
|
|
||||||
menu.applyrule({
|
|
||||||
name: "target...",
|
|
||||||
disable: true,
|
|
||||||
items: items
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Share.contextmenu = $("#noteItemList .item-shared").contextmenu(noteListMenu);
|
|
||||||
};
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
// note setting
|
|
||||||
$("#noteItemList").on("click", ".item-shared .item-setting", function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
e.stopPropagation();
|
|
||||||
// 得到ID
|
|
||||||
var $p = $(this).parent();
|
|
||||||
Share.contextmenu.showMenu(e, $p);
|
|
||||||
});
|
|
||||||
|
|
||||||
//---------------------------
|
|
||||||
// 新建笔记
|
|
||||||
// 1. 直接点击新建 OR
|
|
||||||
// 2. 点击nav for new note
|
|
||||||
$("#newSharedNoteBtn").click(function() {
|
|
||||||
var notebookId = $("#curNotebookForNewSharedNote").attr('notebookId');
|
|
||||||
var userId = $("#curNotebookForNewSharedNote").attr('userId');
|
|
||||||
Note.newNote(notebookId, true, userId);
|
|
||||||
});
|
|
||||||
$("#newShareNoteMarkdownBtn").click(function() {
|
|
||||||
var notebookId = $("#curNotebookForNewSharedNote").attr('notebookId');
|
|
||||||
var userId = $("#curNotebookForNewSharedNote").attr('userId');
|
|
||||||
Note.newNote(notebookId, true, userId, true);
|
|
||||||
});
|
|
||||||
$("#notebookNavForNewSharedNote").on("click", "li div", function() {
|
|
||||||
var notebookId = $(this).parent().attr("notebookId");
|
|
||||||
var userId = $(this).parent().attr("userId");
|
|
||||||
|
|
||||||
if($(this).text() == "M") {
|
|
||||||
Note.newNote(notebookId, true, userId, true);
|
|
||||||
} else {
|
|
||||||
Note.newNote(notebookId, true, userId);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//------------------
|
|
||||||
// 添加共享
|
|
||||||
$("#leanoteDialogRemote").on("click", ".change-perm", function() {
|
|
||||||
var self = this;
|
|
||||||
var perm = $(this).attr("perm");
|
|
||||||
var noteOrNotebookId = $(this).attr("noteOrNotebookId");
|
|
||||||
var toUserId = $(this).attr("toUserId");
|
|
||||||
var toHtml = getMsg("writable");
|
|
||||||
var toPerm = "1";
|
|
||||||
if(perm == "1") {
|
|
||||||
toHtml = getMsg("readOnly");
|
|
||||||
toPerm = "0";
|
|
||||||
}
|
|
||||||
var url = "/share/updateShareNotebookPerm";
|
|
||||||
var param = {perm: toPerm, toUserId: toUserId};
|
|
||||||
if(Share.dialogIsNote) {
|
|
||||||
url = "/share/updateShareNotePerm";
|
|
||||||
param.noteId = noteOrNotebookId;
|
|
||||||
} else {
|
|
||||||
param.notebookId = noteOrNotebookId;
|
|
||||||
}
|
|
||||||
ajaxGet(url, param, function(ret) {
|
|
||||||
if(ret) {
|
|
||||||
$(self).html(toHtml);
|
|
||||||
$(self).attr("perm", toPerm);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#leanoteDialogRemote").on("click", ".delete-share", function() {
|
|
||||||
var self = this;
|
|
||||||
var noteOrNotebookId = $(this).attr("noteOrNotebookId");
|
|
||||||
var toUserId = $(this).attr("toUserId");
|
|
||||||
|
|
||||||
var url = "/share/deleteShareNotebook";
|
|
||||||
var param = {toUserId: toUserId};
|
|
||||||
if(Share.dialogIsNote) {
|
|
||||||
url = "/share/deleteShareNote";
|
|
||||||
param.noteId = noteOrNotebookId;
|
|
||||||
} else {
|
|
||||||
param.notebookId = noteOrNotebookId;
|
|
||||||
}
|
|
||||||
|
|
||||||
ajaxGet(url, param, function(ret) {
|
|
||||||
if(ret) {
|
|
||||||
$(self).parent().parent().remove();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// 添加共享
|
|
||||||
var seq = 1;
|
|
||||||
$("#leanoteDialogRemote").on("click", "#addShareNotebookBtn", function() {
|
|
||||||
seq++;
|
|
||||||
var tpl = '<tr id="tr' + seq + '"><td>#</td><td><input id="friendsEmail" type="text" class="form-control" style="width: 200px" placeholder="' + getMsg('friendEmail') + '"/></td>';
|
|
||||||
tpl += '<td><label for="readPerm' + seq + '"><input type="radio" name="perm' + seq + '" checked="checked" value="0" id="readPerm' + seq + '"> ' + getMsg('readOnly') + '</label>';
|
|
||||||
tpl += ' <label for="writePerm' + seq + '"><input type="radio" name="perm' + seq + '" value="1" id="writePerm' + seq + '"> ' + getMsg('writable') + '</label></td>';
|
|
||||||
tpl += '<td><button class="btn btn-success" onclick="addShareNoteOrNotebook(' + seq + ')">' + getMsg('share') + '</button>';
|
|
||||||
tpl += ' <button class="btn btn-warning" onclick="deleteShareNoteOrNotebook(' + seq + ')">' + getMsg("delete") + '</button>';
|
|
||||||
tpl += "</td></tr>";
|
|
||||||
$("#shareNotebookTable tbody").prepend(tpl);
|
|
||||||
|
|
||||||
$("#tr" + seq + " #friendsEmail").focus();
|
|
||||||
});
|
|
||||||
|
|
||||||
//-------------------
|
|
||||||
// 发送邀请邮件
|
|
||||||
$("#registerEmailBtn").click(function() {
|
|
||||||
var content = $("#emailContent").val();
|
|
||||||
var toEmail = $("#toEmail").val();
|
|
||||||
if(!content) {
|
|
||||||
showAlert("#registerEmailMsg", getMsg("emailBodyRequired"), "danger");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
post("/user/sendRegisterEmail", {content: content, toEmail: toEmail}, function(ret) {
|
|
||||||
showAlert("#registerEmailMsg", getMsg("sendSuccess"), "success");
|
|
||||||
hideDialog2("#sendRegisterEmailDialog", 1000);
|
|
||||||
}, this);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// trSeq 1,2,3...
|
|
||||||
function addShareNoteOrNotebook(trSeq) {
|
|
||||||
var trId = "#tr" + trSeq;
|
|
||||||
var id = Share.dialogNoteOrNotebookId;
|
|
||||||
|
|
||||||
var emails = isEmailFromInput(trId + " #friendsEmail", "#shareMsg", getMsg("inputFriendEmail"));
|
|
||||||
if(!emails) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var shareNotePerm = $(trId + ' input[name="perm' + trSeq + '"]:checked').val() || 0;
|
|
||||||
var perm = shareNotePerm;
|
|
||||||
// emails = emails.split(";");
|
|
||||||
var url = "/share/addShareNote";
|
|
||||||
var data = {noteId: id, emails: [emails], perm: shareNotePerm};
|
|
||||||
if(!Share.dialogIsNote) {
|
|
||||||
url = "/share/addShareNotebook";
|
|
||||||
data = {notebookId: id, emails: [emails], perm: shareNotePerm};
|
|
||||||
}
|
|
||||||
hideAlert("#shareMsg");
|
|
||||||
post(url, data, function(ret) {
|
|
||||||
var ret = ret[emails];
|
|
||||||
if(ret) {
|
|
||||||
// 成功
|
|
||||||
// 成功了则去掉输入框
|
|
||||||
if(ret.Ok) {
|
|
||||||
var tpl = tt('<td>?</td>', '#');
|
|
||||||
tpl += tt('<td>?</td>', emails);
|
|
||||||
tpl += tt('<td><a href="#" noteOrNotebookId="?" perm="?" toUserId="?" title="' + getMsg("clickToChangePermission") + '" class="btn btn-default change-perm">?</a></td>', id, perm, ret.Id, !perm || perm == '0' ? getMsg("readOnly") : getMsg("writable"));
|
|
||||||
tpl += tt('<td><a href="#" noteOrNotebookId="?" toUserId="?" class="btn btn-warning delete-share">' + getMsg("delete") +'</a></td>', id, ret.Id);
|
|
||||||
$(trId).html(tpl);
|
|
||||||
} else {
|
|
||||||
var shareUrl = UrlPrefix + '/register?iu=' + UserInfo.Username;
|
|
||||||
showAlert("#shareMsg", getMsg('friendNotExits', [getMsg("app"), '<input style="background: none;border: 1px solid #ccc;width: 300px;padding: 3px;border-radius: 3px;outline: none;" onclick="$(this).focus().select()" type="text" value="' + shareUrl + '" />']) + '</a> <br /> ' + getMsg("sendInviteEmailToYourFriend") + ', <a href="#" onclick="sendRegisterEmail(\'' + emails + '\')">' + getMsg("send"), "warning");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, trId + " .btn-success");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 发送邀请邮件
|
|
||||||
function sendRegisterEmail(email) {
|
|
||||||
showDialog2("#sendRegisterEmailDialog", {postShow: function() {
|
|
||||||
$("#emailContent").val(getMsg("inviteEmailBody", [UserInfo.Username, getMsg("app")]));
|
|
||||||
setTimeout(function() {
|
|
||||||
$("#emailContent").focus();
|
|
||||||
}, 500);
|
|
||||||
$("#toEmail").val(email);
|
|
||||||
}});
|
|
||||||
}
|
|
||||||
|
|
||||||
function deleteShareNoteOrNotebook(trSeq) {
|
|
||||||
$("#tr" + trSeq).remove();
|
|
||||||
}
|
|
@@ -560,9 +560,14 @@ h3 {
|
|||||||
right: 1px;
|
right: 1px;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
z-index: 2;
|
z-index: 10;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
&.list-view {
|
||||||
|
.item-options {
|
||||||
|
bottom: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.item-setting,
|
.item-setting,
|
||||||
.item-blog,
|
.item-blog,
|
||||||
|
Reference in New Issue
Block a user