Files
image-editor/dist/js/main.min.js
T
2017-11-01 14:17:13 +01:00

1 line
28 KiB
JavaScript

!function t(e,i,n){function r(o,a){if(!i[o]){if(!e[o]){var u="function"==typeof require&&require;if(!a&&u)return u(o,!0);if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return r(i||t)},l,l.exports,t,e,i,n)}return i[o].exports}for(var s="function"==typeof require&&require,o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t,e,i){"use strict";function n(t){var e,i=new fabric.Group;!function(){i.set({visible:!1,left:0}).addWithUpdate(new fabric.Rect({width:2*t.width,height:t.height,top:0,left:0,fill:t.backgroundColor})),t.add(i)}(),this.disable=function(){return i.setVisible(!1).canvas.resize(),this},this.enable=function(){return i.set({width:t.width,visible:!0}).bringToFront(),t.getButtonMenu().bringToFront(),t.renderAll(),this},this.isEnabled=function(){return i.visible},this.refreshImage=function(){i.set({width:t.width}),this.applyImage()},this.applyImage=function(n){n=n||e,i.remove(e).add(e=t.getResizedImage(n))},this.setImage=function(t){return t.set({top:20,originX:"center",originY:"center"}),this.applyImage(t),this.enable()}}t("./util");e.exports=n},{"./util":25}],2:[function(t,e,i){"use strict";function n(t){var e={x:[],y:[]};!function(){var i=t,n=new fabric.Rect({width:i.width,height:i.height/2,fill:t.backgroundColor,opacity:.7}),r=n.clone().set({width:i.width/2,height:i.height});e.x=[].concat([n,n.clone()]),e.y=[].concat([r,r.clone()]),[].concat(e.x,e.y).forEach(function(e){t.add(e)}),t.renderAll()}(),this.apply=function(e,i){this.getApertures(e).forEach(function(t){t.visible=!1});var n=this.getApertures("x"===e?"y":"x");n.forEach(function(t){t.visible=!0}),n[0].width=n[1].width=t.width,n[0].height=n[1].height=t.height,"y"===e?(n[0].top=i.top-n[0].height+.5,n[1].top=i.top+i.height-.5):(n[0].left=i.left-n[0].width+.5,n[1].left=i.left+i.width-.5),this.getApertures().forEach(function(t){t.setCoords()}),t.renderAll()},this.getApertures=function(t){return t?e[t]:[].concat(e.x,e.y)},this.setTransparent=function(e){return this.getApertures().forEach(function(t){t.opacity=e?.7:1}),t.renderAll(),this}}e.exports=n},{}],3:[function(t,e,i){"use strict";function n(t,e){function i(){var t=0;n.forEach(function(e){t+=e.width}),s=t+=e.margin*(n.length-1)}var n=[],s=0;this.addItem=function(t,i,s,o){return n.push(new r(t,i,e,o).onClick(s).set({__group:this})),this},this.bringToFront=function(){return n.forEach(function(t){t.bringToFront()}),this},this.getItems=function(){return n},this.getWidth=function(){return s},this.setButtonActive=function(t,e){n.forEach(function(i){i.getId()===t&&i.setActive(e)})},this.setButtonDisabled=function(t,e){n.forEach(function(i){i.getId()===t&&i.setDisabled(e)})},this.hide=function(){n.forEach(function(t){t.set({opacity:0,disabled:!0})})},this.show=function(){n.forEach(function(t){t.set({opacity:1,disabled:!1})})},this.render=function(){i();var r=t.width/2-this.getWidth()/2,s=Math.round(r);return n.forEach(function(i){i.set({top:10,left:s}).setCoords(),i.canvas||i.addTo(t),s+=Math.round(i.width+e.margin),i.lockMovementX=i.lockMovementY=!0}),t.renderAll(),this.show(),this}}var r=t("./TextButton");t("./config"),t("./util");e.exports=n},{"./TextButton":14,"./config":16,"./util":25}],4:[function(t,e,i){"use strict";var n=t("./config"),r=t("./util"),s=t("./ApertureHandler"),o=t("./ButtonMenu"),a=t("./DragbarHandler"),u=t("./Viewport"),c=t("./3dHandler"),l=t("./MirrorHandler"),h=t("./ImageDataHandler"),g=$(document),d=fabric.util.createClass(fabric.Canvas,{initialize:function(t,e){this.callSuper("initialize",t,{enableRetinaScaling:!0,renderOnAddRemove:!1,allowTouchScrolling:!r.isMobile(),stateful:!1,backgroundColor:"#d2d2d2",preserveObjectStacking:!0,selection:!1,width:e.width,height:e.height}),this.on("mouse:up",function(){this.getImage().__dragged&&!this.get3dHandler().isEnabled()&&(this.getApertures().setTransparent(!1),this.getImageData().setCropData(),r.isMobile()||this.enableScroll(),g.trigger("PIE:dragged")),this.renderAll()})},resize:function(t){t=t||{height:this.height,width:this.width},this.setHeight(t.height),this.setWidth(t.width),this.getButtonMenu().render(),this.get3dHandler().isEnabled()?this.get3dHandler().refreshImage():this.refreshImage(this.getResizedImage(this.getImage())),this.sendToBack(this.getImage()),this.getDragbars().resetPosition(),this.renderAll()},disableScroll:function(){return this.set({allowTouchScrolling:!1}),this},enableScroll:function(){return this.set({allowTouchScrolling:!0}),this},get3dHandler:function(){return this.__3dHandler||(this.__3dHandler=new c(this))},get3dUrl:function(){var t=this.getImageData().getData(),e=["h=400","canvas[edge]="+t.edge,"crop[w]="+t.width,"crop[h]="+t.height,"crop[x]="+t.x,"crop[y]="+t.y];return console.log(e),t.mirrored&&e.push("mirror=1"),this.getImage().__url.replace(/\?h=\d+$/,"?")+e.join("&")},getHighResolutionUrl:function(t,e,i){var n,r=this.getImageData().getData(),s=["h=1000","canvas[edge]="+r.edge,"crop[w]="+r.width,"crop[h]="+r.height,"crop[x]="+r.x,"crop[y]="+r.y];return r.mirrored&&s.push("mirror=1"),this.get3dHandler().isEnabled()?n=this.getImage().__url.replace(/\?h=\d+$/,"?")+s.join("&"):(t.replace(/\?h=\d+$/,"?"),s.join("&"),n=this.getImage().__url=t),console.log("url:",n),fabric.Image.fromURL(encodeURI(n),function(t){this.setImage(t)}.bind(this))},getApertures:function(){return this.__aperturehandler||(this.__aperturehandler=new s(this))},getDragbars:function(){return this.__dragbars||(this.__dragbars=new a(this))},getImage:function(){return this.__image},getMirror:function(){return this.__mirror||(this.__mirror=new l(this.getImage()))},getImageData:function(){return this.__imageData||(this.__imageData=new h(this.getImage()))},getViewport:function(){return this.__viewport||(this.__viewport=new u(this))},getButtonMenu:function(t){if(!this.__buttonMenu){var e=n.buttonMenu[this.__type];this.__buttonMenu=new o(this,$.extend({},e,t))}return this.__buttonMenu},refresh3dView:function(){return this.get3dHandler().isEnabled()&&this.toggle3D(!0),this},removeImage:function(){return this.__image?this.remove(this.__image):this},refreshImage:function(t){return this.__image=t,this},setImage:function(t){return this.removeImage(),this.__image=t,this.__image.__dragged=!1,this.__image.__cropped=!1,this.__image.addTo(this).center().on("mousedown",function(){t.canvas.getApertures().setTransparent(!0)}).setCoords(),this.getViewport().reset(),this},getResizedImage:function(t){var e=this.getHeight()-100,i=this.getWidth()-100;return t.scaleToHeight(e<t.height?e:t.height),t.scaleToWidth(i<t.width*t.scaleX?i:t.width*t.scaleX),t},toggle3D:function(t){if(this.getButtonMenu().setButtonActive("toggle3d",t),!t)return this.get3dHandler().disable();g.trigger("PIE:image-start-load"),$.ajax({url:this.get3dUrl(),crossDomain:!0,type:"HEAD",cache:!0}).done(function(){fabric.Image.fromURL(encodeURI(this.get3dUrl()),function(t){if(!t._element)return void g.trigger("PIE:image-error-load");this.get3dHandler().setImage(t),g.trigger("PIE:image-end-load")}.bind(this))}.bind(this))}});e.exports=d},{"./3dHandler":1,"./ApertureHandler":2,"./ButtonMenu":3,"./DragbarHandler":6,"./ImageDataHandler":10,"./MirrorHandler":12,"./Viewport":15,"./config":16,"./util":25}],5:[function(t,e,i){"use strict";var n=t("./config"),r=t("./util"),s=function(t){function e(t,e){var i=new fabric.Text(t,n.dragHandle.text),r=new fabric.Rect($.extend({},n.dragHandle.rect,{width:e}));return new fabric.Group([r,i]).set({evented:!1})}var i,s,o,a={mouseDown:function(){s=!0,i=this.axis,t.canvas.getImage().trigger("mousedown")},mouseUp:function(){s&&(o||$(document).trigger("PIE:dragbar-click",{axis:i}),s=!1,o=!1,i=null,r.MouseMetrics.deletePreviousMouseData(),t.canvas.getImage().trigger("mouseup"))},mouseMove:function(e){if(s){var n=r.MouseMetrics.previousMouseData,a={x:"movementX"in e.e?e.e.movementX:n.x?e.e.pageX-n.x:0,y:"movementY"in e.e?e.e.movementY:n.y?e.e.pageY-n.y:0};r.MouseMetrics.setPreviousMouseData({x:e.e.pageX,y:e.e.pageY}),o=!0,"x"===i?t.canvas.getImage().left-=a.x:t.canvas.getImage().top-=a.y,t.canvas.getImage().setCoords().trigger("moving"),t.canvas.renderAll()}}};this.getCanvas=function(){return t.canvas},this.getHandles=function(){return this.__handles?[].concat(this.__handles.x,this.__handles.y):[]},this.setHandlePosition=function(){return this.__handles.y.set({left:t.getTracks().y.left}).setCoords(),this.__handles.x.set({top:t.getTracks().x.top}).setCoords(),this},this.init=function(){var i=this.getCanvas().getViewport().getData(),n=t.getTracks();this.__handles&&(this.getCanvas().remove(this.__handles.x),this.getCanvas().remove(this.__handles.y)),this.__handles={x:e(i.dim.width+" "+i.dim.units,i.width),y:e(i.dim.height+" "+i.dim.units,i.height)},this.__handles.x.addTo(this.getCanvas()).centerH().set({top:n.x.top}).setCoords(),this.__handles.y.addTo(this.getCanvas()).setAngle(-90).centerV().set({left:n.y.left}).setCoords(),this.getCanvas().on("mouse:move",a.mouseMove).on("mouse:up",a.mouseUp),n.x.on("mousedown",a.mouseDown.bind(n.x)),n.y.on("mousedown",a.mouseDown.bind(n.y))}};e.exports=s},{"./config":16,"./util":25}],6:[function(t,e,i){"use strict";function n(t){var e={x:null,y:null};this.apply=function(){return t.__hasDragbars||(this.init(),t.__hasDragbars=!0),this.sync(),this.__handles||(this.__handles=new r(this)),this.__handles.init(),this.bringToFront(),t.renderAll(),this},this.canvas=t,this.bringToFront=function(){[].concat(e.x,e.y).forEach(function(t){t.bringToFront()}),this.__handles.getHandles().forEach(function(t){t.bringToFront()})},this.clear=function(){return t.remove(e.x).remove(e.y).renderAll(),this},this.getTracks=function(){return e},this.resetPosition=function(){return e.y&&e.x?(e.y.set({left:t.width-30,height:t.getImage().height*t.getImage().scaleY}).setCoords(),e.x.set({top:t.height-30,width:t.getImage().width*t.getImage().scaleY}).setCoords(),this.__handles.setHandlePosition(),this):this},this.init=function(){return this.clear(),e.x=new fabric.Rect($.extend({},s.dragBar,{axis:"x",width:t.getImage().width,height:s.dragBar.size,lockMovementY:!0,selectable:!0,hoverCursor:"ew-resize",moveCursor:"ew-resize"})).addTo(t).centerH().set({top:t.height-30}).setCoords(),e.y=new fabric.Rect($.extend({},s.dragBar,{axis:"y",width:s.dragBar.size,height:t.getImage().height,lockMovementX:!0,selectable:!0,hoverCursor:"ns-resize",moveCursor:"ns-resize"})).addTo(t).set({left:t.width-30}).setCoords(),t.getImage().on("moving",this.sync),this},this.sync=function(){return e.x.set({left:t.getImage().left}).setCoords(),e.y.set({top:t.getImage().top}).setCoords(),this}}var r=t("./DragHandle"),s=t("./config");e.exports=n},{"./DragHandle":5,"./config":16}],7:[function(t,e,i){"use strict";function n(t,e){function i(){this.__dragged=!0,this.canvas.disableScroll(),r.setPositionInside(this,n)}var n=e;t.on("moving",i),this.enable=function(e){return e&&(n=e),"x"===t.canvas.getViewport().getData().axis?n.top.min=n.top.max=t.top:n.left.min=n.left.max=t.left,t.lockMovementX=t.lockMovementY=!1,t.selectable=!0,t.hoverCursor="move",this}}var r=t("./util");e.exports=n},{"./util":25}],8:[function(t,e,i){"use strict";function n(t){function e(){return[n.top,n.right,n.bottom,n.left]}function i(){var i=new fabric.Rect(r.frames.default);n={top:i.clone(),right:i.clone(),bottom:i.clone(),left:i.clone()},e().forEach(function(e){t.canvas.add(e)})}var n,s="image";!function(){i()}(),this.getFrameType=function(){return s},this.setVisible=function(i){return i=void 0===i||!!i,e().forEach(function(t){t.set({visible:i})}),t.canvas.renderAll(),this},this.setFrames=function(i){var o=t.getBounds();if(i=i||s||"image",s=i,i){if("none"===i)return this.setVisible(!1);this.setVisible(!0),e().forEach(function(t){t.set(r.frames[i])});var a=t.getData(),u=29;return"inch"===a.dim.units&&(u/=2.54),n.top.height=n.bottom.height=n.right.width=n.left.width=a.ppmm*u*t.canvas.getImage().scaleX,n.top.width=n.bottom.width=a.width,n.right.height=n.left.height=a.height,"image"===i?(n.top.width-=a.ppmm*u*t.canvas.getImage().scaleX*2,n.bottom.width=n.top.width,n.right.height-=a.ppmm*u*t.canvas.getImage().scaleX*2,n.left.height=n.right.height,n.top.set({top:o.top}).centerH().setCoords(),n.bottom.set({top:o.top+o.height-n.bottom.height-1}).centerH().setCoords(),n.right.set({left:o.left+o.width-n.right.width-1}).centerV().setCoords(),n.left.set({left:o.left}).centerV().setCoords()):(n.top.set({top:o.top-n.top.height+1}).centerH().setCoords(),n.bottom.set({top:o.top+o.height-1}).centerH().setCoords(),n.right.set({left:o.left+o.width-1}).centerV().setCoords(),n.left.set({left:o.left-n.left.width+1}).centerV().setCoords()),t.canvas.renderAll(),this}}}var r=t("./config");e.exports=n},{"./config":16}],9:[function(t,e,i){"use strict";function n(t){function e(e){return new fabric.Line([0,0,0,t.getData().height],{evented:!1,strokeDashArray:[5,5],stroke:"#000",strokeWidth:1,left:e,top:t.getBounds().top})}var i=!1,n=[];this.clear=function(){return n.forEach(function(e){t.canvas.remove(e)}),n=[],this},this.enable=function(r){if(i=r,this.clear(),!i)return void t.canvas.renderAll();for(var s=t.getBounds(),o=450*t.getData().ppmm,a=Math.ceil(s.width/o),u=1;u<a;u++)n.push(e(s.left+o*u));return n.forEach(function(e){t.canvas.add(e)}),t.canvas.renderAll(),this},this.reset=function(){return this.enable(i)}}e.exports=n},{}],10:[function(t,e,i){"use strict";function n(t){this.getCropData=function(){return JSON.parse(sessionStorage.getItem("cropData"))},this.setCropData=function(){var e=t.canvas.getViewport().getBounds(),i=t.canvas.getViewport().getData().axis,n={x:"x"===i?(e.left-t.left)/(t.width*t.scaleX):0,y:"y"===i?(e.top-t.top)/(t.height*t.scaleY):0};sessionStorage.setItem("cropData",JSON.stringify(n))},this.removeCropData=function(){sessionStorage.removeItem("cropData")},this.getData=function(){var e=(t.canvas.getViewport().getData(),$.extend({},{mirrored:t.canvas.getMirror().getStatus(),width:100,height:100},this.getCropData()));if("canvas"===t.canvas.__type){var i=t.canvas.getViewport().getFrameHandler();e.edge=i.getFrameType(),e.framed="none"!==e.edge}return e}}e.exports=n},{}],11:[function(t,e,i){"use strict";function n(t,e){var i,n=$.extend({type:"wallpaper",buttons:{showThreeD:"3d",hideThreeD:"Flat",showMurals:"Show Murals Panel",hideMurals:"Hide Murals Panel",showRulers:"Show Ruler",hideRulers:"Hide Ruler",showFullscreen:"Fullscreen",hideFullscreen:"Exit Fullscreen"}},e);i=new r(t,e.dimensions),i.set({__type:n.type}),"canvas"===i.__type?i.getButtonMenu().addItem("toggle3d",[n.buttons.showThreeD,n.buttons.hideThreeD],function(){i.toggle3D(this.isActive())}):i.getButtonMenu().addItem("toggleMurals",[n.buttons.showMurals,n.buttons.hideMurals],function(){i.getViewport().getGores().enable(this.isActive())}).addItem("toggleRulers",[n.buttons.showRulers,n.buttons.hideRulers],function(){i.getViewport().getRulers().enable(this.isActive())}),s.supportsFullscreen()&&i.getButtonMenu().addItem("toggleFullscreen",[n.buttons.showFullscreen,n.buttons.exitFullscreen],function(){s.toggleFullscreen(i.getSelectionElement().parentNode)}),i.getButtonMenu().render(),$(i.getSelectionElement().parentNode).bind("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(t){document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen||i.getButtonMenu().getItems().forEach(function(t){"toggleFullscreen"===t.getId()&&t.setActive(!1)})}),this.crop=function(t,e,n){return i.getImageData().removeCropData(),i.getViewport().set(t,e,n),s.isAspectChanged(i.getImage().width,i.getImage().height,t,e)?(i.getImage().__dragged=!1,i.getImage().__cropped=!0,i.getImageData().setCropData()):i.getImage().__cropped=!1,this},this.get=function(t,e){var i=n[t];return void 0===i?e:i},this.loadImage=function(t,e){return e="function"==typeof e?e:function(){},fabric.Image.fromURL(this._url=t,function(n){i.setImage(n),n.__url=t,n.sendToBack(),e(n)}),this},this.set=function(t,e){return $.extend(n,s.assertKeyValuePair(t,e)),this},s.setProperties(this,{canvas:{get:function(){return i}}})}var r=t("./Canvas"),s=t("./util");e.exports=n},{"./Canvas":4,"./util":25}],12:[function(t,e,i){"use strict";function n(t){var e=0;this.set=function(i){return e=(t.flipX=i)?1:0,t.setCoords().canvas.renderAll(),this},this.getStatus=function(){return e}}e.exports=n},{}],13:[function(t,e,i){"use strict";function n(t){function e(e){var i=e.axis,n=t.getBounds(),s=r.assertBetween(e[i],n.min[i],n.max[i]);e.marker[i]=e[i]=s;var o=(e[i]-n[i])/(10*t.getData().ppmm*t.canvas.getImage().scaleX);"top"===i&&(o=t.getData().dim.height-o),e.setText(Math.round(100*o)/100+" "+t.getData().dim.units)}function i(e){var i=t.getBounds();return new fabric.Line([0,0,"x"===e?i.width:0,"y"===e?i.height:0],{evented:!1,strokeDashArray:[5,5],stroke:"#000",strokeWidth:1,top:"x"===e?i.top+i.height/2:i.top,left:"y"===e?i.left+i.width/2:i.left})}var n=!1,a={x:null,y:null},u={x:null,y:null},c={onMove:function(){e(this)}};this.clear=function(){return[].concat(u.x,u.y,a.x,a.y).forEach(function(e){t.canvas.remove(e)}),this},this.enable=function(r){var l=t.getBounds();return r&&n===r&&a.x&&Math.abs(a.x.width-l.width)<1&&a.y&&Math.abs(a.y.height-l.height)<1?(e(u.x),e(u.y),this):(n=r,this.clear(),n?(a={x:i("x"),y:i("y")},t.canvas.add(a.x),t.canvas.add(a.y),u.x=new s("horizontalRuler","H",o.rulerHandle,!0).set(o.rulerHandle.x(a,l)).addTo(t.canvas).on("moving",c.onMove).trigger("moving"),u.y=new s("verticalRuler","V",o.rulerHandle,!0).set(o.rulerHandle.y(a,l)).addTo(t.canvas).on("moving",c.onMove).trigger("moving"),t.canvas.renderAll(),this):(t.canvas.renderAll(),this))},this.reset=function(){return this.enable(n)}}var r=t("./util"),s=t("./TextButton"),o=t("./config");e.exports=n},{"./TextButton":14,"./config":16,"./util":25}],14:[function(t,e,i){"use strict";function n(t,e,i,n){function s(t){o.call(this),a.call(this,t),this.__group&&this.__group.render()}function o(){u.setFill(d[this.isActive()?"activeFill":"fill"]),c.setFill(f[this.isActive()?"activeFill":"fill"]),this.setText(f[this.isActive()?"textActive":"text"])}fabric.Group.call(this);var a=null,u=null,c=null,l=t,h=i.rect?i.rect.width:0,g=i.rect?i.rect.height:0,d=$.extend({},r.textButton.rect(h,g),i.rect),f=$.extend({},r.textButton.text,i.text,{text:Array.isArray(e)?e[0]:e,textActive:Array.isArray(e)?e[1]:e});this.disabled=!1,this.hoverCursor=r.textButton.cursor,c=new fabric.Text("",f),u=new fabric.Rect(d),this.addWithUpdate(u).addWithUpdate(c),this.setText=function(t){return c.setText((t||"").toString()).setCoords(),d.dynamicW&&(this.width=u.width=c.width+r.textButton.padding),d.dynamicH&&(this.height=u.height=c.height+r.textButton.padding),this.setCoords()},this.getId=function(){return l},this.isActive=function(){return this.__active},this.onClick=function(t){return a=t||function(){},this.on("mousedown",function(t){this.disabled||(this.__active=!this.__active,s.call(this,t))}.bind(this)),this},this.setActive=function(t){this.__active=void 0===t||!!t,o.call(this)},this.setDisabled=function(t){this.disabled=t,u.setFill(d[this.disabled?"disabledFill":"fill"]),c.setFill(f[this.disabled?"disabledFill":"fill"])},f.text&&this.setText(f.text)}var r=t("./config");n.prototype=Object.create(fabric.Group.prototype),n.prototype.constructor=n,e.exports=n},{"./config":16}],15:[function(t,e,i){"use strict";function n(t){function e(){var e=t.getImageData().getCropData();if(t.remove(u),u=new fabric.Rect({evented:!1,fill:"transparent",width:h.width,height:h.height,stroke:"#fff",strokeWidth:"canvas"===t.__type?0:l}),u.width+=l,u.height+=l,u.addTo(t).center().setCoords(),e){var r=u.left+u.strokeWidth-t.getImage().width*t.getImage().scaleX*e.x,s=u.top+u.strokeWidth-t.getImage().height*t.getImage().scaleY*e.y;t.getImage().set({left:r,top:s}).setCoords()}else t.getImage().center().setCoords();t.getImage().drag.enable(n(u.getInsideBoundingRect(),t.getImage())),t.getApertures().apply(h.axis,u.getBoundingRect()),"canvas"!==t.__type?i():g.setFrame(g.getFrameHandler().getFrameType()),t.getDragbars().apply(),u.bringToFront()}function i(){c.forEach(function(e){t.remove(e)}),c=[],c.push(new fabric.Line([u.left,u.top,u.left-u.top,-1],{stroke:"#fff",strokeWidth:2})),c.push(c[0].clone().set({flipX:!0,left:u.left+u.width})),c.push(c[1].clone().set({flipY:!0,top:u.top+u.height})),c.push(c[0].clone().set({flipY:!0,top:u.top+u.height})),c.forEach(function(e){t.add(e),e.bringToFront()})}function n(t,e){return{left:{min:t.left+t.width-e.width*e.scaleX,max:t.left},top:{min:t.top+t.height-e.height*e.scaleY,max:t.top}}}var u,c=[],l=2,h=null,g=this;this.canvas=t,this.getBounds=function(){return u.getInsideBoundingRect()},this.reset=function(){return h?this.set(h.dim.width,h.dim.height,h.dim.units):this},this.set=function(i,n,r){var s=h;h=a.calcCrop(t.getImage(),i,n,r);var o=s&&!a.isAspectChanged(s.dim.width,s.dim.height,i,n);o&&t.getImageData().setCropData(),e(),this.getGores().reset(),this.getRulers().reset(),t.getImage().__cropped&&!o&&(t.getApertures().setTransparent(!0),$(document).trigger("PIE:needs-dragging",{axis:h.axis})),t.getButtonMenu().bringToFront()},this.setFrame=function(e){this.getFrameHandler().setFrames(e);var i=t.getButtonMenu().getItems();"none"===e?i[0].setDisabled(!0):i[0].setDisabled(!1),t.getButtonMenu().bringToFront(),t.refresh3dView()},this.getData=function(){return h||console.log("no data"),h};var d=null;this.getFrameHandler=function(){return d||(d=new r(this))},this.getGores=function(){return this.__goreHandler||(this.__goreHandler=new s(this))},this.getRulers=function(){return this.__rulerHandler||(this.__rulerHandler=new o(this))}}var r=t("./FrameHandler"),s=t("./GoreHandler"),o=t("./RulerHandler"),a=t("./util");e.exports=n},{"./FrameHandler":8,"./GoreHandler":9,"./RulerHandler":13,"./util":25}],16:[function(t,e,i){"use strict";e.exports={frames:t("./config/frames"),textButton:t("./config/text-button"),buttonMenu:t("./config/button-menu"),rulerHandle:t("./config/ruler-handle"),dragHandle:t("./config/drag-handle"),dragBar:t("./config/drag-bar"),screenSizes:t("./config/screen-sizes")}},{"./config/button-menu":17,"./config/drag-bar":18,"./config/drag-handle":19,"./config/frames":20,"./config/ruler-handle":21,"./config/screen-sizes":22,"./config/text-button":23}],17:[function(t,e,i){"use strict";e.exports={canvas:{margin:5,text:{fill:"#ffffff",activeFill:"#ffffff",disabledFill:"#ffffff"},rect:{fill:"#343434",activeFill:"#494949",disabledFill:"#999999"}},wallpaper:{margin:5,text:{fill:"#ffffff",activeFill:"#ffffff",disabledFill:"#ffffff"},rect:{fill:"#343434",activeFill:"#494949",disabledFill:"#999999"}}}},{}],18:[function(t,e,i){"use strict";e.exports={fill:"#bbbbbb",size:20}},{}],19:[function(t,e,i){"use strict";e.exports={text:{fontFamily:"breuer",fontSize:12,fill:"#ffffff",originX:"center",top:2},rect:{fill:"#666666",height:20,originX:"center"}}},{}],20:[function(t,e,i){"use strict";e.exports={default:{fill:"#000000",stroke:"#f31fb3",width:1,height:1},image:{fill:"rgba(0,0,0,0.2)",strokeWidth:1},black:{fill:"#000000",strokeWidth:0},white:{fill:"#ffffff",strokeWidth:0}}},{}],21:[function(t,e,i){"use strict";e.exports={line:function(t,e){return{evented:!1,strokeDashArray:[5,5],stroke:"#000",strokeWidth:1,top:"x"===t?e.top+e.height/2:e.top,left:"y"===t?e.left+e.width/2:e.left}},text:{fontSize:12,width:75,height:20,fill:"#33ff33"},x:function(t,e){return{axis:"left",marker:t.y,top:Math.ceil(e.top+e.height+5),left:t.y.left,originX:"center",lockMovementY:!0,moveCursor:"ew-resize",hoverCursor:"ew-resize"}},y:function(t,e){return{axis:"top",marker:t.x,top:t.x.top,left:Math.ceil(e.left+e.width+5),originY:"center",lockMovementX:!0,moveCursor:"ns-resize",hoverCursor:"ns-resize"}}}},{}],22:[function(t,e,i){"use strict";e.exports={mobile:{min:0,max:767},tablet:{min:768,max:983},desktop:{min:984,max:1311},hd:{min:1312,max:99999}}},{}],23:[function(t,e,i){"use strict";e.exports={rect:function(t,e){return{fill:"#343434",activeFill:"#494949",disabledFill:"#999999",originX:"center",originY:"center",width:t||1,dynamicW:!t,height:e||1,dynamicH:!e}},text:{fill:"#ffffff",fontFamily:"breuer",fontSize:14,originX:"center",originY:"center"},cursor:"pointer",padding:20}},{}],24:[function(t,e,i){"use strict";function n(){$.extend(fabric.Object.prototype,{cornerSize:0,hasBorders:!1,hasControls:!1,padding:0,selectable:!1,strokeWidth:0,addTo:function(t){return t.add(this),this}}),s.setProperties(fabric.Image.prototype,{drag:{get:function(){return this.__draggable||(this.__draggable=new r(this))}}}),$.extend(fabric.Rect.prototype,{getInsideBoundingRect:function(){var t=this.getBoundingRect(),e={left:t.left+this.strokeWidth,top:t.top+this.strokeWidth,width:t.width-2*this.strokeWidth,height:t.height-2*this.strokeWidth};return e.right=e.left+e.width,e.bottom=e.top+e.height,e.min={left:e.left,top:e.top},e.max={left:e.left+e.width,top:e.top+e.height},e}})}var r=t("./Draggable"),s=t("./util");e.exports=n},{"./Draggable":7,"./util":25}],25:[function(t,e,i){"use strict";e.exports={assertKeyValuePair:t("./utils/assert-key-value-pair"),assertBetween:t("./utils/assert-between"),calcCrop:t("./utils/calc-crop"),setPositionInside:t("./utils/set-position-inside"),setProperties:t("./utils/set-properties"),toggleFullscreen:t("./utils/toggle-fullscreen"),isMobile:t("./utils/is-mobile"),MouseMetrics:t("./utils/mouse-metrics"),supportsFullscreen:t("./utils/supports-fullscreen"),isFullscreen:t("./utils/is-fullscreen"),isAspectChanged:t("./utils/is-aspect-changed")}},{"./utils/assert-between":26,"./utils/assert-key-value-pair":27,"./utils/calc-crop":28,"./utils/is-aspect-changed":29,"./utils/is-fullscreen":30,"./utils/is-mobile":31,"./utils/mouse-metrics":32,"./utils/set-position-inside":33,"./utils/set-properties":34,"./utils/supports-fullscreen":35,"./utils/toggle-fullscreen":36}],26:[function(t,e,i){"use strict";function n(t,e,i){return t<e?e:t>i?i:t}e.exports=n},{}],27:[function(t,e,i){"use strict";function n(t,e){if("object"==typeof t)return t;var i={};return i[t]=e,i}e.exports=n},{}],28:[function(t,e,i){"use strict";function n(t,e,i,n){var r=e/i,s=t.width/t.height,o={image:t,axis:s>r?"x":"y",dim:{width:Number(e),height:Number(i),units:n},width:t.width*t.scaleX,height:t.height*t.scaleY,objectRatio:s,cropRatio:r};return s>r?o.width*=r/s:o.height/=r/s,o.ppmm=o.width/(o.dim.width*t.scaleX*10),o}e.exports=n},{}],29:[function(t,e,i){"use strict";function n(t,e,i,n){return Math.abs(t/e-i/n)>.01}e.exports=n},{}],30:[function(t,e,i){"use strict";function n(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement}e.exports=n},{}],31:[function(t,e,i){"use strict";function n(){return $(window).width()<768}e.exports=n},{}],32:[function(t,e,i){"use strict";var n={previousMouseData:{x:null,y:null},deletePreviousMouseData:function(){n.previousMouseData={x:null,y:null}},setPreviousMouseData:function(t){n.previousMouseData={x:t.x||null,y:t.y||null}}};e.exports=n},{}],33:[function(t,e,i){"use strict";function n(t,e){return["left","top"].forEach(function(i){t[i]<e[i].min&&t.set(i,e[i].min).setCoords(),t[i]>e[i].max&&t.set(i,e[i].max).setCoords()}),t}e.exports=n},{}],34:[function(t,e,i){"use strict";function n(t,e){for(var i in e)e.hasOwnProperty(i)&&Object.defineProperty(t,i,e[i])}e.exports=n},{}],35:[function(t,e,i){"use strict";function n(){return document.documentElement.requestFullscreen||document.documentElement.webkitRequestFullScreen||document.documentElement.mozRequestFullScreen||document.documentElement.msRequestFullscreen}e.exports=n},{}],36:[function(t,e,i){"use strict";function n(t){if(r())return void(document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen());t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullScreen?t.webkitRequestFullScreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen&&t.msRequestFullscreen()}var r=t("./is-fullscreen");e.exports=n},{"./is-fullscreen":30}],37:[function(t,e,i){"use strict";!function(){t("./includes/extend-fabric-functionality")(),window.ImageEditor=t("./includes/ImageEditor")}()},{"./includes/ImageEditor":11,"./includes/extend-fabric-functionality":24}]},{},[37]);