| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445 | 
							- (function () {
 
-     var utils = UM.utils,
 
-         browser = UM.browser,
 
-         Base = {
 
-         checkURL: function (url) {
 
-             if(!url)    return false;
 
-             url = utils.trim(url);
 
-             if (url.length <= 0) {
 
-                 return false;
 
-             }
 
-             if (url.search(/http:\/\/|https:\/\//) !== 0) {
 
-                 url += 'http://';
 
-             }
 
-             url=url.replace(/\?[\s\S]*$/,"");
 
-             if (!/(.gif|.jpg|.jpeg|.png)$/i.test(url)) {
 
-                 return false;
 
-             }
 
-             return url;
 
-         },
 
-         getAllPic: function (sel, $w, editor) {
 
-             var me = this,
 
-                 arr = [],
 
-                 $imgs = $(sel, $w);
 
-             $.each($imgs, function (index, node) {
 
-                 $(node).removeAttr("width").removeAttr("height");
 
- //                if (node.width > editor.options.initialFrameWidth) {
 
- //                    me.scale(node, editor.options.initialFrameWidth -
 
- //                        parseInt($(editor.body).css("padding-left"))  -
 
- //                        parseInt($(editor.body).css("padding-right")));
 
- //                }
 
-                 return arr.push({
 
-                     _src: node.src,
 
-                     src: node.src
 
-                 });
 
-             });
 
-             return arr;
 
-         },
 
-         scale: function (img, max, oWidth, oHeight) {
 
-             var width = 0, height = 0, percent, ow = img.width || oWidth, oh = img.height || oHeight;
 
-             if (ow > max || oh > max) {
 
-                 if (ow >= oh) {
 
-                     if (width = ow - max) {
 
-                         percent = (width / ow).toFixed(2);
 
-                         img.height = oh - oh * percent;
 
-                         img.width = max;
 
-                     }
 
-                 } else {
 
-                     if (height = oh - max) {
 
-                         percent = (height / oh).toFixed(2);
 
-                         img.width = ow - ow * percent;
 
-                         img.height = max;
 
-                     }
 
-                 }
 
-             }
 
-             return this;
 
-         },
 
-         close: function ($img) {
 
-             $img.css({
 
-                 top: ($img.parent().height() - $img.height()) / 2,
 
-                 left: ($img.parent().width()-$img.width())/2
 
-             }).prev().on("click",function () {
 
-                 if ( $(this).parent().remove().hasClass("edui-image-upload-item") ) {
 
-                     //显示图片计数-1
 
-                     Upload.showCount--;
 
-                     Upload.updateView();
 
-                 }
 
-             });
 
-             return this;
 
-         },
 
-         createImgBase64: function (img, file, $w) {
 
-             if (browser.webkit) {
 
-                 //Chrome8+
 
-                 img.src = window.webkitURL.createObjectURL(file);
 
-             } else if (browser.gecko) {
 
-                 //FF4+
 
-                 img.src = window.URL.createObjectURL(file);
 
-             } else {
 
-                 //实例化file reader对象
 
-                 var reader = new FileReader();
 
-                 reader.onload = function (e) {
 
-                     img.src = this.result;
 
-                     $w.append(img);
 
-                 };
 
-                 reader.readAsDataURL(file);
 
-             }
 
-         },
 
-         callback: function (editor, $w, url, state) {
 
-             if (state == "SUCCESS") {
 
-                 //显示图片计数+1
 
-                 Upload.showCount++;
 
-                 var $img = $("<img src='" + editor.options.imagePath + url + "' class='edui-image-pic' />"),
 
-                     $item = $("<div class='edui-image-item edui-image-upload-item'><div class='edui-image-close'></div></div>").append($img);
 
-                 if ($(".edui-image-upload2", $w).length < 1) {
 
-                     $(".edui-image-content", $w).append($item);
 
-                     Upload.render(".edui-image-content", 2)
 
-                         .config(".edui-image-upload2");
 
-                 } else {
 
-                     $(".edui-image-upload2", $w).before($item).show();
 
-                 }
 
-                 $img.on("load", function () {
 
-                     Base.scale(this, 120);
 
-                     Base.close($(this));
 
-                     $(".edui-image-content", $w).focus();
 
-                 });
 
-             } else {
 
-                 currentDialog.showTip( state );
 
-                 window.setTimeout( function () {
 
-                     currentDialog.hideTip();
 
-                 }, 3000 );
 
-             }
 
-             Upload.toggleMask();
 
-         }
 
-     };
 
-     /*
 
-      * 本地上传
 
-      * */
 
-     var Upload = {
 
-         showCount: 0,
 
-         uploadTpl: '<div class="edui-image-upload%%">' +
 
-             '<span class="edui-image-icon"></span>' +
 
-             '<form class="edui-image-form" method="post" enctype="multipart/form-data" target="up">' +
 
-             '<input style=\"filter: alpha(opacity=0);\" class="edui-image-file" type="file" hidefocus name="upfile" accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp"/>' +
 
-             '</form>' +
 
-             '</div>',
 
-         init: function (editor, $w) {
 
-             var me = this;
 
-             me.editor = editor;
 
-             me.dialog = $w;
 
-             me.render(".edui-image-local", 1);
 
-             me.config(".edui-image-upload1");
 
-             me.submit();
 
-             me.drag();
 
-             $(".edui-image-upload1").hover(function () {
 
-                 $(".edui-image-icon", this).toggleClass("hover");
 
-             });
 
-             if (!(UM.browser.ie && UM.browser.version <= 9)) {
 
-                 $(".edui-image-dragTip", me.dialog).css("display", "block");
 
-             }
 
-             return me;
 
-         },
 
-         render: function (sel, t) {
 
-             var me = this;
 
-             $(sel, me.dialog).append($(me.uploadTpl.replace(/%%/g, t)));
 
-             return me;
 
-         },
 
-         config: function (sel) {
 
-             var me = this,
 
-                 url=me.editor.options.imageUrl;
 
-             url=url + (url.indexOf("?") == -1 ? "?" : "&") + "editorid="+me.editor.id;//初始form提交地址;
 
-             $("form", $(sel, me.dialog)).attr("action", url);
 
-             return me;
 
-         },
 
-         uploadComplete: function(r){
 
-             var me = this;
 
-             try{
 
-                 var json = eval('('+r+')');
 
-                 Base.callback(me.editor, me.dialog, json.url, json.state);
 
-             }catch (e){
 
-                 var lang = me.editor.getLang('image');
 
-                 Base.callback(me.editor, me.dialog, '', (lang && lang.uploadError) || 'Error!');
 
-             }
 
-         },
 
-         submit: function (callback) {
 
-             var me = this,
 
-                 input = $( '<input style="filter: alpha(opacity=0);" class="edui-image-file" type="file" hidefocus="" name="upfile" accept="image/gif,image/jpeg,image/png,image/jpg,image/bmp">'),
 
-                 input = input[0];
 
-             $(me.dialog).delegate( ".edui-image-file", "change", function ( e ) {
 
-                 if ( !this.parentNode ) {
 
-                     return;
 
-                 }
 
-                 $('<iframe name="up"  style="display: none"></iframe>').insertBefore(me.dialog).on('load', function(){
 
-                     var r = this.contentWindow.document.body.innerHTML;
 
-                     if(r == '')return;
 
-                     me.uploadComplete(r);
 
-                     $(this).unbind('load');
 
-                     $(this).remove();
 
-                 });
 
-                 $(this).parent()[0].submit();
 
-                 Upload.updateInput( input );
 
-                 me.toggleMask("Loading....");
 
-                 callback && callback();
 
-             });
 
-             return me;
 
-         },
 
-         //更新input
 
-         updateInput: function ( inputField ) {
 
-             $( ".edui-image-file", this.dialog ).each( function ( index, ele ) {
 
-                 ele.parentNode.replaceChild( inputField.cloneNode( true ), ele );
 
-             } );
 
-         },
 
-         //更新上传框
 
-         updateView: function () {
 
-             if ( Upload.showCount !== 0 ) {
 
-                 return;
 
-             }
 
-             $(".edui-image-upload2", this.dialog).hide();
 
-             $(".edui-image-dragTip", this.dialog).show();
 
-             $(".edui-image-upload1", this.dialog).show();
 
-         },
 
-         drag: function () {
 
-             var me = this;
 
-             //做拽上传的支持
 
-             if (!UM.browser.ie9below) {
 
-                 me.dialog.find('.edui-image-content').on('drop',function (e) {
 
-                     //获取文件列表
 
-                     var fileList = e.originalEvent.dataTransfer.files;
 
-                     var img = document.createElement('img');
 
-                     var hasImg = false;
 
-                     $.each(fileList, function (i, f) {
 
-                         if (/^image/.test(f.type)) {
 
-                             //创建图片的base64
 
-                             Base.createImgBase64(img, f, me.dialog);
 
-                             var xhr = new XMLHttpRequest();
 
-                             xhr.open("post", me.editor.getOpt('imageUrl') + "?type=ajax", true);
 
-                             xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
 
-                             //模拟数据
 
-                             var fd = new FormData();
 
-                             fd.append(me.editor.getOpt('imageFieldName'), f);
 
-                             xhr.send(fd);
 
-                             xhr.addEventListener('load', function (e) {
 
-                                 var r = e.target.response, json;
 
-                                 me.uploadComplete(r);
 
-                                 if (i == fileList.length - 1) {
 
-                                     $(img).remove()
 
-                                 }
 
-                             });
 
-                             hasImg = true;
 
-                         }
 
-                     });
 
-                     if (hasImg) {
 
-                         e.preventDefault();
 
-                         me.toggleMask("Loading....");
 
-                     }
 
-                 }).on('dragover', function (e) {
 
-                         e.preventDefault();
 
-                     });
 
-             }
 
-         },
 
-         toggleMask: function (html) {
 
-             var me = this;
 
-             var $mask = $(".edui-image-mask", me.dialog);
 
-             if (html) {
 
-                 if (!(UM.browser.ie && UM.browser.version <= 9)) {
 
-                     $(".edui-image-dragTip", me.dialog).css( "display", "none" );
 
-                 }
 
-                 $(".edui-image-upload1", me.dialog).css( "display", "none" );
 
-                 $mask.addClass("edui-active").html(html);
 
-             } else {
 
-                 $mask.removeClass("edui-active").html();
 
-                 if ( Upload.showCount > 0 ) {
 
-                     return me;
 
-                 }
 
-                 if (!(UM.browser.ie && UM.browser.version <= 9) ){
 
-                     $(".edui-image-dragTip", me.dialog).css("display", "block");
 
-                 }
 
-                 $(".edui-image-upload1", me.dialog).css( "display", "block" );
 
-             }
 
-             return me;
 
-         }
 
-     };
 
-     /*
 
-      * 网络图片
 
-      * */
 
-     var NetWork = {
 
-         init: function (editor, $w) {
 
-             var me = this;
 
-             me.editor = editor;
 
-             me.dialog = $w;
 
-             me.initEvt();
 
-         },
 
-         initEvt: function () {
 
-             var me = this,
 
-                 url,
 
-                 $ele = $(".edui-image-searchTxt", me.dialog);
 
-             $(".edui-image-searchAdd", me.dialog).on("click", function () {
 
-                 url = Base.checkURL($ele.val());
 
-                 if (url) {
 
-                     $("<img src='" + url + "' class='edui-image-pic' />").on("load", function () {
 
-                         var $item = $("<div class='edui-image-item'><div class='edui-image-close'></div></div>").append(this);
 
-                         $(".edui-image-searchRes", me.dialog).append($item);
 
-                         Base.scale(this, 120);
 
-                         $item.width($(this).width());
 
-                         Base.close($(this));
 
-                         $ele.val("");
 
-                     });
 
-                 }
 
-             })
 
-                 .hover(function () {
 
-                     $(this).toggleClass("hover");
 
-                 });
 
-         }
 
-     };
 
-     var $tab = null,
 
-         currentDialog = null;
 
-     UM.registerWidget('image', {
 
-         tpl: "<link rel=\"stylesheet\" type=\"text/css\" href=\"<%=image_url%>image.css\">" +
 
-             "<div class=\"edui-image-wrapper\">" +
 
-             "<ul class=\"edui-tab-nav\">" +
 
-             "<li class=\"edui-tab-item edui-active\"><a data-context=\".edui-image-local\" class=\"edui-tab-text\"><%=lang_tab_local%></a></li>" +
 
-             "<li  class=\"edui-tab-item\"><a data-context=\".edui-image-JimgSearch\" class=\"edui-tab-text\"><%=lang_tab_imgSearch%></a></li>" +
 
-             "</ul>" +
 
-             "<div class=\"edui-tab-content\">" +
 
-             "<div class=\"edui-image-local edui-tab-pane edui-active\">" +
 
-             "<div class=\"edui-image-content\"></div>" +
 
-             "<div class=\"edui-image-mask\"></div>" +
 
-             "<div class=\"edui-image-dragTip\"><%=lang_input_dragTip%></div>" +
 
-             "</div>" +
 
-             "<div class=\"edui-image-JimgSearch edui-tab-pane\">" +
 
-             "<div class=\"edui-image-searchBar\">" +
 
-             "<table><tr><td><input class=\"edui-image-searchTxt\" type=\"text\"></td>" +
 
-             "<td><div class=\"edui-image-searchAdd\"><%=lang_btn_add%></div></td></tr></table>" +
 
-             "</div>" +
 
-             "<div class=\"edui-image-searchRes\"></div>" +
 
-             "</div>" +
 
-             "</div>" +
 
-             "</div>",
 
-         initContent: function (editor, $dialog) {
 
-             var lang = editor.getLang('image')["static"],
 
-                 opt = $.extend({}, lang, {
 
-                     image_url: UMEDITOR_CONFIG.UMEDITOR_HOME_URL + 'dialogs/image/'
 
-                 });
 
-             Upload.showCount = 0;
 
-             if (lang) {
 
-                 var html = $.parseTmpl(this.tpl, opt);
 
-             }
 
-             currentDialog = $dialog.edui();
 
-             this.root().html(html);
 
-         },
 
-         initEvent: function (editor, $w) {
 
-             $tab = $.eduitab({selector: ".edui-image-wrapper"})
 
-                 .edui().on("beforeshow", function (e) {
 
-                     e.stopPropagation();
 
-                 });
 
-             Upload.init(editor, $w);
 
-             NetWork.init(editor, $w);
 
-         },
 
-         buttons: {
 
-             'ok': {
 
-                 exec: function (editor, $w) {
 
-                     var sel = "",
 
-                         index = $tab.activate();
 
-                     if (index == 0) {
 
-                         sel = ".edui-image-content .edui-image-pic";
 
-                     } else if (index == 1) {
 
-                         sel = ".edui-image-searchRes .edui-image-pic";
 
-                     }
 
-                     var list = Base.getAllPic(sel, $w, editor);
 
-                     if (index != -1) {
 
-                         editor.execCommand('insertimage', list);
 
-                     }
 
-                 }
 
-             },
 
-             'cancel': {}
 
-         },
 
-         width: 700,
 
-         height: 408
 
-     }, function (editor, $w, url, state) {
 
-         Base.callback(editor, $w, url, state)
 
-     })
 
- })();
 
 
  |