git-svn-id: http://xe-core.googlecode.com/svn/trunk@603 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-22 05:22:25 +00:00
parent 4b82a36153
commit 2a252d8de4
8 changed files with 153 additions and 476 deletions

View file

@ -3,193 +3,53 @@
* 있으면 가져와서 원하는 곳에 삽입
**/
var selected_node = null;
function getQuotation() {
function getTable() {
// 부모 위지윅 에디터에서 선택된 영역이 있는지 확인
if(typeof(opener)=="undefined") return;
var node = opener.editorPrevNode;
if(!node || node.nodeName != "DIV") return;
selected_node = node;
var use_folder = node.getAttribute("use_folder");
var folder_opener = node.getAttribute("folder_opener");
var folder_closer = node.getAttribute("folder_closer");
var bold = node.getAttribute("bold");
var color = node.getAttribute("color");
var margin = node.getAttribute("margin");
var padding = node.getAttribute("padding");
var border_style = node.getAttribute("border_style");
var border_thickness = node.getAttribute("border_thickness");
var border_color = node.getAttribute("border_color");
var bg_color = node.getAttribute("bg_color");
if(use_folder=="Y") xGetElementById("quotation_use").checked = true;
else xGetElementById("quotation_use").checked = false;
toggle_folder( xGetElementById("quotation_use") );
if(bold=="Y") xGetElementById("quotation_bold").checked = true;
switch(color) {
case "red" :
xGetElementById("quotation_color_red").checked = true;
break;
case "yellow" :
xGetElementById("quotation_color_yellow").checked = true;
break;
case "green" :
xGetElementById("quotation_color_green").checked = true;
break;
default :
xGetElementById("quotation_color_blue").checked = true;
break;
}
xGetElementById("quotation_opener").value = folder_opener;
xGetElementById("quotation_closer").value = folder_closer;
xGetElementById("quotation_margin").value = margin;
xGetElementById("quotation_padding").value = padding;
switch(border_style) {
case "solid" :
xGetElementById("border_style_solid").checked = true;
break;
case "dotted" :
xGetElementById("border_style_dotted").checked = true;
break;
case "left_solid" :
xGetElementById("border_style_left_solid").checked = true;
break;
case "left_dotted" :
xGetElementById("border_style_left_dotted").checked = true;
break;
default :
xGetElementById("border_style_none").checked = true;
break;
}
xGetElementById("border_thickness").value = border_thickness;
select_color('border', border_color);
select_color('bg', bg_color);
}
/* 추가 버튼 클릭시 부모창의 위지윅 에디터에 인용구 추가 */
function insertQuotation() {
function insertTable() {
if(typeof(opener)=="undefined") return;
var use_folder = "N";
if(xGetElementById("quotation_use").checked) use_folder = "Y";
var cols_count = parseInt(xGetElementById("cols_count").value,10);
if(!cols_count) cols_count = 1;
var folder_opener = xGetElementById("quotation_opener").value;
var folder_closer = xGetElementById("quotation_closer").value;
if(!folder_opener||!folder_closer) use_folder = "N";
var rows_count = parseInt(xGetElementById("rows_count").value,10);
if(!rows_count) rows_count = 1;
var bold = "N";
if(xGetElementById("quotation_bold").checked) bold = "Y";
var color = "blue";
if(xGetElementById("quotation_color_red").checked) color = "red";
if(xGetElementById("quotation_color_yellow").checked) color = "yellow";
if(xGetElementById("quotation_color_green").checked) color = "green";
var width = parseInt(xGetElementById("width").value,10);
var margin = parseInt(xGetElementById("quotation_margin").value,10);
var border = parseInt(xGetElementById("border").value,10);
var padding = parseInt(xGetElementById("quotation_padding").value,10);
var inner_border = parseInt(xGetElementById("inner_border").value,10);
var border_style = "solid";
if(xGetElementById("border_style_none").checked) border_style = "none";
if(xGetElementById("border_style_solid").checked) border_style = "solid";
if(xGetElementById("border_style_dotted").checked) border_style = "dotted";
if(xGetElementById("border_style_left_solid").checked) border_style = "left_solid";
if(xGetElementById("border_style_left_dotted").checked) border_style = "left_dotted";
var cellspacing = parseInt(xGetElementById("cellspacing").value,10);
var border_thickness = parseInt(xGetElementById("border_thickness").value,10);
var cellpadding = parseInt(xGetElementById("cellpadding").value,10);
var border_color = xGetElementById("border_color_input").value;
if(border_color.length!=6) border_color = "000000";
var bg_color = xGetElementById("bg_color_input").value;
if(bg_color.length!=6) bg_color = "FFFFFF";
var content = "";
if(selected_node) content = xInnerHtml(selected_node);
else content = opener.editorGetSelectedHtml(opener.editorPrevSrl);
var text = "\n<table width=\""+width+"\" border=\""+inner_border+"\" cellspacing=\""+cellspacing+"\" cellpadding=\""+cellpadding+"\" style=\"border:"+border+"px solid #"+border_color+";background-color:#"+bg_color+"\">";
var style = "margin:"+margin+"px; padding:"+padding+"px; background-color:#"+bg_color+";";
switch(border_style) {
case "solid" :
style += "border:"+border_thickness+"px solid #"+border_color+";";
break;
case "dotted" :
style += "border:"+border_thickness+"px dotted #"+border_color+";";
break;
case "left_solid" :
style += "border-left:"+border_thickness+"px solid #"+border_color+";";
break;
case "left_dotted" :
style += "border-left:"+border_thickness+"px dotted #"+border_color+";";
break;
}
if(!content) content = "&nbsp;";
var text = "\n<div editor_component=\"quotation\" use_folder=\""+use_folder+"\" folder_opener=\""+folder_opener+"\" folder_closer=\""+folder_closer+"\" bold=\""+bold+"\" color=\""+color+"\" margin=\""+margin+"\" padding=\""+padding+"\" border_style=\""+border_style+"\" border_thickness=\""+border_thickness+"\" border_color=\""+border_color+"\" bg_color=\""+bg_color+"\" style=\""+style+"\">"+content+"</div>\n<br />";
if(selected_node) {
selected_node.setAttribute("use_folder", use_folder);
selected_node.setAttribute("folder_opener", folder_opener);
selected_node.setAttribute("folder_closer", folder_closer);
selected_node.setAttribute("bold", bold);
selected_node.setAttribute("color", color);
selected_node.setAttribute("margin", margin);
selected_node.setAttribute("padding", padding);
selected_node.setAttribute("border_style", border_style);
selected_node.setAttribute("border_thickness", border_thickness);
selected_node.setAttribute("border_color", border_color);
selected_node.setAttribute("bg_color", bg_color);
selected_node.setAttribute("style", style);
selected_node.style.margin = margin+"px";
selected_node.style.padding = padding +"px";
selected_node.style.backgroundColor = "#"+bg_color;
selected_node.style.borderStyle = "none";
selected_node.style.borderWidth = "0px";
switch(border_style) {
case "solid" :
selected_node.style.borderStyle = "solid";
selected_node.style.borderWidth = border_thickness+"px";
selected_node.style.borderColor = "#"+border_color;
break;
case "dotted" :
selected_node.style.borderStyle = "dotted";
selected_node.style.borderWidth = border_thickness+"px";
selected_node.style.borderColor = "#"+border_color;
break;
case "left_solid" :
selected_node.style.borderLeftStyle = "solid";
selected_node.style.borderLeftWidth = border_thickness+"px";
selected_node.style.borderLeftColor = "#"+border_color;
break;
case "left_dotted" :
selected_node.style.borderLeftStyle = "dotted";
selected_node.style.borderLeftWidth = border_thickness+"px";
selected_node.style.borderCLeftColor = "#"+border_color;
break;
default :
selected_node.style.borderStyle = "solid";
selected_node.style.borderWidth = "0px";
selected_node.style.borderColor = "#"+border_color;
break;
for(var row=0; row<rows_count;row++) {
text += "<tr>";
for(var col=0; col<cols_count;col++) {
text += "<td>&nbsp;</td>";
}
opener.editorFocus(opener.editorPrevSrl);
} else {
opener.editorFocus(opener.editorPrevSrl);
var iframe_obj = opener.editorGetIFrame(opener.editorPrevSrl)
opener.editorReplaceHTML(iframe_obj, text);
opener.editorFocus(opener.editorPrevSrl);
text += "</tr>";
}
text += "</table>\n<br />";
opener.editorFocus(opener.editorPrevSrl);
var iframe_obj = opener.editorGetIFrame(opener.editorPrevSrl)
opener.editorReplaceHTML(iframe_obj, text);
opener.editorFocus(opener.editorPrevSrl);
window.close();
}
@ -198,13 +58,6 @@ function insertQuotation() {
function select_color(type, code) {
xGetElementById(type+"_preview_color").style.backgroundColor = "#"+code;
xGetElementById(type+"_color_input").value = code;
if(type=="border") {
xGetElementById("border_style_solid_icon").style.backgroundColor = "#"+code;
xGetElementById("border_style_dotted_icon").style.backgroundColor = "#"+code;
xGetElementById("border_style_left_solid_icon").style.backgroundColor = "#"+code;
xGetElementById("border_style_left_dotted_icon").style.backgroundColor = "#"+code;
}
}
/* 수동 색상 변경시 */
@ -251,11 +104,4 @@ function printColorBlock(type, code, blank_img_src) {
}
}
/* 폴더 여닫기 기능 toggle */
function toggle_folder(obj) {
if(obj.checked) xGetElementById("folder_area").style.display = "block";
else xGetElementById("folder_area").style.display = "none";
setFixedPopupSize();
}
xAddEventListener(window, "load", getQuotation);
xAddEventListener(window, "load", getTable);