/* Copyright (C) NAVER corp. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ function createSEditor2(elIRField, htParams, elSeAppContainer){ if(!window.$Jindo){ parent.document.body.innerHTML="吏꾨룄 �꾨젅�꾩썚�� �꾩슂�⑸땲��.<br>\n<a href='http://dev.naver.com/projects/jindo/download'>http://dev.naver.com/projects/jindo/download</a>�먯꽌 Jindo 1.5.3 踰꾩쟾�� jindo.min.js瑜� �ㅼ슫濡쒕뱶 諛쏆븘 /js �대뜑�� 蹂듭궗 �� 二쇱꽭��.\n(�꾩쭅 Jindo 2 �� 吏��먰븯吏� �딆뒿�덈떎.)"; return; } var elAppContainer = (elSeAppContainer || jindo.$("smart_editor2")); var elEditingArea = jindo.$$.getSingle("DIV.husky_seditor_editing_area_container", elAppContainer); var oWYSIWYGIFrame = jindo.$$.getSingle("IFRAME.se2_input_wysiwyg", elEditingArea); var oIRTextarea = elIRField?elIRField:jindo.$$.getSingle("TEXTAREA.blind", elEditingArea); var oHTMLSrc = jindo.$$.getSingle("TEXTAREA.se2_input_htmlsrc", elEditingArea); var oTextArea = jindo.$$.getSingle("TEXTAREA.se2_input_text", elEditingArea); if(!htParams){ htParams = {}; htParams.fOnBeforeUnload = null; } htParams.elAppContainer = elAppContainer; // �먮뵒�� UI 理쒖긽�� element �뗮똿 htParams.oNavigator = jindo.$Agent().navigator(); // navigator 媛앹껜 �뗮똿 htParams.I18N_LOCALE = htParams.I18N_LOCALE || "ko_KR"; var oEditor = new nhn.husky.HuskyCore(htParams); oEditor.registerPlugin(new nhn.husky.CorePlugin(htParams?htParams.fOnAppLoad:null)); oEditor.registerPlugin(new nhn.husky.StringConverterManager()); if(htParams.bSkipXssFilter !== true){ // 蹂댁븞 �꾪꽣留� �뚮윭洹몄씤 (TODO:�뚯뒪遺꾨━ 諛� 釉붾옓由ъ뒪�� �듭뀡 異붽�) oEditor.registerPlugin({ _rxFilter:/<\/*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|i(?:frame|layer)|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|title|xml)[^>]*?>/gi, $ON_REGISTER_CONVERTERS : function() { var fXssFilter = jindo.$Fn(function(sHtml){ return sHtml.replace(this._rxFilter, ""); }, this).bind(); this.oApp.exec("ADD_CONVERTER",["HTMLSrc_TO_IR", fXssFilter]); this.oApp.exec("ADD_CONVERTER",["IR_TO_DB", fXssFilter]); } }); } var htDimension = { nMinHeight:205, nMinWidth:parseInt(elIRField.style.minWidth, 10)||570, nHeight:elIRField.style.height||elIRField.offsetHeight, nWidth:elIRField.style.width||elIRField.offsetWidth }; var htConversionMode = { bUseVerticalResizer : htParams.bUseVerticalResizer, bUseModeChanger : htParams.bUseModeChanger }; var aAdditionalFontList = htParams.aAdditionalFontList; oEditor.registerPlugin(new nhn.husky.SE_EditingAreaManager("WYSIWYG", oIRTextarea, htDimension, htParams.fOnBeforeUnload, elAppContainer)); oEditor.registerPlugin(new nhn.husky.SE_EditingArea_WYSIWYG(oWYSIWYGIFrame)); // Tab Editor 紐⑤뱶 oEditor.registerPlugin(new nhn.husky.SE_EditingArea_HTMLSrc(oHTMLSrc)); // Tab HTML 紐⑤뱶 oEditor.registerPlugin(new nhn.husky.SE_EditingArea_TEXT(oTextArea)); // Tab Text 紐⑤뱶 oEditor.registerPlugin(new nhn.husky.SE2M_EditingModeChanger(elAppContainer, htConversionMode)); // 紐⑤뱶媛� 蹂�寃�(Editor, HTML, Text) oEditor.registerPlugin(new nhn.husky.SE_PasteHandler()); // WYSIWYG Paste Handler oEditor.registerPlugin(new nhn.husky.HuskyRangeManager(oWYSIWYGIFrame)); oEditor.registerPlugin(new nhn.husky.Utils()); oEditor.registerPlugin(new nhn.husky.SE2M_UtilPlugin()); oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGStyler()); oEditor.registerPlugin(new nhn.husky.SE2M_Toolbar(elAppContainer)); oEditor.registerPlugin(new nhn.husky.Hotkey()); // �⑥텞�� oEditor.registerPlugin(new nhn.husky.SE_EditingAreaVerticalResizer(elAppContainer, htConversionMode)); // �몄쭛�곸뿭 由ъ궗�댁쫰 oEditor.registerPlugin(new nhn.husky.DialogLayerManager()); oEditor.registerPlugin(new nhn.husky.ActiveLayerManager()); oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGStyleGetter()); // 而ㅼ꽌 �꾩튂 �ㅽ��� �뺣낫 媛��몄삤湲� oEditor.registerPlugin(new nhn.husky.SE_WYSIWYGEnterKey("P")); // �뷀꽣 �� 泥섎━, �꾩옱�� P濡� 泥섎━ oEditor.registerPlugin(new nhn.husky.SE2M_ColorPalette(elAppContainer)); // �됱긽 �붾젅�� oEditor.registerPlugin(new nhn.husky.SE2M_FontColor(elAppContainer)); // 湲��먯깋 oEditor.registerPlugin(new nhn.husky.SE2M_BGColor(elAppContainer)); // 湲��먮같寃쎌깋 oEditor.registerPlugin(new nhn.husky.SE2M_FontNameWithLayerUI(elAppContainer, aAdditionalFontList)); // 湲�瑗댁쥌瑜� oEditor.registerPlugin(new nhn.husky.SE2M_FontSizeWithLayerUI(elAppContainer)); // 湲�瑗댄겕湲� oEditor.registerPlugin(new nhn.husky.SE2M_LineStyler()); oEditor.registerPlugin(new nhn.husky.SE2M_ExecCommand(oWYSIWYGIFrame)); oEditor.registerPlugin(new nhn.husky.SE2M_LineHeightWithLayerUI(elAppContainer)); // 以꾧컙寃� oEditor.registerPlugin(new nhn.husky.SE2M_Quote(elAppContainer)); // �몄슜援� oEditor.registerPlugin(new nhn.husky.SE2M_Hyperlink(elAppContainer)); // 留곹겕 oEditor.registerPlugin(new nhn.husky.SE2M_SCharacter(elAppContainer)); // �뱀닔臾몄옄 oEditor.registerPlugin(new nhn.husky.SE2M_FindReplacePlugin(elAppContainer)); // 李얘린/諛붽씀湲� oEditor.registerPlugin(new nhn.husky.SE2M_TableCreator(elAppContainer)); // �뚯씠釉� �앹꽦 oEditor.registerPlugin(new nhn.husky.SE2M_TableEditor(elAppContainer)); // �뚯씠釉� �몄쭛 oEditor.registerPlugin(new nhn.husky.SE2M_TableBlockStyler(elAppContainer)); // �뚯씠釉� �ㅽ��� if(nhn.husky.SE2M_AttachQuickPhoto){ oEditor.registerPlugin(new nhn.husky.SE2M_AttachQuickPhoto(elAppContainer)); // �ъ쭊 } oEditor.registerPlugin(new nhn.husky.MessageManager(oMessageMap, htParams.I18N_LOCALE)); oEditor.registerPlugin(new nhn.husky.SE2M_QuickEditor_Common(elAppContainer)); // �듭뿉�뷀꽣 怨듯넻(��, �대�吏�) oEditor.registerPlugin(new nhn.husky.SE2B_CSSLoader()); // CSS lazy load if(window.frameElement){ oEditor.registerPlugin(new nhn.husky.SE_OuterIFrameControl(elAppContainer, 100)); } oEditor.registerPlugin(new nhn.husky.SE_ToolbarToggler(elAppContainer, htParams.bUseToolbar)); oEditor.registerPlugin(new nhn.husky.SE2M_Accessibility(elAppContainer, htParams.I18N_LOCALE)); // �먮뵒�곕궡�� �뱀젒洹쇱꽦 愿��� 湲곕뒫紐⑥쓬 �뚮윭洹몄씤 oEditor.registerPlugin(new nhn.husky.SE2B_Customize_ToolBar(elAppContainer)); // 2.3 踰꾩졏�� �덈뒗 �대컮 �댁슜 return oEditor; }