UNPKG

@progress/kendo-ui

Version:

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

1 lines 5.61 kB
module.exports=function(a){var t={};function n(e){if(t[e])return t[e].exports;var o=t[e]={exports:{},id:e,loaded:!1};return a[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}return n.m=a,n.c=t,n.p="",n(0)}({0:function(e,o,a){e.exports=a(1321)},3:function(e,o){e.exports=function(){throw Error("define cannot be used indirect")}},1321:function(e,o,a){var t;a(3),a=[a(1322),a(1323)],void 0===(o="function"==typeof(t=function(){var e={id:"imageeditor",name:"ImageEditor",category:"web",depends:["core"]},i=window.kendo.jQuery,o=void 0,n=window.kendo,r=i.extend,g=i.isPlainObject,t=n.ui.Widget,d=n.ui,s=".kendoImageEditor",c=n._outerHeight,a="error",m="imageLoaded",u="imageRendered",l="execute",p={wrapper:"k-widget k-imageeditor",header:"k-imageeditor-header",toolbar:"k-imageeditor-toolbar",paneWrapper:"k-imageeditor-action-pane",contentWrapper:"k-imageeditor-content",canvasWrapper:"k-imageeditor-canvas-container",canvasContainer:"k-imageeditor-canvas"},v=t.extend({init:function(e,o){var a=this;t.fn.init.call(a,e,o);o=i.extend(true,{},o);a._wrapper();a._renderHeader();a._contentWrapper();a._keyHandler();if(o.imageUrl)a._drawCanvas();a._initUndoRedoStack();a._toggleTools();n.notify(a)},options:{name:"ImageEditor",width:"100%",height:570,imageUrl:"",toolbar:{},saveAs:{fileName:"image.png"},messages:{toolbar:{open:"Open Image",save:"Save Image",undo:"Undo",redo:"Redo",crop:"Crop",resize:"Resize",zoomIn:"Zoom In",zoomOut:"Zoom Out",zoomDropdown:"Zoom options",zoomActualSize:"Show actual size",zoomFitToScreen:"Fit to screen"},panes:{crop:{title:"Crop Image",aspectRatio:"Aspect Ratio:",aspectRatioItems:{originalRatio:"Original ratio","1:1":"1:1 (Square)","4:5":"4:5 (8:10)","5:7":"5:7","2:3":"2:3 (4:6)","16:9":"16:9"},orientation:"Orientation:",portrait:"Portrait",landscape:"Landscape"},resize:{title:"Resize image",pixels:"Pixels",percents:"Percents"}},common:{width:"Width:",height:"Height:",cancel:"Cancel",confirm:"Confirm",lockAspectRatio:"Lock aspect ratio"}}},events:[a,m,u,l],_wrapper:function(){var e=this,o=e.options,a=o.width,t=o.height;e.wrapper=e.element.addClass(p.wrapper);if(a)e.wrapper.width(a);if(t)e.wrapper.height(t);e._resizeHandler=n.onResize(function(){e.resize(true)})},_renderHeader:function(){var e=this,o=e.options;e.header=i("<div />").addClass(p.header);if(o.toolbar)e.header.append(e._initToolbar().element);e.wrapper.append(e.header)},_initToolbar:function(){var e=this,o=e.options,a=i("<div></div>").addClass(p.toolbar),t=r({},o.toolbar,{messages:o.messages.toolbar,action:e.executeCommand.bind(e)});e.toolbar=new d.imageeditor.ToolBar(a,t);return e.toolbar},_contentWrapper:function(){var e=this,o=i("<div></div>").addClass(p.contentWrapper),a=i("<div></div>").addClass(p.canvasWrapper),t=i("<div></div>").addClass(p.canvasContainer),n=i("<div></div>").addClass(p.paneWrapper).hide(),r=c(e.header);e.canvasWrapper=a;e.canvasContainer=t;e.paneWrapper=n;a.append(t);o.height(c(e.wrapper)-r);o.append(a).append(n);e.wrapper.append(o)},_keyHandler:function(){var o=this,a=false;o.wrapper.on("keydown"+s,function(e){if(e.ctrlKey){switch(e.keyCode){case 48:o.executeCommand({command:"ZoomImageEditorCommand",options:"fitToScreen"});a=true;break;case 189:o.executeCommand({command:"ZoomImageEditorCommand",options:"zoomOut"});a=true;break;case 187:o.executeCommand({command:"ZoomImageEditorCommand",options:"zoomIn"});a=true;break;case 90:o.executeCommand({command:"UndoImageEditorCommand"});a=true;break;case 89:o.executeCommand({command:"RedoImageEditorCommand"});a=true;break}if(a)e.preventDefault()}})},_drawCanvas:function(){var o=this;var e=o.options.imageUrl;o.drawImage(e).done(function(e){if(!o.trigger(m,{image:e}))o.drawCanvas(e)}).fail(function(e){o.trigger(a,e)})},_initUndoRedoStack:function(){var e=this;e.undoStack=[];e.redoStack=[]},_toggleTools:function(){var e=this,o=e.redoStack.length>0,a=e.undoStack.length>0,t=!!e._image,n=true;try{e._canvas.toDataURL()}catch(e){n=false}e.toolbar.toggleTools({redo:o,undo:a,enable:t,canExport:n})},drawImage:function(e){var o=this,a=new i.Deferred,t=new Image;t.onload=function(){n.ui.progress(o.canvasContainer,false);a.resolve(t)};t.onerror=function(){n.ui.progress(o.canvasContainer,false);a.reject(arguments)};n.ui.progress(o.canvasContainer,true);t.src=e;return a.promise()},drawCanvas:function(e){var o=this;var a=i("<canvas>Canvas element</canvas>")[0];var t=a.getContext("2d");if(o._canvas)i(o._canvas).remove();if(o._image)o.undoStack.push(o._image);o._canvas=a;o._ctx=t;o._image=e;a.width=e.width;a.height=e.height;t.drawImage(e,0,0);o.canvasContainer.append(a);if(e.height>o.canvasWrapper.height())o.executeCommand({command:"ZoomImageEditorCommand",options:"fitToScreen"});else o.executeCommand({command:"ZoomImageEditorCommand",options:o.getZoomLevel()});o.trigger(u,{canvas:a,ctx:t,image:e});o._toggleTools()},getCanvasElement:function(){return this._canvas},getCurrent2dContext:function(){return this._ctx},getCurrentImage:function(){return this._image},executeCommand:function(e){var o=e.command,a=r({imageeditor:this},g(e.options)?e.options:{value:e.options}),t=new d.imageeditor.commands[o](a);if(!this.trigger(l,e)){this._toggleTools();return t.exec()}},getZoomLevel:function(){return this._zoomLevel||1},destroy:function(){var e=this;e.element.off(s);if(e.currentPaneTool)e.currentPaneTool.destroy();if(e.toolbar)e.toolbar.destroy();if(e._upload)e._upload.destroy();t.fn.destroy.call(e)}});return d.plugin(v),window.kendo})?t.apply(o,a):t)||(e.exports=o)},1322:function(e,o){e.exports=require("./imageeditor/toolbar")},1323:function(e,o){e.exports=require("./imageeditor/commands")}});