2 !function(g){var r=wp.i18n.__,d=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,handleCropToolClick:function(i,t,e){var a=g("#image-preview-"+i),o=this.iasapi.getSelection();isNaN(o.x1)&&(this.setCropSelection(i,{x1:0,y1:0,x2:a.innerWidth(),y2:a.innerHeight(),width:a.innerWidth(),height:a.innerHeight()}),o=this.iasapi.getSelection()),0===o.x1&&0===o.y1&&0===o.x2&&0===o.y2?(this.iasapi.setSelection(0,0,a.innerWidth(),a.innerHeight(),!0),this.iasapi.setOptions({show:!0}),this.iasapi.update()):d.crop(i,t,e)},intval:function(i){return 0|i},setDisabled:function(i,t){t?i.removeClass("disabled").prop("disabled",!1):i.addClass("disabled").prop("disabled",!0)},init:function(i){var t=this,e=g("#image-editor-"+t.postid),a=t.intval(g("#imgedit-x-"+i).val()),o=t.intval(g("#imgedit-y-"+i).val());t.postid!==i&&e.length&&t.close(t.postid),t.hold.w=t.hold.ow=a,t.hold.h=t.hold.oh=o,t.hold.xy_ratio=a/o,t.hold.sizer=parseFloat(g("#imgedit-sizer-"+i).val()),t.postid=i,g("#imgedit-response-"+i).empty(),g("#imgedit-panel-"+i).on("keypress",'input[type="text"]',function(i){var t=i.keyCode;if(36<t&&t<41&&g(this).trigger("blur"),13===t)return i.preventDefault(),i.stopPropagation(),!1}),g(document).on("image-editor-ui-ready",this.focusManager)},toggleEditor:function(i,t,e){i=g("#imgedit-wait-"+i);t?i.fadeIn("fast"):i.fadeOut("fast",function(){e&&g(document).trigger("image-editor-ui-ready")})},toggleHelp:function(i){i=g(i);return i.attr("aria-expanded","false"===i.attr("aria-expanded")?"true":"false").parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},getTarget:function(i){return g('input[name="imgedit-target-'+i+'"]:checked',"#imgedit-save-target-"+i).val()||"full"},scaleChanged:function(i,t,e){var a=g("#imgedit-scale-width-"+i),o=g("#imgedit-scale-height-"+i),i=g("#imgedit-scale-warn-"+i),s="",n="";!1!==this.validateNumeric(e)&&(t?(n=""!==a.val()?Math.round(a.val()/this.hold.xy_ratio):"",o.val(n)):(s=""!==o.val()?Math.round(o.val()*this.hold.xy_ratio):"",a.val(s)),n&&n>this.hold.oh||s&&s>this.hold.ow?i.css("visibility","visible"):i.css("visibility","hidden"))},getSelRatio:function(i){var t=this.hold.w,e=this.hold.h,a=this.intval(g("#imgedit-crop-width-"+i).val()),i=this.intval(g("#imgedit-crop-height-"+i).val());return a&&i?a+":"+i:t&&e?t+":"+e:"1:1"},filterHistory:function(i,t){var e,a,o,s=g("#imgedit-history-"+i).val(),n=[];if(""===s)return"";if(s=JSON.parse(s),0<(e=this.intval(g("#imgedit-undone-"+i).val())))for(;0<e;)s.pop(),e--;if(t){if(!s.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";(i=(i=s[s.length-1]).c||i.r||i.f||!1)&&(this.hold.w=i.fw,this.hold.h=i.fh)}for(a in s)(o=s[a]).hasOwnProperty("c")?n[a]={c:{x:o.c.x,y:o.c.y,w:o.c.w,h:o.c.h}}:o.hasOwnProperty("r")?n[a]={r:o.r.r}:o.hasOwnProperty("f")&&(n[a]={f:o.f.f});return JSON.stringify(n)},refreshEditor:function(o,i,s){var n,t=this;t.toggleEditor(o,1),i={action:"imgedit-preview",_ajax_nonce:i,postid:o,history:t.filterHistory(o,1),rand:t.intval(1e6*Math.random())},n=g('<img id="image-preview-'+o+'" alt="" />').on("load",{history:i.history},function(i){var t,e=g("#imgedit-crop-"+o),a=d;""!==i.data.history&&(i=JSON.parse(i.data.history))[i.length-1].hasOwnProperty("c")&&(a.setDisabled(g("#image-undo-"+o),!0),g("#image-undo-"+o).trigger("focus")),e.empty().append(n),i=Math.max(a.hold.w,a.hold.h),t=Math.max(g(n).width(),g(n).height()),a.hold.sizer=t<i?t/i:1,a.initCrop(o,n,e),null!=s&&s(),g("#imgedit-history-"+o).val()&&"0"===g("#imgedit-undone-"+o).val()?g("input.imgedit-submit-btn","#imgedit-panel-"+o).prop("disabled",!1):g("input.imgedit-submit-btn","#imgedit-panel-"+o).prop("disabled",!0),a.toggleEditor(o,0)}).on("error",function(){var i=r("Could not load the preview image. Please reload the page and try again.");g("#imgedit-crop-"+o).empty().append('<div class="notice notice-error" tabindex="-1" role="alert"><p>'+i+"</p></div>"),t.toggleEditor(o,0,!0),wp.a11y.speak(i,"assertive")}).attr("src",ajaxurl+"?"+g.param(i))},action:function(t,i,e){var a,o,s,n,r=this;if(r.notsaved(t))return!1;if(i={action:"image-editor",_ajax_nonce:i,postid:t},"scale"===e){if(a=g("#imgedit-scale-width-"+t),o=g("#imgedit-scale-height-"+t),s=r.intval(a.val()),n=r.intval(o.val()),s<1)return a.trigger("focus"),!1;if(n<1)return o.trigger("focus"),!1;if(s===r.hold.ow||n===r.hold.oh)return!1;i.do="scale",i.fwidth=s,i.fheight=n}else{if("restore"!==e)return!1;i.do="restore"}r.toggleEditor(t,1),g.post(ajaxurl,i,function(i){g("#image-editor-"+t).empty().append(i.data.html),r.toggleEditor(t,0,!0),r._view&&r._view.refresh()}).done(function(i){i&&i.data.message.msg?wp.a11y.speak(i.data.message.msg):i&&i.data.message.error&&wp.a11y.speak(i.data.message.error)})},save:function(t,i){var e=this.getTarget(t),a=this.filterHistory(t,0),o=this;if(""===a)return!1;this.toggleEditor(t,1),i={action:"image-editor",_ajax_nonce:i,postid:t,history:a,target:e,context:g("#image-edit-context").length?g("#image-edit-context").val():null,do:"save"},g.post(ajaxurl,i,function(i){if(i.data.error)return g("#imgedit-response-"+t).html('<div class="notice notice-error" tabindex="-1" role="alert"><p>'+i.data.error+"</p></div>"),d.close(t),void wp.a11y.speak(i.data.error);i.data.fw&&i.data.fh&&g("#media-dims-"+t).html(i.data.fw+" × "+i.data.fh),i.data.thumbnail&&g(".thumbnail","#thumbnail-head-"+t).attr("src",""+i.data.thumbnail),i.data.msg&&(g("#imgedit-response-"+t).html('<div class="notice notice-success" tabindex="-1" role="alert"><p>'+i.data.msg+"</p></div>"),wp.a11y.speak(i.data.msg)),o._view?o._view.save():d.close(t)})},open:function(e,i,t){this._view=t;var a=g("#image-editor-"+e),o=g("#media-head-"+e),s=g("#imgedit-open-btn-"+e),n=s.siblings(".spinner");if(!s.hasClass("button-activated"))return n.addClass("is-active"),g.ajax({url:ajaxurl,type:"post",data:{action:"image-editor",_ajax_nonce:i,postid:e,do:"open"},beforeSend:function(){s.addClass("button-activated")}}).done(function(i){var t;"-1"===i&&(t=r("Could not load the preview image."),a.html('<div class="notice notice-error" tabindex="-1" role="alert"><p>'+t+"</p></div>")),i.data&&i.data.html&&a.html(i.data.html),o.fadeOut("fast",function(){a.fadeIn("fast",function(){t&&g(document).trigger("image-editor-ui-ready")}),s.removeClass("button-activated"),n.removeClass("is-active")}),d.init(e)})},imgLoaded:function(i){var t=g("#image-preview-"+i),e=g("#imgedit-crop-"+i);void 0===this.hold.sizer&&this.init(i),this.initCrop(i,t,e),this.setCropSelection(i,{x1:0,y1:0,x2:0,y2:0,width:t.innerWidth(),height:t.innerHeight()}),this.toggleEditor(i,0,!0)},focusManager:function(){setTimeout(function(){var i=g('.notice[role="alert"]');(i=i.length?i:g(".imgedit-wrap").find(":tabbable:first")).trigger("focus")},100)},initCrop:function(a,i,t){var o=this,s=g("#imgedit-sel-width-"+a),n=g("#imgedit-sel-height-"+a),i=g(i);i.data("imgAreaSelect")||(o.iasapi=i.imgAreaSelect({parent:t,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(i){g(i).next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),t.children().on("mousedown, touchstart",function(i){var t,e=!1;i.shiftKey&&(i=o.iasapi.getSelection(),t=o.getSelRatio(a),e=i&&i.width&&i.height?i.width+":"+i.height:t),o.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){d.setDisabled(g("#imgedit-crop-sel-"+a),1)},onSelectEnd:function(i,t){d.setCropSelection(a,t)},onSelectChange:function(i,t){var e=d.hold.sizer;s.val(d.round(t.width/e)),n.val(d.round(t.height/e))}}))},setCropSelection:function(i,t){if(!(t=t||0)||t.width<3&&t.height<3)return this.setDisabled(g(".imgedit-crop","#imgedit-panel-"+i),1),this.setDisabled(g("#imgedit-crop-sel-"+i),1),g("#imgedit-sel-width-"+i).val(""),g("#imgedit-sel-height-"+i).val(""),g("#imgedit-selection-"+i).val(""),!1;t={x:t.x1,y:t.y1,w:t.width,h:t.height},this.setDisabled(g(".imgedit-crop","#imgedit-panel-"+i),1),g("#imgedit-selection-"+i).val(JSON.stringify(t))},close:function(i,t){if((t=t||!1)&&this.notsaved(i))return!1;this.iasapi={},this.hold={},this._view?this._view.back():g("#image-editor-"+i).fadeOut("fast",function(){g("#media-head-"+i).fadeIn("fast",function(){g("#imgedit-open-btn-"+i).trigger("focus")}),g(this).empty()})},notsaved:function(i){var t=g("#imgedit-history-"+i).val(),t=""!==t?JSON.parse(t):[];return this.intval(g("#imgedit-undone-"+i).val())<t.length&&!confirm(g("#imgedit-leaving-"+i).text())},addStep:function(i,t,e){for(var a=this,o=g("#imgedit-history-"+t),s=""!==o.val()?JSON.parse(o.val()):[],n=g("#imgedit-undone-"+t),r=a.intval(n.val());0<r;)s.pop(),r--;n.val(0),s.push(i),o.val(JSON.stringify(s)),a.refreshEditor(t,e,function(){a.setDisabled(g("#image-undo-"+t),!0),a.setDisabled(g("#image-redo-"+t),!1)})},rotate:function(i,t,e,a){if(g(a).hasClass("disabled"))return!1;this.addStep({r:{r:i,fw:this.hold.h,fh:this.hold.w}},t,e)},flip:function(i,t,e,a){if(g(a).hasClass("disabled"))return!1;this.addStep({f:{f:i,fw:this.hold.w,fh:this.hold.h}},t,e)},crop:function(i,t,e){var a=g("#imgedit-selection-"+i).val(),o=this.intval(g("#imgedit-sel-width-"+i).val()),s=this.intval(g("#imgedit-sel-height-"+i).val());if(g(e).hasClass("disabled")||""===a)return!1;0<(a=JSON.parse(a)).w&&0<a.h&&0<o&&0<s&&(a.fw=o,a.fh=s,this.addStep({c:a},i,t)),g("#imgedit-sel-width-"+i).val(""),g("#imgedit-sel-height-"+i).val("")},undo:function(t,i){var e=this,a=g("#image-undo-"+t),o=g("#imgedit-undone-"+t),s=e.intval(o.val())+1;a.hasClass("disabled")||(o.val(s),e.refreshEditor(t,i,function(){var i=g("#imgedit-history-"+t),i=""!==i.val()?JSON.parse(i.val()):[];e.setDisabled(g("#image-redo-"+t),!0),e.setDisabled(a,s<i.length),i.length===s&&g("#image-redo-"+t).trigger("focus")}))},redo:function(i,t){var e=this,a=g("#image-redo-"+i),o=g("#imgedit-undone-"+i),s=e.intval(o.val())-1;a.hasClass("disabled")||(o.val(s),e.refreshEditor(i,t,function(){e.setDisabled(g("#image-undo-"+i),!0),e.setDisabled(a,0<s),0==s&&g("#image-undo-"+i).trigger("focus")}))},setNumSelection:function(i,t){var e,a=g("#imgedit-sel-width-"+i),o=g("#imgedit-sel-height-"+i),s=this.intval(a.val()),n=this.intval(o.val()),r=g("#image-preview-"+i),d=r.height(),r=r.width(),l=this.hold.sizer,h=this.iasapi;if(!1!==this.validateNumeric(t))return s<1?(a.val(""),!1):n<1?(o.val(""),!1):void(s&&n&&(t=h.getSelection())&&(s=t.x1+Math.round(s*l),n=t.y1+Math.round(n*l),e=t.x1,t=t.y1,r<s&&(e=0,s=r,a.val(Math.round(s/l))),d<n&&(t=0,n=d,o.val(Math.round(n/l))),h.setSelection(e,t,s,n),h.update(),this.setCropSelection(i,h.getSelection())))},round:function(i){var t;return i=Math.round(i),.6<this.hold.sizer?i:"1"===(t=i.toString().slice(-1))?i-1:"9"===t?i+1:i},setRatioSelection:function(i,t,e){var a=this.intval(g("#imgedit-crop-width-"+i).val()),o=this.intval(g("#imgedit-crop-height-"+i).val()),s=g("#image-preview-"+i).height();!1===this.validateNumeric(e)?this.iasapi.setOptions({aspectRatio:null}):a&&o&&(this.iasapi.setOptions({aspectRatio:a+":"+o}),(e=this.iasapi.getSelection(!0))&&(s<(a=Math.ceil(e.y1+(e.x2-e.x1)/(a/o)))&&(a=s,g(t?"#imgedit-crop-height-"+i:"#imgedit-crop-width-"+i).val("")),this.iasapi.setSelection(e.x1,e.y1,e.x2,a),this.iasapi.update()))},validateNumeric:function(i){if(!this.intval(g(i).val()))return g(i).val(""),!1}}}(jQuery); |
2 !function(c){var n=wp.i18n.__,l=window.imageEdit={iasapi:{},hold:{},postid:"",_view:!1,toggleCropTool:function(t,i,e){var a,o,r,s=c("#image-preview-"+t),n=this.iasapi.getSelection();l.toggleControls(e),"false"==("true"===c(e).attr("aria-expanded")?"true":"false")?(this.iasapi.cancelSelection(),l.setDisabled(c(".imgedit-crop-clear"),0)):(l.setDisabled(c(".imgedit-crop-clear"),1),e=c("#imgedit-start-x-"+t).val()?c("#imgedit-start-x-"+t).val():0,a=c("#imgedit-start-y-"+t).val()?c("#imgedit-start-y-"+t).val():0,o=c("#imgedit-sel-width-"+t).val()?c("#imgedit-sel-width-"+t).val():s.innerWidth(),r=c("#imgedit-sel-height-"+t).val()?c("#imgedit-sel-height-"+t).val():s.innerHeight(),isNaN(n.x1)&&(this.setCropSelection(t,{x1:e,y1:a,x2:o,y2:r,width:o,height:r}),n=this.iasapi.getSelection()),0===n.x1&&0===n.y1&&0===n.x2&&0===n.y2?this.iasapi.setSelection(0,0,s.innerWidth(),s.innerHeight(),!0):this.iasapi.setSelection(e,a,o,r,!0),this.iasapi.setOptions({show:!0}),this.iasapi.update())},handleCropToolClick:function(t,i,e){e.classList.contains("imgedit-crop-clear")?(this.iasapi.cancelSelection(),l.setDisabled(c(".imgedit-crop-apply"),0),c("#imgedit-sel-width-"+t).val(""),c("#imgedit-sel-height-"+t).val(""),c("#imgedit-start-x-"+t).val("0"),c("#imgedit-start-y-"+t).val("0"),c("#imgedit-selection-"+t).val("")):l.crop(t,i,e)},intval:function(t){return 0|t},setDisabled:function(t,i){i?t.removeClass("disabled").prop("disabled",!1):t.addClass("disabled").prop("disabled",!0)},init:function(e){var t=this,i=c("#image-editor-"+t.postid),a=t.intval(c("#imgedit-x-"+e).val()),o=t.intval(c("#imgedit-y-"+e).val());t.postid!==e&&i.length&&t.close(t.postid),t.hold.w=t.hold.ow=a,t.hold.h=t.hold.oh=o,t.hold.xy_ratio=a/o,t.hold.sizer=parseFloat(c("#imgedit-sizer-"+e).val()),t.postid=e,c("#imgedit-response-"+e).empty(),c("#imgedit-panel-"+e).on("keypress",function(t){var i=c("#imgedit-nonce-"+e).val();26===t.which&&t.ctrlKey&&l.undo(e,i),25===t.which&&t.ctrlKey&&l.redo(e,i)}),c("#imgedit-panel-"+e).on("keypress",'input[type="text"]',function(t){var i=t.keyCode;if(36<i&&i<41&&c(this).trigger("blur"),13===i)return t.preventDefault(),t.stopPropagation(),!1}),c(document).on("image-editor-ui-ready",this.focusManager)},toggleEditor:function(t,i,e){t=c("#imgedit-wait-"+t);i?t.fadeIn("fast"):t.fadeOut("fast",function(){e&&c(document).trigger("image-editor-ui-ready")})},togglePopup:function(t){var i=c(t),t=c(t).attr("aria-controls"),t=c("#"+t);return i.attr("aria-expanded","false"===i.attr("aria-expanded")?"true":"false"),t.toggleClass("imgedit-popup-menu-open").slideToggle("fast").css({"z-index":2e5}),"true"===i.attr("aria-expanded")&&t.find("button").first().trigger("focus"),!1},monitorPopup:function(){var e=document.querySelector(".imgedit-rotate-menu-container"),a=document.querySelector(".imgedit-rotate-menu-container .imgedit-rotate");return setTimeout(function(){var t=document.activeElement,i=e.contains(t);t&&!i&&"true"===a.getAttribute("aria-expanded")&&l.togglePopup(a)},100),!1},browsePopup:function(t){var i=c(t),t=c(t).parent(".imgedit-popup-menu").find("button"),i=t.index(i),e=i-1,i=i+1,a=t.length,a=(e<0&&(e=a-1),i===a&&(i=0),!1);return 40===event.keyCode?a=t.get(i):38===event.keyCode&&(a=t.get(e)),a&&(a.focus(),event.preventDefault()),!1},closePopup:function(t){var t=c(t).parent(".imgedit-popup-menu"),i=t.attr("id");return c('button[aria-controls="'+i+'"]').attr("aria-expanded","false").trigger("focus"),t.toggleClass("imgedit-popup-menu-open").slideToggle("fast"),!1},toggleHelp:function(t){t=c(t);return t.attr("aria-expanded","false"===t.attr("aria-expanded")?"true":"false").parents(".imgedit-group-top").toggleClass("imgedit-help-toggled").find(".imgedit-help").slideToggle("fast"),!1},toggleControls:function(t){var t=c(t),i=c("#"+t.attr("aria-controls"));return t.attr("aria-expanded","false"===t.attr("aria-expanded")?"true":"false"),i.parent(".imgedit-group").toggleClass("imgedit-panel-active"),!1},getTarget:function(t){var i=c("#imgedit-save-target-"+t);return i.length?i.find('input[name="imgedit-target-'+t+'"]:checked').val()||"full":"all"},scaleChanged:function(t,i,e){var a=c("#imgedit-scale-width-"+t),o=c("#imgedit-scale-height-"+t),t=c("#imgedit-scale-warn-"+t),r="",s="",n=c("#imgedit-scale-button");!1!==this.validateNumeric(e)&&(i?(s=""!==a.val()?Math.round(a.val()/this.hold.xy_ratio):"",o.val(s)):(r=""!==o.val()?Math.round(o.val()*this.hold.xy_ratio):"",a.val(r)),s&&s>this.hold.oh||r&&r>this.hold.ow?(t.css("visibility","visible"),n.prop("disabled",!0)):(t.css("visibility","hidden"),n.prop("disabled",!1)))},getSelRatio:function(t){var i=this.hold.w,e=this.hold.h,a=this.intval(c("#imgedit-crop-width-"+t).val()),t=this.intval(c("#imgedit-crop-height-"+t).val());return a&&t?a+":"+t:i&&e?i+":"+e:"1:1"},filterHistory:function(t,i){var e,a,o,r=c("#imgedit-history-"+t).val(),s=[];if(""===r)return"";if(r=JSON.parse(r),0<(e=this.intval(c("#imgedit-undone-"+t).val())))for(;0<e;)r.pop(),e--;if(i){if(!r.length)return this.hold.w=this.hold.ow,this.hold.h=this.hold.oh,"";(t=(t=r[r.length-1]).c||t.r||t.f||!1)&&(this.hold.w=t.fw,this.hold.h=t.fh)}for(a in r)(o=r[a]).hasOwnProperty("c")?s[a]={c:{x:o.c.x,y:o.c.y,w:o.c.w,h:o.c.h}}:o.hasOwnProperty("r")?s[a]={r:o.r.r}:o.hasOwnProperty("f")&&(s[a]={f:o.f.f});return JSON.stringify(s)},refreshEditor:function(o,t,r){var s,i=this;i.toggleEditor(o,1),t={action:"imgedit-preview",_ajax_nonce:t,postid:o,history:i.filterHistory(o,1),rand:i.intval(1e6*Math.random())},s=c('<img id="image-preview-'+o+'" alt="" />').on("load",{history:t.history},function(t){var i=c("#imgedit-crop-"+o),e=l,a=(""!==t.data.history&&(t=JSON.parse(t.data.history))[t.length-1].hasOwnProperty("c")&&(e.setDisabled(c("#image-undo-"+o),!0),c("#image-undo-"+o).trigger("focus")),i.empty().append(s),t=Math.max(e.hold.w,e.hold.h),a=Math.max(c(s).width(),c(s).height()),e.hold.sizer=a<t?a/t:1,e.initCrop(o,s,i),null!=r&&r(),c("#imgedit-history-"+o).val()&&"0"===c("#imgedit-undone-"+o).val()?c("button.imgedit-submit-btn","#imgedit-panel-"+o).prop("disabled",!1):c("button.imgedit-submit-btn","#imgedit-panel-"+o).prop("disabled",!0),n("Image updated."));e.toggleEditor(o,0),wp.a11y.speak(a,"assertive")}).on("error",function(){var t=n("Could not load the preview image. Please reload the page and try again.");c("#imgedit-crop-"+o).empty().append('<div class="notice notice-error" tabindex="-1" role="alert"><p>'+t+"</p></div>"),i.toggleEditor(o,0,!0),wp.a11y.speak(t,"assertive")}).attr("src",ajaxurl+"?"+c.param(t))},action:function(i,t,e){var a,o,r,s,n=this;if(n.notsaved(i))return!1;if(t={action:"image-editor",_ajax_nonce:t,postid:i},"scale"===e){if(a=c("#imgedit-scale-width-"+i),o=c("#imgedit-scale-height-"+i),r=n.intval(a.val()),s=n.intval(o.val()),r<1)return a.trigger("focus"),!1;if(s<1)return o.trigger("focus"),!1;if(r===n.hold.ow||s===n.hold.oh)return!1;t.do="scale",t.fwidth=r,t.fheight=s}else{if("restore"!==e)return!1;t.do="restore"}n.toggleEditor(i,1),c.post(ajaxurl,t,function(t){c("#image-editor-"+i).empty().append(t.data.html),n.toggleEditor(i,0,!0),n._view&&n._view.refresh()}).done(function(t){t&&t.data.message.msg?wp.a11y.speak(t.data.message.msg):t&&t.data.message.error&&wp.a11y.speak(t.data.message.error)})},save:function(i,t){var e=this.getTarget(i),a=this.filterHistory(i,0),o=this;if(""===a)return!1;this.toggleEditor(i,1),t={action:"image-editor",_ajax_nonce:t,postid:i,history:a,target:e,context:c("#image-edit-context").length?c("#image-edit-context").val():null,do:"save"},c.post(ajaxurl,t,function(t){t.data.error?(c("#imgedit-response-"+i).html('<div class="notice notice-error" tabindex="-1" role="alert"><p>'+t.data.error+"</p></div>"),l.close(i),wp.a11y.speak(t.data.error)):(t.data.fw&&t.data.fh&&c("#media-dims-"+i).html(t.data.fw+" × "+t.data.fh),t.data.thumbnail&&c(".thumbnail","#thumbnail-head-"+i).attr("src",""+t.data.thumbnail),t.data.msg&&(c("#imgedit-response-"+i).html('<div class="notice notice-success" tabindex="-1" role="alert"><p>'+t.data.msg+"</p></div>"),wp.a11y.speak(t.data.msg)),o._view?o._view.save():l.close(i))})},open:function(e,t,i){this._view=i;var a=c("#image-editor-"+e),o=c("#media-head-"+e),r=c("#imgedit-open-btn-"+e),s=r.siblings(".spinner");if(!r.hasClass("button-activated"))return s.addClass("is-active"),c.ajax({url:ajaxurl,type:"post",data:{action:"image-editor",_ajax_nonce:t,postid:e,do:"open"},beforeSend:function(){r.addClass("button-activated")}}).done(function(t){var i;"-1"===t&&(i=n("Could not load the preview image."),a.html('<div class="notice notice-error" tabindex="-1" role="alert"><p>'+i+"</p></div>")),t.data&&t.data.html&&a.html(t.data.html),o.fadeOut("fast",function(){a.fadeIn("fast",function(){i&&c(document).trigger("image-editor-ui-ready")}),r.removeClass("button-activated"),s.removeClass("is-active")}),l.init(e)})},imgLoaded:function(t){var i=c("#image-preview-"+t),e=c("#imgedit-crop-"+t);void 0===this.hold.sizer&&this.init(t),this.initCrop(t,i,e),this.setCropSelection(t,{x1:0,y1:0,x2:0,y2:0,width:i.innerWidth(),height:i.innerHeight()}),this.toggleEditor(t,0,!0)},focusManager:function(){setTimeout(function(){var t=c('.notice[role="alert"]');(t=t.length?t:c(".imgedit-wrap").find(":tabbable:first")).attr("tabindex","-1").trigger("focus")},100)},initCrop:function(a,t,i){var o=this,r=c("#imgedit-sel-width-"+a),s=c("#imgedit-sel-height-"+a),n=c("#imgedit-start-x-"+a),d=c("#imgedit-start-y-"+a),t=c(t);t.data("imgAreaSelect")||(o.iasapi=t.imgAreaSelect({parent:i,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(t){c(t).next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),i.children().on("mousedown, touchstart",function(t){var i,e=!1;t.shiftKey&&(t=o.iasapi.getSelection(),i=o.getSelRatio(a),e=t&&t.width&&t.height?t.width+":"+t.height:i),o.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){l.setDisabled(c("#imgedit-crop-sel-"+a),1),l.setDisabled(c(".imgedit-crop-clear"),1),l.setDisabled(c(".imgedit-crop-apply"),1)},onSelectEnd:function(t,i){l.setCropSelection(a,i),c("#imgedit-crop > *").is(":visible")||l.toggleControls(c(".imgedit-crop.button"))},onSelectChange:function(t,i){var e=l.hold.sizer;r.val(l.round(i.width/e)),s.val(l.round(i.height/e)),n.val(l.round(i.x1/e)),d.val(l.round(i.y1/e))}}))},setCropSelection:function(t,i){if(!(i=i||0)||i.width<3&&i.height<3)return this.setDisabled(c(".imgedit-crop","#imgedit-panel-"+t),1),this.setDisabled(c("#imgedit-crop-sel-"+t),1),c("#imgedit-sel-width-"+t).val(""),c("#imgedit-sel-height-"+t).val(""),c("#imgedit-start-x-"+t).val("0"),c("#imgedit-start-y-"+t).val("0"),c("#imgedit-selection-"+t).val(""),!1;i={x:i.x1,y:i.y1,w:i.width,h:i.height},this.setDisabled(c(".imgedit-crop","#imgedit-panel-"+t),1),c("#imgedit-selection-"+t).val(JSON.stringify(i))},close:function(t,i){if((i=i||!1)&&this.notsaved(t))return!1;this.iasapi={},this.hold={},this._view?this._view.back():c("#image-editor-"+t).fadeOut("fast",function(){c("#media-head-"+t).fadeIn("fast",function(){c("#imgedit-open-btn-"+t).trigger("focus")}),c(this).empty()})},notsaved:function(t){var i=c("#imgedit-history-"+t).val(),i=""!==i?JSON.parse(i):[];return this.intval(c("#imgedit-undone-"+t).val())<i.length&&!confirm(c("#imgedit-leaving-"+t).text())},addStep:function(t,i,e){for(var a=this,o=c("#imgedit-history-"+i),r=""!==o.val()?JSON.parse(o.val()):[],s=c("#imgedit-undone-"+i),n=a.intval(s.val());0<n;)r.pop(),n--;s.val(0),r.push(t),o.val(JSON.stringify(r)),a.refreshEditor(i,e,function(){a.setDisabled(c("#image-undo-"+i),!0),a.setDisabled(c("#image-redo-"+i),!1)})},rotate:function(t,i,e,a){if(c(a).hasClass("disabled"))return!1;this.closePopup(a),this.addStep({r:{r:t,fw:this.hold.h,fh:this.hold.w}},i,e)},flip:function(t,i,e,a){if(c(a).hasClass("disabled"))return!1;this.closePopup(a),this.addStep({f:{f:t,fw:this.hold.w,fh:this.hold.h}},i,e)},crop:function(t,i,e){var a=c("#imgedit-selection-"+t).val(),o=this.intval(c("#imgedit-sel-width-"+t).val()),r=this.intval(c("#imgedit-sel-height-"+t).val());if(c(e).hasClass("disabled")||""===a)return!1;0<(a=JSON.parse(a)).w&&0<a.h&&0<o&&0<r&&(a.fw=o,a.fh=r,this.addStep({c:a},t,i)),c("#imgedit-sel-width-"+t).val(""),c("#imgedit-sel-height-"+t).val(""),c("#imgedit-start-x-"+t).val("0"),c("#imgedit-start-y-"+t).val("0")},undo:function(i,t){var e=this,a=c("#image-undo-"+i),o=c("#imgedit-undone-"+i),r=e.intval(o.val())+1;a.hasClass("disabled")||(o.val(r),e.refreshEditor(i,t,function(){var t=c("#imgedit-history-"+i),t=""!==t.val()?JSON.parse(t.val()):[];e.setDisabled(c("#image-redo-"+i),!0),e.setDisabled(a,r<t.length),t.length===r&&c("#image-redo-"+i).trigger("focus")}))},redo:function(t,i){var e=this,a=c("#image-redo-"+t),o=c("#imgedit-undone-"+t),r=e.intval(o.val())-1;a.hasClass("disabled")||(o.val(r),e.refreshEditor(t,i,function(){e.setDisabled(c("#image-undo-"+t),!0),e.setDisabled(a,0<r),0==r&&c("#image-undo-"+t).trigger("focus")}))},setNumSelection:function(t,i){var e=c("#imgedit-sel-width-"+t),a=c("#imgedit-sel-height-"+t),o=c("#imgedit-start-x-"+t),r=c("#imgedit-start-y-"+t),o=this.intval(o.val()),r=this.intval(r.val()),s=this.intval(e.val()),n=this.intval(a.val()),d=c("#image-preview-"+t),l=d.height(),d=d.width(),h=this.hold.sizer,g=this.iasapi;if(!1!==this.validateNumeric(i))return s<1?(e.val(""),!1):n<1?(a.val(""),!1):void((s&&n||o&&r)&&(i=g.getSelection())&&(s=i.x1+Math.round(s*h),n=i.y1+Math.round(n*h),o=o===i.x1?i.x1:Math.round(o*h),i=r===i.y1?i.y1:Math.round(r*h),d<s&&(o=0,s=d,e.val(Math.round(s/h))),l<n&&(i=0,n=l,a.val(Math.round(n/h))),g.setSelection(o,i,s,n),g.update(),this.setCropSelection(t,g.getSelection())))},round:function(t){var i;return t=Math.round(t),.6<this.hold.sizer?t:"1"===(i=t.toString().slice(-1))?t-1:"9"===i?t+1:t},setRatioSelection:function(t,i,e){var a=this.intval(c("#imgedit-crop-width-"+t).val()),o=this.intval(c("#imgedit-crop-height-"+t).val()),r=c("#image-preview-"+t).height();!1===this.validateNumeric(e)?this.iasapi.setOptions({aspectRatio:null}):a&&o&&(this.iasapi.setOptions({aspectRatio:a+":"+o}),e=this.iasapi.getSelection(!0))&&(r<(a=Math.ceil(e.y1+(e.x2-e.x1)/(a/o)))?(a=r,o=n("Selected crop ratio exceeds the boundaries of the image. Try a different ratio."),c("#imgedit-crop-"+t).prepend('<div class="notice notice-error" tabindex="-1" role="alert"><p>'+o+"</p></div>"),wp.a11y.speak(o,"assertive"),c(i?"#imgedit-crop-height-"+t:"#imgedit-crop-width-"+t).val("")):void 0!==(r=c("#imgedit-crop-"+t).find(".notice-error"))&&r.remove(),this.iasapi.setSelection(e.x1,e.y1,e.x2,a),this.iasapi.update())},validateNumeric:function(t){if(!1===this.intval(c(t).val()))return c(t).val(""),!1}}}(jQuery); |