Dashboard sipadu mbip
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

aui-image-cropper-min.js 6.0KB

12
  1. AUI.add("aui-image-cropper",function(b){var g=b.Lang,a=g.isBoolean,h=g.isNumber,f=g.toInt,j="image-cropper",d=b.getClassName(j,"crop"),e=b.getClassName(j,"crop","outline"),c=b.getClassName(j,"overlay");CSS_OVERLAY_HOVER=b.getClassName(j,"crop","hover");var i=b.Component.create({NAME:j,ATTRS:{cropHeight:{value:100,validator:h},cropWidth:{value:100,validator:h},minWidth:{value:undefined},minHeight:{value:undefined},movable:{value:true,validator:a},preserveRatio:{value:false,validator:a},region:{getter:"_getCropRegion",value:{}},resizable:{value:true,validator:a},x:{value:0,setter:Math.round,validator:h},y:{value:0,setter:Math.round,validator:h}},UI_ATTRS:["cropHeight","cropWidth","minWidth","minHeight","movable","resizable","x","y"],prototype:{renderUI:function(){var k=this;var l=k.get("boundingBox");var m=k.get("srcNode");k.cropNode=b.Node.create('<div class="'+d+'"></div>');k.cropNode.append(b.Node.create('<div class="'+e+'"></div>'));k.overlay=b.Node.create('<div class="'+c+'"></div>');b.all([k.cropNode,k.overlay]).appendTo(l);k._boundingBox=l;k._renderDrag();k._renderResize();},bindUI:function(){var k=this;k._fireCropEventTask=b.debounce(k._fireCropEvent,10,k);k.publish("crop",{defaultFn:k._defCropFn});k.on(["drag:start","resize:start"],b.debounce(k._syncRegion,25));k.after(["drag:drag","resize:resize"],k._fireCropEvent,k);k.after(["xChange","yChange","cropWidthChange","cropHeightChange"],function(l){k._fireCropEventTask(l);k._syncCropNodeUI();});k._createHover();},syncUI:function(){var k=this;k._uiSetPreserveRatio(k.get("preserveRatio"));k.syncImageUI();k._syncCropNodeUI();},destructor:function(){var k=this;k._destroyDrag();k._destroyResize();},syncImageUI:function(){var k=this;var p=k.get("srcNode");var n=k.overlay;k.cropNode.setStyle("backgroundImage","url("+p.attr("src")+")");k._constrainValues();k._syncXY();var o=k._getConstraintRegion();var m=k.drag;var l=k.resize;if(m){m.con.set("constrain",o);}if(l){l.con.set("constrain",o);}},_constrainValues:function(){var m=this;var q=m.get("srcNode");var n=m.get("cropHeight");var p=m.get("cropWidth");var l=m.get("x");var r=m.get("y");var o=q.width();var k=q.height();r=Math.max(r,0);if(r+n>k){r=Math.max(k-n,0);}m.set("y",r);if(r+n>k){n=Math.max(k-r,0);}m.set("cropHeight",n);l=Math.max(l,0);if(l+p>o){l=Math.max(o-p,0);}m.set("x",l);if(l+p>o){p=Math.max(o-l,0);}m.set("cropWidth",p);},_createHover:function(){var k=this;k._destroyHover();k._hoverHandles=k.cropNode.on("hover",k._hoverOverlay,k._unHoverOverlay,k);},_defCropFn:function(m){var k=this;var l=m.cropType;if(l=="drag:drag"){k._syncXY();}else{if(l=="resize:resize"){k._syncCropSize();}}},_destroyDrag:function(l){var k=this;if(k.drag){k.drag.destroy();delete k.drag;}},_destroyHover:function(){var k=this;if(k._hoverHandles){k._hoverHandles.detach();k._hoverHandles=null;}},_destroyResize:function(l){var k=this;if(k.resize){k.resize.destroy();delete k.resize;}},_fireCropEvent:function(l){var k=this;k.fire("crop",{cropType:l.type});},_getConstraintRegion:function(p){var k=this;var q=!p?k._origRegion:null;if(!q){var r=k.get("srcNode");var m=k.cropNode;var l=r.getXY();var o=l[0];var n=l[1];q={bottom:n+r.height()+m.getBorderWidth("b"),left:o-m.getBorderWidth("l"),right:o+r.width()+m.getBorderWidth("r"),top:n-m.getBorderWidth("t")};if(!k._origRegion){k._origRegion=q;}}return q;},_getCropRegion:function(){var k=this;return{height:k.get("cropHeight"),width:k.get("cropWidth"),x:k.get("x"),y:k.get("y")};},_hoverOverlay:function(){var k=this;if(!k._isDragging()&&!k._isResizing()){k._boundingBox.addClass(CSS_OVERLAY_HOVER);}},_isDragging:function(){var k=this;var l=k.drag;return l&&l.get("dragging");},_isResizing:function(){var k=this;var l=k.resize;return l&&l.get("resizing");},_renderDrag:function(){var k=this;var l=new b.DD.Drag({node:k.cropNode}).plug(b.Plugin.DDConstrained,{constrain:k._getConstraintRegion()});l.addTarget(k);k.drag=l;},_renderResize:function(){var k=this;var l=new b.Resize({node:k.cropNode}).plug(b.Plugin.ResizeConstrained,{constrain:k._getConstraintRegion(),preserveRatio:k.get("preserveRatio"),minHeight:k.get("minHeight"),minWidth:k.get("minWidth")});l.addTarget(k);k.resize=l;},_syncCropNodeUI:function(){var k=this;k.cropNode.setStyle("backgroundPosition",(-k.get("x"))+"px "+(-k.get("y"))+"px");},_syncCropSize:function(m){var k=this;var l=k.cropNode;k.set("cropHeight",l.height());k.set("cropWidth",l.width());},_syncRegion:function(o){var k=this;var p=k._getConstraintRegion(true);var n=k._origRegion;if(p.bottom!=n.bottom||p.left!=n.left||p.right!=n.right||p.top!=n.top){var m=k.drag;var l=k.resize;if(m){m.con.set("constrain",p);}if(l){l.con.set("constrain",p);}k._origRegion=p;}},_syncXY:function(m){var k=this;var l=k.cropNode;k.set("x",f(l.getStyle("left"))+l.getBorderWidth("l"));k.set("y",f(l.getStyle("top"))+l.getBorderWidth("t"));},_uiSetCropHeight:function(l){var k=this;k.cropNode.height(l);},_uiSetCropWidth:function(l){var k=this;k.cropNode.width(l);},_uiSetDisabled:function(m){var k=this;i.superclass._uiSetDisabled.apply(k,arguments);var l=!m;k.cropNode.toggle(l);if(l){k._createHover();}else{k._destroyHover();}},_uiSetMinHeight:function(m){var k=this;var l=k.resize;if(l){l.con.set("minHeight",m);}},_uiSetMinWidth:function(m){var k=this;var l=k.resize;if(l){l.con.set("minWidth",m);}},_uiSetMovable:function(l){var k=this;k.drag.set("lock",!l);},_uiSetPreserveRatio:function(m){var k=this;var l=k.resize;if(l){l.con.set("preserveRatio",m);}},_uiSetResizable:function(l){var k=this;if(l){if(k._stopResizeHandle){k._stopResizeHandle.detach();}}else{if(!k._stopResizeHandle){k._stopResizeHandle=k.resize.on("resize:resize",function(m){m.halt();});}}},_uiSetX:function(m){var k=this;var n=k.get("srcNode");var l=k.cropNode;l.setStyle("left",m-l.getBorderWidth("l"));},_uiSetY:function(m){var k=this;var n=k.get("srcNode");var l=k.cropNode;l.setStyle("top",m-l.getBorderWidth("t"));},_unHoverOverlay:function(){var k=this;if(!k._isDragging()&&!k._isResizing()){k._boundingBox.removeClass(CSS_OVERLAY_HOVER);
  2. }}}});b.ImageCropper=i;},"@VERSION@",{skinnable:true,requires:["widget","aui-base","resize","dd-constrain"]});