#17862843 이미지는 업로드 완료시 미리 로딩 // 로딩이 완료되지 않았으면, 가로 세로 크기 입력 안함

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5923 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
misol 2009-03-21 06:41:18 +00:00
parent 4e2b78b6c4
commit be3bd12ae5

View file

@ -5,6 +5,7 @@
**/
var uploadedFiles = new Array();
var uploaderSettings = new Array();
var loaded_images = new Array();
/**
* 업로드를 하기 위한 준비 시작
@ -258,15 +259,19 @@ function completeReloadFileList(ret_obj, response_tags, settings) {
uploadedFiles[file_srl] = item[i];
var opt = new Option(item[i].source_filename+" ("+item[i].disp_file_size+")", file_srl, true, true);
listObj.options[listObj.options.length] = opt;
previewFiles('', file_srl);
if(/\.(jpg|jpeg|png|gif)$/i.test(item[i].download_url)) {
var loadingImage = new Image();
loadingImage.src = item[i].download_url;
loaded_images[file_srl] = loadingImage;
}
}
previewFiles('', item[item.length-1].file_srl);
}
}
//listObj.selectedIndex = listObj.options.length-1;
xAddEventListener(listObj,'click',previewFiles);
}
var img_loaded_check = Array();
function previewFiles(evt, given_file_srl) {
if(!given_file_srl) {
var e = new xEvent(evt);
@ -317,26 +322,6 @@ function previewFiles(evt, given_file_srl) {
html = "<img src=\""+request_uri+"/modules/editor/tpl/images/files.gif\" border=\"0\" width=\"100%\" height=\"100%\" />";
}
xInnerHtml(previewAreaID, html);
// 이미지 파일중, 파일 목록 리로드시 불러오는 이미지는 미리 로드시킴, 로드시키는 이유는 이미지 가로/세로 크기를 얻기 위함. 로드 횟수는 4번을 초과하지 않게 (그 이상은 포기)
if(given_file_srl) {
if(/\.(jpg|jpeg|png|gif)$/i.test(uploaded_filename)) {
var uploaded_obj = new Image();
uploaded_obj.src = uploaded_filename;
if(!uploaded_obj.width || !uploaded_obj.width) {
if(!img_loaded_check[given_file_srl]) {
img_loaded_check[given_file_srl] = 1;
}
else {
img_loaded_check[given_file_srl]++;
}
if(img_loaded_check[given_file_srl] < 5) {
previewFiles('', given_file_srl);
}
}
}
}
}
function removeUploadedFile(editorSequence) {
@ -386,9 +371,18 @@ function insertUploadedFile(editorSequence) {
if(file.direct_download == 'Y') {
// 이미지 파일의 경우 image_link 컴포넌트 열결
if(/\.(jpg|jpeg|png|gif)$/i.test(file.download_url)) {
var obj = new Image();
obj.src = file.download_url;
text.push("<img editor_component=\"image_link\" src=\""+file.download_url+"\" alt=\""+file.source_filename+"\" width=\""+obj.width+"\" height=\""+obj.height+"\" />");
if(loaded_images[file_srl]) {
var obj = loaded_images[file_srl];
}
else {
var obj = new Image();
obj.src = file.download_url;
}
temp_code = '';
temp_code += "<img editor_component=\"image_link\" src=\""+file.download_url+"\" alt=\""+file.source_filename+"\"";
if(obj.complete == true) { temp_code += " width=\""+obj.width+"\" height=\""+obj.height+"\""; }
temp_code += " />\r\n";
text.push(temp_code);
// 이미지외의 경우는 multimedia_link 컴포넌트 연결
} else {
text.push("<img src=\"./common/tpl/images/blank.gif\" editor_component=\"multimedia_link\" multimedia_src=\""+file.download_url+"\" width=\"400\" height=\"320\" style=\"display:block;width:400px;height:320px;border:2px dotted #4371B9;background:url(./modules/editor/components/multimedia_link/tpl/multimedia_link_component.gif) no-repeat center;\" auto_start=\"false\" alt=\"\" />");