diff --git a/src/public/js/app/note.js b/src/public/js/app/note.js index 4dac53b0..5a564363 100644 --- a/src/public/js/app/note.js +++ b/src/public/js/app/note.js @@ -289,34 +289,22 @@ Note.curHasChanged = function(force) { NotebookId: cacheNote.NotebookId }; + // 新的 if(hasChanged.IsNew) { + hasChanged.hasChanged = true; $.extend(hasChanged, cacheNote); - } else { - /* - if(!cacheNote.isDirty) { // 不是dirty - // dirty操作在后台控制吧, 因为有些命令如添加链接不会触发keydown的 - console.log("no dirty"); - hasChanged.hasChanged = false; - return hasChanged; - } else { - // console.log("is dirty"); - } - */ } - + if(cacheNote.Title != title) { hasChanged.hasChanged = true; // 本页使用用小写 hasChanged.Title = title; // 要传到后台的用大写 - if(!hasChanged.Title) { -// alert(1); - } } - // 这里, 总为true, 那么, 总会保存的 - // if(!arrayEqual(cacheNote.Tags, tags)) { - hasChanged.hasChanged = true; - hasChanged.Tags = tags; - // } + // 这里 + if(!arrayEqual(cacheNote.Tags, tags)) { + hasChanged.hasChanged = true; + hasChanged.Tags = tags; + } // 比较text, 因为note Nav会添加dom会导致content改变 if((force && cacheNote.Content != content) || (!force && (/**/(!cacheNote.IsMarkdown && $(cacheNote.Content).text() != contentText) || (cacheNote.IsMarkdown && cacheNote.Content != contentText)) /**/) ) { @@ -460,12 +448,18 @@ Note.savePool = {}; // 保存池, 以后的保存先放在pool中, id => note Note.curChangedSaveIt = function(force, callback) { var me = this; // 如果当前没有笔记, 不保存 - if(!Note.curNoteId || Note.isReadOnly || Note.readOnly) { - console.log('不用保存, 当前只读 ' + Note.readOnly); + if(!Note.curNoteId || Note.isReadOnly /*|| Note.readOnly*/) { callback && callback(); return; } + /* + if(!force && Note.readOnly) { + console.log('不用保存, 当前只读 ' + Note.readOnly); + return; + } + */ + // console.error(">>"); var hasChanged = Note.curHasChanged(force); @@ -526,7 +520,7 @@ Note.curChangedSaveIt = function(force, callback) { return hasChanged; } else { - console.log('不用保存'); + console.log('不用保存 (^_^)'); } callback && callback(); @@ -1805,7 +1799,7 @@ Note.toggleReadOnly = function() { if(!note) { return; } - + $('.created-time').html(goNowToDatetime(note.CreatedTime)); $('.updated-time').html(goNowToDatetime(note.UpdatedTime)); diff --git a/src/public/js/app/page.js b/src/public/js/app/page.js index 5d254ee4..38832610 100644 --- a/src/public/js/app/page.js +++ b/src/public/js/app/page.js @@ -401,11 +401,24 @@ function initEditor() { // ed.on('keydown', Note.saveNote); ed.on('keydown', function(e) { var num = e.which ? e.which : e.keyCode; - // 如果是readony, 则不能做任何操作, 除了复制 - if(Note.readOnly && !((e.ctrlKey || e.metaKey) && num == 67)) { + // 如果是readony, 则不能做任何操作, 除了v, x, z + if(Note.readOnly && ( + (e.ctrlKey || e.metaKey) && (num == 88 || num == 86 || num == 90) + ) + ) { + console.log('keydown preventDefault') e.preventDefault(); return; } + + // 没有ctrl, 直接输入x, <- + if(Note.readOnly && + !(e.ctrlKey || e.metaKey)) { + console.log('keydown preventDefault') + e.preventDefault(); + return; + } + /* var num = e.which ? e.which : e.keyCode; if(e.ctrlKey || e.metaKey) {