UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 4.29 kB
module.exports=function(i){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={exports:{},id:e,loaded:!1};return i[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}return o.m=i,o.c=n,o.p="",o(0)}({0:function(e,t,i){e.exports=i(1043)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1043:function(e,t,i){var n;i(3),i=[i(1044),i(1045)],void 0===(t="function"==typeof(n=function(){var d=window.kendo.jQuery,c=void 0,n=window.kendo,o=n.ui.imageeditor,a=d.extend,h,t=n.Class.extend({init:function(e){this.options=a({},e,this.options);this.imageeditor=e.imageeditor}}),e=t.extend({init:function(e){t.fn.init.call(this,e)},exec:function(){var e=this,t=e.imageeditor,i=new o.panes[e.options.value](t);i.open()}}),i=t.extend({options:{zoomStep:.05,spacing:20},init:function(e){t.fn.init.call(this,e)},exec:function(){var e=this,t=e.options,i=t.value,n=e.imageeditor,o=n._image.height,a=n.getZoomLevel(),r=o;if(!isNaN(i))i=parseFloat(i);else if(typeof i==="string")i=e._processStringValue(i,a);r=Math.round(o*i);if(r>0){d(n._canvas).css("height",r);n._zoomLevel=i}if(n.currentPaneTool)n.currentPaneTool.refresh()},_processStringValue:function(e,t){var i=this,n=i.options,o=i.imageeditor,a=o._image.height,r=o.canvasWrapper.height()-n.spacing,d=n.zoomStep;switch(e){case"zoomIn":return t+d;case"zoomOut":return t-d;case"fitToScreen":return Math.round(r/a*100)/100;default:return 1}}}),r=t.extend({init:function(e){t.fn.init.call(this,e)},exec:function(){var e=this,t=e.options,i=e.imageeditor,n=i.getCanvasElement(),o=i.getCurrent2dContext(),a=o.getImageData(t.left,t.top,t.width,t.height);o.clearRect(0,0,n.width,n.height);n.width=t.width;n.height=t.height;o.putImageData(a,0,0);i.drawImage(n.toDataURL()).done(function(e){i.drawCanvas(e)}).fail(function(e){i.trigger("error",e)})}}),g=t.extend({init:function(e){t.fn.init.call(this,e)},exec:function(){var e=this,t=e.options,i=e.imageeditor,n=i.getCanvasElement(),o=i.getCurrent2dContext(),a=i.getCurrentImage();o.clearRect(0,0,n.width,n.height);n.width=t.width;n.height=t.height;o.drawImage(a,0,0,t.width,t.height);i.drawImage(n.toDataURL()).done(function(e){i.drawCanvas(e)}).fail(function(e){i.trigger("error",e)})}}),s=t.extend({exec:function(){var e=this,t=e.imageeditor,i=t.getCanvasElement(),n=t.getCurrent2dContext(),o=t.undoStack.pop();if(o){t.redoStack.push(t.getCurrentImage());delete t._image;n.clearRect(0,0,i.width,i.height);i.width=o.width;i.height=o.height;n.drawImage(o,0,0,o.width,o.height);t.drawImage(i.toDataURL()).done(function(e){t.drawCanvas(e)}).fail(function(e){t.trigger("error",e)})}}}),m=t.extend({exec:function(){var e=this,t=e.imageeditor,i=t.getCanvasElement(),n=t.getCurrent2dContext(),o=t.redoStack.pop();if(o){t.undoStack.push(t.getCurrentImage());delete t._image;n.clearRect(0,0,i.width,i.height);i.width=o.width;i.height=o.height;n.drawImage(o,0,0,o.width,o.height);t.drawImage(i.toDataURL()).done(function(e){t.drawCanvas(e)}).fail(function(e){t.trigger("error",e)})}}}),u=t.extend({exec:function(){var e=this,t=e.imageeditor,i=t.getCanvasElement();n.saveAs(a({},t.options.saveAs,{dataURI:i.toDataURL()}))}}),f=t.extend({exec:function(){var e=this,t=e.imageeditor,i=t._upload;if(!i){var n=d("<input type='file' />");n.kendoUpload({select:e.onSelect.bind(e),error:e.onError.bind(e),multiple:false,validation:{allowedExtensions:[".jpg",".jpeg",".gif",".png",".bmp",".tiff",".webp"]}});t._upload=i=n.getKendoUpload()}i.element.click()},onSelect:function(e){var t=this,i=t.imageeditor,n=e.files[0].rawFile,o=new FileReader;o.addEventListener("load",function(){i.drawImage(o.result).done(function(e){if(!i.trigger("imageLoaded",{image:e})){i.drawCanvas(e);i._initUndoRedoStack();i._toggleTools()}}).fail(function(e){i.trigger("error",e)})},false);if(n)o.readAsDataURL(n)},onError:function(e){var t=this,i=t.imageeditor;i.trigger("error",e)}});return a(n.ui.imageeditor,{ImageEditorCommand:t,commands:{OpenPaneImageEditorCommand:e,ZoomImageEditorCommand:i,CropImageEditorCommand:r,ResizeImageEditorCommand:g,UndoImageEditorCommand:s,RedoImageEditorCommand:m,SaveImageEditorCommand:u,OpenImageEditorCommand:f}}),window.kendo})?n.apply(t,i):n)||(e.exports=t)},1044:function(e,t){e.exports=require("./pane")},1045:function(e,t){e.exports=require("../kendo.upload")}});