mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-10 20:44:28 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@541 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
318b5f1f56
commit
87a8bc09ca
3 changed files with 76 additions and 22 deletions
|
|
@ -1,3 +1,37 @@
|
||||||
|
/**
|
||||||
|
* popup으로 열렸을 경우 부모창의 위지윅에디터에 select된 이미지가 있는지 체크하여
|
||||||
|
* 있으면 가져와서 원하는 곳에 삽입
|
||||||
|
**/
|
||||||
|
function getImage() {
|
||||||
|
// 부모 위지윅 에디터에서 선택된 영역이 있는지 확인
|
||||||
|
if(typeof(opener)=="undefined") return;
|
||||||
|
|
||||||
|
var node = opener.editorPrevNode;
|
||||||
|
if(!node || node.nodeName != "IMG") return;
|
||||||
|
var src = node.getAttribute("src");
|
||||||
|
var border = node.getAttribute("border");
|
||||||
|
var align = node.getAttribute("align");
|
||||||
|
var alt = node.getAttribute("alt");
|
||||||
|
var width = node.getAttribute("width");
|
||||||
|
var height = node.getAttribute("height");
|
||||||
|
|
||||||
|
xGetElementById("image_url").value = src;
|
||||||
|
xGetElementById("image_alt").value = alt;
|
||||||
|
|
||||||
|
switch(align) {
|
||||||
|
case 'left' : xGetElementById("align_left").checked = true; break;
|
||||||
|
case 'middle' : xGetElementById("align_middle").checked = true; break;
|
||||||
|
case 'right' : xGetElementById("align_right").checked = true; break;
|
||||||
|
default : xGetElementById("align_normal").checked = true; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
xGetElementById("image_border").value = border;
|
||||||
|
|
||||||
|
xGetElementById("width").value = width;
|
||||||
|
xGetElementById("height").value = height;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function getImageScale() {
|
function getImageScale() {
|
||||||
var url = xGetElementById("image_url").value;
|
var url = xGetElementById("image_url").value;
|
||||||
if(!url) return;
|
if(!url) return;
|
||||||
|
|
@ -45,3 +79,5 @@ function insertImage(obj) {
|
||||||
|
|
||||||
window.close();
|
window.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xAddEventListener(window, "load", getImage);
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,10 @@
|
||||||
* 있으면 가져와서 원하는 곳에 삽입
|
* 있으면 가져와서 원하는 곳에 삽입
|
||||||
**/
|
**/
|
||||||
function getText() {
|
function getText() {
|
||||||
// 부모 위지윅 에디터에서 선택된 영역이 있는지 확인
|
var node = opener.editorPrevNode;
|
||||||
if(typeof(opener)=="undefined") return;
|
if(!node) return;
|
||||||
var text = opener.editorGetSelectedHtml(opener.editorPrevSrl);
|
|
||||||
|
|
||||||
// 선택된 영역이 A태그인지 확인
|
if(node.nodeName == "A") {
|
||||||
if(text) {
|
|
||||||
var node = opener.editorGetSelectedNode(opener.editorPrevSrl);
|
|
||||||
if(node.nodeName == "A") {
|
|
||||||
var url = node.getAttribute("HREF");
|
var url = node.getAttribute("HREF");
|
||||||
|
|
||||||
var onclick_str = "";
|
var onclick_str = "";
|
||||||
|
|
@ -25,7 +21,7 @@ function getText() {
|
||||||
else className = node.getAttribute("class");
|
else className = node.getAttribute("class");
|
||||||
var open_window = false;
|
var open_window = false;
|
||||||
|
|
||||||
if(onclick_str) {
|
if(url.indexOf("#")>-1 && onclick_str.indexOf("window.open")>-1) {
|
||||||
open_window = true;
|
open_window = true;
|
||||||
|
|
||||||
var s_s = "window.open('";
|
var s_s = "window.open('";
|
||||||
|
|
@ -59,14 +55,10 @@ function getText() {
|
||||||
if(color) xGetElementById(color).checked = true;
|
if(color) xGetElementById(color).checked = true;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
} else {
|
||||||
|
var fo_obj = xGetElementById("fo_component");
|
||||||
|
fo_obj.text.value = opener.editorGetSelectedHtml(opener.editorPrevSrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 기본 설정
|
|
||||||
var fo_obj = xGetElementById("fo_component");
|
|
||||||
if(fo_obj.text.value) return;
|
|
||||||
fo_obj.text.value = text;
|
|
||||||
self.focus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -68,8 +68,10 @@ function editorStart(upload_target_srl) {
|
||||||
xAddEventListener(contentDocument,'mousedown',editorHideObject);
|
xAddEventListener(contentDocument,'mousedown',editorHideObject);
|
||||||
|
|
||||||
// 플러그인 감시를 위한 더블클릭 이벤트 걸기
|
// 플러그인 감시를 위한 더블클릭 이벤트 걸기
|
||||||
xAddEventListener(contentDocument,'dblclick',editorSearchComponent);
|
if(xUA.indexOf('opera')==-1) {
|
||||||
xAddEventListener(document,'dblclick',editorSearchComponent);
|
xAddEventListener(contentDocument,'dblclick',editorSearchComponent);
|
||||||
|
xAddEventListener(document,'dblclick',editorSearchComponent);
|
||||||
|
}
|
||||||
|
|
||||||
//xAddEventListener(document,'keypress',editorKeyPress);
|
//xAddEventListener(document,'keypress',editorKeyPress);
|
||||||
xAddEventListener(document,'mouseup',editorEventCheck);
|
xAddEventListener(document,'mouseup',editorEventCheck);
|
||||||
|
|
@ -159,7 +161,12 @@ function editorGetSelectedNode(upload_target_srl) {
|
||||||
function editorReplaceHTML(iframe_obj, html) {
|
function editorReplaceHTML(iframe_obj, html) {
|
||||||
|
|
||||||
if(xIE4Up) {
|
if(xIE4Up) {
|
||||||
iframe_obj.contentWindow.document.selection.createRange().pasteHTML(html);
|
var range = iframe_obj.contentWindow.document.selection.createRange();
|
||||||
|
if(range.pasteHTML) {
|
||||||
|
range.pasteHTML(html);
|
||||||
|
} else if(editorPrevNode) {
|
||||||
|
editorPrevNode.outerHTML = html;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if(iframe_obj.contentWindow.getSelection().focusNode.tagName == "HTML") {
|
if(iframe_obj.contentWindow.getSelection().focusNode.tagName == "HTML") {
|
||||||
var range = iframe_obj.contentDocument.createRange();
|
var range = iframe_obj.contentDocument.createRange();
|
||||||
|
|
@ -220,6 +227,8 @@ function editorKeyPress(evt) {
|
||||||
var editorPrevObj = null;
|
var editorPrevObj = null;
|
||||||
var editorPrevSrl = null;
|
var editorPrevSrl = null;
|
||||||
function editorEventCheck(evt) {
|
function editorEventCheck(evt) {
|
||||||
|
editorPrevNode = null;
|
||||||
|
|
||||||
// 이벤트가 발생한 object의 ID를 구함
|
// 이벤트가 발생한 object의 ID를 구함
|
||||||
var e = new xEvent(evt);
|
var e = new xEvent(evt);
|
||||||
var target_id = e.target.id;
|
var target_id = e.target.id;
|
||||||
|
|
@ -286,9 +295,12 @@ function editorProcComponent(ret_obj, response_tags) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 본문내에 포함된 컴포넌트를 찾는 함수 (더블클릭시)
|
// 본문내에 포함된 컴포넌트를 찾는 함수 (더블클릭시)
|
||||||
|
var editorPrevNode = null;
|
||||||
function editorSearchComponent(evt) {
|
function editorSearchComponent(evt) {
|
||||||
var e = new xEvent(evt);
|
var e = new xEvent(evt);
|
||||||
|
|
||||||
|
editorPrevNode = null;
|
||||||
|
|
||||||
// 선택되어진 object부터 상단으로 이동하면서 editor_component attribute가 있는지 검사
|
// 선택되어진 object부터 상단으로 이동하면서 editor_component attribute가 있는지 검사
|
||||||
var obj = e.target;
|
var obj = e.target;
|
||||||
while(obj && !obj.getAttribute("editor_component")) {
|
while(obj && !obj.getAttribute("editor_component")) {
|
||||||
|
|
@ -302,21 +314,35 @@ function editorSearchComponent(evt) {
|
||||||
// editor_component를 찾지 못했을 경우에 이미지/텍스트/링크의 경우 기본 컴포넌트와 연결
|
// editor_component를 찾지 못했을 경우에 이미지/텍스트/링크의 경우 기본 컴포넌트와 연결
|
||||||
if(!editor_component) {
|
if(!editor_component) {
|
||||||
// 이미지일 경우
|
// 이미지일 경우
|
||||||
if(obj.nodeName == "IMG") editor_component = "image_link";
|
if(obj.nodeName == "IMG") {
|
||||||
|
editor_component = "image_link";
|
||||||
|
editorPrevNode = obj;
|
||||||
|
}
|
||||||
|
|
||||||
// 링크거나 텍스트인 경우
|
// 링크거나 텍스트인 경우
|
||||||
else if(obj.nodeName == "A" || obj.nodeName == "BODY") editor_component = "url_link";
|
else if(obj.nodeName == "A" || obj.nodeName == "BODY") {
|
||||||
|
editor_component = "url_link";
|
||||||
|
editorPrevNode = obj;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
editorPrevNode = obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 아무런 editor_component가 없다면 return
|
// 아무런 editor_component가 없다면 return
|
||||||
if(!editor_component) return;
|
if(!editor_component) {
|
||||||
|
editorPrevNode = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// upload_target_srl을 찾음
|
// upload_target_srl을 찾음
|
||||||
var tobj = obj;
|
var tobj = obj;
|
||||||
while(tobj && tobj.nodeName != "BODY") {
|
while(tobj && tobj.nodeName != "BODY") {
|
||||||
tobj = xParent(tobj);
|
tobj = xParent(tobj);
|
||||||
}
|
}
|
||||||
if(!tobj || tobj.nodeName != "BODY" || !tobj.getAttribute("upload_target_srl")) return;
|
if(!tobj || tobj.nodeName != "BODY" || !tobj.getAttribute("upload_target_srl")) {
|
||||||
|
editorPrevNode = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
var upload_target_srl = tobj.getAttribute("upload_target_srl");
|
var upload_target_srl = tobj.getAttribute("upload_target_srl");
|
||||||
|
|
||||||
// 해당 컴포넌트를 찾아서 실행
|
// 해당 컴포넌트를 찾아서 실행
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue