video.min.js 12 KB

1
  1. (function(){var r={},o=[],b=false,c;window.onload=function(){$focus($G("videoUrl"));t();g();n()};function t(){var w=$G("tabHeads").children;for(var v=0;v<w.length;v++){domUtils.on(w[v],"click",function(A){var x,y,z=A.target||A.srcElement;for(x=0;x<w.length;x++){y=w[x].getAttribute("data-content-id");if(w[x]==z){domUtils.addClass(w[x],"focus");domUtils.addClass($G(y),"focus")}else{domUtils.removeClasses(w[x],"focus");domUtils.removeClasses($G(y),"focus")}}})}}function g(){s(["videoFloat","upload_alignment"]);l($G("videoUrl"));p();(function(){var v=editor.selection.getRange().getClosedNode(),w;if(v&&v.className){var x=(v.className=="edui-faked-video"),y=v.className.indexOf("edui-upload-video")!=-1;if(x||y){$G("videoUrl").value=w=v.getAttribute("_url");$G("videoWidth").value=v.width;$G("videoHeight").value=v.height;var A=domUtils.getComputedStyle(v,"float"),z=domUtils.getComputedStyle(v.parentNode,"text-align");u(z==="center"?"center":A)}if(y){b=true}}d(w)})()}function p(){dialog.onok=function(){$G("preview").innerHTML="";var v=f("tabHeads","tabSrc");switch(v){case"video":return j();break;case"videoSearch":return a("searchList");break;case"upload":return h();break}};dialog.oncancel=function(){$G("preview").innerHTML=""}}function u(y){var x=$G("videoFloat").children;for(var w=0,v;v=x[w++];){if(v.getAttribute("name")==y){if(v.className!="focus"){v.className="focus"}}else{if(v.className=="focus"){v.className=""}}}}function j(){var x=$G("videoWidth"),v=$G("videoHeight"),w=$G("videoUrl").value,y=f("videoFloat","name");if(!w){return false}if(!q([x,v])){return false}editor.execCommand("insertvideo",{url:e(w),width:x.value,height:v.value,align:y},b?"upload":null)}function a(z){var y=domUtils.getElementsByTagName($G(z),"img"),x=[];for(var w=0,v;v=y[w++];){if(v.getAttribute("selected")){x.push({url:v.getAttribute("ue_video_url"),width:420,height:280,align:"none"})}}editor.execCommand("insertvideo",x)}function f(A,v){var y=$G(A).children,z;for(var x=0,w;w=y[x++];){if(w.className=="focus"){z=w.getAttribute(v);break}}return z}function e(v){if(!v){return""}v=utils.trim(v).replace(/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html/i,"player.youku.com/player.php/sid/$1/v.swf").replace(/(www\.)?youtube\.com\/watch\?v=([\w\-]+)/i,"www.youtube.com/v/$2").replace(/youtu.be\/(\w+)$/i,"www.youtube.com/v/$1").replace(/v\.ku6\.com\/.+\/([\w\.]+)\.html.*$/i,"player.ku6.com/refer/$1/v.swf").replace(/www\.56\.com\/u\d+\/v_([\w\-]+)\.html/i,"player.56.com/v_$1.swf").replace(/www.56.com\/w\d+\/play_album\-aid\-\d+_vid\-([^.]+)\.html/i,"player.56.com/v_$1.swf").replace(/v\.pps\.tv\/play_([\w]+)\.html.*$/i,"player.pps.tv/player/sid/$1/v.swf").replace(/www\.letv\.com\/ptv\/vplay\/([\d]+)\.html.*$/i,"i7.imgs.letv.com/player/swfPlayer.swf?id=$1&autoplay=0").replace(/www\.tudou\.com\/programs\/view\/([\w\-]+)\/?/i,"www.tudou.com/v/$1").replace(/v\.qq\.com\/cover\/[\w]+\/[\w]+\/([\w]+)\.html/i,"static.video.qq.com/TPout.swf?vid=$1").replace(/v\.qq\.com\/.+[\?\&]vid=([^&]+).*$/i,"static.video.qq.com/TPout.swf?vid=$1").replace(/my\.tv\.sohu\.com\/[\w]+\/[\d]+\/([\d]+)\.shtml.*$/i,"share.vrs.sohu.com/my/v.swf&id=$1");return v}function q(v){for(var x=0,w;w=v[x++];){var y=w.value;if(!k(y)&&y){alert(lang.numError);w.value="";w.focus();return false}}return true}function k(v){return/(0|^[1-9]\d*$)/.test(v)}function s(A){for(var z=0,y;y=A[z++];){var x=$G(y),v={none:lang["default"],left:lang.floatLeft,right:lang.floatRight,center:lang.block};for(var w in v){var B=document.createElement("div");B.setAttribute("name",w);if(w=="none"){B.className="focus"}B.style.cssText="background:url(images/"+w+"_focus.jpg);";B.setAttribute("title",v[w]);x.appendChild(B)}i(y)}}function i(y){var x=$G(y).children;for(var w=0,v;v=x[w++];){domUtils.on(v,"click",function(){for(var A=0,z;z=x[A++];){z.className="";z.removeAttribute&&z.removeAttribute("class")}this.className="focus"})}}function l(v){if(browser.ie){v.onpropertychange=function(){d(this.value)}}else{v.addEventListener("input",function(){d(this.value)},false)}}function d(v){if(!v){return}var w=e(v);$G("preview").innerHTML='<div class="previewMsg"><span>'+lang.urlError+'</span></div><video class="previewVideo" src="'+w+'" width="'+420+'" height="'+280+'" play="true" loop="false" data-setup="{}" controls="controls" preload="auto"></video>'}function h(){var B=[],w=editor.getOpt("videoUrlPrefix"),z=$G("upload_width").value||420,v=$G("upload_height").value||280,C=f("upload_alignment","name")||"none";for(var y in o){var x=o[y];B.push({url:w+x.url,width:z,height:v,align:C})}var A=c.getQueueCount();if(A){$(".info","#queueList").html('<span style="color:red;">'+"还有2个未上传文件".replace(/[\d]/,A)+"</span>");return false}else{editor.execCommand("insertvideo",B,"upload")}}function n(){c=new m("queueList")}function m(v){this.$wrap=v.constructor==String?$("#"+v):$(v);this.init()}m.prototype={init:function(){this.fileList=[];this.initContainer();this.initUploader()},initContainer:function(){this.$queue=this.$wrap.find(".filelist")},initUploader:function(){var P=this,C=jQuery,L=P.$wrap,E=L.find(".filelist"),T=L.find(".statusBar"),x=T.find(".info"),w=L.find(".uploadBtn"),H=L.find(".filePickerBtn"),M=L.find(".filePickerBlock"),B=L.find(".placeholder"),K=T.find(".progress").hide(),V=0,J=0,G=window.devicePixelRatio||1,I=113*G,v=113*G,D="",W={},S=(function(){var X=document.createElement("p").style,Y="transition" in X||"WebkitTransition" in X||"MozTransition" in X||"msTransition" in X||"OTransition" in X;X=null;return Y})(),O,F=editor.getActionUrl(editor.getOpt("videoActionName")),A=editor.getOpt("videoMaxSize"),Q=(editor.getOpt("videoAllowFiles")||[]).join("").replace(/\./g,",").replace(/^[,]/,"");if(!WebUploader.Uploader.support()){C("#filePickerReady").after(C("<div>").html(lang.errorNotSupport)).hide();return}else{if(!editor.getOpt("videoActionName")){C("#filePickerReady").after(C("<div>").html(lang.errorLoadConfig)).hide();return}}O=P.uploader=WebUploader.create({pick:{id:"#filePickerReady",label:lang.uploadSelectFile},swf:"../../third-party/webuploader/Uploader.swf",server:F,fileVal:editor.getOpt("videoFieldName"),duplicate:true,fileSingleSizeLimit:A,compress:false});O.addButton({id:"#filePickerBlock"});O.addButton({id:"#filePickerBtn",label:lang.uploadAddFile});N("pedding");function R(ac){var ad=C('<li id="'+ac.id+'"><p class="title">'+ac.name+'</p><p class="imgWrap"></p><p class="progress"><span></span></p></li>'),aa=C('<div class="file-panel"><span class="cancel">'+lang.uploadDelete+'</span><span class="rotateRight">'+lang.uploadTurnRight+'</span><span class="rotateLeft">'+lang.uploadTurnLeft+"</span></div>").appendTo(ad),Z=ad.find("p.progress span"),Y=ad.find("p.imgWrap"),ab=C('<p class="error"></p>').hide().appendTo(ad),X=function(ae){switch(ae){case"exceed_size":text=lang.errorExceedSize;break;case"interrupt":text=lang.errorInterrupt;break;case"http":text=lang.errorHttp;break;case"not_allow_type":text=lang.errorFileType;break;default:text=lang.errorUploadRetry;break}ab.text(text).show()};if(ac.getStatus()==="invalid"){X(ac.statusText)}else{Y.text(lang.uploadPreview);if("|png|jpg|jpeg|bmp|gif|".indexOf("|"+ac.ext.toLowerCase()+"|")==-1){Y.empty().addClass("notimage").append('<i class="file-preview file-type-'+ac.ext.toLowerCase()+'"></i><span class="file-title">'+ac.name+"</span>")}else{if(browser.ie&&browser.version<=7){Y.text(lang.uploadNoPreview)}else{O.makeThumb(ac,function(ae,ag){if(ae||!ag||(/^data:/.test(ag)&&browser.ie&&browser.version<=7)){Y.text(lang.uploadNoPreview)}else{var af=C('<img src="'+ag+'">');Y.empty().append(af);af.on("error",function(){Y.text(lang.uploadNoPreview)})}},I,v)}}W[ac.id]=[ac.size,0];ac.rotation=0;if(!ac.ext||Q.indexOf(ac.ext.toLowerCase())==-1){X("not_allow_type");O.removeFile(ac)}}ac.on("statuschange",function(af,ae){if(ae==="progress"){Z.hide().width(0)}else{if(ae==="queued"){ad.off("mouseenter mouseleave");aa.remove()}}if(af==="error"||af==="invalid"){X(ac.statusText);W[ac.id][1]=1}else{if(af==="interrupt"){X("interrupt")}else{if(af==="queued"){W[ac.id][1]=0}else{if(af==="progress"){ab.hide();Z.css("display","block")}else{if(af==="complete"){}}}}}ad.removeClass("state-"+ae).addClass("state-"+af)});ad.on("mouseenter",function(){aa.stop().animate({height:30})});ad.on("mouseleave",function(){aa.stop().animate({height:0})});aa.on("click","span",function(){var ae=C(this).index(),af;switch(ae){case 0:O.removeFile(ac);return;case 1:ac.rotation+=90;break;case 2:ac.rotation-=90;break}if(S){af="rotate("+ac.rotation+"deg)";Y.css({"-webkit-transform":af,"-mos-transform":af,"-o-transform":af,transform:af})}else{Y.css("filter","progid:DXImageTransform.Microsoft.BasicImage(rotation="+(~~((ac.rotation/90)%4+4)%4)+")")}});ad.insertBefore(M)}function U(X){var Y=C("#"+X.id);delete W[X.id];y();Y.off().find(".file-panel").off().end().remove()}function y(){var X=0,aa=0,Y=K.children(),Z;C.each(W,function(ac,ab){aa+=ab[0];X+=ab[0]*ab[1]});Z=aa?X/aa:0;Y.eq(0).text(Math.round(Z*100)+"%");Y.eq(1).css("width",Math.round(Z*100)+"%");z()}function N(Z,Y){if(Z!=D){var X=O.getStats();w.removeClass("state-"+D);w.addClass("state-"+Z);switch(Z){case"pedding":E.addClass("element-invisible");T.addClass("element-invisible");B.removeClass("element-invisible");K.hide();x.hide();O.refresh();break;case"ready":B.addClass("element-invisible");E.removeClass("element-invisible");T.removeClass("element-invisible");K.hide();x.show();w.text(lang.uploadStart);O.refresh();break;case"uploading":K.show();x.hide();w.text(lang.uploadPause);break;case"paused":K.show();x.hide();w.text(lang.uploadContinue);break;case"confirm":K.show();x.hide();w.text(lang.uploadStart);X=O.getStats();if(X.successNum&&!X.uploadFailNum){N("finish");return}break;case"finish":K.hide();x.show();if(X.uploadFailNum){w.text(lang.uploadRetry)}else{w.text(lang.uploadStart)}break}D=Z;z()}if(!P.getQueueCount()){w.addClass("disabled")}else{w.removeClass("disabled")}}function z(){var Y="",X;if(D==="ready"){Y=lang.updateStatusReady.replace("_",V).replace("_KB",WebUploader.formatSize(J))}else{if(D==="confirm"){X=O.getStats();if(X.uploadFailNum){Y=lang.updateStatusConfirm.replace("_",X.successNum).replace("_",X.successNum)}}else{X=O.getStats();Y=lang.updateStatusFinish.replace("_",V).replace("_KB",WebUploader.formatSize(J)).replace("_",X.successNum);if(X.uploadFailNum){Y+=lang.updateStatusError.replace("_",X.uploadFailNum)}}}x.html(Y)}O.on("fileQueued",function(X){V++;J+=X.size;if(V===1){B.addClass("element-invisible");T.show()}R(X)});O.on("fileDequeued",function(X){V--;J-=X.size;U(X);y()});O.on("filesQueued",function(X){if(!O.isInProgress()&&(D=="pedding"||D=="finish"||D=="confirm"||D=="ready")){N("ready")}y()});O.on("all",function(Y,Z){switch(Y){case"uploadFinished":N("confirm",Z);break;case"startUpload":var aa=utils.serializeParam(editor.queryCommandValue("serverparam"))||"",X=utils.formatUrl(F+(F.indexOf("?")==-1?"?":"&")+"encode=utf-8&"+aa);O.option("server",X);N("uploading",Z);break;case"stopUpload":N("paused",Z);break}});O.on("uploadBeforeSend",function(X,Y,Z){if(F.toLowerCase().indexOf("jsp")!=-1){Z.X_Requested_With="XMLHttpRequest"}});O.on("uploadProgress",function(Z,X){var aa=C("#"+Z.id),Y=aa.find(".progress span");Y.css("width",X*100+"%");W[Z.id][1]=X;y()});O.on("uploadSuccess",function(aa,Y){var X=C("#"+aa.id);try{var ab=(Y._raw||Y),Z=utils.str2json(ab);if(Z.state=="SUCCESS"){o.push({url:Z.url,type:Z.type,original:Z.original});X.append('<span class="success"></span>')}else{X.find(".error").text(Z.state).show()}}catch(ac){X.find(".error").text(lang.errorServerUpload).show()}});O.on("uploadError",function(X,Y){});O.on("error",function(Y,X){if(Y=="Q_TYPE_DENIED"||Y=="F_EXCEED_SIZE"){R(X)}});O.on("uploadComplete",function(Y,X){});w.on("click",function(){if(C(this).hasClass("disabled")){return false}if(D==="ready"){O.upload()}else{if(D==="paused"){O.upload()}else{if(D==="uploading"){O.stop()}}}});w.addClass("state-"+D);y()},getQueueCount:function(){var x,w,v,z=0,y=this.uploader.getFiles();for(w=0;x=y[w++];){v=x.getStatus();if(v=="queued"||v=="uploading"||v=="progress"){z++}}return z},refresh:function(){this.uploader.refresh()}}})();