## Editor.js ### [1] line 670 // life title: self.editorManager.translate("Leanote Editor"), ### [2] line 1620 setContent /** * life ace */ // 先destroy之前的ace if(LeaAce && LeaAce.canAce) { // 有些地方不用, 比如单页面 var everContent = $(self.getBody()); if(everContent) { LeaAce.destroyAceFromContent(everContent); } } // end ### [3] line 1687 /** * life ace */ if(LeaAce && LeaAce.canAce) { if(LeaAce.canAce() && LeaAce.isAce) { try { LeaAce.initAceFromContent(self); } catch(e) { log(e); } } else { // 为了在firefox下有正常的显示 $("#editorContent pre").removeClass("ace-tomorrow ace_editor"); } } // end ### [4] line 1777 // life insertRawContent: function(content) { this.execCommand('mceInsertRawHTML', false, content); }, ## EditorCommands.js ### [1] line 57 // life ace if(cmd != "toggleCode") self.focus(); ### [2] line 642 // life ace // 插入的时候把
内的标签全清掉
// life 把间的代码拿出, 去掉标签之类的
value = value.replace(/]*?)>([\s\S]*?)<\/pre>/g, function(v, v1, v2) {
// v == "a, b, c
"
v2 = v2.replace(/(<([^>]+)>)/gi, '').replace(/\s+$/, ''); // 把最后一个换行去掉
return "" + v2 + "
";
});
### [3] ace
line 699
mceInsertRawHTML: function() {}
## EnterKey.js
### [1]
line 493
// life ace, 在ace editor下回车给ace来控制
var $container = $(container);
var aceEditorAndPre = LeaAce.isInAce($container);
if(aceEditorAndPre) {
// alert(2);
// 跳出aceEditor
if(evt.shiftKey) {
// alert(33);
// var id = $container.attr('id');
var aceEditor = aceEditorAndPre[0];
aceEditor.blur();
var pre = aceEditorAndPre[1];
// 必须要延迟
setTimeout(function() {
aceEditor.blur();
// log('blur...')
var newBlock = $("
");
pre.after(newBlock);
// log(newBlock.get(0));
rng.setStart(newBlock.get(0), 0);
rng.setEnd(newBlock.get(0), 0);
// 没用
rng.selectNode(newBlock.get(0));
selection.setRng(rng);
// 再延迟
setTimeout(function() {
selection.setRng(rng);
}, 10);
// TODO ... 这里
// log("why");
// log(rng);
// log(selection.getRng());
}, 10);
return true;
}
return false;
}
## UndoManager.js
## dom/Selection.js
### [1]
line 499
// Convert bookmark to range IE 11 fix
// life ace, 不知道会出什么错
try {
if (bookmark.startContainer) {
rng = doc.createRange();
rng.setStart(bookmark.startContainer, bookmark.startOffset);
rng.setEnd(bookmark.endContainer, bookmark.endOffset);
} else {
rng = bookmark;
}
} catch(e){
console.error(e);
}
## ui/ListBox.js
### [1]
/**
* disable/enable 某一list的item
* leanote ace life ace
* value = convert, state = true | false
*/
diableValue: function(value, state) {
var self = this;
var menu = self.settings.menu;
if (self.menu) {
self.menu.items().each(function(ctrl) {// menuitem
if(ctrl.value() === value) {
ctrl.disabled(state);
return;
}
});
} else {
for (var i = 0; i < menu.length; i++) {
if(menu[i].value == value) {
menu[i].disabled = state;
return;
}
}
}
},
## Formatter.js
### [1]
removeformat: [
{
// life
selector: 'h1,h2,h3,h4,h5,h6,pre,b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins',