From f39d4387d5f7a2cf9410295cbad25c472e44f32f Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 7 Dec 2018 14:58:03 -0500 Subject: [PATCH] Various minor tweaks/updates and bump version to 3.0.121 --- wire/core/Inputfield.php | 4 +-- wire/core/Pages.php | 2 +- wire/core/ProcessWire.php | 2 +- wire/core/WireCache.php | 26 +++++++++++++++++-- .../InputfieldImage/InputfieldImage.js | 5 +++- .../InputfieldImage/InputfieldImage.min.js | 2 +- .../InputfieldPage/InputfieldPage.js | 2 +- .../InputfieldPage/InputfieldPage.min.js | 2 +- wire/modules/PagePermissions.module | 3 ++- 9 files changed, 37 insertions(+), 11 deletions(-) diff --git a/wire/core/Inputfield.php b/wire/core/Inputfield.php index 3650bb18..ed7fa8d8 100644 --- a/wire/core/Inputfield.php +++ b/wire/core/Inputfield.php @@ -289,7 +289,7 @@ abstract class Inputfield extends WireData implements Module { */ /** - * Attributes specified for the XHTML output, like class, rows, cols, etc. + * Attributes specified for the HTML output, like class, rows, cols, etc. * */ protected $attributes = array(); @@ -1218,7 +1218,7 @@ abstract class Inputfield extends WireData implements Module { * @param bool $renderValueMode * */ - public function ___renderReadyHook(Inputfield $parent = null, $renderValueMode) { } + public function ___renderReadyHook(Inputfield $parent = null, $renderValueMode = false) { } /** * This hook was replaced by renderReady diff --git a/wire/core/Pages.php b/wire/core/Pages.php index f3c9f5f7..1d0bfaf3 100644 --- a/wire/core/Pages.php +++ b/wire/core/Pages.php @@ -35,7 +35,7 @@ * @method Page|NullPage add($template, $parent, $name = '', array $values = array()) #pw-group-manipulation * @method int sort(Page $page, $value = false) Set the “sort” value for given $page while adjusting siblings, or re-build sort for its children. #pw-group-manipulation * @method setupNew(Page $page) Setup new page that does not yet exist by populating some fields to it. #pw-internal - * @method string setupPageName(Page $page, array $options = []) Determine and populate a name for the given page. #pw-internal + * @method string setupPageName(Page $page, array $options = array()) Determine and populate a name for the given page. #pw-internal * @method void insertBefore(Page $page, Page $beforePage) Insert one page as a sibling before another. #pw-advanced * @method void insertAfter(Page $page, Page $afterPage) Insert one page as a sibling after another. #pw-advanced * diff --git a/wire/core/ProcessWire.php b/wire/core/ProcessWire.php index eb843bca..ee9c613a 100644 --- a/wire/core/ProcessWire.php +++ b/wire/core/ProcessWire.php @@ -44,7 +44,7 @@ class ProcessWire extends Wire { * Reversion revision number * */ - const versionRevision = 120; + const versionRevision = 121; /** * Version suffix string (when applicable) diff --git a/wire/core/WireCache.php b/wire/core/WireCache.php index a075c7c3..e147ba87 100644 --- a/wire/core/WireCache.php +++ b/wire/core/WireCache.php @@ -77,6 +77,24 @@ class WireCache extends Wire { * */ const dateFormat = 'Y-m-d H:i:s'; + + /** + * String names of expire constants + * + * @var array + * + */ + protected $expireNames = array( + 'now' => self::expireNow, + 'hour' => self::expireHourly, + 'hourly' => self::expireHourly, + 'day' => self::expireDaily, + 'daily' => self::expireDaily, + 'week' => self::expireWeekly, + 'weekly' => self::expireWeekly, + 'month' => self::expireMonthly, + 'monthly' => self::expireMonthly, + ); /** * Preloaded cache values, indexed by cache name @@ -508,16 +526,20 @@ class WireCache extends Wire { $expire = time() + self::expireDaily; } - } else if(is_array($expire)) { + } else if(is_array($expire)) { // expire value already prepared by a previous call, just return it if(isset($expire['selector']) && isset($expire['expire'])) { return $expire; } + } else if(is_string($expire) && isset($this->expireNames[$expire])) { + // named expiration constant like "hourly", "daily", etc. + $expire = $this->expireNames[$expire]; + } else if(in_array($expire, array(self::expireNever, self::expireSave))) { // good, we'll take it as-is return $expire; - + } else if(is_string($expire) && Selectors::stringHasSelector($expire)) { // expire when page matches selector return array( diff --git a/wire/modules/Inputfield/InputfieldImage/InputfieldImage.js b/wire/modules/Inputfield/InputfieldImage/InputfieldImage.js index d153a43f..ed1eda56 100755 --- a/wire/modules/Inputfield/InputfieldImage/InputfieldImage.js +++ b/wire/modules/Inputfield/InputfieldImage/InputfieldImage.js @@ -1419,7 +1419,10 @@ function InputfieldImage($) { if(!name.length || typeof value == "undefined") return; if(data[name][property] == value) return; // if already set with same value, exit now data[name][property] = value; - $.cookie('InputfieldImage', data); + // $.cookie('InputfieldImage', data); + $.cookie('InputfieldImage', data, { + secure: (window.location.protocol.indexOf("https:") === 0) + }); cookieData = data; //console.log('setCookieData(' + property + ', ' + value + ')'); } diff --git a/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js b/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js index bb5bf085..78dc5aba 100644 --- a/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js +++ b/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js @@ -1 +1 @@ -function InputfieldImage(A){var m=null;var c={file:"",item:null,edit:null};var M={type:"image",closeOnContentClick:true,closeBtnInside:true};var d=null;var v=[];var k=false;function x(){var T=window.File&&window.FileList&&window.FileReader;var S=A(".InputfieldAllowAjaxUpload").length>0;var U=A("#PageIDIndicator").length>0;return(T&&(U||S))}function E(U,S,T){S||(S=250);var V,W;return function(){var Z=T||this;var Y=+new Date(),X=arguments;if(V&&Y .gridImage",start:function(X,W){var V=L(T.closest(".Inputfield"),"size");W.placeholder.append(A("
").css({display:"block",height:V+"px",width:V+"px"}));U=window.setTimeout(function(){N(T,null)},100);T.addClass("InputfieldImageSorting")},stop:function(X,V){var W=A(this);if(U!==null){V.item.find(".InputfieldImageEdit__edit").click();clearTimeout(U)}W.children("li").each(function(Z){var Y=A(this).find(".InputfieldFileSort");if(Y.val()!=Z){Y.val(Z).change()}});T.removeClass("InputfieldImageSorting")},cancel:".InputfieldImageEdit,.focusArea,input,textarea,button,select,option"};T.sortable(S)}function t(T){var S=A.extend(true,{},M);S.callbacks={elementParse:function(U){var V=A(U.el).attr("data-original");if(typeof V=="undefined"||!V){V=A(U.el).attr("src")}U.src=V}};S.gallery={enabled:true};T.find("img").magnificPopup(S)}function y(T){var S=A.extend(true,{},M);S.callbacks={elementParse:function(U){U.src=A(U.el).attr("src")}};S.gallery={enabled:false};T.find("img").magnificPopup(S)}function J(S){return S.find(".InputfieldImageEdit--active")}function z(S){return A("#"+S.find(".InputfieldImageEdit__edit").attr("data-current"))}function K(U){var S=U.is(":checked");var T=U.parents(".gridImages").find(".gridImage__deletebox");if(S){T.prop("checked","checked").change()}else{T.removeAttr("checked").change()}}function Q(T){if(typeof T=="undefined"){var S=A(".gridImages")}else{var S=T.find(".gridImages")}S.each(function(){var U=A(this),V=J(U);if(V.length){j(z(V),V)}})}function B(S){var V=[];var aa=[];var X=[];var U=0,Z=0,T=0;var Y;if(typeof S=="undefined"){Y=A(".InputfieldImage.Inputfield")}else{Y=S}Y.removeClass("InputfieldImageNarrow InputfieldImageMedium InputfieldImageWide");Y.each(function(){var ac=A(this);var ad=ac.width();if(ad<1){return}if(ad<=500){V[U]=ac;U++}else{if(ad<=900){aa[Z]=ac;Z++}else{X[T]=ac;T++}}});for(var W=0;W100?100:av,left:au>100?100:au,zoom:at>100?0:at};return aj}function X(aq){if(typeof aq=="undefined"){aq=V()}return aq.top+" "+aq.left+" "+aq.zoom}function Y(ar){var aq=V();return aq[ar]}function T(aq){aj=aq;var ar=aq.top+" "+aq.left+" "+aq.zoom;ae.attr("data-focus",ar);W=an.find(".InputfieldImageFocus");if(ar!=W.val()){W.val(ar).trigger("change")}}function ad(at,ar){var aq=V();aq[at]=ar;T(aq)}function ah(){var au=V();var ar=ac.parent();var at=ar.width();var av=ar.height();var aq=Math.round((au.left/100)*at);var aw=Math.round((au.top/100)*av);if(aq<0){aq=0}if(aw<0){aw=0}if(aq>at){aq=at}if(aw>av){aw=av}ac.css({top:aw+"px",left:aq+"px"})}am=aa.siblings(".focusArea");if(!am.length){am=A("
").addClass("focusArea");aa.after(am)}am.css({height:aa.height()+"px",width:aa.width()+"px","background-color":"rgba(0,0,0,0.7)"}).addClass("focusActive");ac=am.find(".focusCircle");if(!ac.length){ac=A("
").addClass("focusCircle");am.append(ac)}aa.parent().addClass("focusWrap");ah();var ai=function(aw){var ar,aq,av,at;if(typeof aw=="undefined"){aw=U}U=aw;av=am.width();at=am.height();if(av>at){Z.height((100-aw)+"%");ar=Z.height();Z.width(ar)}else{Z.width((100-aw)+"%");ar=Z.width();Z.height(ar)}aq=V();var au=b(aq.left,aq.top,aw,av,at,ar);Z.css({top:au.top+"px",left:au.left+"px","background-position":"-"+au.left+"px -"+au.top+"px","background-size":av+"px "+at+"px"});aq.zoom=aw;ad("zoom",aq.zoom);if(ag=="grid"){i(ae.parent(),af,false,aq)}};var ab=function(ar,ay){var aw=A(this);var aq=aw.outerHeight();var az=aw.parent().width();var av=aw.parent().height();var ax=ay.position.top>0?ay.position.top:0;var at=ay.position.left>0?ay.position.left:0;ax=ax>0?((ax/av)*100):0;at=at>0?((at/az)*100):0;var au={top:ax,left:at,zoom:Y("zoom")};T(au);if(ak){ai(au.zoom)}else{if(ag=="grid"){i(ae.parent(),af,false,au)}}};ac.draggable({containment:"parent",drag:ab,stop:ab});if(ak){var S=Y("zoom");ao=A("
").addClass("focusZoomSlider").css({"margin-top":"5px"});Z=A("
").addClass("focusZoomBox").css({position:"absolute",background:"transparent","background-image":"url("+aa.attr("src")+")"});am.prepend(Z);aa.after(ao);ae.attr("src",aa.attr("src"));ao.slider({min:0,max:50,value:S,range:"max",slide:function(aq,ar){ai(ar.value)}});ai(S)}else{am.css("background-color","rgba(0,0,0,0.5)")}}function G(S){$focusCircle=S.find(".focusCircle");if($focusCircle.length){var T=$focusCircle.closest(".focusWrap");T.find(".focusZoomSlider").slider("destroy").remove();T.find(".focusZoomBox").remove();T.removeClass("focusWrap");$focusCircle.draggable("destroy");$focusCircle.parent().removeClass("focusActive");$focusCircle.remove();var U=S.find(".InputfieldImageButtonFocus");if(U.length){$icon=U.find("i");$icon.removeClass("focusIconActive").toggleClass($icon.attr("data-toggle"))}}}function C(V,U,X){var T=parseInt(U*V/100);var S=parseInt(T-(X/2));var W=parseInt(U-X);if(0>S){S=0}if(W=T?ac:U;var S=aa-(aa*Y/100);var V=C(W,ac,S);var X=C(ad,U,S);return{left:V,top:X,width:S,height:S}}function n(V,ad,U,Y,X,ab){var ad=ad*X;var W=U/ad*100;var T=W/2;var aa=V-T;var ac=0;var S=100-W;if(aa<=ac){aa=0}if(aa>=S){aa=S}var Z=ad/100*aa/X;Z=-1*parseInt(Z);return Z}function p(V,ad,X,ab,Y,S,T){var aa=ab>=Y?Y:ab;var U=n(V,ab,S,X,T,aa);var W=n(ad,Y,S,X,T,aa);var ac=parseInt(U);var Z=parseInt(W);return{transformLeft:ac,transformTop:Z,scale:T}}function q(S){G(S);S.off("click",".InputfieldImageButtonFocus");$inputArea=S.find(".InputfieldImageEdit__edit");if($inputArea.children().not(".InputfieldFileSort").length){var T=$inputArea.children();A("#"+$inputArea.attr("data-current")).find(".ImageData").append(T)}}function N(U,T){var S;if(U){S=U.find(".InputfieldImageEdit--active")}else{if(T){S=A(".InputfieldImageEdit--active").not(T.find(".InputfieldImageEdit--active"))}else{S=A(".InputfieldImageEdit--active")}}if(S.length){q(S);S.removeClass("InputfieldImageEdit--active").removeAttr("id");A("#"+S.attr("data-for")).removeClass("gridImageEditing")}A(".InputfieldImageEdit__replace").removeClass("InputfieldImageEdit__replace")}function j(V,T){if(!V||!V.length){return}var S=V.parent().children().not(".InputfieldImageEdit");var W=0;var X=false;var Y=null;S.each(function(){if(Y){return}var Z=A(this);var aa=Z.offset().top;if(X&&aa!=W){Y=Z}else{if(Z.attr("id")==V.attr("id")){X=true}}W=aa});if(Y){T.insertBefore(Y)}else{T.insertAfter(S.eq(S.length-1))}var U=T.find(".InputfieldImageEdit__arrow");if(U.length){U.css("left",V.position().left+(V.outerWidth()/2)+"px")}}function D(){A(window).resize(E(h,200));A(document).on("click dblclick",".gridImage__trash",function(S){var T=A(this).find("input");T.prop("checked",g).change();if(S.type=="dblclick"){K(T);S.preventDefault();S.stopPropagation()}});A(document).on("change",".gridImage__deletebox",function(){s(A(this))});A(document).on("click",".gridImage__edit",function(V){var T=A(this).closest(".gridImage");if(!T.length){return}if(T.closest(".InputfieldImageEditAll").length){return false}var U=T.closest(".gridImages");var S=U.find(".InputfieldImageEdit");if(T.hasClass("gridImageEditing")){S.find(".InputfieldImageEdit__close").click()}else{j(T,S);q(S);e(T,S);S.addClass("InputfieldImageEdit--active").attr("data-for",T.attr("id"));U.find(".gridImageEditing").removeClass("gridImageEditing");T.addClass("gridImageEditing")}}).on("click",".InputfieldImageEditAll img",function(U){U.stopPropagation();U.preventDefault();A.magnificPopup.close();var S=A.extend(true,{},M);var T=A(this);S.items={src:T.attr("data-original"),title:T.attr("alt")};A.magnificPopup.open(S);return true}).on("click",".InputfieldImageButtonFocus",function(){var V=A(this);var S=V.find("i");var T=V.closest(".InputfieldImageEdit, .gridImage");var U=T.find(".focusCircle");if(U.length){G(T)}else{w(T);S.addClass("focusIconActive");S.toggleClass(S.attr("data-toggle"))}});A(document).on("click",function(T){var S=A(T.target);if(S.closest(".InputfieldImageEdit").length){N(null,S.parents(".gridImages"))}else{if(S.is("input, textarea")&&S.closest(".InputfieldImageEditAll").length){S.focus().one("blur",function(){S.closest(".gridImages").sortable("enable")});S.closest(".gridImages").sortable("disable")}else{if(S.closest(".gridImage__inner").length){N(null,S.parents(".gridImages"))}else{if(S.closest(".mfp-container").length){return}else{if(S.closest(".ui-dialog").length){return}else{if(S.is(".mfp-close")){return}else{if(S.is("a.remove")){return}else{N(null,null)}}}}}}}});A(document).on("click",".InputfieldImageEdit__close",function(S){N(A(this).parents(".gridImages"),null)});A(document).on("change",".InputfieldImage",function(){A(this).find(".InputfieldImageButtonCrop:not(.pw-modal-dblclick)").addClass("pw-modal-dblclick ui-state-disabled")}).on("click",".InputfieldImageButtonCrop.ui-state-disabled",function(U){var T=A(this);var S=T.closest(".gridImages");if(!S.hasClass("gridImagesAlerted")){ProcessWire.alert(ProcessWire.config.InputfieldImage.labels.changes);S.addClass("gridImagesAlerted")}setTimeout(function(){T.removeClass("ui-state-active")},500);return false});A(".ImagesGrid").on("click","button.pw-modal",function(S){S.preventDefault()});u();B()}function u(){A(document).on("click",".InputfieldImageEdit__name",function(U){var S=A(this).children("span");var V=S.closest(".gridImage, .InputfieldImageEdit").find(".InputfieldFileRename");var T=S.closest(".gridImages");T.sortable("disable");V.val(S.text());S.on("keypress",function(W){if(W.which==13){S.blur();return false}return true});S.attr("autocomplete","off").attr("autocorrect","off").attr("autocapitalize","off").attr("spellcheck","false");S.focus().on("blur",function(){var W=A(this).text();if(A.trim(W).length<1){S.text(V.val())}else{if(W!=V.val()){V.val(W).change();T.closest(".Inputfield").trigger("change")}}S.off("keypress");T.sortable("enable")})})}function o(S,T){T=Math.floor(T);S.find(".gridImage__overflow").each(function(){var U=100-T;var V=A(this);V.css("width",T+"%");V.siblings(".ImageData").css("width",U+"%");V.find("img").css({top:0,left:0,transform:"none"})});f(S,"listSize",T)}function l(W,S,U){if(!S){return}var T=S+"px";var V=W.find(".gridImages");if(typeof U=="undefined"||U==null){U=V.attr("data-ragged")?true:false}if(U){V.attr("data-ragged",1)}else{V.removeAttr("data-ragged")}V.find(".gridImage__overflow").each(function(){i(A(this),S,U)});V.find(".gridImage__edit, .gridImage__resize").css("line-height",T);V.attr("data-size",S);f(W,"size",S);if(v.length){setTimeout(function(){while(v.length){var X=v.pop();i(X,S,U)}},150)}}function i(ab,V,Z,ai){if(ab.hasClass("gridImage__overflow")){var S=ab.children("img")}else{if(ab.is("img")){var S=ab;ab=S.closest(".gridImage__overflow")}else{return}}if(!V){S.removeAttr("width").removeAttr("height");ab.width("auto").height("auto");return}var ah=0;var ac=S.width();var Y=S.height();var aa=parseInt(S.attr("data-w"));var W=parseInt(S.attr("data-h"));if(!ac){ac=aa}if(!Y){Y=W}if(!Z&&typeof ai=="undefined"){var ag=S.attr("data-focus");if(typeof ag=="undefined"){ag="50.0 50.0 0"}var U=ag.split(" ");ai={top:parseFloat(U[0]),left:parseFloat(U[1]),zoom:parseInt(U[2])}}if(!Z){ah=ai.zoom}if(Z){S.attr("height",V).removeAttr("width");S.css({"max-height":"100%","max-width":"none",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)"})}else{if(ah>0&&ab.closest(".InputfieldImageFocusZoom").length&&!k){if(ac>=Y){var af="100%";var ae="none";if(ac==aa){Y=V;ac=(Y/W)*aa}}else{var af="none";var ae="100%";if(Y==W){ac=V;Y=(ac/aa)*W}}var T=1+((ah/100)*2);var X=p(ai.left,ai.top,ah,ac,Y,V,T);S.css({left:"0px",top:"0px","transform-origin":"0px 0px",transform:"scale("+X.scale+") translate3d("+X.transformLeft+"px, "+X.transformTop+"px, 0)","max-width":ae,"max-height":af})}else{if(ac>=Y){S.attr("height",V).removeAttr("width");if(ai.left<1){ai.left=0.001}S.css({"max-height":"100%","max-width":"none",top:"50%",left:ai.left+"%",transform:"translate3d(-"+ai.left+"%, -50%, 0)"})}else{if(Y>ac){S.attr("width",V).removeAttr("height");if(ai.top<1){ai.top=0.001}S.css({"max-height":"none","max-width":"100%",top:ai.top+"%",left:"50%",transform:"translate3d(-50%, -"+ai.top+"%, 0)"})}else{S.css({"max-height":"100%","max-width":"none",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)"});S.removeAttr("width").attr("height",V)}}}}var ac=S.width();if(ac){ab.css({width:(Z?ac+"px":V+"px"),height:V+"px"})}else{var ad=ab.attr("data-tries");if(!ad){ad=0}if(typeof ad=="undefined"){ad=0}ad=parseInt(ad);if(ad>3){ab.css({width:V+"px",height:V+"px"})}else{v.push(ab);ab.attr("data-tries",ad+1)}}}function H(T){if(T.find(".InputfieldImageListToggle").length){return}var W=A("").append("");var Y=A("").append("");var S=A("").append("");var X="InputfieldImageListToggle--active";var V="";var U=function(ae){var ad=A(this);var ab=ad.closest(".Inputfield");var Z=ad.attr("href");var aa;var af=ad.parent().children("."+X);var ac=af.attr("href");af.removeClass(X);ad.addClass(X);G(ab);if(Z=="list"){if(!ab.hasClass("InputfieldImageEditAll")){ab.find(".InputfieldImageEdit--active .InputfieldImageEdit__close").click();ab.addClass("InputfieldImageEditAll")}aa=L(ab,"listSize");o(ab,aa);f(ab,"mode","list")}else{if(Z=="left"){ab.removeClass("InputfieldImageEditAll");aa=L(ab,"size");l(ab,aa,true);f(ab,"mode","left");Q()}else{if(Z=="grid"){ab.removeClass("InputfieldImageEditAll");aa=L(ab,"size");l(ab,aa,false);f(ab,"mode","grid");if(ac=="left"){setTimeout(function(){l(ab,aa,false)},100)}}}}I(ab.find(".gridImages"));ad.blur();return false};W.click(U);Y.click(U);S.click(U);if(T.hasClass("InputfieldImage")){T.find(".InputfieldHeader").append(W).append(Y).append(S);V=L(T,"mode")}else{A(".InputfieldImage .InputfieldHeader",T).append(W).append(Y).append(S)}if(V=="list"){W.click()}else{if(V=="left"){Y.click()}else{}}}function F(Y){var V=Y.children(".InputfieldHeader");if(V.children(".InputfieldImageSizeSlider").length){return}var X=Y.find(".gridImages");var T=X.attr("data-gridsize");var W=T/2;var S=T*2;var Z=A('');V.append(Z);var U=function(ac,ae){var ad=ae.value;var af=15;var ag=Math.floor(T/af);var aa=ad-W;var ab=Math.floor(af+(aa/ag));if(Y.hasClass("InputfieldImageEditAll")){f(Y,"size",ad);o(Y,ab)}else{f(Y,"listSize",ab);l(Y,ad)}};Z.slider({min:W,max:S,value:L(Y,"size"),range:"min",slide:U,start:function(aa,ab){k=true;if(Y.find(".InputfieldImageEdit:visible").length){Y.find(".InputfieldImageEdit__close").click()}},stop:function(aa,ab){k=false;U(aa,ab);Q(Y)}})}function f(T,W,V){var U=L(T);var X=T.attr("id");var S=X?X.replace("wrap_Inputfield_",""):"";if(!S.length||typeof V=="undefined"){return}if(U[S][W]==V){return}U[S][W]=V;A.cookie("InputfieldImage",U);d=U}function L(T,W){if(d&&typeof W=="undefined"){return d}var X=T.attr("id");var S=X?X.replace("wrap_Inputfield_",""):"na";var V=d?d:A.cookie("InputfieldImage");var U=null;if(!V){var V={}}if(typeof V[S]=="undefined"){V[S]={}}if(typeof V[S].size=="undefined"){V[S].size=parseInt(T.find(".gridImages").attr("data-size"))}if(typeof V[S].listSize=="undefined"){V[S].listSize=23}if(typeof V[S].mode=="undefined"){V[S].mode=T.find(".gridImages").attr("data-gridMode")}if(d==null){d=V}if(typeof W=="undefined"){U=V}else{if(W===true){U=V[S]}else{if(typeof V[S][W]!="undefined"){U=V[S][W]}}}return U}function a(W){if(W.hasClass("InputfieldStateCollapsed")){return}var X=parseInt(W.find(".InputfieldImageMaxFiles").val());var V=W.find(".gridImages");var U=L(W,"size");var Y=L(W,"mode");var T=Y=="left"?true:false;if(!U){U=V.attr("data-gridsize")}U=parseInt(U);if(W.hasClass("InputfieldImageEditAll")||Y=="list"){var S=L(W,"listSize");o(W,S)}else{l(W,U,T)}if(!W.hasClass("InputfieldImageInit")){W.addClass("InputfieldImageInit");if(W.hasClass("InputfieldRenderValueMode")){return t(W)}else{if(X==1){W.addClass("InputfieldImageMax1");y(W)}else{I(V)}}H(W);F(W)}B(W);W.on("change",".InputfieldFileActionSelect",function(){var Z=A(this).next(".InputfieldFileActionNote");if(A(this).val().length){Z.fadeIn()}else{Z.hide()}})}function P(){A("body").addClass("ie-no-drop");A(".InputfieldImage.InputfieldFileMultiple").each(function(){var T=A(this),V=parseInt(T.find(".InputfieldFileMaxFiles").val()),S=T.find(".gridImages"),U=T.find(".InputfieldImageUpload");U.on("change","input[type=file]",function(){var Z=A(this),X=Z.parent(".InputMask");if(Z.val().length>1){X.addClass("ui-state-disabled")}else{X.removeClass("ui-state-disabled")}if(Z.next("input.InputfieldFile").length>0){return}var W=S.children("li").length+U.find("input[type=file]").length+1;if(V>0&&W>=V){return}U.find(".InputMask").not(":last").each(function(){var aa=A(this);if(aa.find("input[type=file]").val()<1){aa.remove()}});var Y=X.clone().removeClass("ui-state-disabled");Y.children("input[type=file]").val("");Y.insertAfter(X)})})}function R(U){var T;if(U.length>0){T=U.find(".InputfieldImageUpload")}else{T=A(".InputfieldImageUpload")}T.each(function(X){var Y=A(this);var W=Y.closest(".InputfieldContent");if(Y.hasClass("InputfieldImageInitUpload")){return}V(W,X);Y.addClass("InputfieldImageInitUpload")});function V(af,ar){var ae=af.parents("form");var W=af.closest(".InputfieldRepeaterItem");var aa=W.length?W.attr("data-editUrl"):ae.attr("action");aa+=(aa.indexOf("?")>-1?"&":"?")+"InputfieldFileAjax=1";var ax=ae.find("input._post_token");var ad=ax.attr("name");var ai=ax.val();var ah=af.find(".InputfieldImageErrors").first();var Z=af.find(".InputfieldImageUpload").data("fieldname");Z=Z.slice(0,-2);var ap=af.closest(".Inputfield.InputfieldImage");var aw=af.find(".InputfieldImageUpload").data("extensions").toLowerCase();var ao=af.find(".InputfieldImageUpload").data("maxfilesize");var ag=af.find("input[type=file]").get(0);var Y=af.find(".gridImages");var at=Y.get(0);var ak=Y.data("gridsize");var al=null;var aj=parseInt(af.find(".InputfieldImageMaxFiles").val());var av=r(ap);var aq=av.maxWidth>0||av.maxHeight>0||av.maxSize>0;au(af);if(aj!=1){an(Y)}Y.children().addClass("InputfieldFileItemExisting");ap.on("pwimageupload",function(ay,az){am([az.file],az.xhr)});function ac(az,ay){if(typeof ay!=="undefined"){az=""+ay+": "+az}return"
  • "+az+"
  • "}function X(az){var ay=new String(az).substring(az.lastIndexOf("/")+1);if(ay.lastIndexOf(".")!=-1){ay=ay.substring(0,ay.lastIndexOf("."))}return ay}function au(az){if(az.hasClass("InputfieldImageDropzoneInit")){return}var aC=az.get(0);var aB=az.closest(".Inputfield");function ay(){if(aB.hasClass("pw-drag-in-file")){return}az.addClass("ui-state-hover");aB.addClass("pw-drag-in-file")}function aA(){if(!aB.hasClass("pw-drag-in-file")){return}az.removeClass("ui-state-hover");aB.removeClass("pw-drag-in-file")}aC.addEventListener("dragleave",function(){aA()},false);aC.addEventListener("dragenter",function(aD){aD.preventDefault();ay()},false);aC.addEventListener("dragover",function(aD){if(!az.is("ui-state-hover")){ay()}aD.preventDefault();aD.stopPropagation();return false},false);aC.addEventListener("drop",function(aD){am(aD.dataTransfer.files);aA();aD.preventDefault();aD.stopPropagation();return false},false);az.addClass("InputfieldImageDropzoneInit")}function an(aG){var aK=null;var aI=false;var az=null;var ay=aG.closest(".Inputfield");function aD(){ay.addClass("pw-drag-in-file")}function aJ(){ay.removeClass("pw-drag-in-file")}function aC(aM){var aQ=aM.offset();var aN=aM.width();var aL=aM.height();var aP=aQ.left+aN/2;var aO=aQ.top+aL/2;return{clientX:aP,clientY:aO}}function aF(){return aG.find(".InputfieldImageEdit--active").length>0}function aE(aM){if(aF()){return}aM.preventDefault();aM.stopPropagation();aD();aI=false;if(aK==null){var aL=aG.attr("data-size")+"px";var aN=A("
    ").addClass("gridImage__overflow");if(aG.closest(".InputfieldImageEditAll").length){aN.css({width:"100%",height:aL})}else{aN.css({width:aL,height:aL})}aK=A("
  • ").addClass("ImageOuter gridImage gridImagePlaceholder").append(aN);aG.append(aK)}var aO=aC(aK);aK.simulate("mousedown",aO)}function aH(aL){if(aF()){return}aL.preventDefault();aL.stopPropagation();aD();aI=false;if(aK==null){return}var aM={clientX:aL.originalEvent.clientX,clientY:aL.originalEvent.clientY};aK.simulate("mousemove",aM)}function aB(aL){if(aF()){return}aL.preventDefault();aL.stopPropagation();if(aK==null){return false}aI=true;if(az){clearTimeout(az)}az=setTimeout(function(){if(!aI||aK==null){return}aK.remove();aK=null;aJ()},1000)}function aA(aL){if(aF()){return}aJ();aI=false;var aM={clientX:aL.clientX,clientY:aL.clientY};aK.simulate("mouseup",aM);m=aK.next(".gridImage");aK.remove();aK=null}if(aG.length&&!aG.hasClass("gridImagesInitDropInPlace")){aG.on("dragenter",aE);aG.on("dragover",aH);aG.on("dragleave",aB);aG.on("drop",aA);aG.addClass("gridImagesInitDropInPlace")}}function ab(aX,aL,aH){var aU=ProcessWire.config.InputfieldImage.labels;var aE=parseInt(aX.size/1024,10)+" kB";var aW='
    '+aU.dimensions+''+aU.na+"
    "+aU.filesize+""+aE+"
    "+aU.variations+"0
    ";var aZ=A('
  • '),aR=A(aW),aF=A('
    '),ay=A('
    '),aO=A("
    "),aQ=A(""),aT=A(' '),aS=A('
    '),az,aJ,aY,aM=URL.createObjectURL(aX),aA=ap.find(".gridImages"),aC=aj==1,aP=L(ap,"size"),aD=L(ap,"listSize"),aB=ap.hasClass("InputfieldImageEditAll"),aI=A('');aF.append(aI);aO.find(".gridImage__inner").append(aT);aO.find(".gridImage__inner").append(aS.css("display","none"));aO.find(".gridImage__inner").append(aQ);ay.append(A('

    '+aX.name+'

    '+aE+""));if(aB){aF.css("width",aD+"%");ay.css("width",(100-aD)+"%")}else{aF.css({width:aP+"px",height:aP+"px"})}aZ.append(aR).append(aF).append(aO).append(ay);aI.attr({src:aM,"data-original":aM});img=new Image();img.addEventListener("load",function(){aR.find(".dimensions").html(this.width+" × "+this.height);var a0=Math.min(this.width,this.height)/aP;aI.attr({width:this.width/a0,height:this.height/a0})},false);img.src=aM;if(typeof aH!="undefined"){aJ=aH}else{aJ=new XMLHttpRequest()}function aK(a0){if(typeof a0!="undefined"){if(!a0.lengthComputable){return}aQ.attr("value",parseInt((a0.loaded/a0.total)*100))}A("body").addClass("pw-uploading");aS.css("display","block")}aJ.upload.addEventListener("progress",aK,false);aJ.addEventListener("load",function(){aJ.getAllResponseHeaders();var a3=A.parseJSON(aJ.responseText);if(typeof a3.ajaxResponse!="undefined"){a3=a3.ajaxResponse}var a1=a3.length>1;if(a3.error!==undefined){a3=[a3]}for(var a2=0;a2-1){a6=a6.substring(0,a6.indexOf("?"))}var a4=a6.substring(a6.lastIndexOf(".")+1).toLowerCase();a6=a6.substring(0,a6.lastIndexOf("."));if(a4==ba){bb.children("span").text(a6).removeAttr("contenteditable")}a5.find(".gridImage__edit").click()}c.file="";c.item=null;c.edit=null}if(al){clearTimeout(al)}m=null;al=setTimeout(function(){if(aj!=1){I(aA)}else{y(ap)}A("body").removeClass("pw-uploading");aA.trigger("AjaxUploadDone")},500);ap.trigger("change").removeClass("InputfieldFileEmpty")},false);if(c.edit){c.edit.find(".InputfieldImageEdit__close").click()}else{if(ap.find(".InputfieldImageEdit:visible").length){ap.find(".InputfieldImageEdit__close").click()}}if(c.item){c.item.replaceWith(aZ);c.item=aZ}else{if(m&&m.length){m.before(aZ)}else{aA.append(aZ)}}function aV(a0,a2){if(typeof aH=="undefined"){aJ.open("POST",aa,true)}aJ.setRequestHeader("X-FILENAME",encodeURIComponent(a0.name));aJ.setRequestHeader("X-FIELDNAME",Z);if(c.item){aJ.setRequestHeader("X-REPLACENAME",c.file)}aJ.setRequestHeader("Content-Type","application/octet-stream");aJ.setRequestHeader("X-"+ad,ai);aJ.setRequestHeader("X-REQUESTED-WITH","XMLHttpRequest");if(typeof a2!="undefined"&&a2!=false){aJ.send(a2)}else{aJ.send(a0)}Q();ap.trigger("change");var a1=ap.find(".InputfieldFileItem").length;if(a1==1){ap.removeClass("InputfieldFileEmpty").removeClass("InputfieldFileMultiple").addClass("InputfieldFileSingle")}else{if(a1>1){ap.removeClass("InputfieldFileEmpty").removeClass("InputfieldFileSingle").addClass("InputfieldFileMultiple")}}}aK();var aG=aX.name.substring(aX.name.lastIndexOf(".")+1).toLowerCase();if(aq&&(aG=="jpg"||aG=="jpeg"||aG=="png"||aG=="gif")){var aN=new PWImageResizer(av);aS.addClass("pw-resizing");aN.resize(aX,function(a0){aS.removeClass("pw-resizing");aV(aX,a0)})}else{aV(aX)}}function am(ay,aF){var aD=function(aH){return parseInt(aH/1024,10)};if(typeof ay==="undefined"){at.innerHTML="No support for the File API in this web browser";return}for(var aB=0,aA=ay.length;aBao&&ao>2000000){var az=aD(ay[aB].size),aC=aD(ao);aG="Filesize "+az+" kb is too big. Maximum allowed is "+aC+" kb";ah.append(ac(aG,ay[aB].name))}else{if(typeof aF!="undefined"){ab(ay[aB],aE,aF)}else{ab(ay[aB],aE)}}}if(aj==1){break}}}ag.addEventListener("change",function(ay){am(this.files);ay.preventDefault();ay.stopPropagation();this.value=""},false)}function S(){var W=".InputfieldImageEdit__imagewrapper img";A(document).on("dragenter",W,function(){var Z=A(this);if(Z.closest(".InputfieldImageMax1").length){return}var aa=Z.attr("src");var X=Z.closest(".InputfieldImageEdit");var Y=Z.closest(".InputfieldImageEdit__imagewrapper");Y.addClass("InputfieldImageEdit__replace");c.file=new String(aa).substring(aa.lastIndexOf("/")+1);c.item=A("#"+X.attr("data-for"));c.edit=X}).on("dragleave",W,function(){var Y=A(this);if(Y.closest(".InputfieldImageMax1").length){return}var X=Y.closest(".InputfieldImageEdit__imagewrapper");X.removeClass("InputfieldImageEdit__replace");c.file="";c.item=null;c.edit=null})}S()}function r(T){var S={maxWidth:0,maxHeight:0,maxSize:0,quality:1,autoRotate:true,debug:ProcessWire.config.debug};var U=T.attr("data-resize");if(typeof U!="undefined"&&U.length){U=U.split(";");S.maxWidth=U[0].length?parseInt(U[0]):0;S.maxHeight=U[1].length?parseInt(U[1]):0;S.maxSize=U[2].length?parseFloat(U[2]):0;S.quality=parseFloat(U[3])}return S}function O(){A(".InputfieldImage.Inputfield").each(function(){a(A(this))});D();if(x()){R("")}else{P()}A(document).on("reloaded",".InputfieldImage",function(){var S=A(this);a(S);R(S)}).on("wiretabclick",function(U,T,S){T.find(".InputfieldImage").each(function(){a(A(this))})}).on("opened",".InputfieldImage",function(){a(A(this))})}O()}jQuery(document).ready(function(a){InputfieldImage(a)}); \ No newline at end of file +function InputfieldImage($){var $uploadBeforeItem=null;var uploadReplace={file:"",item:null,edit:null};var magnificOptions={type:"image",closeOnContentClick:true,closeBtnInside:true};var cookieData=null;var retryGridItems=[];var gridSliding=false;function useAjaxUpload(){var isFileReaderSupport=window.File&&window.FileList&&window.FileReader;var isAjaxUpload=$(".InputfieldAllowAjaxUpload").length>0;var isPageIDIndicator=$("#PageIDIndicator").length>0;return isFileReaderSupport&&(isPageIDIndicator||isAjaxUpload)}function throttle(fn,threshhold,scope){threshhold||(threshhold=250);var last,deferTimer;return function(){var context=scope||this;var now=+new Date,args=arguments;if(last&&now .gridImage",start:function(e,ui){var size=getCookieData($el.closest(".Inputfield"),"size");ui.placeholder.append($("
    ").css({display:"block",height:size+"px",width:size+"px"}));timer=window.setTimeout(function(){closeEdit($el,null)},100);$el.addClass("InputfieldImageSorting")},stop:function(e,ui){var $this=$(this);if(timer!==null){ui.item.find(".InputfieldImageEdit__edit").click();clearTimeout(timer)}$this.children("li").each(function(n){var $sort=$(this).find(".InputfieldFileSort");if($sort.val()!=n)$sort.val(n).change()});$el.removeClass("InputfieldImageSorting")},cancel:".InputfieldImageEdit,.focusArea,input,textarea,button,select,option"};$el.sortable(sortableOptions)}function setupMagnificForRenderValue($el){var options=$.extend(true,{},magnificOptions);options.callbacks={elementParse:function(item){var src=$(item.el).attr("data-original");if(typeof src=="undefined"||!src)src=$(item.el).attr("src");item.src=src}};options.gallery={enabled:true};$el.find("img").magnificPopup(options)}function setupMagnificForSingle($el){var options=$.extend(true,{},magnificOptions);options.callbacks={elementParse:function(item){item.src=$(item.el).attr("src")}};options.gallery={enabled:false};$el.find("img").magnificPopup(options)}function findEditedElement($parent){return $parent.find(".InputfieldImageEdit--active")}function findEditMarkup($edit){return $("#"+$edit.find(".InputfieldImageEdit__edit").attr("data-current"))}function setDeleteStateOnAllItems($input){var checked=$input.is(":checked");var $items=$input.parents(".gridImages").find(".gridImage__deletebox");if(checked){$items.prop("checked","checked").change()}else{$items.removeAttr("checked").change()}}function updateGrid($inputfield){if(typeof $inputfield=="undefined"){var $gridImages=$(".gridImages")}else{var $gridImages=$inputfield.find(".gridImages")}$gridImages.each(function(){var $grid=$(this),$edit=findEditedElement($grid);if($edit.length){moveEdit(findEditMarkup($edit),$edit)}})}function checkInputfieldWidth($inputfield){var narrowItems=[];var mediumItems=[];var wideItems=[];var ni=0,mi=0,wi=0;var $inputfields;if(typeof $inputfield=="undefined"){$inputfields=$(".InputfieldImage.Inputfield")}else{$inputfields=$inputfield}$inputfields.removeClass("InputfieldImageNarrow InputfieldImageMedium InputfieldImageWide");$inputfields.each(function(){var $item=$(this);var width=$item.width();if(width<1)return;if(width<=500){narrowItems[ni]=$item;ni++}else if(width<=900){mediumItems[mi]=$item;mi++}else{wideItems[wi]=$item;wi++}});for(var n=0;n100?100:top,left:left>100?100:left,zoom:zoom>100?0:zoom};return focusData}function getFocusStr(focusObj){if(typeof focusObj=="undefined")focusObj=getFocus();return focusObj.top+" "+focusObj.left+" "+focusObj.zoom}function getFocusProperty(property){var focus=getFocus();return focus[property]}function setFocus(focusObj){focusData=focusObj;var focusStr=focusObj.top+" "+focusObj.left+" "+focusObj.zoom;$thumb.attr("data-focus",focusStr);$input=$edit.find(".InputfieldImageFocus");if(focusStr!=$input.val()){$input.val(focusStr).trigger("change")}}function setFocusProperty(property,value){var focus=getFocus();focus[property]=value;setFocus(focus)}function setFocusDragPosition(){var focus=getFocus();var $overlay=$focusCircle.parent();var w=$overlay.width();var h=$overlay.height();var x=Math.round(focus.left/100*w);var y=Math.round(focus.top/100*h);if(x<0)x=0;if(y<0)y=0;if(x>w)x=w;if(y>h)y=h;$focusCircle.css({top:y+"px",left:x+"px"})}$focusArea=$img.siblings(".focusArea");if(!$focusArea.length){$focusArea=$("
    ").addClass("focusArea");$img.after($focusArea)}$focusArea.css({height:$img.height()+"px",width:$img.width()+"px","background-color":"rgba(0,0,0,0.7)"}).addClass("focusActive");$focusCircle=$focusArea.find(".focusCircle");if(!$focusCircle.length){$focusCircle=$("
    ").addClass("focusCircle");$focusArea.append($focusCircle)}$img.parent().addClass("focusWrap");setFocusDragPosition();var zoomSlide=function(zoomPercent){var zoomBoxSize,focus,faWidth,faHeight;if(typeof zoomPercent=="undefined")zoomPercent=lastZoomPercent;lastZoomPercent=zoomPercent;faWidth=$focusArea.width();faHeight=$focusArea.height();if(faWidth>faHeight){$zoomBox.height(100-zoomPercent+"%");zoomBoxSize=$zoomBox.height();$zoomBox.width(zoomBoxSize)}else{$zoomBox.width(100-zoomPercent+"%");zoomBoxSize=$zoomBox.width();$zoomBox.height(zoomBoxSize)}focus=getFocus();var crop=getFocusZoomCropDimensions(focus.left,focus.top,zoomPercent,faWidth,faHeight,zoomBoxSize);$zoomBox.css({top:crop.top+"px",left:crop.left+"px","background-position":"-"+crop.left+"px -"+crop.top+"px","background-size":faWidth+"px "+faHeight+"px"});focus.zoom=zoomPercent;setFocusProperty("zoom",focus.zoom);if(mode=="grid")setGridSizeItem($thumb.parent(),gridSize,false,focus)};var dragEvent=function(event,ui){var $this=$(this);var circleSize=$this.outerHeight();var w=$this.parent().width();var h=$this.parent().height();var top=ui.position.top>0?ui.position.top:0;var left=ui.position.left>0?ui.position.left:0;top=top>0?top/h*100:0;left=left>0?left/w*100:0;var newFocus={top:top,left:left,zoom:getFocusProperty("zoom")};setFocus(newFocus);if(useZoomFocus){zoomSlide(newFocus.zoom)}else if(mode=="grid"){setGridSizeItem($thumb.parent(),gridSize,false,newFocus)}};$focusCircle.draggable({containment:"parent",drag:dragEvent,stop:dragEvent});if(useZoomFocus){var zoom=getFocusProperty("zoom");$zoomSlider=$("
    ").addClass("focusZoomSlider").css({"margin-top":"5px"});$zoomBox=$("
    ").addClass("focusZoomBox").css({position:"absolute",background:"transparent","background-image":"url("+$img.attr("src")+")"});$focusArea.prepend($zoomBox);$img.after($zoomSlider);$thumb.attr("src",$img.attr("src"));$zoomSlider.slider({min:0,max:50,value:zoom,range:"max",slide:function(event,ui){zoomSlide(ui.value)}});zoomSlide(zoom)}else{$focusArea.css("background-color","rgba(0,0,0,0.5)")}}function stopFocus($edit){$focusCircle=$edit.find(".focusCircle");if($focusCircle.length){var $focusWrap=$focusCircle.closest(".focusWrap");$focusWrap.find(".focusZoomSlider").slider("destroy").remove();$focusWrap.find(".focusZoomBox").remove();$focusWrap.removeClass("focusWrap");$focusCircle.draggable("destroy");$focusCircle.parent().removeClass("focusActive");$focusCircle.remove();var $button=$edit.find(".InputfieldImageButtonFocus");if($button.length){$icon=$button.find("i");$icon.removeClass("focusIconActive").toggleClass($icon.attr("data-toggle"))}}}function getFocusZoomPosition(focusPercent,sourceDimension,cropDimension){var focusPX=parseInt(sourceDimension*focusPercent/100);var position=parseInt(focusPX-cropDimension/2);var maxPosition=parseInt(sourceDimension-cropDimension);if(0>position)position=0;if(maxPosition=percentH?faWidth:faHeight;var cropDimension=maxDimension-maxDimension*zoomPercent/100;var posLeft=getFocusZoomPosition(focusLeft,faWidth,cropDimension);var posTop=getFocusZoomPosition(focusTop,faHeight,cropDimension);return{left:posLeft,top:posTop,width:cropDimension,height:cropDimension}}function getFocusZoomPosition4GridviewSquare(focusPercent,sourceDimPX,gridViewPX,zoomPercent,scale,smallestSidePX){var sourceDimPX=sourceDimPX*scale;var gridViewPercent=gridViewPX/sourceDimPX*100;var adjustPercent=gridViewPercent/2;var posPercent=focusPercent-adjustPercent;var posMinVal=0;var posMaxVal=100-gridViewPercent;if(posPercent<=posMinVal)posPercent=0;if(posPercent>=posMaxVal)posPercent=posMaxVal;var posPX=sourceDimPX/100*posPercent/scale;posPX=-1*parseInt(posPX);return posPX}function getFocusZoomCropDimensions4GridviewSquare(focusLeft,focusTop,zoomPercent,w,h,gridViewSize,scale){var smallestSidePX=w>=h?h:w;var posLeft=getFocusZoomPosition4GridviewSquare(focusLeft,w,gridViewSize,zoomPercent,scale,smallestSidePX);var posTop=getFocusZoomPosition4GridviewSquare(focusTop,h,gridViewSize,zoomPercent,scale,smallestSidePX);var transformLeft=parseInt(posLeft);var transformTop=parseInt(posTop);return{transformLeft:transformLeft,transformTop:transformTop,scale:scale}}function tearDownEdit($edit){stopFocus($edit);$edit.off("click",".InputfieldImageButtonFocus");$inputArea=$edit.find(".InputfieldImageEdit__edit");if($inputArea.children().not(".InputfieldFileSort").length){var $items=$inputArea.children();$("#"+$inputArea.attr("data-current")).find(".ImageData").append($items)}}function closeEdit($parent,$not){var $edit;if($parent){$edit=$parent.find(".InputfieldImageEdit--active")}else if($not){$edit=$(".InputfieldImageEdit--active").not($not.find(".InputfieldImageEdit--active"))}else{$edit=$(".InputfieldImageEdit--active")}if($edit.length){tearDownEdit($edit);$edit.removeClass("InputfieldImageEdit--active").removeAttr("id");$("#"+$edit.attr("data-for")).removeClass("gridImageEditing")}$(".InputfieldImageEdit__replace").removeClass("InputfieldImageEdit__replace")}function moveEdit($el,$edit){if(!$el||!$el.length)return;var $children=$el.parent().children().not(".InputfieldImageEdit");var lastTop=0;var found=false;var $insertBeforeItem=null;$children.each(function(){if($insertBeforeItem)return;var $item=$(this);var top=$item.offset().top;if(found&&top!=lastTop){$insertBeforeItem=$item}else if($item.attr("id")==$el.attr("id")){found=true}lastTop=top});if($insertBeforeItem){$edit.insertBefore($insertBeforeItem)}else{$edit.insertAfter($children.eq($children.length-1))}var $arrow=$edit.find(".InputfieldImageEdit__arrow");if($arrow.length)$arrow.css("left",$el.position().left+$el.outerWidth()/2+"px")}function initGridEvents(){$(window).resize(throttle(windowResize,200));$(document).on("click dblclick",".gridImage__trash",function(e){var $input=$(this).find("input");$input.prop("checked",inverseState).change();if(e.type=="dblclick"){setDeleteStateOnAllItems($input);e.preventDefault();e.stopPropagation()}});$(document).on("change",".gridImage__deletebox",function(){updateDeleteClass($(this))});$(document).on("click",".gridImage__edit",function(e){var $el=$(this).closest(".gridImage");if(!$el.length)return;if($el.closest(".InputfieldImageEditAll").length)return false;var $all=$el.closest(".gridImages");var $edit=$all.find(".InputfieldImageEdit");if($el.hasClass("gridImageEditing")){$edit.find(".InputfieldImageEdit__close").click()}else{moveEdit($el,$edit);tearDownEdit($edit);setupEdit($el,$edit);$edit.addClass("InputfieldImageEdit--active").attr("data-for",$el.attr("id"));$all.find(".gridImageEditing").removeClass("gridImageEditing");$el.addClass("gridImageEditing")}}).on("click",".InputfieldImageEditAll img",function(e){e.stopPropagation();e.preventDefault();$.magnificPopup.close();var options=$.extend(true,{},magnificOptions);var $img=$(this);options["items"]={src:$img.attr("data-original"),title:$img.attr("alt")};$.magnificPopup.open(options);return true}).on("click",".InputfieldImageButtonFocus",function(){var $button=$(this);var $icon=$button.find("i");var $edit=$button.closest(".InputfieldImageEdit, .gridImage");var $focusCircle=$edit.find(".focusCircle");if($focusCircle.length){stopFocus($edit)}else{startFocus($edit);$icon.addClass("focusIconActive");$icon.toggleClass($icon.attr("data-toggle"))}});$(document).on("click",function(e){var $el=$(e.target);if($el.closest(".InputfieldImageEdit").length){closeEdit(null,$el.parents(".gridImages"))}else if($el.is("input, textarea")&&$el.closest(".InputfieldImageEditAll").length){$el.focus().one("blur",function(){$el.closest(".gridImages").sortable("enable")});$el.closest(".gridImages").sortable("disable")}else if($el.closest(".gridImage__inner").length){closeEdit(null,$el.parents(".gridImages"))}else if($el.closest(".mfp-container").length){return}else if($el.closest(".ui-dialog").length){return}else if($el.is(".mfp-close")){return}else if($el.is("a.remove")){return}else{closeEdit(null,null)}});$(document).on("click",".InputfieldImageEdit__close",function(e){closeEdit($(this).parents(".gridImages"),null)});$(document).on("change",".InputfieldImage",function(){$(this).find(".InputfieldImageButtonCrop:not(.pw-modal-dblclick)").addClass("pw-modal-dblclick ui-state-disabled")}).on("click",".InputfieldImageButtonCrop.ui-state-disabled",function(e){var $button=$(this);var $list=$button.closest(".gridImages");if(!$list.hasClass("gridImagesAlerted")){ProcessWire.alert(ProcessWire.config.InputfieldImage.labels.changes);$list.addClass("gridImagesAlerted")}setTimeout(function(){$button.removeClass("ui-state-active")},500);return false});$(".ImagesGrid").on("click","button.pw-modal",function(e){e.preventDefault()});setupEditableFilename();checkInputfieldWidth()}function setupEditableFilename(){$(document).on("click",".InputfieldImageEdit__name",function(e){var $span=$(this).children("span");var $input=$span.closest(".gridImage, .InputfieldImageEdit").find(".InputfieldFileRename");var $list=$span.closest(".gridImages");$list.sortable("disable");$input.val($span.text());$span.on("keypress",function(e){if(e.which==13){$span.blur();return false}return true});$span.attr("autocomplete","off").attr("autocorrect","off").attr("autocapitalize","off").attr("spellcheck","false");$span.focus().on("blur",function(){var val=$(this).text();if($.trim(val).length<1){$span.text($input.val())}else if(val!=$input.val()){$input.val(val).change();$list.closest(".Inputfield").trigger("change")}$span.off("keypress");$list.sortable("enable")})})}function setListSize($inputfield,pct){pct=Math.floor(pct);$inputfield.find(".gridImage__overflow").each(function(){var dataPct=100-pct;var $this=$(this);$this.css("width",pct+"%");$this.siblings(".ImageData").css("width",dataPct+"%");$this.find("img").css({top:0,left:0,transform:"none"})});setCookieData($inputfield,"listSize",pct)}function setGridSize($inputfield,gridSize,ragged){if(!gridSize)return;var size=gridSize+"px";var $gridImages=$inputfield.find(".gridImages");if(typeof ragged=="undefined"||ragged==null)ragged=$gridImages.attr("data-ragged")?true:false;if(ragged){$gridImages.attr("data-ragged",1)}else{$gridImages.removeAttr("data-ragged")}$gridImages.find(".gridImage__overflow").each(function(){setGridSizeItem($(this),gridSize,ragged)});$gridImages.find(".gridImage__edit, .gridImage__resize").css("line-height",size);$gridImages.attr("data-size",gridSize);setCookieData($inputfield,"size",gridSize);if(retryGridItems.length)setTimeout(function(){while(retryGridItems.length){var $item=retryGridItems.pop();setGridSizeItem($item,gridSize,ragged)}},150)}function setGridSizeItem($item,gridSize,ragged,focus){if($item.hasClass("gridImage__overflow")){var $img=$item.children("img")}else if($item.is("img")){var $img=$item;$item=$img.closest(".gridImage__overflow")}else{return}if(!gridSize){$img.removeAttr("width").removeAttr("height");$item.width("auto").height("auto");return}var zoom=0;var w=$img.width();var h=$img.height();var dataW=parseInt($img.attr("data-w"));var dataH=parseInt($img.attr("data-h"));if(!w)w=dataW;if(!h)h=dataH;if(!ragged&&typeof focus=="undefined"){var focusStr=$img.attr("data-focus");if(typeof focusStr=="undefined")focusStr="50.0 50.0 0";var focusArray=focusStr.split(" ");focus={top:parseFloat(focusArray[0]),left:parseFloat(focusArray[1]),zoom:parseInt(focusArray[2])}}if(!ragged)zoom=focus.zoom;if(ragged){$img.attr("height",gridSize).removeAttr("width");$img.css({"max-height":"100%","max-width":"none",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)"})}else if(zoom>0&&$item.closest(".InputfieldImageFocusZoom").length&&!gridSliding){if(w>=h){var maxHeight="100%";var maxWidth="none";if(w==dataW){h=gridSize;w=h/dataH*dataW}}else{var maxHeight="none";var maxWidth="100%";if(h==dataH){w=gridSize;h=w/dataW*dataH}}var scale=1+zoom/100*2;var crop=getFocusZoomCropDimensions4GridviewSquare(focus.left,focus.top,zoom,w,h,gridSize,scale);$img.css({left:"0px",top:"0px","transform-origin":"0px 0px",transform:"scale("+crop.scale+") translate3d("+crop.transformLeft+"px, "+crop.transformTop+"px, 0)","max-width":maxWidth,"max-height":maxHeight})}else if(w>=h){$img.attr("height",gridSize).removeAttr("width");if(focus.left<1)focus.left=.001;$img.css({"max-height":"100%","max-width":"none",top:"50%",left:focus.left+"%",transform:"translate3d(-"+focus.left+"%, -50%, 0)"})}else if(h>w){$img.attr("width",gridSize).removeAttr("height");if(focus.top<1)focus.top=.001;$img.css({"max-height":"none","max-width":"100%",top:focus.top+"%",left:"50%",transform:"translate3d(-50%, -"+focus.top+"%, 0)"})}else{$img.css({"max-height":"100%","max-width":"none",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)"});$img.removeAttr("width").attr("height",gridSize)}var w=$img.width();if(w){$item.css({width:ragged?w+"px":gridSize+"px",height:gridSize+"px"})}else{var tries=$item.attr("data-tries");if(!tries)tries=0;if(typeof tries=="undefined")tries=0;tries=parseInt(tries);if(tries>3){$item.css({width:gridSize+"px",height:gridSize+"px"})}else{retryGridItems.push($item);$item.attr("data-tries",tries+1)}}}function setupImageListToggle($target){if($target.find(".InputfieldImageListToggle").length)return;var $list=$("").append("");var $left=$("").append("");var $grid=$("").append("");var activeClass="InputfieldImageListToggle--active";var defaultMode="";var toggleClick=function(e){var $a=$(this);var $inputfield=$a.closest(".Inputfield");var href=$a.attr("href");var size;var $aPrev=$a.parent().children("."+activeClass);var hrefPrev=$aPrev.attr("href");$aPrev.removeClass(activeClass);$a.addClass(activeClass);stopFocus($inputfield);if(href=="list"){if(!$inputfield.hasClass("InputfieldImageEditAll")){$inputfield.find(".InputfieldImageEdit--active .InputfieldImageEdit__close").click();$inputfield.addClass("InputfieldImageEditAll")}size=getCookieData($inputfield,"listSize");setListSize($inputfield,size);setCookieData($inputfield,"mode","list")}else if(href=="left"){$inputfield.removeClass("InputfieldImageEditAll");size=getCookieData($inputfield,"size");setGridSize($inputfield,size,true);setCookieData($inputfield,"mode","left");updateGrid()}else if(href=="grid"){$inputfield.removeClass("InputfieldImageEditAll");size=getCookieData($inputfield,"size");setGridSize($inputfield,size,false);setCookieData($inputfield,"mode","grid");if(hrefPrev=="left")setTimeout(function(){setGridSize($inputfield,size,false)},100)}setupSortable($inputfield.find(".gridImages"));$a.blur();return false};$list.click(toggleClick);$left.click(toggleClick);$grid.click(toggleClick);if($target.hasClass("InputfieldImage")){$target.find(".InputfieldHeader").append($list).append($left).append($grid);defaultMode=getCookieData($target,"mode")}else{$(".InputfieldImage .InputfieldHeader",$target).append($list).append($left).append($grid)}if(defaultMode=="list"){$list.click()}else if(defaultMode=="left"){$left.click()}else{}}function setupSizeSlider($inputfield){var $header=$inputfield.children(".InputfieldHeader");if($header.children(".InputfieldImageSizeSlider").length)return;var $gridImages=$inputfield.find(".gridImages");var gridSize=$gridImages.attr("data-gridsize");var min=gridSize/2;var max=gridSize*2;var $slider=$('');$header.append($slider);var sizeSlide=function(event,ui){var value=ui.value;var minPct=15;var divisor=Math.floor(gridSize/minPct);var v=value-min;var listSize=Math.floor(minPct+v/divisor);if($inputfield.hasClass("InputfieldImageEditAll")){setCookieData($inputfield,"size",value);setListSize($inputfield,listSize)}else{setCookieData($inputfield,"listSize",listSize);setGridSize($inputfield,value)}};$slider.slider({min:min,max:max,value:getCookieData($inputfield,"size"),range:"min",slide:sizeSlide,start:function(event,ui){gridSliding=true;if($inputfield.find(".InputfieldImageEdit:visible").length){$inputfield.find(".InputfieldImageEdit__close").click()}},stop:function(event,ui){gridSliding=false;sizeSlide(event,ui);updateGrid($inputfield)}})}function setCookieData($inputfield,property,value){var data=getCookieData($inputfield);var id=$inputfield.attr("id");var name=id?id.replace("wrap_Inputfield_",""):"";if(!name.length||typeof value=="undefined")return;if(data[name][property]==value)return;data[name][property]=value;$.cookie("InputfieldImage",data,{secure:window.location.protocol.indexOf("https:")===0});cookieData=data}function getCookieData($inputfield,property){if(cookieData&&typeof property=="undefined")return cookieData;var id=$inputfield.attr("id");var name=id?id.replace("wrap_Inputfield_",""):"na";var data=cookieData?cookieData:$.cookie("InputfieldImage");var value=null;if(!data)var data={};if(typeof data[name]=="undefined")data[name]={};if(typeof data[name].size=="undefined")data[name].size=parseInt($inputfield.find(".gridImages").attr("data-size"));if(typeof data[name].listSize=="undefined")data[name].listSize=23;if(typeof data[name].mode=="undefined")data[name].mode=$inputfield.find(".gridImages").attr("data-gridMode");if(cookieData==null)cookieData=data;if(typeof property=="undefined"){value=data}else if(property===true){value=data[name]}else if(typeof data[name][property]!="undefined"){value=data[name][property]}return value}function initInputfield($inputfield){if($inputfield.hasClass("InputfieldStateCollapsed"))return;var maxFiles=parseInt($inputfield.find(".InputfieldImageMaxFiles").val());var $gridImages=$inputfield.find(".gridImages");var size=getCookieData($inputfield,"size");var mode=getCookieData($inputfield,"mode");var ragged=mode=="left"?true:false;if(!size)size=$gridImages.attr("data-gridsize");size=parseInt(size);if($inputfield.hasClass("InputfieldImageEditAll")||mode=="list"){var listSize=getCookieData($inputfield,"listSize");setListSize($inputfield,listSize)}else{setGridSize($inputfield,size,ragged)}if(!$inputfield.hasClass("InputfieldImageInit")){$inputfield.addClass("InputfieldImageInit");if($inputfield.hasClass("InputfieldRenderValueMode")){return setupMagnificForRenderValue($inputfield)}else if(maxFiles==1){$inputfield.addClass("InputfieldImageMax1");setupMagnificForSingle($inputfield)}else{setupSortable($gridImages)}setupImageListToggle($inputfield);setupSizeSlider($inputfield)}checkInputfieldWidth($inputfield);$inputfield.on("change",".InputfieldFileActionSelect",function(){var $note=$(this).next(".InputfieldFileActionNote");if($(this).val().length){$note.fadeIn()}else{$note.hide()}})}function initUploadOldSchool(){$("body").addClass("ie-no-drop");$(".InputfieldImage.InputfieldFileMultiple").each(function(){var $field=$(this),maxFiles=parseInt($field.find(".InputfieldFileMaxFiles").val()),$list=$field.find(".gridImages"),$uploadArea=$field.find(".InputfieldImageUpload");$uploadArea.on("change","input[type=file]",function(){var $t=$(this),$mask=$t.parent(".InputMask");if($t.val().length>1)$mask.addClass("ui-state-disabled");else $mask.removeClass("ui-state-disabled");if($t.next("input.InputfieldFile").length>0)return;var numFiles=$list.children("li").length+$uploadArea.find("input[type=file]").length+1;if(maxFiles>0&&numFiles>=maxFiles)return;$uploadArea.find(".InputMask").not(":last").each(function(){var $m=$(this);if($m.find("input[type=file]").val()<1)$m.remove()});var $i=$mask.clone().removeClass("ui-state-disabled");$i.children("input[type=file]").val("");$i.insertAfter($mask)})})}function initUploadHTML5($inputfield){var $target;if($inputfield.length>0){$target=$inputfield.find(".InputfieldImageUpload")}else{$target=$(".InputfieldImageUpload")}$target.each(function(i){var $this=$(this);var $content=$this.closest(".InputfieldContent");if($this.hasClass("InputfieldImageInitUpload"))return;initHTML5Item($content,i);$this.addClass("InputfieldImageInitUpload")});function initHTML5Item($this,i){var $form=$this.parents("form");var $repeaterItem=$this.closest(".InputfieldRepeaterItem");var postUrl=$repeaterItem.length?$repeaterItem.attr("data-editUrl"):$form.attr("action");postUrl+=(postUrl.indexOf("?")>-1?"&":"?")+"InputfieldFileAjax=1";var $postToken=$form.find("input._post_token");var postTokenName=$postToken.attr("name");var postTokenValue=$postToken.val();var $errorParent=$this.find(".InputfieldImageErrors").first();var fieldName=$this.find(".InputfieldImageUpload").data("fieldname");fieldName=fieldName.slice(0,-2);var $inputfield=$this.closest(".Inputfield.InputfieldImage");var extensions=$this.find(".InputfieldImageUpload").data("extensions").toLowerCase();var maxFilesize=$this.find(".InputfieldImageUpload").data("maxfilesize");var filesUpload=$this.find("input[type=file]").get(0);var $fileList=$this.find(".gridImages");var fileList=$fileList.get(0);var gridSize=$fileList.data("gridsize");var doneTimer=null;var maxFiles=parseInt($this.find(".InputfieldImageMaxFiles").val());var resizeSettings=getClientResizeSettings($inputfield);var useClientResize=resizeSettings.maxWidth>0||resizeSettings.maxHeight>0||resizeSettings.maxSize>0;setupDropzone($this);if(maxFiles!=1)setupDropInPlace($fileList);$fileList.children().addClass("InputfieldFileItemExisting");$inputfield.on("pwimageupload",function(event,data){traverseFiles([data.file],data.xhr)});function errorItem(message,filename){if(typeof filename!=="undefined")message=""+filename+": "+message;return"
  • "+message+"
  • "}function basename(str){var base=new String(str).substring(str.lastIndexOf("/")+1);if(base.lastIndexOf(".")!=-1)base=base.substring(0,base.lastIndexOf("."));return base}function setupDropzone($el){if($el.hasClass("InputfieldImageDropzoneInit"))return;var el=$el.get(0);var $inputfield=$el.closest(".Inputfield");function dragStart(){if($inputfield.hasClass("pw-drag-in-file"))return;$el.addClass("ui-state-hover");$inputfield.addClass("pw-drag-in-file")}function dragStop(){if(!$inputfield.hasClass("pw-drag-in-file"))return;$el.removeClass("ui-state-hover");$inputfield.removeClass("pw-drag-in-file")}el.addEventListener("dragleave",function(){dragStop()},false);el.addEventListener("dragenter",function(evt){evt.preventDefault();dragStart()},false);el.addEventListener("dragover",function(evt){if(!$el.is("ui-state-hover"))dragStart();evt.preventDefault();evt.stopPropagation();return false},false);el.addEventListener("drop",function(evt){traverseFiles(evt.dataTransfer.files);dragStop();evt.preventDefault();evt.stopPropagation();return false},false);$el.addClass("InputfieldImageDropzoneInit")}function setupDropInPlace($gridImages){var $i=null;var haltDrag=false;var timer=null;var $inputfield=$gridImages.closest(".Inputfield");function addInputfieldClass(){$inputfield.addClass("pw-drag-in-file")}function removeInputfieldClass(){$inputfield.removeClass("pw-drag-in-file")}function getCenterCoordinates($el){var offset=$el.offset();var width=$el.width();var height=$el.height();var centerX=offset.left+width/2;var centerY=offset.top+height/2;return{clientX:centerX,clientY:centerY}}function noDropInPlace(){return $gridImages.find(".InputfieldImageEdit--active").length>0}function dragEnter(evt){if(noDropInPlace())return;evt.preventDefault();evt.stopPropagation();addInputfieldClass();haltDrag=false;if($i==null){var gridSize=$gridImages.attr("data-size")+"px";var $o=$("
    ").addClass("gridImage__overflow");if($gridImages.closest(".InputfieldImageEditAll").length){$o.css({width:"100%",height:gridSize})}else{$o.css({width:gridSize,height:gridSize})}$i=$("
  • ").addClass("ImageOuter gridImage gridImagePlaceholder").append($o);$gridImages.append($i)}var coords=getCenterCoordinates($i);$i.simulate("mousedown",coords)}function dragOver(evt){if(noDropInPlace())return;evt.preventDefault();evt.stopPropagation();addInputfieldClass();haltDrag=false;if($i==null)return;var coords={clientX:evt.originalEvent.clientX,clientY:evt.originalEvent.clientY};$i.simulate("mousemove",coords)}function dragEnd(evt){if(noDropInPlace())return;evt.preventDefault();evt.stopPropagation();if($i==null)return false;haltDrag=true;if(timer)clearTimeout(timer);timer=setTimeout(function(){if(!haltDrag||$i==null)return;$i.remove();$i=null;removeInputfieldClass()},1e3)}function drop(evt){if(noDropInPlace())return;removeInputfieldClass();haltDrag=false;var coords={clientX:evt.clientX,clientY:evt.clientY};$i.simulate("mouseup",coords);$uploadBeforeItem=$i.next(".gridImage");$i.remove();$i=null}if($gridImages.length&&!$gridImages.hasClass("gridImagesInitDropInPlace")){$gridImages.on("dragenter",dragEnter);$gridImages.on("dragover",dragOver);$gridImages.on("dragleave",dragEnd);$gridImages.on("drop",drop);$gridImages.addClass("gridImagesInitDropInPlace")}}function uploadFile(file,extension,xhrsub){var labels=ProcessWire.config.InputfieldImage.labels;var filesizeStr=parseInt(file.size/1024,10)+" kB";var tooltipMarkup=""+'
    '+""+""+'"+""+""+""+""+""+""+"
    "+labels.dimensions+"'+labels.na+"
    "+labels.filesize+""+filesizeStr+"
    "+labels.variations+"0
    "+"
    ";var $progressItem=$('
  • '),$tooltip=$(tooltipMarkup),$imgWrapper=$('
    '),$imageData=$('
    '),$hover=$("
    "),$progressBar=$(""),$edit=$(' '),$spinner=$('
    '),reader,xhr,fileData,fileUrl=URL.createObjectURL(file),$fileList=$inputfield.find(".gridImages"),singleMode=maxFiles==1,size=getCookieData($inputfield,"size"),listSize=getCookieData($inputfield,"listSize"),listMode=$inputfield.hasClass("InputfieldImageEditAll"),$img=$('');$imgWrapper.append($img);$hover.find(".gridImage__inner").append($edit);$hover.find(".gridImage__inner").append($spinner.css("display","none"));$hover.find(".gridImage__inner").append($progressBar);$imageData.append($(""+'

    '+file.name+"

    "+''+filesizeStr+""));if(listMode){$imgWrapper.css("width",listSize+"%");$imageData.css("width",100-listSize+"%")}else{$imgWrapper.css({width:size+"px",height:size+"px"})}$progressItem.append($tooltip).append($imgWrapper).append($hover).append($imageData);$img.attr({src:fileUrl,"data-original":fileUrl});img=new Image;img.addEventListener("load",function(){$tooltip.find(".dimensions").html(this.width+" × "+this.height);var factor=Math.min(this.width,this.height)/size;$img.attr({width:this.width/factor,height:this.height/factor})},false);img.src=fileUrl;if(typeof xhrsub!="undefined"){xhr=xhrsub}else{xhr=new XMLHttpRequest}function updateProgress(evt){if(typeof evt!="undefined"){if(!evt.lengthComputable)return;$progressBar.attr("value",parseInt(evt.loaded/evt.total*100))}$("body").addClass("pw-uploading");$spinner.css("display","block")}xhr.upload.addEventListener("progress",updateProgress,false);xhr.addEventListener("load",function(){xhr.getAllResponseHeaders();var response=$.parseJSON(xhr.responseText);if(typeof response.ajaxResponse!="undefined")response=response.ajaxResponse;var wasZipFile=response.length>1;if(response.error!==undefined)response=[response];for(var n=0;n-1){uploadReplaceName=uploadReplaceName.substring(0,uploadReplaceName.indexOf("?"))}var uploadReplaceExt=uploadReplaceName.substring(uploadReplaceName.lastIndexOf(".")+1).toLowerCase();uploadReplaceName=uploadReplaceName.substring(0,uploadReplaceName.lastIndexOf("."));if(uploadReplaceExt==uploadNewExt){$imageEditName.children("span").text(uploadReplaceName).removeAttr("contenteditable")}$markup.find(".gridImage__edit").click()}uploadReplace.file="";uploadReplace.item=null;uploadReplace.edit=null}if(doneTimer)clearTimeout(doneTimer);$uploadBeforeItem=null;doneTimer=setTimeout(function(){if(maxFiles!=1){setupSortable($fileList)}else{setupMagnificForSingle($inputfield)}$("body").removeClass("pw-uploading");$fileList.trigger("AjaxUploadDone")},500);$inputfield.trigger("change").removeClass("InputfieldFileEmpty")},false);if(uploadReplace.edit){uploadReplace.edit.find(".InputfieldImageEdit__close").click()}else if($inputfield.find(".InputfieldImageEdit:visible").length){$inputfield.find(".InputfieldImageEdit__close").click()}if(uploadReplace.item){uploadReplace.item.replaceWith($progressItem);uploadReplace.item=$progressItem}else if($uploadBeforeItem&&$uploadBeforeItem.length){$uploadBeforeItem.before($progressItem)}else{$fileList.append($progressItem)}function sendUpload(file,imageData){if(typeof xhrsub=="undefined"){xhr.open("POST",postUrl,true)}xhr.setRequestHeader("X-FILENAME",encodeURIComponent(file.name));xhr.setRequestHeader("X-FIELDNAME",fieldName);if(uploadReplace.item)xhr.setRequestHeader("X-REPLACENAME",uploadReplace.file);xhr.setRequestHeader("Content-Type","application/octet-stream");xhr.setRequestHeader("X-"+postTokenName,postTokenValue);xhr.setRequestHeader("X-REQUESTED-WITH","XMLHttpRequest");if(typeof imageData!="undefined"&&imageData!=false){xhr.send(imageData)}else{xhr.send(file)}updateGrid();$inputfield.trigger("change");var numFiles=$inputfield.find(".InputfieldFileItem").length;if(numFiles==1){$inputfield.removeClass("InputfieldFileEmpty").removeClass("InputfieldFileMultiple").addClass("InputfieldFileSingle")}else if(numFiles>1){$inputfield.removeClass("InputfieldFileEmpty").removeClass("InputfieldFileSingle").addClass("InputfieldFileMultiple")}}updateProgress();var ext=file.name.substring(file.name.lastIndexOf(".")+1).toLowerCase();if(useClientResize&&(ext=="jpg"||ext=="jpeg"||ext=="png"||ext=="gif")){var resizer=new PWImageResizer(resizeSettings);$spinner.addClass("pw-resizing");resizer.resize(file,function(imageData){$spinner.removeClass("pw-resizing");sendUpload(file,imageData)})}else{sendUpload(file)}}function traverseFiles(files,xhr){var toKilobyte=function(i){return parseInt(i/1024,10)};if(typeof files==="undefined"){fileList.innerHTML="No support for the File API in this web browser";return}for(var i=0,l=files.length;imaxFilesize&&maxFilesize>2e6){var filesizeKB=toKilobyte(files[i].size),maxFilesizeKB=toKilobyte(maxFilesize);message="Filesize "+filesizeKB+" kb is too big. Maximum allowed is "+maxFilesizeKB+" kb";$errorParent.append(errorItem(message,files[i].name))}else if(typeof xhr!="undefined"){uploadFile(files[i],extension,xhr)}else{uploadFile(files[i],extension)}if(maxFiles==1)break}}filesUpload.addEventListener("change",function(evt){traverseFiles(this.files);evt.preventDefault();evt.stopPropagation();this.value=""},false)}function setupEnlargementDropzones(){var sel=".InputfieldImageEdit__imagewrapper img";$(document).on("dragenter",sel,function(){var $this=$(this);if($this.closest(".InputfieldImageMax1").length)return;var src=$this.attr("src");var $edit=$this.closest(".InputfieldImageEdit");var $parent=$this.closest(".InputfieldImageEdit__imagewrapper");$parent.addClass("InputfieldImageEdit__replace");uploadReplace.file=new String(src).substring(src.lastIndexOf("/")+1);uploadReplace.item=$("#"+$edit.attr("data-for"));uploadReplace.edit=$edit}).on("dragleave",sel,function(){var $this=$(this);if($this.closest(".InputfieldImageMax1").length)return;var $parent=$this.closest(".InputfieldImageEdit__imagewrapper");$parent.removeClass("InputfieldImageEdit__replace");uploadReplace.file="";uploadReplace.item=null;uploadReplace.edit=null})}setupEnlargementDropzones()}function getClientResizeSettings($inputfield){var settings={maxWidth:0,maxHeight:0,maxSize:0,quality:1,autoRotate:true,debug:ProcessWire.config.debug};var data=$inputfield.attr("data-resize");if(typeof data!="undefined"&&data.length){data=data.split(";");settings.maxWidth=data[0].length?parseInt(data[0]):0;settings.maxHeight=data[1].length?parseInt(data[1]):0;settings.maxSize=data[2].length?parseFloat(data[2]):0;settings.quality=parseFloat(data[3])}return settings}function init(){$(".InputfieldImage.Inputfield").each(function(){initInputfield($(this))});initGridEvents();if(useAjaxUpload()){initUploadHTML5("")}else{initUploadOldSchool()}$(document).on("reloaded",".InputfieldImage",function(){var $inputfield=$(this);initInputfield($inputfield);initUploadHTML5($inputfield)}).on("wiretabclick",function(e,$newTab,$oldTab){$newTab.find(".InputfieldImage").each(function(){initInputfield($(this))})}).on("opened",".InputfieldImage",function(){initInputfield($(this))})}init()}jQuery(document).ready(function($){InputfieldImage($)}); \ No newline at end of file diff --git a/wire/modules/Inputfield/InputfieldPage/InputfieldPage.js b/wire/modules/Inputfield/InputfieldPage/InputfieldPage.js index 9414c22e..ee90ecc6 100644 --- a/wire/modules/Inputfield/InputfieldPage/InputfieldPage.js +++ b/wire/modules/Inputfield/InputfieldPage/InputfieldPage.js @@ -48,7 +48,7 @@ function initInputfieldPage($this) { s = s.replace(part, '=' + v); s = s.replace(/,\s*/g, '&'); if(s.indexOf('_LPID')) s = s.replace(/_LPID[0-9]+/g, ''); - var url = ProcessWire.config.urls.admin + 'page/search/for?' + s + '&limit=999&get=' + labelFieldName; + var url = ProcessWire.config.urls.admin + 'page/search/for?' + s + '&limit=9999&get=' + labelFieldName; if(formatName.length) url += '&format_name=' + formatName; $.getJSON(url, {}, function(data) { //$select.children().remove(); diff --git a/wire/modules/Inputfield/InputfieldPage/InputfieldPage.min.js b/wire/modules/Inputfield/InputfieldPage/InputfieldPage.min.js index e5f1264b..07b480fd 100644 --- a/wire/modules/Inputfield/InputfieldPage/InputfieldPage.min.js +++ b/wire/modules/Inputfield/InputfieldPage/InputfieldPage.min.js @@ -1 +1 @@ -function initInputfieldPage(a){a.find("p.InputfieldPageAddButton a").click(function(){var b=$(this).parent("p").next(".InputfieldPageAddItems");if(b.is(":visible")){b.slideUp("fast").find(":input").val("")}else{b.slideDown("fast").parents(".ui-widget-content").slice(0,1).effect("highlight",{},500)}return false});a.find(".findPagesSelector").each(function(){var i=$(this);var f=i.val();if(f.indexOf("=page.")==-1){return}var j=i.attr("data-label");var k=i.attr("data-formatname");if(!j.length){$labelFieldName="name"}var l=i.parents(".InputfieldPage");var g=$("select#"+l.attr("id").replace(/^wrap_/,""));if(g.length<1){return}var h=f.match(/(=page.[_a-zA-Z0-9]+)/g);for(var e=0;e0){q=t.is(":checked")}t.remove();var p="";if(k.length){p=r[k]}if(!p.length){p=r[j]}if(!p.length){p=r.name}var t=$("");if(q){t.attr("selected","selected")}g.append(t)}$blankOption=$("");g.prepend($blankOption);g.children(".option-tbd").remove();g.change()})})}})}$(document).ready(function(){$(".InputfieldPage").each(function(){initInputfieldPage($(this))});$(document).on("reloaded",".InputfieldPage",function(){initInputfieldPage($(this))})}); \ No newline at end of file +function initInputfieldPage($this){$this.find("p.InputfieldPageAddButton a").click(function(){var $input=$(this).parent("p").next(".InputfieldPageAddItems");if($input.is(":visible"))$input.slideUp("fast").find(":input").val("");else $input.slideDown("fast").parents(".ui-widget-content").slice(0,1).effect("highlight",{},500);return false});$this.find(".findPagesSelector").each(function(){var $t=$(this);var selector=$t.val();if(selector.indexOf("=page.")==-1)return;var labelFieldName=$t.attr("data-label");var formatName=$t.attr("data-formatname");if(!labelFieldName.length)$labelFieldName="name";var $wrap=$t.parents(".InputfieldPage");var $select=$("select#"+$wrap.attr("id").replace(/^wrap_/,""));if($select.length<1)return;var parts=selector.match(/(=page.[_a-zA-Z0-9]+)/g);for(var n=0;n0)selected=$option.is(":checked");$option.remove();var label="";if(formatName.length)label=page[formatName];if(!label.length)label=page[labelFieldName];if(!label.length)label=page.name;var $option=$("");if(selected)$option.attr("selected","selected");$select.append($option)}$blankOption=$("");$select.prepend($blankOption);$select.children(".option-tbd").remove();$select.change()})})}})}$(document).ready(function(){$(".InputfieldPage").each(function(){initInputfieldPage($(this))});$(document).on("reloaded",".InputfieldPage",function(){initInputfieldPage($(this))})}); \ No newline at end of file diff --git a/wire/modules/PagePermissions.module b/wire/modules/PagePermissions.module index 556c1ba5..0016165a 100644 --- a/wire/modules/PagePermissions.module +++ b/wire/modules/PagePermissions.module @@ -621,7 +621,8 @@ class PagePermissions extends WireData implements Module { $user = $this->wire('user'); $listable = true; - if($user->isSuperuser()) $listable = true; + if($page instanceof NullPage) $listable = false; + else if($user->isSuperuser()) $listable = true; else if($page instanceof User && $user->hasPermission('user-admin')) $listable = true; else if($page->hasStatus(Page::statusUnpublished) && !$page->editable()) $listable = false; else if($page->process && !$this->processViewable($page)) $listable = false;