xpresseditor의 첫 글 작성시 P 태그가 들어가 있도록 수정

xpresseditor에서 적용되던 각종 태그 맞춤/ 변조 기능을 disable
ctrl1~6=헤딩1~6, ctrl왼쪽/오른쪽 화살표의 경우 outdent/indent로 되도록 단축키 기능 추가


git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6506 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2009-06-10 01:37:01 +00:00
parent 4307df301e
commit c7891c8dc0
2 changed files with 38 additions and 2 deletions

View file

@ -3186,10 +3186,39 @@ xe.XE_EditingArea_WYSIWYG = jQuery.Class({
$ON_DISABLE_WYSIWYG : function(){
this._disableWYSIWYG();
},
$ON_EVENT_EDITING_AREA_KEYDOWN : function(oEvent) {
// ctrl-left/right add/remove indent
if(!oEvent.ctrlKey) return;
switch(oEvent.keyCode) {
// outdent
case 37 :
this.oApp.exec("EXECCOMMAND", ["outdent", false, false]);
break;
// indent
case 39 :
this.oApp.exec("EXECCOMMAND", ["indent", false, false]);
break;
// h1 ~ h6, normal
case 49 :
case 50 :
case 51 :
case 52 :
case 53 :
case 54 :
this.oApp.exec("EXECCOMMAND", ["FormatBlock", false, '<h'+(oEvent.keyCode-48)+'>']);
break;
default :
return;
}
oEvent.preventDefault(); oEvent.stopPropagation();
},
$ON_EVENT_EDITING_AREA_KEYUP : function(oEvent){
// 33, 34: page up/down, 35,36: end/home, 37,38,39,40: left, up, right, down
if(oEvent.keyCode == 229 || oEvent.keyCode == 13 || oEvent.altKey || oEvent.ctrlKey || (oEvent.keyCode >= 33 && oEvent.keyCode <= 40) || oEvent.keyCode == 16) return;
if(oEvent.keyCode == 229 || oEvent.keyCode == 13 || oEvent.altKey || oEvent.ctrlKey || (oEvent.keyCode >= 33 && oEvent.keyCode <= 40) || oEvent.keyCode == 16) return;
this._recordUndo(oEvent);
},
@ -5465,21 +5494,25 @@ xe.XE_XHTMLFormatter = $.Class({
// remove all useless styles
/*
sContent = sContent.replace(regex_meanless_css1, function(m0,m1,m2,m3){
m2 = m2.replace(regex_meanless_css2, '');
return '<'+m1+(m2?' style="'+m2+'"':'')+m3+'>';
});
*/
// remove all useless classes
/*
sContent = sContent.replace(regex_class, function(m0,m1,m2,m3,m4,m5){
var cls = jQuery.trim((m2 || m3 || m4 || "").replace(regex_class2, ''));
return '<'+(m1||"")+(cls?' class="'+cls+'"':'')+(m5||"")+'>';
});
*/
// remove all event handler
sContent = sContent.replace(regex_handler, '<$1$2>');
//sContent = sContent.replace(regex_handler, '<$1$2>');
// remove all id
//sContent = sContent.replace(regex_id, '<$1$2>');
@ -5521,6 +5554,7 @@ xe.XE_XHTMLFormatter = $.Class({
return '<'+m2+' '+m3+'>';
}
/*
if (replace_tags[m2]) {
stack.push({tag:m2, state:'deleted'});
@ -5602,6 +5636,7 @@ xe.XE_XHTMLFormatter = $.Class({
state = (jQuery.inArray(m2,allow_tags) < 0)?'deleted':'';
if (state == 'deleted') return '';
}
*/
stack.push({tag:m2, state:state});
} else {

View file

@ -55,6 +55,7 @@ function editorStart_xe(editor_sequence, primary_key, content_key, editor_height
oEditor.getFrame = function(){ return oWYSIWYGIFrame;}
var content = form[content_key].value;
if(!content) content = "<p></p>";
// src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경
content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5) {