From c7891c8dc0662d0df4c545a28a98fd9931c4b75b Mon Sep 17 00:00:00 2001 From: zero Date: Wed, 10 Jun 2009 01:37:01 +0000 Subject: [PATCH] =?UTF-8?q?xpresseditor=EC=9D=98=20=EC=B2=AB=20=EA=B8=80?= =?UTF-8?q?=20=EC=9E=91=EC=84=B1=EC=8B=9C=20P=20=ED=83=9C=EA=B7=B8?= =?UTF-8?q?=EA=B0=80=20=EB=93=A4=EC=96=B4=EA=B0=80=20=EC=9E=88=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95=20xpresseditor=EC=97=90=EC=84=9C?= =?UTF-8?q?=20=EC=A0=81=EC=9A=A9=EB=90=98=EB=8D=98=20=EA=B0=81=EC=A2=85=20?= =?UTF-8?q?=ED=83=9C=EA=B7=B8=20=EB=A7=9E=EC=B6=A4/=20=EB=B3=80=EC=A1=B0?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=EC=9D=84=20disable=20ctrl1~6=3D=ED=97=A4?= =?UTF-8?q?=EB=94=A91~6,=20ctrl=EC=99=BC=EC=AA=BD/=EC=98=A4=EB=A5=B8?= =?UTF-8?q?=EC=AA=BD=20=ED=99=94=EC=82=B4=ED=91=9C=EC=9D=98=20=EA=B2=BD?= =?UTF-8?q?=EC=9A=B0=20outdent/indent=EB=A1=9C=20=EB=90=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EB=8B=A8=EC=B6=95=ED=82=A4=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6506 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../skins/xpresseditor/js/Xpress_Editor.js | 39 ++++++++++++++++++- .../skins/xpresseditor/js/xe_interface.js | 1 + 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/modules/editor/skins/xpresseditor/js/Xpress_Editor.js b/modules/editor/skins/xpresseditor/js/Xpress_Editor.js index 1b0038d5d..130734506 100644 --- a/modules/editor/skins/xpresseditor/js/Xpress_Editor.js +++ b/modules/editor/skins/xpresseditor/js/Xpress_Editor.js @@ -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, '']); + 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 { diff --git a/modules/editor/skins/xpresseditor/js/xe_interface.js b/modules/editor/skins/xpresseditor/js/xe_interface.js index 91b1dc63e..97a809170 100644 --- a/modules/editor/skins/xpresseditor/js/xe_interface.js +++ b/modules/editor/skins/xpresseditor/js/xe_interface.js @@ -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 = "

"; // src, href, url의 XE 상대경로를 http로 시작하는 full path로 변경 content = content.replace(/(src=|href=|url\()("|\')*([^"\'\)]+)("|\'|\))*(\s|>)*/ig, function(m0,m1,m2,m3,m4,m5) {