rhymix/modules/editor/tpl/js/editor.min.js
2015-07-07 18:03:49 +09:00

1 line
No EOL
9.1 KiB
JavaScript

function editorGetTextArea(a){return jQuery("#editor_textarea_"+a)[0]}function editorGetPreviewArea(a){return jQuery("#editor_preview_"+a)[0]}function editorGetForm(a){var b=editorGetIFrame(a);if(b){for(var c=b.parentNode;"FORM"!=c.nodeName;)c=c.parentNode;return"FORM"==c.nodeName?c:void 0}}function editorGetContent_xe(a){var b="";if("html"==editorMode[a]){var c=editorGetTextArea(a);if(!c)return"";b=c.value}else{var d=editorGetIFrame(a);if(!d)return"";b=jQuery(d.contentWindow.document.body).html().replace(/^<br([^>]*)>$/i,"")}return b}function editorGetSelectedNode(a){var b,c,d=editorGetIFrame(a);return b=d.contentWindow,b.document.selection?(c=b.document.selection.createRange(),jQuery("<div />").html(c.htmlText)[0].firstChild):(c=b.getSelection().getRangeAt(0),jQuery("<div />").append(c.cloneContents())[0].firstChild)}function editorStart(a,b,c,d,e){"undefined"==typeof e&&(e="#000"),_editorFontColor[a]=e;var f=editorGetIFrame(a);if(f){jQuery(f).css("width","100%").parent().css("width","100%");var g=editorGetForm(a);if(g){if(g.setAttribute("editor_sequence",a),editorRelKeys[a]=[],editorRelKeys[a].primary=g[b],editorRelKeys[a].content=g[c],editorRelKeys[a].func=editorGetContent_xe,"undefined"!=typeof g._saved_doc_title){var h=g._saved_doc_title.value,i=g._saved_doc_content.value;if(h||i)if(confirm(g._saved_doc_message.value)){"undefined"!=typeof g.title&&(g.title.value=h),editorRelKeys[a].content.value=i;var j=[];j.editor_sequence=a,j.primary_key=b,j.mid=current_mid;var k=new Array("error","message","editor_sequence","key","title","content","document_srl");exec_xml("editor","procEditorLoadSavedDocument",j,getAutoSavedSrl,k)}else editorRemoveSavedDoc()}var l=editorRelKeys[a].content.value;l||xIE4Up||(l="<br />");var m=xGetElementById("for_ie_help_"+a);xIE4Up&&m&&(m.style.display="block"),editor_path=editor_path.replace(/^\.\//gi,"");var n='<!DOCTYPE html><html><head><meta charset="utf-8"/><style>body{font-size:.75em;line-height:1.6;font-family:Sans-serif;height:'+d+"px;padding:0;margin:0;background-color:transparent;color:"+e+';}</style></head><body editor_sequence="'+a+'">'+l+"</body></html>";f.contentWindow.document.open("text/html","replace"),f.contentWindow.document.write(n),f.contentWindow.document.close(),editorMode[a]=null;try{f.contentWindow.document.designMode="On"}catch(o){}try{f.contentWindow.document.execCommand("undo",!1,null),f.contentWindow.document.execCommand("useCSS",!1,!0)}catch(o){}try{jQuery(f.contentWindow.document).unbind("dblclick.widget").bind("dblclick.widget",editorSearchComponent)}catch(o){}try{xIE4Up?xAddEventListener(f.contentWindow.document,"keydown",editorKeyPress):xAddEventListener(f.contentWindow.document,"keypress",editorKeyPress)}catch(o){}"undefined"!=typeof g._saved_doc_title&&editorEnableAutoSave(g,a),"html"==xGetCookie("editor_mode")&&(f=editorGetIFrame(a),xGetElementById("fileUploader_"+a)&&(xGetElementById("fileUploader_"+a).style.display="block"),textarea_obj=editorGetTextArea(a),textarea_obj.value=l,xWidth(textarea_obj,xWidth(f.parentNode)),xHeight(textarea_obj,xHeight(f.parentNode)),editorMode[a]="html",xGetElementById("xeEditor_"+a)&&(xGetElementById("xeEditor_"+a).className="xeEditor html",xGetElementById("use_rich_"+a).className="",xGetElementById("preview_html_"+a).className="",xGetElementById("use_html_"+a).className="active"))}}}function editorKeyPress(a){var b=new xEvent(a),c=b.target,d=null;if(d="BODY"==c.nodeName?c:c.firstChild.nextSibling){var e=d.getAttribute("editor_sequence");if(e){if(xIE4Up&&!b.ctrlKey&&!b.shiftKey&&13==b.keyCode&&!editorMode[e]){var f=editorGetIFrame(e);if(!f)return;c=g.selection.createRange();var g=f.contentWindow.document,h=c.parentElement().tagName.toLowerCase();switch(h){case"li":return;default:c.pasteHTML("<br />")}return c.select(),a.cancelBubble=!0,void(a.returnValue=!1)}if(115==b.keyCode&&(b.altKey||b.ctrlKey)){if(!editorGetIFrame(e))return;var i=editorGetForm(e);if(!i)return;return editorRelKeys[e].content.value=editorGetContent(e),i.onsubmit&&i.onsubmit(),a.cancelBubble=!0,a.returnValue=!1,xPreventDefault(a),void xStopPropagation(a)}if(b.ctrlKey){if(!editorGetIFrame(e))return;if(editorMode[e])return a.cancelBubble=!0,a.returnValue=!1,xPreventDefault(a),void xStopPropagation(a);switch(b.keyCode){case 49:case 50:case 51:case 52:case 53:case 54:editorDo("formatblock","<H"+(b.keyCode-48)+">",b.target),xPreventDefault(a),xStopPropagation(a);break;case 55:editorDo("formatblock","<P>",b.target),xPreventDefault(a),xStopPropagation(a);break;case 13:if(xIE4Up){if("On"!=b.target.parentElement.document.designMode)return;return c=b.target.parentElement.document.selection.createRange(),c.pasteHTML("<P>"),c.select(),a.cancelBubble=!0,void(a.returnValue=!1)}break;case 98:editorDo("Bold",null,b.target),xPreventDefault(a),xStopPropagation(a);break;case 105:editorDo("Italic",null,b.target),xPreventDefault(a),xStopPropagation(a);break;case 117:editorDo("Underline",null,b.target),xPreventDefault(a),xStopPropagation(a);break;case 100:editorDo("RemoveFormat",null,b.target),xPreventDefault(a),xStopPropagation(a)}}}}}function editorDo(a,b,c){var d=null;if("object"==typeof c)d=xIE4Up?c.parentElement.document:c.parentNode;else{var e=editorGetIFrame(c);d=e.contentWindow.document}var f=d.body.getAttribute("editor_sequence");editorMode[f]||("object"==typeof c?c.focus():editorFocus(c),d.execCommand(a,!1,b),"object"==typeof c?c.focus():editorFocus(c))}function editorChangeFontName(a,b){var c=a.options[a.selectedIndex].value;c&&(editorDo("FontName",c,b),a.selectedIndex=0)}function editorChangeFontSize(a,b){var c=a.options[a.selectedIndex].value;c&&(editorDo("FontSize",c,b),a.selectedIndex=0)}function editorUnDo(a,b){editorDo("undo","",b),a.selectedIndex=0}function editorReDo(a,b){editorDo("redo","",b),a.selectedIndex=0}function editorChangeHeader(a,b){var c=a.options[a.selectedIndex].value;c&&(c="<"+c+">",editorDo("formatblock",c,b),a.selectedIndex=0)}function editorChangeMode(a,b){if("html"==a||""==a){var c=new Date;c.setTime(c.getTime()+6048e8),xSetCookie("editor_mode",a,c)}var d=editorGetIFrame(b);if(d){var e=editorGetTextArea(b),f=editorGetPreviewArea(b),g=d.contentWindow.document,h=null;if("html"==editorMode[b]?(h=e.value,g.body.innerHTML=e.value):"preview"==editorMode[b]?(h=e.value,f.contentWindow.document.body.innerHTML=""):(h=g.body.innerHTML,e.value=h,h=h.replace(/<br>/gi,"<br />\n"),h=h.replace(/<br \/>\n\n/gi,"<br />\n")),"html"==a&&e)f.style.display="none",xGetElementById("fileUploader_"+b)&&(xGetElementById("fileUploader_"+b).style.display="block"),e.value=h,xWidth(e,xWidth(d.parentNode)),xHeight(e,xHeight(d.parentNode)),editorMode[b]="html",xGetElementById("xeEditor_"+b)&&(xGetElementById("xeEditor_"+b).className="xeEditor html",xGetElementById("use_rich_"+b).className="",xGetElementById("preview_html_"+b).className="",xGetElementById("use_html_"+b).className="active");else if("preview"==a&&f){f.style.display="",xGetElementById("fileUploader_"+b)&&(xGetElementById("fileUploader_"+b).style.display="none");var i=xGetElementById("preview_form");i||(i=xCreateElement("form"),i.id="preview_form",i.method="post",i.action=request_uri,i.target="editor_preview_"+b,xInnerHtml(i,'<input type="hidden" name="module" value="editor" /><input type="hidden" name="editor_sequence" value="'+b+'" /><input type="hidden" name="act" value="dispEditorPreview" /><input type="hidden" name="content" />'),document.body.appendChild(i)),i.content.value=h,i.submit(),xWidth(f,xWidth(d.parentNode)),editorMode[b]="preview",xGetElementById("xeEditor_"+b)&&(xGetElementById("xeEditor_"+b).className="xeEditor preview",xGetElementById("use_rich_"+b).className="",xGetElementById("preview_html_"+b).className="active",xGetElementById("use_html_"+b)&&(xGetElementById("use_html_"+b).className=""))}else f.style.display="none",xGetElementById("fileUploader_"+b)&&(xGetElementById("fileUploader_"+b).style.display="block"),g.body.innerHTML=h,editorMode[b]=null,xGetElementById("xeEditor_"+b)&&(xGetElementById("xeEditor_"+b).className="xeEditor rich",xGetElementById("use_rich_"+b).className="active",xGetElementById("preview_html_"+b).className="",xGetElementById("use_html_"+b)&&(xGetElementById("use_html_"+b).className=""))}}function closeEditorInfo(a){xGetElementById("editorInfo_"+a).style.display="none";var b=new Date;b.setTime(b.getTime()+6048e8),xSetCookie("EditorInfo","1",b)}function showEditorHelp(a,b){jQuery("#helpList_"+b).toggleClass("open")}function showEditorExtension(a,b){var c="#editorExtension_"+b,d=new xEvent(a);jQuery(c).hasClass("extension2")?(jQuery(c).addClass("open"),d.pageX<=xWidth("editor_component_"+b)?jQuery("#editor_component_"+b).css("right","auto").css("left",0):jQuery("#editor_component_"+b).css("right",0).css("left","auto")):jQuery(c).attr("class","extension2")}function showPreviewContent(a){if("undefined"!=typeof a&&"undefined"!=typeof _editorFontColor[a]){var b=editorGetPreviewArea(a);b.contentWindow.document.body.style.color=_editorFontColor[a]}}function setPreviewHeight(a){var b=xGetElementById("editor_preview_"+a).contentWindow.document.body.scrollHeight;400>b&&(b=400),xHeight("editor_preview_"+a,b+20)}function getAutoSavedSrl(a,b,c){var d=a.editor_sequence,e=a.key,f=editorGetForm(d);f[e].value=a.document_srl,uploadSettingObj[d]&&editorUploadInit(uploadSettingObj[d],!0)}var _editorFontColor=[];