(function(b){function m(){return b("\x3cdiv/\x3e")}var n=Math.abs,l=Math.max,q=Math.min,e=Math.round;b.imgAreaSelect=function(z,c){function L(a){return a+C.left-M.left}function N(a){return a+C.top-M.top}function G(a){return a-C.left+M.left}function H(a){return a-C.top+M.top}function Q(a){a=Ba(a)||a;if(a=parseInt(a.pageX))return a-M.left}function R(a){a=Ba(a)||a;if(a=parseInt(a.pageY))return a-M.top}function Ba(a){a=a.originalEvent||{};return a.touches&&a.touches.length?a.touches[0]:!1}function D(a){var b= a||V;a=a||W;return{x1:e(d.x1*b),y1:e(d.y1*a),x2:e(d.x2*b)-1,y2:e(d.y2*a)-1,width:e(d.x2*b)-e(d.x1*b),height:e(d.y2*a)-e(d.y1*a)}}function ja(a,b,c,g,f){var h=f||V;f=f||W;d={x1:e(a/h||0),y1:e(b/f||0),x2:e(++c/h||0),y2:e(++g/f||0)};d.width=d.x2-d.x1;d.height=d.y2-d.y1}function O(){ca&&A.width()&&(C={left:e(A.offset().left),top:e(A.offset().top)},x=A.innerWidth(),y=A.innerHeight(),C.top+=A.outerHeight()-y>>1,C.left+=A.outerWidth()-x>>1,X=e(c.minWidth/V)||0,Y=e(c.minHeight/W)||0,ka=e(q(c.maxWidth/V|| 16777216,x)),la=e(q(c.maxHeight/W||16777216,y)),M="fixed"==ma?{left:b(document).scrollLeft(),top:b(document).scrollTop()}:/static|^$/.test(S.css("position"))?{left:0,top:0}:{left:e(S.offset().left)-S.scrollLeft(),top:e(S.offset().top)-S.scrollTop()},u=L(0),v=N(0),(d.x2>x||d.y2>y)&&na())}function da(a){if(ea){p.css({left:L(d.x1),top:N(d.y1)}).add(Z).width(I=d.width).height(J=d.height);Z.add(B).add(r).css({left:0,top:0});B.add(t).width(l(I-B.outerWidth()+B.innerWidth(),0)).height(l(J-B.outerHeight()+ B.innerHeight(),0));t.css({left:u,top:v,width:I,height:J,borderStyle:"solid",borderWidth:d.y1+"px "+(x-d.x2)+"px "+(y-d.y2)+"px "+d.x1+"px"});I-=r.outerWidth();J-=r.outerHeight();switch(r.length){case 8:b(r[4]).css({left:I>>1}),b(r[5]).css({left:I,top:J>>1}),b(r[6]).css({left:I>>1,top:J}),b(r[7]).css({top:J>>1});case 4:r.slice(1,3).css({left:I}),r.slice(2,4).css({top:J})}if(!1!==a&&(b.imgAreaSelect.keyPress!=Ca&&b(document).off(b.imgAreaSelect.keyPress,b.imgAreaSelect.onKeyPress),c.keys))b(document)[b.imgAreaSelect.keyPress](b.imgAreaSelect.onKeyPress= Ca)}}function oa(a){O();da(a);g=L(d.x1);f=N(d.y1);h=L(d.x2);k=N(d.y2)}function pa(a,b){c.fadeDuration?a.fadeOut(c.fadeDuration,b):a.hide()}function qa(a){return T&&!/^touch/.test(a.type)}function Da(a){var b=G(Q(a))-d.x1;a=H(R(a))-d.y1;w="";c.resizable&&(a<=c.resizeMargin?w="n":a>=d.height-c.resizeMargin&&(w="s"),b<=c.resizeMargin?w+="w":b>=d.width-c.resizeMargin&&(w+="e"));p.css("cursor",w?w+"-resize":c.movable?"move":"")}function P(a){qa(a)||(ra||(O(),ra=!0,p.one("mouseout",function(){ra=!1})), Da(a))}function sa(a){T=!1;b("body").css("cursor","");(c.autoHide||0==d.width*d.height)&&pa(p.add(t),function(){b(this).hide()});b(document).off("mousemove touchmove",ta);p.on("mousemove touchmove",P);if(a)c.onSelectEnd(z,D())}function Ea(a){if("mousedown"==a.type&&1!=a.which)return!1;"touchstart"==a.type?(T&&sa(),T=!0,Da(a)):O();w?(g=L(d["x"+(1+/w/.test(w))]),f=N(d["y"+(1+/n/.test(w))]),h=L(d["x"+(1+!/w/.test(w))]),k=N(d["y"+(1+!/n/.test(w))]),ua=h-Q(a),va=k-R(a),b(document).on("mousemove touchmove", ta).one("mouseup touchend",sa),p.off("mousemove touchmove",P)):c.movable?(wa=u+d.x1-Q(a),xa=v+d.y1-R(a),p.off("mousemove touchmove",P),b(document).on("mousemove touchmove",Fa).one("mouseup touchend",function(){T=!1;c.onSelectEnd(z,D());b(document).off("mousemove touchmove",Fa);p.on("mousemove touchmove",P)})):A.mousedown(a);return!1}function aa(a){E&&(a?(h=l(u,q(u+x,g+n(k-f)*E*(h>g||-1))),k=e(l(v,q(v+y,f+n(h-g)/E*(k>f||-1)))),h=e(h)):(k=l(v,q(v+y,f+n(h-g)/E*(k>f||-1))),h=e(l(u,q(u+x,g+n(k-f)*E*(h> g||-1)))),k=e(k)))}function na(){g=q(g,u+x);f=q(f,v+y);n(h-g)u+x&&(g=u+x-X));n(k-f)v+y&&(f=v+y-Y));h=l(u,q(h,u+x));k=l(v,q(k,v+y));aa(n(h-g)ka&&(h=g-ka*(hla&&(k=f-la*(kU++;)b(B[U-1]).addClass(c.classPrefix+"-border"+U);p.append(Z.add(B)).append(r);ha&&((ia=(t.css("filter")||"").match(/opacity=(\d+)/))&&t.css("opacity", ia[1]/100),(ia=(B.css("filter")||"").match(/opacity=(\d+)/))&&B.css("opacity",ia[1]/100));a.hide?pa(p.add(t)):a.show&&ca&&(ea=!0,p.add(t).fadeIn(c.fadeDuration||0),oa());E=(Ja=(c.aspectRatio||"").split(/:/))[0]/Ja[1];A.add(t).off("mousedown touchstart",Ga);if(c.disable||!1===c.enable)p.off({"mousemove touchmove":P,"mousedown touchstart":Ea}),b(window).off("resize",Ha);else{if(c.enable||!1===c.disable){if(c.resizable||c.movable)p.on({"mousemove touchmove":P,"mousedown touchstart":Ea});b(window).resize(Ha)}if(!c.persistent)A.add(t).on("mousedown touchstart", Ga)}c.enable=c.disable=void 0}var A=b(z),ca,p=m(),Z=m(),B=m().add(m()).add(m()).add(m()),t=m(),r=b([]),u,v,C={left:0,top:0},x,y,S,M={left:0,top:0},K=0,ma="absolute",wa,xa,ua,va,V,W,w,X,Y,ka,la,E,ea,g,f,h,k,d={x1:0,y1:0,x2:0,y2:0,width:0,height:0},F=navigator.userAgent,T,Ja,U,ia,I,J,ra,Ca=function(a){var b=c.keys,d=a.keyCode;var e=isNaN(b.alt)||!a.altKey&&!a.originalEvent.altKey?!isNaN(b.ctrl)&&a.ctrlKey?b.ctrl:!isNaN(b.shift)&&a.shiftKey?b.shift:isNaN(b.arrows)?10:b.arrows:b.alt;if("resize"==b.arrows|| "resize"==b.shift&&a.shiftKey||"resize"==b.ctrl&&a.ctrlKey||"resize"==b.alt&&(a.altKey||a.originalEvent.altKey)){switch(d){case 37:e=-e;case 39:a=l(g,h);g=q(g,h);h=l(a+e,g);aa();break;case 38:e=-e;case 40:a=l(f,k);f=q(f,k);k=l(a+e,f);aa(!0);break;default:return}ya()}else switch(g=q(g,h),f=q(f,k),d){case 37:ba(l(g-e,u),f);break;case 38:ba(g,l(f-e,v));break;case 39:ba(g+q(e,x-G(h)),f);break;case 40:ba(g,f+q(e,y-H(k)));break;default:return}return!1};this.remove=function(){Aa({disable:!0});p.add(t).remove()}; this.getOptions=function(){return c};this.setOptions=Aa;this.getSelection=D;this.setSelection=ja;this.cancelSelection=fa;this.update=oa;var ha=(/msie ([\w.]+)/i.exec(F)||[])[1],Ka=/webkit/i.test(F);for(F=A;F.length;)K=l(K,isNaN(F.css("z-index"))?K:F.css("z-index")),c.parent||"fixed"!=F.css("position")||(ma="fixed"),F=F.parent(":not(body)");K=c.zIndex||K;b.imgAreaSelect.keyPress=ha||Ka?"keydown":"keypress";p.add(t).hide().css({position:ma,overflow:"hidden",zIndex:K||"0"});p.css({zIndex:K+2||2});Z.add(B).css({position:"absolute", fontSize:0});z.complete||"complete"==z.readyState||!A.is("img")?Ia():A.one("load",Ia);!ca&&ha&&7<=ha&&(z.src=z.src)};b.fn.imgAreaSelect=function(e){e=e||{};this.each(function(){b(this).data("imgAreaSelect")?e.remove?(b(this).data("imgAreaSelect").remove(),b(this).removeData("imgAreaSelect")):b(this).data("imgAreaSelect").setOptions(e):e.remove||(void 0===e.enable&&void 0===e.disable&&(e.enable=!0),b(this).data("imgAreaSelect",new b.imgAreaSelect(this,e)))});return e.instance?b(this).data("imgAreaSelect"): this}})(jQuery); PrimeFaces.widget.ExtImageAreaSelect=PrimeFaces.widget.BaseWidget.extend({init:function(b){this.id=b.id;this.cfg=b;this.options={};this.options.instance=!0;this.options.classPrefix="pe-imgageareaselect";this.cfg.aspectRatio&&(this.options.aspectRatio=this.cfg.aspectRatio);this.cfg.autoHide&&(this.options.autoHide=this.cfg.autoHide);this.cfg.fadeSpeed&&(this.options.fadeSpeed=this.cfg.fadeSpeed);this.cfg.handles&&(this.options.handles=this.cfg.handles);this.cfg.hide&&(this.options.hide=this.cfg.hide); this.cfg.imageHeight&&(this.options.imageHeight=this.cfg.imageHeight);this.cfg.imageWidth&&(this.options.imageWidth=this.cfg.imageWidth);this.cfg.maxHeight&&(this.options.maxHeight=this.cfg.maxHeight);this.cfg.maxWidth&&(this.options.maxWidth=this.cfg.maxWidth);this.cfg.movable&&(this.options.movable=this.cfg.movable);this.cfg.persistent&&(this.options.persistent=this.cfg.persistent);this.cfg.resizable&&(this.options.resizable=this.cfg.resizable);this.cfg.show&&(this.options.show=this.cfg.show);this.cfg.parentSelector&& (this.options.parent=this.cfg.parentSelector);this.cfg.keyboardSupport&&(this.options.keys=this.cfg.keyboardSupport);this.bindSelectStartCallback();this.bindSelectChangeCallback();this.bindSelectEndCallback();this.instance=PrimeFaces.expressions.SearchExpressionFacade.resolveComponentsAsSelector(this.cfg.target).imgAreaSelect(this.options);this.removeScriptElement(this.id)},bindSelectEndCallback:function(){if(this.cfg.behaviors){var b=this.cfg.behaviors.selectEnd;b&&(this.options.onSelectEnd=$.proxy(function(m, n){var l={};this.fillSelectEventsParameter(m,n,l);b.call(this,l)},this))}},bindSelectStartCallback:function(){if(this.cfg.behaviors){var b=this.cfg.behaviors.selectStart;b&&(this.options.onSelectStart=$.proxy(function(m,n){var l={};this.fillSelectEventsParameter(m,n,l);b.call(this,l)},this))}},bindSelectChangeCallback:function(){if(this.cfg.behaviors){var b=this.cfg.behaviors.selectChange;b&&(this.options.onSelectChange=$.proxy(function(m,n){var l={};this.fillSelectEventsParameter(m,n,l);b.call(this, l)},this))}},fillSelectEventsParameter:function(b,m,n){n.params=[{name:this.id+"_x1",value:m.x1},{name:this.id+"_x2",value:m.x2},{name:this.id+"_y1",value:m.y1},{name:this.id+"_y2",value:m.y2},{name:this.id+"_width",value:m.width},{name:this.id+"_height",value:m.height},{name:this.id+"_imgSrc",value:b.src},{name:this.id+"_imgHeight",value:b.height},{name:this.id+"_imgWidth",value:b.width}]},update:function(){this.instance.update()},reload:function(){this.setOptions({remove:!0});this.update();this.instance= PrimeFaces.expressions.SearchExpressionFacade.resolveComponentsAsSelector(this.cfg.target).imgAreaSelect(this.options)},destroy:function(){this.cancelSelection();this.instance=null;PrimeFaces.expressions.SearchExpressionFacade.resolveComponentsAsSelector(this.cfg.target).imgAreaSelect({remove:!0})},refresh:function(b){this.destroy();this.init(b)},cancelSelection:function(){this.instance&&this.instance.cancelSelection()},getSelection:function(){return this.instance.getSelection()},setSelection:function(b, m,n,l){this.instance.setSelection(b,m,n,l)},getOptions:function(){return this.instance.getOptions()},setOptions:function(b){this.instance.setOptions(b)}}); //# sourceMappingURL=https://raw.githubusercontent.com/primefaces-extensions/core/master/src/sourcemap/6.2.10/imageareaselect.js.map