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.46 kB
module.exports=function(e){function o(n){if(a[n])return a[n].exports;var t=a[n]={exports:{},id:n,loaded:!1};return e[n].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}var a={};return o.m=e,o.c=a,o.p="",o(0)}({0:function(e,o,a){e.exports=a(1287)},3:function(e,o){e.exports=function(){throw Error("define cannot be used indirect")}},1287:function(e,o,a){var n,t,r;!function(i,define){t=[a(1288),a(1289)],n=i,r="function"==typeof n?n.apply(o,t):n,!(void 0!==r&&(e.exports=r))}(function(){return function(e,o){var a=window.kendo,n=e.extend,t=e.isPlainObject,r=a.ui.Widget,i=a.ui,d=".kendoImageEditor",s=a._outerHeight,c="error",m="imageLoaded",p="imageRendered",g="execute",u={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"},l=r.extend({init:function(o,n){var t=this;r.fn.init.call(t,o,n),n=e.extend(!0,{},n),t._wrapper(),t._renderHeader(),t._contentWrapper(),t._keyHandler(),n.imageUrl&&t._drawCanvas(),t._initUndoRedoStack(),t._toggleTools(),a.notify(t)},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:[c,m,p,g],_wrapper:function(){var e=this,o=e.options,n=o.width,t=o.height;e.wrapper=e.element.addClass(u.wrapper),n&&e.wrapper.width(n),t&&e.wrapper.height(t),e._resizeHandler=a.onResize(function(){e.resize(!0)})},_renderHeader:function(){var o=this,a=o.options;o.header=e("<div />").addClass(u.header),a.toolbar&&o.header.append(o._initToolbar().element),o.wrapper.append(o.header)},_initToolbar:function(){var o=this,a=o.options,t=e("<div></div>").addClass(u.toolbar),r=n({},a.toolbar,{messages:a.messages.toolbar,action:o.executeCommand.bind(o)});return o.toolbar=new i.imageeditor.ToolBar(t,r)},_contentWrapper:function(){var o=this,a=e("<div></div>").addClass(u.contentWrapper),n=e("<div></div>").addClass(u.canvasWrapper),t=e("<div></div>").addClass(u.canvasContainer),r=e("<div></div>").addClass(u.paneWrapper).hide(),i=s(o.header);o.canvasWrapper=n,o.canvasContainer=t,o.paneWrapper=r,n.append(t),a.height(s(o.wrapper)-i),a.append(n).append(r),o.wrapper.append(a)},_keyHandler:function(){var e=this,o=!1;e.wrapper.on("keydown"+d,function(a){if(a.ctrlKey){switch(a.keyCode){case 48:e.executeCommand({command:"ZoomImageEditorCommand",options:"fitToScreen"}),o=!0;break;case 189:e.executeCommand({command:"ZoomImageEditorCommand",options:"zoomOut"}),o=!0;break;case 187:e.executeCommand({command:"ZoomImageEditorCommand",options:"zoomIn"}),o=!0;break;case 90:e.executeCommand({command:"UndoImageEditorCommand"}),o=!0;break;case 89:e.executeCommand({command:"RedoImageEditorCommand"}),o=!0}o&&a.preventDefault()}})},_drawCanvas:function(){var e=this,o=e.options.imageUrl;e.drawImage(o).done(function(o){e.trigger(m,{image:o})||e.drawCanvas(o)}).fail(function(o){e.trigger(c,o)})},_initUndoRedoStack:function(){var e=this;e.undoStack=[],e.redoStack=[]},_toggleTools:function(){var e=this,o=e.redoStack.length>0,a=e.undoStack.length>0,n=!!e._image,t=!0;try{e._canvas.toDataURL()}catch(r){t=!1}e.toolbar.toggleTools({redo:o,undo:a,enable:n,canExport:t})},drawImage:function(o){var n=this,t=new e.Deferred,r=new Image;return r.onload=function(){a.ui.progress(n.canvasContainer,!1),t.resolve(r)},r.onerror=function(){a.ui.progress(n.canvasContainer,!1),t.reject(arguments)},a.ui.progress(n.canvasContainer,!0),r.src=o,t.promise()},drawCanvas:function(o){var a=this,n=e("<canvas>Canvas element</canvas>")[0],t=n.getContext("2d");a._canvas&&e(a._canvas).remove(),a._image&&a.undoStack.push(a._image),a._canvas=n,a._ctx=t,a._image=o,n.width=o.width,n.height=o.height,t.drawImage(o,0,0),a.canvasContainer.append(n),a.executeCommand(o.height>a.canvasWrapper.height()?{command:"ZoomImageEditorCommand",options:"fitToScreen"}:{command:"ZoomImageEditorCommand",options:a.getZoomLevel()}),a.trigger(p,{canvas:n,ctx:t,image:o}),a._toggleTools()},getCanvasElement:function(){return this._canvas},getCurrent2dContext:function(){return this._ctx},getCurrentImage:function(){return this._image},executeCommand:function(e){var o=e.command,a=n({imageeditor:this},t(e.options)?e.options:{value:e.options}),r=new i.imageeditor.commands[o](a);if(!this.trigger(g,e))return this._toggleTools(),r.exec()},getZoomLevel:function(){return this._zoomLevel||1},destroy:function(){var e=this;e.element.off(d),e.currentPaneTool&&e.currentPaneTool.destroy(),e.toolbar&&e.toolbar.destroy(),e._upload&&e._upload.destroy(),r.fn.destroy.call(e)}});i.plugin(l)}(window.kendo.jQuery),window.kendo},a(3))},1288:function(e,o){e.exports=require("./imageeditor/toolbar")},1289:function(e,o){e.exports=require("./imageeditor/commands")}});