share notebook [ok]
This commit is contained in:
@ -102,13 +102,12 @@ function log(o) {
|
||||
<span class="for-split"> - </span>
|
||||
<span id="curNotebookForNewSharedNote" notebookId="" userId=""></span>
|
||||
<div class="dropdown" style="display: inline-block">
|
||||
<a class="ios7-a dropdown-toggle"
|
||||
id="dropdownMenu2" data-toggle="dropdown">
|
||||
<a class="ios7-a dropdown-toggle" data-toggle="dropdown">
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu2" style="width: 180px;left: -5px;"
|
||||
id="notebookNavForNewSharedNote">
|
||||
</ul>
|
||||
<div class="dropdown-menu dropdown-list" style="left: -200px;" >
|
||||
<ul id="notebookNavForNewSharedNote"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -238,3 +238,25 @@
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
// share
|
||||
.friend-header {
|
||||
position: relative;
|
||||
.notebook-setting {
|
||||
display: none;
|
||||
}
|
||||
&:hover {
|
||||
.notebook-setting {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.each-user {
|
||||
margin-bottom: 5px;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
margin-top: 3px;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -372,7 +372,7 @@ a.raw:hover {
|
||||
color: #fff; // @hColor;
|
||||
font-size: 16px;
|
||||
}
|
||||
.folderHeader .fa-left, .each-user .fa {
|
||||
.folderHeader .fa-left, .friend-header i.fa {
|
||||
display: inline-block;
|
||||
line-height: @folderHeaderHeight;
|
||||
font-size: 16px;
|
||||
|
File diff suppressed because one or more lines are too long
@ -360,7 +360,7 @@ a.raw:hover {
|
||||
color: #000; // @hColor;
|
||||
font-size: 16px;
|
||||
}
|
||||
.folderHeader .fa-left, .each-user .fa {
|
||||
.folderHeader .fa-left, .friend-header i.fa {
|
||||
display: inline-block;
|
||||
line-height: @folderHeaderHeight;
|
||||
font-size: 16px;
|
||||
|
@ -72,10 +72,13 @@ a.raw:hover {
|
||||
color: #ffffff;
|
||||
border-bottom: 1px solid #ebeff2;
|
||||
/* for app */
|
||||
|
||||
webkit-user-select: none;
|
||||
/* 还不知 */
|
||||
|
||||
-webkit-app-region: drag;
|
||||
/* -webkit-app-region: no-drag; */
|
||||
|
||||
}
|
||||
#header a {
|
||||
color: #ccc;
|
||||
@ -287,6 +290,7 @@ a.raw:hover {
|
||||
}
|
||||
.item-title {
|
||||
/*font-weight: 400;*/
|
||||
|
||||
font-size: 16px;
|
||||
height: 22px;
|
||||
line-height: 20px;
|
||||
@ -341,7 +345,9 @@ a.raw:hover {
|
||||
border: none;
|
||||
overflow: hidden !important;
|
||||
/*不知道哪里设置了auto*/
|
||||
|
||||
/*border-radius: 5px;*/
|
||||
|
||||
}
|
||||
/* 最顶层 */
|
||||
#editor .mce-tinymce {
|
||||
@ -443,6 +449,7 @@ a.raw:hover {
|
||||
cursor: pointer;
|
||||
font-style: normal;
|
||||
/*border-left: 1px solid #ccc;*/
|
||||
|
||||
display: inline-block;
|
||||
padding-left: 3px;
|
||||
opacity: 0;
|
||||
@ -904,6 +911,7 @@ body {
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
#noteList #notesAndSort {
|
||||
display: none;
|
||||
|
@ -72,10 +72,13 @@ a.raw:hover {
|
||||
color: #ffffff;
|
||||
border-bottom: 1px solid #ebeff2;
|
||||
/* for app */
|
||||
|
||||
webkit-user-select: none;
|
||||
/* 还不知 */
|
||||
|
||||
-webkit-app-region: drag;
|
||||
/* -webkit-app-region: no-drag; */
|
||||
|
||||
}
|
||||
#header a {
|
||||
color: #ccc;
|
||||
@ -287,6 +290,7 @@ a.raw:hover {
|
||||
}
|
||||
.item-title {
|
||||
/*font-weight: 400;*/
|
||||
|
||||
font-size: 16px;
|
||||
height: 22px;
|
||||
line-height: 20px;
|
||||
@ -341,7 +345,9 @@ a.raw:hover {
|
||||
border: none;
|
||||
overflow: hidden !important;
|
||||
/*不知道哪里设置了auto*/
|
||||
|
||||
/*border-radius: 5px;*/
|
||||
|
||||
}
|
||||
/* 最顶层 */
|
||||
#editor .mce-tinymce {
|
||||
@ -443,6 +449,7 @@ a.raw:hover {
|
||||
cursor: pointer;
|
||||
font-style: normal;
|
||||
/*border-left: 1px solid #ccc;*/
|
||||
|
||||
display: inline-block;
|
||||
padding-left: 3px;
|
||||
opacity: 0;
|
||||
@ -734,33 +741,3 @@ background-position:-1px -670px
|
||||
background-color: #65bd77;
|
||||
color: #fff;
|
||||
}
|
||||
#upload {
|
||||
position: absolute;
|
||||
z-index: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0px;
|
||||
padding: 0;
|
||||
background-color: #fff;
|
||||
text-align: center;
|
||||
display: none;
|
||||
}
|
||||
#upload #drop {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding-top: 100px;
|
||||
}
|
||||
#drop.in {
|
||||
border: 1px solid #000000;
|
||||
}
|
||||
#drop.hover {
|
||||
border: 2px solid #000000;
|
||||
}
|
||||
#uploadMsg {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
bottom: 10px;
|
||||
overflow: scroll;
|
||||
list-style: none;
|
||||
}
|
||||
|
@ -1155,24 +1155,30 @@ Note.copyNote = function(target, data, isShared) {
|
||||
Note.getContextNotebooks = function(notebooks) {
|
||||
var moves = [];
|
||||
var copys = [];
|
||||
var copys2 = [];
|
||||
for(var i in notebooks) {
|
||||
var notebook = notebooks[i];
|
||||
var move = {text: notebook.Title, notebookId: notebook.NotebookId, action: Note.moveNote}
|
||||
var copy = {text: notebook.Title, notebookId: notebook.NotebookId, action: Note.copyNote}
|
||||
var copy2 = {text: notebook.Title, notebookId: notebook.NotebookId, action: Share.copySharedNote}
|
||||
if(!isEmpty(notebook.Subs)) {
|
||||
var mc = Note.getContextNotebooks(notebook.Subs);
|
||||
move.items = mc[0];
|
||||
copy.items = mc[1];
|
||||
copy2.items = mc[2];
|
||||
$.extend(move, {type: "group", width: 150});
|
||||
$.extend(copy, {type: "group", width: 150});
|
||||
$.extend(copy2, {type: "group", width: 150});
|
||||
}
|
||||
moves.push(move);
|
||||
copys.push(copy);
|
||||
copys2.push(copy2);
|
||||
}
|
||||
return [moves, copys];
|
||||
return [moves, copys, copys2];
|
||||
}
|
||||
// Notebook调用
|
||||
Note.contextmenu = null;
|
||||
Note.notebooksCopy = []; // share会用到
|
||||
Note.initContextmenu = function() {
|
||||
var self = Note;
|
||||
if(Note.contextmenu) {
|
||||
@ -1183,6 +1189,7 @@ Note.initContextmenu = function() {
|
||||
var mc = self.getContextNotebooks(notebooks);
|
||||
var notebooksMove = mc[0];
|
||||
var notebooksCopy = mc[1];
|
||||
self.notebooksCopy = mc[2];
|
||||
|
||||
//---------------------
|
||||
// context menu
|
||||
@ -1359,13 +1366,10 @@ $(function() {
|
||||
});
|
||||
|
||||
// note setting
|
||||
$("#noteItemList").on("click", ".item-setting", function(e) {
|
||||
$("#noteItemList").on("click", ".item-my .item-setting", function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
// 得到ID
|
||||
var $p = $(this).parent();
|
||||
var noteId = $p.attr('noteId');
|
||||
|
||||
Note.contextmenu.showMenu(e, $p);
|
||||
});
|
||||
});
|
||||
|
@ -45,7 +45,7 @@ Notebook.getNotebookTitle = function(notebookId) {
|
||||
</ul>
|
||||
*/
|
||||
|
||||
Notebook.getTreeSetting = function(isSearch){
|
||||
Notebook.getTreeSetting = function(isSearch, isShare){
|
||||
var noSearch = !isSearch;
|
||||
|
||||
var self = this;
|
||||
@ -56,9 +56,15 @@ Notebook.getTreeSetting = function(isSearch){
|
||||
icoObj = $("#" + treeId + " #" + treeNode.tId + "_ico");
|
||||
switchObj.remove();
|
||||
icoObj.before(switchObj);
|
||||
if(!isShare) {
|
||||
if(!Notebook.isAllNotebookId(treeNode.NotebookId) && !Notebook.isTrashNotebookId(treeNode.NotebookId)) {
|
||||
icoObj.after($('<span class="fa notebook-setting" title="setting"></span>'));
|
||||
}
|
||||
} else {
|
||||
if(!Share.isDefaultNotebookId(treeNode.NotebookId)) {
|
||||
icoObj.after($('<span class="fa notebook-setting" title="setting"></span>'));
|
||||
}
|
||||
}
|
||||
if (treeNode.level > 1) {
|
||||
var spaceStr = "<span style='display: inline-block;width:" + (spaceWidth * treeNode.level)+ "px'></span>";
|
||||
switchObj.before(spaceStr);
|
||||
@ -115,6 +121,20 @@ Notebook.getTreeSetting = function(isSearch){
|
||||
}
|
||||
ajaxPost("/notebook/dragNotebooks", {data: JSON.stringify(ajaxData)});
|
||||
}
|
||||
|
||||
if(!isShare) {
|
||||
var onClick = function(e, treeId, treeNode) {
|
||||
var notebookId = treeNode.NotebookId;
|
||||
Notebook.changeNotebook(notebookId);
|
||||
};
|
||||
} 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 setting = {
|
||||
view: {
|
||||
showLine: false,
|
||||
@ -144,10 +164,7 @@ Notebook.getTreeSetting = function(isSearch){
|
||||
beforeDrag: beforeDrag,
|
||||
beforeDrop: beforeDrop,
|
||||
onDrop: onDrop,
|
||||
onClick: function(e, treeId, treeNode) {
|
||||
var notebookId = treeNode.NotebookId;
|
||||
Notebook.changeNotebook(notebookId);
|
||||
},
|
||||
onClick: onClick,
|
||||
beforeRename: function(treeId, treeNode, newName, isCancel) {
|
||||
if(newName == "") {
|
||||
if(treeNode.IsNew) {
|
||||
@ -202,11 +219,11 @@ Notebook.renderNotebooks = function(notebooks) {
|
||||
// 展开/折叠图标
|
||||
var $notebookList = $("#notebookList");
|
||||
$notebookList.hover(function () {
|
||||
if (!$notebookList.hasClass("showIcon")) {
|
||||
$notebookList.addClass("showIcon");
|
||||
if(!$(this).hasClass("showIcon")) {
|
||||
$(this).addClass("showIcon");
|
||||
}
|
||||
}, function() {
|
||||
$notebookList.removeClass("showIcon");
|
||||
$(this).removeClass("showIcon");
|
||||
});
|
||||
|
||||
// 缓存所有notebooks信息
|
||||
@ -338,6 +355,7 @@ Notebook.changeNav = function() {
|
||||
|
||||
// 移动, 复制重新来, 因为nav变了, 移动至-----的notebook导航也变了
|
||||
Note.initContextmenu();
|
||||
Share.initContextmenu(Note.notebooksCopy);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -396,8 +414,8 @@ Notebook.renderShareNotebooks = function(sharedUserInfos, shareNotebooks) {
|
||||
|
||||
// 左侧导航, 选中某个notebook
|
||||
Notebook.selectNotebook = function(target) {
|
||||
$("#notebook li a").removeClass("active");
|
||||
$(target).addClass("active");
|
||||
$(".notebook-item").removeClass("curSelectedNode");
|
||||
$(target).addClass("curSelectedNode");
|
||||
};
|
||||
|
||||
// 新建笔记导航
|
||||
|
@ -47,7 +47,48 @@ Share.setCache = function(note) {
|
||||
*/
|
||||
// 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 = t('<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;
|
||||
}
|
||||
@ -61,49 +102,98 @@ Share.renderShareNotebooks = function(sharedUserInfos, shareNotebooks) {
|
||||
// render每一个用户的share给我的笔记本, 之前先建一个默认共享
|
||||
for(var i in sharedUserInfos) {
|
||||
var userInfo = sharedUserInfos[i];
|
||||
var userNotebooks = shareNotebooks[userInfo.UserId] || [];
|
||||
var userNotebooksPre = shareNotebooks[userInfo.UserId] || [];
|
||||
|
||||
userNotebooks = [{NotebookId: Share.defaultNotebookId, Title: Share.defaultNotebookTitle}].concat(userNotebooks)
|
||||
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 = t('<li class="each-user"><div class="" fromUserId="?"><i class="fa fa-angle-down"></i><span>?</span></div>', userInfo.UserId, username);
|
||||
var friendId = "friendContainer" + i;
|
||||
var body = '<ul class="" id="' + friendId + '">';
|
||||
var header = t('<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>")
|
||||
|
||||
var forList = ""; // 全部
|
||||
var forNew = ""; // 必须要有权限的
|
||||
self.trees[userId] = $.fn.zTree.init($("#" + friendId), Notebook.getTreeSetting(true, true), userNotebooks);
|
||||
|
||||
for(var j in userNotebooks) {
|
||||
var notebook = userNotebooks[j];
|
||||
|
||||
// 缓存起来, 像Note
|
||||
notebook.IsShared = true;
|
||||
notebook.UserId = userId;
|
||||
Share.notebookCache[notebook.NotebookId] = notebook;
|
||||
// notebook的cache也缓存一份, 为了显示标题
|
||||
Notebook.cache[notebook.NotebookId] = notebook;
|
||||
|
||||
body += t('<li><a notebookId="?" fromUserId="?">?</a></li>', notebook.NotebookId, userId, notebook.Title)
|
||||
|
||||
//
|
||||
var each = t('<li role="presentation"><a role="menuitem" tabindex="-1" href="#" userId="?" notebookId="?">?</a></li>', userId, notebook.NotebookId, notebook.Title);
|
||||
forList += each;
|
||||
if(j != 0 && notebook.Perm) {
|
||||
forNew += t('<li role="presentation" class="clearfix" userId="?" notebookId="?"><div class="new-note-left pull-left">?</div><div class="new-note-right pull-left">Markdown</div></li>', userId, notebook.NotebookId, notebook.Title);
|
||||
}
|
||||
self.userNavs[userId] = {"forNew": self.getNotebooksForNew(userId, userNotebooksPre)};
|
||||
log(self.userNavs);
|
||||
}
|
||||
|
||||
body += "</ul>";
|
||||
Share.userNavs[userId] = {"forList": forList, "forNew": forNew};
|
||||
|
||||
$shareNotebooks.append(header + body + "</div>")
|
||||
|
||||
// mainShare
|
||||
// $("#minShareNotebooks").append('<div class="minContainer" target="#' + friendId + '" title="' + username + ' 的分享"><i class="fa fa-user"></i><ul class="dropdown-menu"></ul></li>')
|
||||
$(".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: 150,
|
||||
items: [
|
||||
{ text: "删除共享笔记本", 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: 150,
|
||||
items: [
|
||||
{ text: "删除所有共享", 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) {
|
||||
@ -114,13 +204,12 @@ Share.isDefaultNotebookId = function(notebookId) {
|
||||
// for list和for new
|
||||
// 如果forNew没有, 那么还是保持我的nav
|
||||
Share.toggleToSharedNav = function(userId, notebookId) {
|
||||
var self = this;
|
||||
// for list
|
||||
$("#sharedNotebookNavForListNote").html(Share.userNavs[userId].forList);
|
||||
$("#sharedNotebookNavForListNav").show();
|
||||
$("#curSharedNotebookForListNote").html(Share.notebookCache[notebookId].Title + '(' + Share.sharedUserInfos[userId].Username + ")");
|
||||
$("#myNotebookNavForListNav").hide();
|
||||
$("#curNotebookForListNote").html(Share.notebookCache[notebookId].Title + '(' + Share.sharedUserInfos[userId].Username + ")");
|
||||
|
||||
// for new
|
||||
// 如果该用户下有新建的note, 那么列出, 如果没有, 则列出我的笔记
|
||||
var forNew = Share.userNavs[userId].forNew;
|
||||
if(forNew) {
|
||||
$("#notebookNavForNewSharedNote").html(forNew);
|
||||
@ -134,7 +223,7 @@ Share.toggleToSharedNav = function(userId, notebookId) {
|
||||
// 得到第一个
|
||||
var $f = $("#notebookNavForNewSharedNote li").eq(0);
|
||||
curNotebookId = $f.attr("notebookId");
|
||||
curNotebookTitle = $f.text();
|
||||
curNotebookTitle = $f.find(".new-note-left").text();
|
||||
}
|
||||
|
||||
$("#curNotebookForNewSharedNote").html(curNotebookTitle + '(' + Share.sharedUserInfos[userId].Username + ')');
|
||||
@ -143,6 +232,11 @@ Share.toggleToSharedNav = function(userId, notebookId) {
|
||||
|
||||
$("#newSharedNote").show();
|
||||
$("#newMyNote").hide();
|
||||
|
||||
} else {
|
||||
// 展示出我的笔记
|
||||
$("#newMyNote").show();
|
||||
$("#newSharedNote").hide();
|
||||
}
|
||||
|
||||
// 隐藏tag
|
||||
@ -156,7 +250,7 @@ Share.toggleToSharedNav = function(userId, notebookId) {
|
||||
//3. 使用Note.RederNotes()
|
||||
Share.changeNotebook = function(userId, notebookId) {
|
||||
// 选中
|
||||
Notebook.selectNotebook($(t('#shareNotebooks a[notebookId="?"]', notebookId)));
|
||||
Notebook.selectNotebook($(t('#friendContainer_? a[notebookId="?"]', userId, notebookId)));
|
||||
|
||||
// 改变nav!!!! TODO
|
||||
Share.toggleToSharedNav(userId, notebookId);
|
||||
@ -206,14 +300,16 @@ Share.hasUpdatePerm = function(notebookId) {
|
||||
//---------------------------
|
||||
// 我删除别人共享给我的笔记本
|
||||
Share.deleteShareNotebook = function(target) {
|
||||
if(confirm("Are you sure to delete it?")) {
|
||||
var notebookId = $(target).attr("notebookId");
|
||||
var fromUserId = $(target).attr("fromUserId"); // 谁共享给了我 from
|
||||
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
|
||||
@ -224,6 +320,7 @@ Share.deleteShareNote = function(target) {
|
||||
});
|
||||
}
|
||||
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) {
|
||||
@ -231,6 +328,7 @@ Share.deleteUserShareNoteAndNotebook = function(target) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 新建shared note
|
||||
Share.changeNotebookForNewNote = function(notebookId) {
|
||||
@ -260,20 +358,10 @@ Share.copySharedNote = function(target, contextmenuItem) {
|
||||
}
|
||||
|
||||
Share.contextmenu = null;
|
||||
Share.initContextmenu = function() {
|
||||
Share.initContextmenu = function(notebooksCopy) {
|
||||
if(Share.contextmenu) {
|
||||
Share.contextmenu.unbind("contextmenu");
|
||||
Share.contextmenu.destroy();
|
||||
}
|
||||
// 得到可移动的notebook
|
||||
var notebooksCopy = [];
|
||||
|
||||
// 到时这个可以缓存起来
|
||||
$("#notebookNavForNewNote li .new-note-left").each(function() {
|
||||
var notebookId = $(this).attr("notebookId");
|
||||
var title = $(this).text();
|
||||
var copy = {text: title, notebookId: notebookId, action: Share.copySharedNote}
|
||||
notebooksCopy.push(copy);
|
||||
});
|
||||
|
||||
//---------------------
|
||||
// context menu
|
||||
@ -316,58 +404,16 @@ Share.initContextmenu = function() {
|
||||
}
|
||||
|
||||
$(function() {
|
||||
// 点击notebook
|
||||
$("#shareNotebooks").on("click", "ul li a", function() {
|
||||
var notebookId = $(this).attr("notebookId");
|
||||
var userId = $(this).attr("fromUserId");
|
||||
Share.changeNotebook(userId, notebookId);
|
||||
});
|
||||
// min
|
||||
$("#minShareNotebooks").on("click", "li", function() {
|
||||
var self = $(this).find("a");
|
||||
var notebookId = $(self).attr("notebookId");
|
||||
var userId = $(self).attr("fromUserId");
|
||||
Share.changeNotebook(userId, notebookId);
|
||||
// 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);
|
||||
});
|
||||
|
||||
//-----------------------------
|
||||
// contextmenu shareNotebooks
|
||||
// 删除共享笔记本
|
||||
var shareNotebookMenu = {
|
||||
width: 150,
|
||||
items: [
|
||||
{ text: "删除共享笔记本", icon: "", faIcon: "fa-trash-o", action: Share.deleteShareNotebook }
|
||||
],
|
||||
onShow: applyrule,
|
||||
onContextMenu: beforeContextMenu,
|
||||
|
||||
parent: "#shareNotebooks .folderBody",
|
||||
children: "li a",
|
||||
};
|
||||
function applyrule(menu) {
|
||||
return;
|
||||
}
|
||||
// 默认共享不能删除
|
||||
function beforeContextMenu() {
|
||||
var notebookId = $(this).attr("notebookId");
|
||||
return !Share.isDefaultNotebookId(notebookId);
|
||||
}
|
||||
|
||||
$("#shareNotebooks").contextmenu(shareNotebookMenu);
|
||||
|
||||
//---------------------------
|
||||
// contextmenu shareNotebooks
|
||||
// 删除某用户所有的
|
||||
var shareUserMenu = {
|
||||
width: 150,
|
||||
items: [
|
||||
{ text: "删除所有共享", icon: "", faIcon: "fa-trash-o", action: Share.deleteUserShareNoteAndNotebook }
|
||||
],
|
||||
parent: "#shareNotebooks",
|
||||
children: ".folderHeader",
|
||||
};
|
||||
|
||||
$("#shareNotebooks").contextmenu(shareUserMenu);
|
||||
|
||||
//---------------------------
|
||||
// 新建笔记
|
||||
@ -387,16 +433,13 @@ $(function() {
|
||||
var notebookId = $(this).parent().attr("notebookId");
|
||||
var userId = $(this).parent().attr("userId");
|
||||
|
||||
if($(this).text() == "Markdown") {
|
||||
if($(this).text() == "M") {
|
||||
Note.newNote(notebookId, true, userId, true);
|
||||
} else {
|
||||
Note.newNote(notebookId, true, userId);
|
||||
}
|
||||
});
|
||||
|
||||
//------------------
|
||||
Share.initContextmenu();
|
||||
|
||||
//------------------
|
||||
// 添加共享
|
||||
$("#leanoteDialogRemote").on("click", ".change-perm", function() {
|
||||
|
@ -1181,7 +1181,7 @@
|
||||
}
|
||||
// life
|
||||
// 加入notebookId
|
||||
html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''),
|
||||
html.push("<a id='", node.tId, consts.id.A, "' class='notebook-item ", 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(''),
|
||||
"'", ' 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,'>'),"'");}
|
||||
|
Reference in New Issue
Block a user