From 35714ac73e805b36f55ab538cccb73d2b3de1abb Mon Sep 17 00:00:00 2001 From: taggon Date: Thu, 16 Jun 2011 03:29:56 +0000 Subject: [PATCH] issue 44 : from the multimedia_link editor component git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8496 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../components/multimedia_link/info.xml | 6 +- .../components/multimedia_link/tpl/popup.html | 15 ++- .../components/multimedia_link/tpl/popup.js | 93 +++++++++---------- .../multimedia_link/tpl/popup.min.css | 5 + .../multimedia_link/tpl/popup.min.js | 5 + 5 files changed, 65 insertions(+), 59 deletions(-) create mode 100644 modules/editor/components/multimedia_link/tpl/popup.min.css create mode 100644 modules/editor/components/multimedia_link/tpl/popup.min.js diff --git a/modules/editor/components/multimedia_link/info.xml b/modules/editor/components/multimedia_link/info.xml index 84d0569cf..3ea53ca3f 100644 --- a/modules/editor/components/multimedia_link/info.xml +++ b/modules/editor/components/multimedia_link/info.xml @@ -1,9 +1,9 @@ - 멀티미디어 자료 관리 + 멀티미디어 링크 マルチメディア管理 多媒体 - Manage Multimedia Data + Multimedia Link Administrar datos multimedia Управление мультимедиа данными 多媒體管理 @@ -18,7 +18,7 @@ 可新增 wmv、avi、flv 等多媒體檔案或修改其相關屬性。 Chèn Media dạng '.wmv,.avi,.flv,.mp3,.wma' vào bài viết. wmv, avi, flv gibi çoklu ortam dosyalarını editöre ekleyebilir veya çoklu ortam dosyasının niteliğini değiştirebilir. - 0.1 + 0.2 2007-02-28 diff --git a/modules/editor/components/multimedia_link/tpl/popup.html b/modules/editor/components/multimedia_link/tpl/popup.html index 88241b5d2..21d21f8fd 100644 --- a/modules/editor/components/multimedia_link/tpl/popup.html +++ b/modules/editor/components/multimedia_link/tpl/popup.html @@ -1,12 +1,17 @@ - - + + + + + + +

{$component_info->title} ver. {$component_info->version}

-
+
@@ -44,8 +49,8 @@
diff --git a/modules/editor/components/multimedia_link/tpl/popup.js b/modules/editor/components/multimedia_link/tpl/popup.js index f7d498b6c..6f73fcacc 100644 --- a/modules/editor/components/multimedia_link/tpl/popup.js +++ b/modules/editor/components/multimedia_link/tpl/popup.js @@ -2,69 +2,60 @@ * popup으로 열렸을 경우 부모창의 위지윅에디터에 select된 멀티미디어 컴포넌트 코드를 체크하여 * 있으면 가져와서 원하는 곳에 삽입 **/ -function getMultimedia() { - // 부모 위지윅 에디터에서 선택된 영역이 있는지 확인 - if(typeof(opener)=="undefined") return; +jQuery(function($){ - var node = opener.editorPrevNode; - if(!node || node.nodeName != "IMG") return; +(function(){ + if(!is_def(opener)) return; - var url = node.getAttribute("multimedia_src"); - var caption = node.getAttribute("alt"); - var width = xWidth(node); - var height = xHeight(node); - var auto_start = node.getAttribute("auto_start"); - var wmode = node.getAttribute("wmode"); + var $node = $(opener.editorPrevNode).filter('img'), attrs; + if(!$node.length) return; - var fo_obj = xGetElementById('fo'); + attrs = { + url : $node.attr('multimedia_src'), + caption : $node.attr('alt'), + width : $node.width() - 4, + height : $node.height() - 4, + wmode : $node.attr('wmode') + }; - xGetElementById("multimedia_url").value = url; - xGetElementById("multimedia_caption").value = caption; - xGetElementById("multimedia_width").value = width-4; - xGetElementById("multimedia_height").value = height-4; - if(auto_start=="true") xGetElementById("multimedia_auto_start").checked = true; + $.each(attrs, function(key, val) { + get_by_id('multimedia_'+key).value = val; + }); - if(wmode == 'window') fo_obj.multimedia_wmode.selectedIndex = 0; - else if(wmode == 'opaque') fo_obj.multimedia_wmode.selectedIndex = 1; - else fo_obj.multimedia_wmode.selectedIndex = 2; -} +})(); -function insertMultimedia(obj) { - if(typeof(opener)=="undefined") return; +$('a._insert').click(function(){ + if(!is_def(opener)) return; - var url = xGetElementById("multimedia_url").value; - url = url.replace(request_uri,''); -// url = encodeURI(url); - var fo_obj = xGetElementById('fo'); + var el_wmode = get_by_id('fo').elements['multimedia_wmode']; + var attrs = { + alt : get_by_id('multimedia_caption').value, + width : get_by_id('multimedia_width').value || 400, + height : get_by_id('multimedia_height').value || 400, + wmode : el_wmode.value || el_wmode.options[0].value, + auto_start : get_by_id('multimedia_auto_start').checked?'true':'false', + multimedia_src : get_by_id('multimedia_url').value.replace(request_uri, '') + }; - var wmode = fo_obj.multimedia_wmode.options[fo_obj.multimedia_wmode.selectedIndex].value; + if(!attrs['multimedia_src']) { + window.close(); + return; + } - var caption = xGetElementById("multimedia_caption").value; + var html = ''; - var width = xGetElementById("multimedia_width").value; - if(!width) width = 400; + html = html.replace(/(\w+)=""/, function(m0,m1) { + return attrs[m1] ? (m1+'="'+attrs[m1]+'"') : ''; + }); - var height = xGetElementById("multimedia_height").value; - if(!height) height= 400; + opener.editorFocus(opener.editorPrevSrl); - var auto_start = "false"; - if(xGetElementById("multimedia_auto_start").checked) auto_start = "true"; + var iframe_obj = opener.editorGetIFrame(opener.editorPrevSrl) - if(!url) { - window.close(); - return; - } + opener.editorReplaceHTML(iframe_obj, html); + opener.editorFocus(opener.editorPrevSrl); - var text = "\""+caption+"\""; + window.close(); +}); - opener.editorFocus(opener.editorPrevSrl); - - var iframe_obj = opener.editorGetIFrame(opener.editorPrevSrl) - - opener.editorReplaceHTML(iframe_obj, text); - opener.editorFocus(opener.editorPrevSrl); - - window.close(); -} - -xAddEventListener(window, "load", getMultimedia); +}); diff --git a/modules/editor/components/multimedia_link/tpl/popup.min.css b/modules/editor/components/multimedia_link/tpl/popup.min.css new file mode 100644 index 000000000..43b5c9694 --- /dev/null +++ b/modules/editor/components/multimedia_link/tpl/popup.min.css @@ -0,0 +1,5 @@ +/** + * popup으로 열렸을 경우 부모창의 위지윅에디터에 select된 멀티미디어 컴포넌트 코드를 체크하여 + * 있으면 가져와서 원하는 곳에 삽입 + **/ +@charset "utf-8";@import "../../../../../modules/admin/tpl/css/admin.css"; \ No newline at end of file diff --git a/modules/editor/components/multimedia_link/tpl/popup.min.js b/modules/editor/components/multimedia_link/tpl/popup.min.js new file mode 100644 index 000000000..aaa31bd5a --- /dev/null +++ b/modules/editor/components/multimedia_link/tpl/popup.min.js @@ -0,0 +1,5 @@ +/** + * popup으로 열렸을 경우 부모창의 위지윅에디터에 select된 멀티미디어 컴포넌트 코드를 체크하여 + * 있으면 가져와서 원하는 곳에 삽입 + **/ +jQuery(function($){(function(){if(!is_def(opener))return;var $node=$(opener.editorPrevNode).filter('img'),attrs;if(!$node.length)return;attrs={url:$node.attr('multimedia_src'),caption:$node.attr('alt'),width:$node.width()-4,height:$node.height()-4,wmode:$node.attr('wmode')};$.each(attrs,function(key,val){get_by_id('multimedia_'+key).value=val})})();$('a._insert').click(function(){if(!is_def(opener))return;var el_wmode=get_by_id('fo').elements['multimedia_wmode'],attrs={alt:get_by_id('multimedia_caption').value,width:get_by_id('multimedia_width').value||400,height:get_by_id('multimedia_height').value||400,wmode:el_wmode.value||el_wmode.options[0].value,auto_start:get_by_id('multimedia_auto_start').checked?'true':'false',multimedia_src:get_by_id('multimedia_url').value.replace(request_uri,'')};if(!attrs.multimedia_src){window.close();return};var html='';html=html.replace(/(\w+)=""/,function(m0,m1){return attrs[m1]?(m1+'="'+attrs[m1]+'"'):''});opener.editorFocus(opener.editorPrevSrl);var iframe_obj=opener.editorGetIFrame(opener.editorPrevSrl);opener.editorReplaceHTML(iframe_obj,html);opener.editorFocus(opener.editorPrevSrl);window.close()})}) \ No newline at end of file