Files
gangyan/chat_web_front/public/UEditorPlus/dialogs/scrawl/scrawl.js

2 lines
12 KiB
JavaScript
Raw Normal View History

/*! UEditorPlus v2.0.0*/
function ue_callback(a,b){function c(a,b,c,d){var e,f=0,g=0,h=a.width||c,i=a.height||d;(h>b||i>b)&&(h>=i?(f=h-b)&&(e=(f/h).toFixed(2),a.height=i-i*e,a.width=b):(g=i-b)&&(e=(g/i).toFixed(2),a.width=h-h*e,a.height=b))}var d=document,e=$G("J_picBoard"),f=d.createElement("img");removeMaskLayer(),"SUCCESS"==b?(e.innerHTML="",f.onload=function(){c(this,300),e.appendChild(f);var a=new scrawl;a.btn2Highlight("J_removeImg"),a.btn2Highlight("J_sacleBoard")},f.src=a):alert(b)}function removeMaskLayer(){var a=$G("J_maskLayer");a.className="maskLayerNull",a.innerHTML="",dialog.buttons[0].setDisabled(!1)}function addMaskLayer(a){var b=$G("J_maskLayer");dialog.buttons[0].setDisabled(!0),b.className="maskLayer",b.innerHTML=a}function exec(scrawlObj){if(scrawlObj.isScrawl){addMaskLayer(lang.scrawlUpLoading);var base64=scrawlObj.getCanvasData();if(base64){var successHandler=function(a){var b={},c=editor.options.scrawlUrlPrefix+a.url;b.src=c,b._src=c,b.alt=a.original||"",editor.execCommand("insertImage",b),dialog.close(),editor.fireEvent("uploadsuccess",{res:a,type:"scrawl"})};if(editor.getOpt("uploadServiceEnable")){var file=utils.base64toBlob(base64,"image/png");return void editor.getOpt("uploadServiceUpload")("image",file,{success:function(a){scrawlObj.isCancelScrawl||successHandler(a)},error:function(a){alert(lang.imageError+" : "+a),dialog.close()},progress:function(a){}},{from:"scrawl"})}var options={timeout:1e5,headers:editor.options.serverHeaders||{},onsuccess:function(xhr){if(!scrawlObj.isCancelScrawl){var responseObj;responseObj=eval("("+xhr.responseText+")"),"SUCCESS"===responseObj.state?successHandler(responseObj):alert(responseObj.state)}},onerror:function(){alert(lang.imageError),dialog.close()}};options[editor.getOpt("scrawlFieldName")]=base64;var actionUrl=editor.getActionUrl(editor.getOpt("scrawlActionName")),params=utils.serializeParam(editor.queryCommandValue("serverparam"))||"",url=utils.formatUrl(actionUrl+(actionUrl.indexOf("?")==-1?"?":"&")+params);ajax.request(url,options)}}else addMaskLayer(lang.noScarwl+"&nbsp;&nbsp;&nbsp;<input type='button' value='"+lang.continueBtn+"' onclick='removeMaskLayer()'/>")}var scrawl=function(a){a&&this.initOptions(a)};!function(){var a=$G("J_brushBoard"),b=a.getContext("2d"),c=[],d=0;scrawl.prototype={isScrawl:!1,brushWidth:-1,brushColor:"",initOptions:function(a){var b=this;b.originalState(a),b._buildToolbarColor(a.colorList),b._addBoardListener(a.saveNum),b._addOPerateListener(a.saveNum),b._addColorBarListener(),b._addBrushBarListener(),b._addEraserBarListener(),b._addAddImgListener(),b._addRemoveImgListenter(),b._addScalePicListenter(),b._addClearSelectionListenter(),b._originalColorSelect(a.drawBrushColor),b._originalBrushSelect(a.drawBrushSize),b._clearSelection()},originalState:function(a){var c=this;c.brushWidth=a.drawBrushSize,c.brushColor=a.drawBrushColor,b.lineWidth=c.brushWidth,b.strokeStyle=c.brushColor,b.fillStyle="transparent",b.lineCap="round",b.fill()},_buildToolbarColor:function(a){var b=null,c=[];c.push("<table id='J_colorList'>");for(var d,e=0;d=a[e++];)(e-1)%5==0&&(1!=e&&c.push("</tr>"),c.push("<tr>")),b="#"+d,c.push("<td><a title='"+b+"' href='javascript:void(0)' style='background-color:"+b+"'></a></td>");c.push("</tr></table>"),$G("J_colorBar").innerHTML=c.join("")},_addBoardListener:function(e){var f,g=this,h=0,i=-1,j=-1,k=!1,l=!1,m=!1,n=0,o="";h=parseInt(domUtils.getComputedStyle($G("J_wrap"),"margin-left")),c.push(b.getImageData(0,0,b.canvas.width,b.canvas.height)),d+=1,domUtils.on(a,["mousedown","mousemove","mouseup","mouseout"],function(a){switch(f=browser.webkit?a.which:n,a.type){case"mousedown":n=1,o=1,k=!0,m=!1,l=!1,g.isScrawl=!0,i=a.clientX-h,j=a.clientY-h,b.beginPath();break;case"mousemove":if(!o&&0==f)return;if(!o&&f&&(i=a.clientX-h,j=a.clientY-h,b.beginPath(),o=1),m||!k)return;var c=a.clientX-h,d=a.clientY-h;b.moveTo(i,j),b.lineTo(c,d),b.stroke(),i=c,j=d,l=!0;break;case"mouseup":if(n=0,!k)return;l||(b.arc(i,j,b.lineWidth,0,2*Math.PI,!1),b.fillStyle=b.strokeStyle,b.fill()),b.closePath(),g._saveOPerate(e),k=!1,l=!1,m=!0,i=-1,j=-1;break;case"mouseout"