1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
Notebook.curNotebookId="";Notebook.cache={};Notebook.notebooks=[];Notebook.notebookNavForListNote="";Notebook.notebookNavForNewNote="";Notebook.setCache=function(notebook){var notebookId=notebook.NotebookId;if(!notebookId){return}if(!Notebook.cache[notebookId]){Notebook.cache[notebookId]={}}$.extend(Notebook.cache[notebookId],notebook)};Notebook.getCurNotebookId=function(){return Notebook.curNotebookId};Notebook.getNotebook=function(notebookId){return Notebook.cache[notebookId]};Notebook.getNotebookTitle=function(notebookId){var notebook=Notebook.cache[notebookId];if(notebook){return notebook.Title}else{return"未知"}};Notebook.allNotebookId="0";Notebook.trashNotebookId="-1";Notebook.curNotebookIsTrashOrAll=function(){return Notebook.curNotebookId==Notebook.trashNotebookId||Notebook.curNotebookId==Notebook.allNotebookId};Notebook.renderNotebooks=function(notebooks){if(!notebooks||typeof notebooks!="object"||notebooks.length<0){notebooks=[]}notebooks=[{NotebookId:Notebook.allNotebookId,Title:getMsg("all")}].concat(notebooks);notebooks.push({NotebookId:Notebook.trashNotebookId,Title:getMsg("trash")});Notebook.notebooks=notebooks;var $notebookList=$("#notebookList");var nav="";for(var i in notebooks){var notebook=notebooks[i];Notebook.cache[notebook.NotebookId]=notebook;var classes="";if(i==0){classes="active";Notebook.curNotebookId=notebook.NotebookId}$notebookList.append(t('<li><a class="?" notebookId="?">?</a></li>',classes,notebook.NotebookId,notebook.Title))}Notebook.renderNav();Notebook.changeNotebookNavForNewNote(notebooks[0].NotebookId)};Notebook.renderNav=function(nav){var navForListNote="";var navForNewNote="";var navForMoveNote="";var len=Notebook.notebooks.length-1;var contextmenu=[];for(var i in Notebook.notebooks){var notebook=Notebook.notebooks[i];var each=t('<li role="presentation"><a role="menuitem" tabindex="-1" href="#" notebookId="?">?</a></li>',notebook.NotebookId,notebook.Title);var eachForNew=t('<li role="presentation" class="clearfix"><div class="new-note-left pull-left" title="为该笔记本新建笔记" href="#" notebookId="?">?</div><div title="为该笔记本新建markdown笔记" class="new-note-right pull-left" notebookId="?">Markdown</div></li>',notebook.NotebookId,notebook.Title,notebook.NotebookId);navForListNote+=each;if(i!=0&&i!=len){navForMoveNote+=each;navForNewNote+=eachForNew}}$("#notebookNavForListNote").html(navForListNote);$("#notebookNavForNewNote").html(navForNewNote);$("#notebookNavForMoveNote").html(navForMoveNote)};Notebook.changeNav=function(){var navForListNote="";var navForNewNote="";var i=0;var $list=$("#notebookList li a");var len=$list.length-1;$list.each(function(){var notebookId=$(this).attr("notebookId");var notebook=Notebook.cache[notebookId];var each=t('<li role="presentation"><a role="menuitem" tabindex="-1" href="#" notebookId="?">?</a></li>',notebook.NotebookId,notebook.Title);var eachForNew=t('<li role="presentation" class="clearfix"><div class="new-note-left pull-left" title="为该笔记本新建笔记" href="#" notebookId="?">?</div><div title="为该笔记本新建markdown笔记" class="new-note-right pull-left" notebookId="?">Markdown</div></li>',notebook.NotebookId,notebook.Title,notebook.NotebookId);navForListNote+=each;var isActive=$(this).hasClass("active");if(isActive){$("#curNotebookForListNote").html(notebook.Title)}if(i!=0&&i!=len){navForNewNote+=eachForNew;if(isActive){$("#curNotebookForNewNote").html(notebook.Title)}}i++});$("#notebookNavForListNote").html(navForListNote);$("#notebookNavForNewNote").html(navForNewNote);$("#notebookNavForMoveNote").html(navForNewNote);Note.initContextmenu()};Notebook.renderShareNotebooks=function(sharedUserInfos,shareNotebooks){if(isEmpty(sharedUserInfos)){return}if(!shareNotebooks||typeof shareNotebooks!="object"||shareNotebooks.length<0){return}var $shareNotebooks=$("#shareNotebooks");var user2ShareNotebooks={};for(var i in shareNotebooks){var userNotebooks=shareNotebooks[i];user2ShareNotebooks[userNotebooks.UserId]=userNotebooks}for(var i in sharedUserInfos){var userInfo=sharedUserInfos[i];var userNotebooks=user2ShareNotebooks[userInfo.UserId]||{ShareNotebooks:[]};userNotebooks.ShareNotebooks=[{NotebookId:"-2",Title:"默认共享"}].concat(userNotebooks.ShareNotebooks);var username=userInfo.Username||userInfo.Email;var header=t('<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">';for(var j in userNotebooks.ShareNotebooks){var notebook=userNotebooks.ShareNotebooks[j];body+=t('<li><a notebookId="?">?</a></li>',notebook.NotebookId,notebook.Title)}body+="</ul>";$shareNotebooks.append(header+body+"</div>")}};Notebook.selectNotebook=function(target){$("#notebook li a").removeClass("active");$(target).addClass("active")};Notebook.changeNotebookNavForNewNote=function(notebookId,title){if(!notebookId){var notebook=Notebook.notebooks[0];notebookId=notebook.NotebookId;title=notebook.Title}if(!title){var notebook=Notebook.cache[0];title=notebook.Title}if(!Notebook.isAllNotebookId(notebookId)&&!Notebook.isTrashNotebookId(notebookId)){$("#curNotebookForNewNote").html(title).attr("notebookId",notebookId)}else if(!$("#curNotebookForNewNote").attr("notebookId")){if(Notebook.notebooks.length>2){var notebook=Notebook.notebooks[1];notebookId=notebook.NotebookId;title=notebook.Title;Notebook.changeNotebookNavForNewNote(notebookId,title)}}};Notebook.toggleToMyNav=function(userId,notebookId){$("#sharedNotebookNavForListNav").hide();$("#myNotebookNavForListNav").show();$("#newMyNote").show();$("#newSharedNote").hide();$("#tagSearch").hide()};Notebook.changeNotebookNav=function(notebookId){Notebook.toggleToMyNav();Notebook.selectNotebook($(t('#notebookList [notebookId="?"]',notebookId)));var notebook=Notebook.cache[notebookId];if(!notebook){return}$("#curNotebookForListNote").html(notebook.Title);Notebook.changeNotebookNavForNewNote(notebookId,notebook.Title)};Notebook.isAllNotebookId=function(notebookId){return notebookId==Notebook.allNotebookId};Notebook.isTrashNotebookId=function(notebookId){return notebookId==Notebook.trashNotebookId};Notebook.curActiveNotebookIsAll=function(){return Notebook.isAllNotebookId($("#notebookList .active").attr("notebookId"))};Notebook.changeNotebook=function(notebookId){Notebook.changeNotebookNav(notebookId);Notebook.curNotebookId=notebookId;Note.curChangedSaveIt();Note.clearAll();var url="/note/ListNotes/";var param={notebookId:notebookId};if(Notebook.isTrashNotebookId(notebookId)){url="/note/listTrashNotes";param={}}else if(Notebook.isAllNotebookId(notebookId)){param={};cacheNotes=Note.getNotesByNotebookId();if(!isEmpty(cacheNotes)){Note.renderNotesAndFirstOneContent(cacheNotes);return}}else{cacheNotes=Note.getNotesByNotebookId(notebookId);if(!isEmpty(cacheNotes)){Note.renderNotesAndFirstOneContent(cacheNotes);return}}ajaxGet(url,param,Note.renderNotesAndFirstOneContent)};Notebook.isCurNotebook=function(notebookId){return $(t('#notebookList [notebookId="?"], #shareNotebooks [notebookId="?"]',notebookId,notebookId)).attr("class")=="active"};Notebook.changeNotebookForNewNote=function(notebookId){if(Notebook.isTrashNotebookId(notebookId)||Notebook.isAllNotebookId(notebookId)){return}Notebook.changeNotebookNav(notebookId);Notebook.curNotebookId=notebookId;var url="/note/ListNotes/";var param={notebookId:notebookId};ajaxGet(url,param,function(ret){Note.renderNotes(ret,true)})};Notebook.listNotebookShareUserInfo=function(target){var notebookId=$(target).attr("notebookId");showDialogRemote("share/listNotebookShareUserInfo",{notebookId:notebookId})};Notebook.shareNotebooks=function(target){var title=$(target).text();showDialog("dialogShareNote",{title:"分享笔记本给好友-"+title});setTimeout(function(){$("#friendsEmail").focus()},500);var notebookId=$(target).attr("notebookId");shareNoteOrNotebook(notebookId,false)};Notebook.setNotebook2Blog=function(target){var notebookId=$(target).attr("notebookId");var notebook=Notebook.cache[notebookId];var isBlog=true;if(notebook.IsBlog!=undefined){isBlog=!notebook.IsBlog}if(Notebook.curNotebookId==notebookId){if(isBlog){$("#noteList .item-blog").show()}else{$("#noteList .item-blog").hide()}}else if(Notebook.curNotebookId==Notebook.allNotebookId){$("#noteItemList .item").each(function(){var noteId=$(this).attr("noteId");var note=Note.cache[noteId];if(note.NotebookId==notebookId){if(isBlog)$(this).find(".item-blog").show();else $(this).find(".item-blog").hide()}})}ajaxPost("blog/setNotebook2Blog",{notebookId:notebookId,isBlog:isBlog},function(ret){if(ret){Note.setAllNoteBlogStatus(notebookId,isBlog);Notebook.setCache({NotebookId:notebookId,IsBlog:isBlog})}})};Notebook.updateNotebookTitle=function(target){var notebookTitle=$(target).text();var id="editNotebookTitle";$(target).html(t('<input type="text" value="?" everValue="?" id="?" notebookId="?"/>',notebookTitle,notebookTitle,id,$(target).attr("notebookId")));$("#"+id).focus()};Notebook.doUpdateNotebookTitle=function(){var title=$(this).val();var everTitle=$(this).attr("everTitle");var notebookId=$(this).attr("notebookId");if(!title){title=everTitle}$(this).parent().html(title);if(title!=everTitle){ajaxPost("/notebook/updateNotebookTitle",{notebookId:notebookId,title:title},function(ret){Notebook.cache[notebookId].Title=title;Notebook.changeNav()})}};Notebook.addNotebookSeq=1;Notebook.addNotebook=function(){if($("#myNotebooks").hasClass("closed")){$("#myNotebooks .folderHeader").trigger("click")}var inputId="newNotebookInput"+Notebook.addNotebookSeq;Notebook.addNotebookSeq++;$("#notebookList li").eq(0).after(t('<li><a><input id="?"/></a></li>',inputId));$("#"+inputId).focus();enterBlur("#"+inputId);$("#"+inputId).blur(function(){$(this).unbind("blur");var title=$(this).val();if(!title){$(this).parent().parent().remove()}else{var notebookId=getObjectId();var $a=$(this).parent();ajaxPost("/notebook/addNotebook",{notebookId:notebookId,title:title},function(ret){if(ret.NotebookId){Notebook.cache[ret.NotebookId]=ret;$a.attr("notebookId",notebookId);$a.html(title);Notebook.changeNotebook(notebookId);Notebook.changeNav()}})}})};Notebook.deleteNotebook=function(target){var notebookId=$(target).attr("notebookId");if(!notebookId){return}ajaxGet("/notebook/deleteNotebook",{notebookId:notebookId},function(ret){if(ret.Ok){$(target).parent().remove();delete Notebook.cache[notebookId];Notebook.changeNav()}else{alert(ret.Msg)}})};$(function(){$("#myNotebooks").on("click","ul.folderBody li a",function(){var notebookId=$(this).attr("notebookId");Notebook.changeNotebook(notebookId)});$("#minNotebookList").on("click","li",function(){var notebookId=$(this).find("a").attr("notebookId");Notebook.changeNotebook(notebookId)});var notebookListMenu={width:150,items:[{text:"分享给好友",alias:"shareToFriends",icon:"",faIcon:"fa-share-square-o",action:Notebook.listNotebookShareUserInfo},{type:"splitLine"},{text:"公开为博客",alias:"set2Blog",icon:"",action:Notebook.setNotebook2Blog},{text:"取消公开为博客",alias:"unset2Blog",icon:"",action:Notebook.setNotebook2Blog},{type:"splitLine"},{text:"重命名",icon:"",action:Notebook.updateNotebookTitle},{text:"删除",icon:"",alias:"delete",faIcon:"fa-trash-o",action:Notebook.deleteNotebook}],onShow:applyrule,onContextMenu:beforeContextMenu,parent:"#notebookList ",children:"li a"};enterBlur("#notebookList","input#editNotebookTitle");$("#notebookList").on("blur","input#editNotebookTitle",Notebook.doUpdateNotebookTitle);function applyrule(menu){var notebookId=$(this).attr("notebookId");var notebook=Notebook.cache[notebookId];if(!notebook){return}var items=[];if(!notebook.IsBlog){items.push("unset2Blog")}else{items.push("set2Blog")}if(Note.notebookHasNotes(notebookId)){items.push("delete")}menu.applyrule({name:"target2",disable:true,items:items})}function beforeContextMenu(){var notebookId=$(this).attr("notebookId");return!Notebook.isTrashNotebookId(notebookId)&&!Notebook.isAllNotebookId(notebookId)}$("#notebookList li a").contextmenu(notebookListMenu);var addNotebookContextmenu={width:150,items:[{text:"添加笔记本",icon:"",action:Notebook.addNotebook}],parent:"#myNotebooks",children:""};$("#myNotebooks").contextmenu(addNotebookContextmenu);$("#notebookNavForListNote").on("click","li",function(){var notebookId=$(this).find("a").attr("notebookId");Notebook.changeNotebook(notebookId)});$("#addNotebookPlus").click(function(e){e.stopPropagation();Notebook.addNotebook()})}); |