#13, 只读模式下,保存问题; 快捷键prevent问题

This commit is contained in:
life
2015-05-10 02:45:48 +08:00
parent f7c778b776
commit 563670f3c5
2 changed files with 33 additions and 26 deletions

View File

@@ -289,34 +289,22 @@ Note.curHasChanged = function(force) {
NotebookId: cacheNote.NotebookId NotebookId: cacheNote.NotebookId
}; };
// 新的
if(hasChanged.IsNew) { if(hasChanged.IsNew) {
hasChanged.hasChanged = true;
$.extend(hasChanged, cacheNote); $.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) { if(cacheNote.Title != title) {
hasChanged.hasChanged = true; // 本页使用用小写 hasChanged.hasChanged = true; // 本页使用用小写
hasChanged.Title = title; // 要传到后台的用大写 hasChanged.Title = title; // 要传到后台的用大写
if(!hasChanged.Title) {
// alert(1);
}
} }
// 这里, 总为true, 那么, 总会保存的 // 这里
// if(!arrayEqual(cacheNote.Tags, tags)) { if(!arrayEqual(cacheNote.Tags, tags)) {
hasChanged.hasChanged = true; hasChanged.hasChanged = true;
hasChanged.Tags = tags; hasChanged.Tags = tags;
// } }
// 比较text, 因为note Nav会添加dom会导致content改变 // 比较text, 因为note Nav会添加dom会导致content改变
if((force && cacheNote.Content != content) || (!force && (/**/(!cacheNote.IsMarkdown && $(cacheNote.Content).text() != contentText) || (cacheNote.IsMarkdown && cacheNote.Content != contentText)) /**/) ) { 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) { Note.curChangedSaveIt = function(force, callback) {
var me = this; var me = this;
// 如果当前没有笔记, 不保存 // 如果当前没有笔记, 不保存
if(!Note.curNoteId || Note.isReadOnly || Note.readOnly) { if(!Note.curNoteId || Note.isReadOnly /*|| Note.readOnly*/) {
console.log('不用保存, 当前只读 ' + Note.readOnly);
callback && callback(); callback && callback();
return; return;
} }
/*
if(!force && Note.readOnly) {
console.log('不用保存, 当前只读 ' + Note.readOnly);
return;
}
*/
// console.error(">>"); // console.error(">>");
var hasChanged = Note.curHasChanged(force); var hasChanged = Note.curHasChanged(force);
@@ -526,7 +520,7 @@ Note.curChangedSaveIt = function(force, callback) {
return hasChanged; return hasChanged;
} else { } else {
console.log('不用保存'); console.log('不用保存 (^_^)');
} }
callback && callback(); callback && callback();

View File

@@ -401,11 +401,24 @@ function initEditor() {
// ed.on('keydown', Note.saveNote); // ed.on('keydown', Note.saveNote);
ed.on('keydown', function(e) { ed.on('keydown', function(e) {
var num = e.which ? e.which : e.keyCode; var num = e.which ? e.which : e.keyCode;
// 如果是readony, 则不能做任何操作, 除了复制 // 如果是readony, 则不能做任何操作, 除了v, x, z
if(Note.readOnly && !((e.ctrlKey || e.metaKey) && num == 67)) { if(Note.readOnly && (
(e.ctrlKey || e.metaKey) && (num == 88 || num == 86 || num == 90)
)
) {
console.log('keydown preventDefault')
e.preventDefault(); e.preventDefault();
return; 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; var num = e.which ? e.which : e.keyCode;
if(e.ctrlKey || e.metaKey) { if(e.ctrlKey || e.metaKey) {