diff --git a/wire/core/ProcessWire.php b/wire/core/ProcessWire.php index e273f436..59331d26 100644 --- a/wire/core/ProcessWire.php +++ b/wire/core/ProcessWire.php @@ -45,7 +45,7 @@ class ProcessWire extends Wire { * Reversion revision number * */ - const versionRevision = 62; + const versionRevision = 63; /** * Version suffix string (when applicable) diff --git a/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.js b/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.js index 272c6237..cf3f59b2 100644 --- a/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.js +++ b/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.js @@ -139,7 +139,17 @@ // build the modal URL var modalUrl = ProcessWire.config.urls.admin + 'page/link/?id=' + pageID + '&modal=1'; var $langWrapper = $textarea.closest('.LanguageSupport'); - if($langWrapper.length) modalUrl += "&lang=" + $langWrapper.data("language"); + + if($langWrapper.length) { + // multi-language field + modalUrl += "&lang=" + $langWrapper.data("language"); + } else { + // multi-language field in Table + $langWrapper = $textarea.parents('.InputfieldTable_langTabs').find('li.ui-state-active a') + if($langWrapper.length && typeof $langWrapper.data('lang') != "undefined") { + modalUrl += "&lang=" + $langWrapper.data('lang'); + } + } if($existingLink != null) { var attrs = ['href', 'title', 'class', 'rel', 'target']; diff --git a/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.min.js b/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.min.js index bb64af03..6c01137e 100644 --- a/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.min.js +++ b/wire/modules/Inputfield/InputfieldCKEditor/plugins/pwlink/plugin.min.js @@ -1 +1 @@ -(function(){CKEDITOR.plugins.add("pwlink",{requires:"dialog,fakeobjects",init:function(b){var d="a[!href,target,name,title,rel]";var c="a[href]";var e=ProcessWire.config.InputfieldCKEditor.pwlink.classOptions;if(e.length){d+="("+e+")"}b.addCommand("pwlink",{allowedContent:d,requiredContent:c,exec:a});b.addCommand("anchor",new CKEDITOR.dialogCommand("anchor",{allowedContent:"a[!name,id]",requiredContent:"a[name]"}));b.addCommand("unlink",new CKEDITOR.unlinkCommand());b.addCommand("removeAnchor",new CKEDITOR.removeAnchorCommand());b.setKeystroke(CKEDITOR.CTRL+76,"pwlink");if(b.ui.addButton){b.ui.addButton("PWLink",{label:b.lang.link.toolbar,command:"pwlink",toolbar:"links,10",hidpi:true,icon:(CKEDITOR.env.hidpi?this.path+"images/hidpi/pwlink.png":this.path+"images/pwlink.png")});b.ui.addButton("Unlink",{label:b.lang.link.unlink,command:"unlink",toolbar:"links,20"});b.ui.addButton("Anchor",{label:b.lang.link.anchor.toolbar,command:"anchor",toolbar:"links,30"})}b.on("doubleclick",function(f){var g=CKEDITOR.plugins.link.getSelectedLink(b)||f.data.element;if(g.is("a")&&!g.getAttribute("name")&&!g.isReadOnly()){var h=jQuery(g.$);if(h.children("img").length==0){f.cancel();b.commands.pwlink.exec()}}});b.on("instanceReady",function(f){f.editor.removeMenuItem("link")});if(b.contextMenu){b.addMenuItem("pwlinkitem",{label:ProcessWire.config.InputfieldCKEditor.pwlink.edit,command:"pwlink",group:"link",icon:(CKEDITOR.env.hidpi?this.path+"images/hidpi/pwlink.png":this.path+"images/pwlink.png")});b.contextMenu.addListener(function(g){if(!g||g.isReadOnly()){return null}var f=CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,g);var h={};if(!f&&!(f=CKEDITOR.plugins.link.getSelectedLink(b))){return null}if(f.getAttribute("href")&&f.getChildCount()){h={pwlinkitem:CKEDITOR.TRISTATE_OFF}}return h})}}});function a(g){var i=jQuery("#Inputfield_id");if(i.length){var f=i.val()}else{var f=jQuery("#"+g.name).closest(".Inputfield").attr("data-pid")}var u=jQuery("#"+g.name);var w=g.getSelection(true);var s=w.getStartElement();var c=s.getName();var j=w.getSelectedText();var t=null;var p=CKEDITOR.plugins.link.getEditorAnchors(g);if(c=="a"){t=jQuery(s.$);j=s.getHtml();w.selectElement(s)}else{if(c=="td"||c=="th"||c=="tr"){var v=j.substring(0,1);if(v=="\n"||v=="\r"){ProcessWire.alert("Your selection includes part of the table. Please try selecting the text again.");return}}else{if(c=="img"){var k=jQuery(s.$);t=k.parent("a");j=s.$.outerHTML}else{if(j.length<1){return}else{}}}}var m=ProcessWire.config.urls.admin+"page/link/?id="+f+"&modal=1";var d=u.closest(".LanguageSupport");if(d.length){m+="&lang="+d.data("language")}if(t!=null){var q=["href","title","class","rel","target"];for(var r=0;r0){for(var r=0;r").append(y).html();g.insertHtml(n)}o.dialog("close")}var e={title:" "+b,open:function(){if(jQuery(".cke_maximized").length>0){jQuery(".ui-dialog").css("z-index",9999);jQuery(".ui-widget-overlay").css("z-index",9998)}},buttons:[{"class":"pw_link_submit_insert",html:" "+b,click:h},{html:" "+l,click:function(){o.dialog("close")},"class":"ui-priority-secondary"}]};var o=pwModalWindow(m,e,"medium");o.load(function(){var n=o.contents();n.find("#ProcessPageEditLinkForm").data("iframe",o);jQuery("#link_page_url",n).keydown(function(y){var z=jQuery(this);var A=jQuery.trim(z.val());if(y.keyCode==13){y.preventDefault();if(A.length>0){h()}return false}})})}})(); \ No newline at end of file +(function(){CKEDITOR.plugins.add("pwlink",{requires:"dialog,fakeobjects",init:function(b){var d="a[!href,target,name,title,rel]";var c="a[href]";var e=ProcessWire.config.InputfieldCKEditor.pwlink.classOptions;if(e.length){d+="("+e+")"}b.addCommand("pwlink",{allowedContent:d,requiredContent:c,exec:a});b.addCommand("anchor",new CKEDITOR.dialogCommand("anchor",{allowedContent:"a[!name,id]",requiredContent:"a[name]"}));b.addCommand("unlink",new CKEDITOR.unlinkCommand());b.addCommand("removeAnchor",new CKEDITOR.removeAnchorCommand());b.setKeystroke(CKEDITOR.CTRL+76,"pwlink");if(b.ui.addButton){b.ui.addButton("PWLink",{label:b.lang.link.toolbar,command:"pwlink",toolbar:"links,10",hidpi:true,icon:(CKEDITOR.env.hidpi?this.path+"images/hidpi/pwlink.png":this.path+"images/pwlink.png")});b.ui.addButton("Unlink",{label:b.lang.link.unlink,command:"unlink",toolbar:"links,20"});b.ui.addButton("Anchor",{label:b.lang.link.anchor.toolbar,command:"anchor",toolbar:"links,30"})}b.on("doubleclick",function(f){var g=CKEDITOR.plugins.link.getSelectedLink(b)||f.data.element;if(g.is("a")&&!g.getAttribute("name")&&!g.isReadOnly()){var h=jQuery(g.$);if(h.children("img").length==0){f.cancel();b.commands.pwlink.exec()}}});b.on("instanceReady",function(f){f.editor.removeMenuItem("link")});if(b.contextMenu){b.addMenuItem("pwlinkitem",{label:ProcessWire.config.InputfieldCKEditor.pwlink.edit,command:"pwlink",group:"link",icon:(CKEDITOR.env.hidpi?this.path+"images/hidpi/pwlink.png":this.path+"images/pwlink.png")});b.contextMenu.addListener(function(g){if(!g||g.isReadOnly()){return null}var f=CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,g);var h={};if(!f&&!(f=CKEDITOR.plugins.link.getSelectedLink(b))){return null}if(f.getAttribute("href")&&f.getChildCount()){h={pwlinkitem:CKEDITOR.TRISTATE_OFF}}return h})}}});function a(g){var i=jQuery("#Inputfield_id");if(i.length){var f=i.val()}else{var f=jQuery("#"+g.name).closest(".Inputfield").attr("data-pid")}var u=jQuery("#"+g.name);var w=g.getSelection(true);var s=w.getStartElement();var c=s.getName();var j=w.getSelectedText();var t=null;var p=CKEDITOR.plugins.link.getEditorAnchors(g);if(c=="a"){t=jQuery(s.$);j=s.getHtml();w.selectElement(s)}else{if(c=="td"||c=="th"||c=="tr"){var v=j.substring(0,1);if(v=="\n"||v=="\r"){ProcessWire.alert("Your selection includes part of the table. Please try selecting the text again.");return}}else{if(c=="img"){var k=jQuery(s.$);t=k.parent("a");j=s.$.outerHTML}else{if(j.length<1){return}else{}}}}var m=ProcessWire.config.urls.admin+"page/link/?id="+f+"&modal=1";var d=u.closest(".LanguageSupport");if(d.length){m+="&lang="+d.data("language")}else{d=u.parents(".InputfieldTable_langTabs").find("li.ui-state-active a");if(d.length&&typeof d.data("lang")!="undefined"){m+="&lang="+d.data("lang")}}if(t!=null){var q=["href","title","class","rel","target"];for(var r=0;r0){for(var r=0;r").append(y).html();g.insertHtml(n)}o.dialog("close")}var e={title:" "+b,open:function(){if(jQuery(".cke_maximized").length>0){jQuery(".ui-dialog").css("z-index",9999);jQuery(".ui-widget-overlay").css("z-index",9998)}},buttons:[{"class":"pw_link_submit_insert",html:" "+b,click:h},{html:" "+l,click:function(){o.dialog("close")},"class":"ui-priority-secondary"}]};var o=pwModalWindow(m,e,"medium");o.load(function(){var n=o.contents();n.find("#ProcessPageEditLinkForm").data("iframe",o);jQuery("#link_page_url",n).keydown(function(y){var z=jQuery(this);var A=jQuery.trim(z.val());if(y.keyCode==13){y.preventDefault();if(A.length>0){h()}return false}})})}})(); \ No newline at end of file diff --git a/wire/modules/LanguageSupport/LanguageSupportPageNames.module b/wire/modules/LanguageSupport/LanguageSupportPageNames.module index 27ddb401..e7edee0e 100644 --- a/wire/modules/LanguageSupport/LanguageSupportPageNames.module +++ b/wire/modules/LanguageSupport/LanguageSupportPageNames.module @@ -178,6 +178,8 @@ class LanguageSupportPageNames extends WireData implements Module, ConfigurableM $sitePath = '/' . implode('/', $segments) . '/'; // combine to [/subdir]/site/ $sitePath = str_replace($config->urls->root, '', $sitePath); // remove possible subdir, reduce to: site/ // if it is a request to assets, then don't attempt to modify it + $sitePath = rtrim($sitePath, '/') . '/'; + $path = rtrim($path, '/') . '/'; return strpos($path, $sitePath) === 0; } diff --git a/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module b/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module index 90055162..101c7f85 100644 --- a/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module +++ b/wire/modules/Process/ProcessPageEdit/ProcessPageEdit.module @@ -843,6 +843,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod /** @var InputfieldMarkup $field */ $field = $this->modules->get("InputfieldMarkup"); + $field->attr('id+name', 'ChildrenPageList'); $field->label = $title == $defaultTitle ? $this->_("Children / Subpages") : $title; // Children field label if($pageList) { $field->value = $pageList->execute(); @@ -870,6 +871,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod if(empty($this->page->template->sortfield) && $this->user->hasPermission('page-sort', $this->page)) { $sortfield = $this->page->sortfield && $this->page->sortfield != 'sort' ? $this->page->sortfield : ''; $fieldset = self::buildFormSortfield($sortfield, $this); + $fieldset->attr('id+name', 'ChildrenSortSettings'); $fieldset->label = $this->_('Sort Settings'); // Children sort settings field label $fieldset->icon = 'sort'; $fieldset->description = $this->_("If you want all current and future children to automatically sort by a specific field, select the field below and optionally check the 'reverse' checkbox to make the sort descending. Leave the sort field blank if you want to be able to drag-n-drop to your own order."); // Sort settings description text @@ -1229,7 +1231,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod $field = $this->modules->get("InputfieldMarkup"); $field->label = $this->_('Who can access this page?'); // Roles information field label $field->icon = 'users'; - $field->attr('id', 'ProcessPageEditRoles'); + $field->attr('id+name', 'ProcessPageEditRoles'); $field->collapsed = Inputfield::collapsedYesAjax; /** @var MarkupAdminDataTable $table */ @@ -1836,6 +1838,7 @@ class ProcessPageEdit extends Process implements WirePageEditor, ConfigurableMod $labelAction = sprintf($this->_('Change template from "%1$s" to "%2$s"'), $this->page->template, $template); // Change template A to B headline $this->headline($labelConfirm); + if($this->wire('input')->get('modal')) $this->error("$labelConfirm – $labelAction"); // force modal open /** @var InputfieldForm $form */ $form = $this->modules->get("InputfieldForm"); diff --git a/wire/templates-admin/scripts/inputfields.js b/wire/templates-admin/scripts/inputfields.js index 1b9d6306..06d0d3ab 100644 --- a/wire/templates-admin/scripts/inputfields.js +++ b/wire/templates-admin/scripts/inputfields.js @@ -925,6 +925,8 @@ function InputfieldFormBeforeUnloadEvent(e) { function InputfieldStates($target) { var hasTarget = true; + var $ = jQuery; + if(typeof $target == "undefined") { $target = $("body"); hasTarget = false; diff --git a/wire/templates-admin/scripts/inputfields.min.js b/wire/templates-admin/scripts/inputfields.min.js index 858eb5a0..56ef8ee5 100644 --- a/wire/templates-admin/scripts/inputfields.min.js +++ b/wire/templates-admin/scripts/inputfields.min.js @@ -1 +1 @@ -var InputfieldDebugMode=false;function consoleLog(a){if(InputfieldDebugMode){console.log(a)}}var InputfieldDependenciesProcessing=false;function InputfieldDependencies(d){if(InputfieldDependenciesProcessing){return}if(typeof d=="undefined"){var d=$(".InputfieldForm:not(.InputfieldFormNoDependencies)")}else{if(d.hasClass("InputfieldForm")){if(d.hasClass("InputfieldFormNoDependencies")){return}}else{if(d.closest(".InputfieldFormNoDependencies").length>0){return}}}function h(l){l=jQuery.trim(l);var m=l.substring(0,1);var k=l.substring(l.length-1,l.length);if((m=='"'||m=="'")&&m==k){l=l.substring(1,l.length-1)}return l}function i(k){return g(h(k))}function b(m){var l="";var k=m.indexOf(".");if(k>0){l=m.substring(k+1);m=m.substring(0,k)}return{field:m,subfield:l}}function g(n,l){n=jQuery.trim(n);if(n.length>0&&!jQuery.isNumeric(n)){return n}if(n.length==0){var k=typeof l;if(k!="undefined"){if(k=="integer"){return 0}if(k=="float"){return 0}return n}else{return n}}var o=n.indexOf(".");var m=n.lastIndexOf(".");if(o==-1&&/^-?\d+$/.test(n)){return parseInt(n)}if(m>-1&&o!=m){return n}if(/^-?[\d.]+$/.test(n)){return parseFloat(n)}return n}function c(n,l,m,o){var k=0;switch(l){case"=":if(m==o){k++}break;case"!=":if(m!=o){k++}break;case">":if(m>o){k++}break;case"<":if(m=":if(m>=o){k++}break;case"<=":if(m<=o){k++}break;case"*=":case"%=":if(m.indexOf(o)>-1){k++}break}consoleLog("Field "+n+" - Current value: "+m);consoleLog("Field "+n+" - Matched? "+(k>0?"YES":"NO"));return k}function e(p,s,m){var w=null;var z;consoleLog("getCheckboxFieldAndValue(see-next-line, "+s+", "+m+")");consoleLog(p);if(m=="count"||m=="count-checkbox"){consoleLog("Using count checkbox condition");w=$("#wrap_Inputfield_"+s+" :input");if(w.length){z=$("#wrap_Inputfield_"+s+" :checked").length;p.subfield="count-checkbox";return{field:w,value:z,condition:p}}return null}consoleLog("Using checkbox value or label comparison option");z=[];for(var q=0;q0){consoleLog("Subfield: "+E.subfield)}consoleLog("Operator: "+E.operator);consoleLog("Required value: "+E.value)}var s=0;for(var q=0;q=G){break}}consoleLog("----");if(E.type=="show"){if(s>=G){}else{J=false}}else{if(E.type=="required"){if(s>0){w++}else{u++}}}}var t=w>0&&u==0;if(J){consoleLog('Determined that field "'+C+'" should be visible.');if(y.is(".InputfieldStateHidden")){y.removeClass("InputfieldStateHidden").fadeIn();$(document).trigger("showInputfield",y);o++;consoleLog("Field is now visible.")}else{consoleLog("Field is already visible.")}}else{consoleLog('Determined that field "'+C+'" should be hidden.');if(!y.is(".InputfieldStateHidden")){y.addClass("InputfieldStateHidden").hide();$(document).trigger("hideInputfield",y);consoleLog("Field is now hidden.");o++}else{consoleLog("Field is already hidden.")}if(t){consoleLog("Field is required but cancelling that since it is not visible.");t=false}}if(t&&w>0){consoleLog('Determined that field "'+C+'" should be required.');y.addClass("InputfieldStateRequired").find(":input:visible[type!=hidden]").addClass("required")}else{if(!t&&u>0){consoleLog('Determined that field "'+C+'" should not be required.');y.removeClass("InputfieldStateRequired").find(":input.required").removeClass("required")}}if(o>0){consoleLog(o+" visibility changes were made.");InputfieldColumnWidths();$(window).resize()}InputfieldDependenciesProcessing=false}function a(z,m,s){var A=s.attr("data-"+z+"-if");if(!A||A.length<1){return m}A=$("
").html(A).text();consoleLog("-------------------------------------------------------------------");consoleLog('Analyzing "'+z+'" selector: '+A);var v=A.match(/(^|,)([^,]+)/g);for(var w=0;w=|<|>|%=)([^,]+),?$/);if(!o){continue}var k=o[1];var q=o[2];var x=o[3];var r="";var t=[];var l=[];if(k.indexOf("|")>-1){consoleLog("OR field dependency: "+k);t=k.split("|")}else{t=[k]}var D=b(k);k=D.field;r=D.subfield;if(InputfieldDebugMode){consoleLog("Field: "+k);if(r.length){consoleLog("Subfield: "+r)}consoleLog("Operator: "+q);consoleLog("value: "+x)}if(x.indexOf("|")>-1){consoleLog("OR value dependency: "+x);l=x.split("|");for(var B=0;B> "+q+" ("+o+")");if(o==q){return}if(n.hasClass("InputfieldStateCollapsed")){return}var r=q-o;if(r<0){r=0}var s=n.children(".InputfieldContent, .ui-widget-content");if(r==0){}else{consoleLog("Adjusting "+n.attr("id")+" from "+o+" to "+q);var p=$("
");s.append(p);s.hide();p.height(r);s.show()}}function b(r){var v=r.nextUntil(".InputfieldColumnWidthFirst",".InputfieldColumnWidth:not(.InputfieldStateHidden)");var q=r.is(".InputfieldStateHidden")?0:i(r);var y=r.is(".InputfieldStateHidden")?null:r;var w=y==null?0:q;var x=v.length;if(r.is(".InputfieldStateHidden")){x--;var s=v.eq(0)}else{var s=r}if(m){s.find(".maxColHeightSpacer").remove();v.find(".maxColHeightSpacer").remove()}var o=100-(x*l);var n=m?e(s):0;v.removeClass("InputfieldColumnWidthFirstTmp");v.each(function(){y=$(this);w=i(y);q+=w;if(m){var z=e(y);if(z>n){n=z}}});if(m){if(InputfieldDebugMode){var t=s.find("label").text();consoleLog("maxColHeight: "+t+" = "+n)}if(n>0){h(s,n);v.each(function(){h($(this),n)})}}if(q0&&wo){consoleLog("Reduce width of row because rowWidth > maxRowWidth ("+q+" > "+o+")");if(!r.is(".InputfieldStateHidden")){v=r.add(v)}q=0;v.each(function(){y=$(this);w=k(y);if(w>0){f(y,w,false)}q+=w});var u=o-q;w+=u;var p=k(y);if(p>0&&w");var s=o.offset();var n;var p=10;var r=0;var m=0.8;$("body").append(q.hide());if(o.is("a")&&o.closest("ul").hasClass("uk-tab")){m=0.1}q.css({position:"absolute",top:s.top-(q.height()+5),left:s.left+(o.width()/2)+(q.width()*m)}).fadeIn();n=setInterval(function(){if(++r>p||!t.hasClass("InputfieldAjaxLoading")){clearInterval(n);q.fadeOut("normal",function(){q.remove()})}},500)}var k=l.children(".InputfieldContent").children(".renderInputfieldAjax");var f=false;if(!k.length){k=l.children(".renderInputfieldAjax");f=true}var i=k.children("input").attr("value");if(typeof i=="undefined"||i.length<1){return false}var h=null;if(f){var g=$("#_"+l.attr("id"));j(g,l)}else{var g=l.children(".InputfieldHeader");h=$("");h.css("margin-left","0.5em");g.append(h)}l.removeClass("collapsed10 collapsed11").addClass("InputfieldAjaxLoading");$.get(i,function(n){l.removeClass("InputfieldAjaxLoading InputfieldStateCollapsed");k.replaceWith($(n)).hide();k.slideDown();var m=l.find(".Inputfield");if(m.length){m.trigger("reloaded",["InputfieldAjaxLoad"]);InputfieldStates(l);InputfieldColumnWidths()}else{l.trigger("reloaded",["InputfieldAjaxLoad"])}if(l.closest(".InputfieldFormNoDependencies").length==0){InputfieldDependencies(l.parent())}setTimeout(function(){if(h){h.fadeOut("fast",function(){h.remove()})}if(f){g.effect("highlight",500)}else{g.click()}},500)},"html");return true}$(".Inputfield:not(.collapsed9) > .InputfieldHeader, .Inputfield:not(.collapsed9) > .ui-widget-header",a).addClass("InputfieldStateToggle");var b=$(".Inputfields .InputfieldStateCollapsed > .InputfieldHeader i.toggle-icon, .Inputfields .InputfieldStateCollapsed > .ui-widget-header i.toggle-icon",a);b.toggleClass(b.attr("data-to"));if(typeof ProcessWire!="undefined"){var d=ProcessWire.config}if(typeof d!=="undefined"&&d.debug){$("label.InputfieldHeader > i.toggle-icon",a).hover(function(){var f=$(this).parent("label");if(f.length==0){return}var h=f.attr("for").replace(/^Inputfield_/,"");if(h.length){var g=$(" "+h+" ");g.css("float","right");f.append(g)}},function(){var f=$(this).parent("label");if(f.length==0){return}f.find(".InputfieldNameTip").remove()})}if(e){return}$(document).on("wiretabclick",function(h,g,f){if(g.hasClass("collapsed10")){c(g)}});$(document).on("click",".InputfieldStateToggle, .toggle-icon",function(f,j){var i=$(this);var m=i.closest(".Inputfield");var g=i.hasClass("toggle-icon");var l=g?i:m.children(".InputfieldHeader, .ui-widget-header").find(".toggle-icon");var k=m.hasClass("InputfieldStateCollapsed");var p=m.hasClass("InputfieldStateWasCollapsed");var h=100;if(m.hasClass("InputfieldAjaxLoading")){return false}if(typeof j!="undefined"){if(typeof j.duration!="undefined"){h=j.duration}}if(k&&(m.hasClass("collapsed10")||m.hasClass("collapsed11"))){if(c(m)){return false}}if(k||p||g){m.addClass("InputfieldStateWasCollapsed");m.trigger(k?"openReady":"closeReady");m.toggleClass("InputfieldStateCollapsed",h,function(){if(k){m.trigger("opened");if(m.hasClass("InputfieldColumnWidth")){m.children(".InputfieldContent").show()}if(m.hasClass("InputfieldNoFocus")){return}var r=m.find(":input:visible");if(r.length==1&&!r.is("button")){var q=r.attr("type");if(r.is("textarea")||q=="text"||q=="email"||q=="url"||q=="number"){r.focus()}}}else{m.trigger("closed");if(m.hasClass("InputfieldColumnWidth")){m.children(".InputfieldContent").hide()}}});l.toggleClass(l.attr("data-to"));setTimeout("InputfieldColumnWidths()",500)}else{if(typeof jQuery.ui!="undefined"){var o=l.css("color");var n=m.children(".InputfieldHeader, .ui-widget-header").css("color");l.css("color",n);l.effect("pulsate",300,function(){l.css("color",o)})}if(!m.hasClass("InputfieldNoFocus")){m.find(":input:visible:eq(0)").focus()}}return false});$("#content .InputfieldFormFocusFirst:not(.InputfieldFormNoFocus)").find("input[type=text]:enabled:first:not(.hasDatepicker):not(.InputfieldNoFocus)").each(function(){var f=$(this);if(f.val()){return}if(f.offset().top<$(window).height()){window.setTimeout(function(){if(f.is(":visible")){f.focus()}},250)}});$(document).on("change",".InputfieldFormConfirm :input, .InputfieldFormConfirm .Inputfield",function(){var f=$(this);if(f.hasClass("Inputfield")){if(!f.hasClass("InputfieldIgnoreChanges")){f.addClass("InputfieldStateChanged")}return false}else{if(f.hasClass("InputfieldIgnoreChanges")||f.closest(".InputfieldIgnoreChanges").length){return false}f.closest(".Inputfield").addClass("InputfieldStateChanged")}});$(document).on("submit",".InputfieldFormConfirm",function(){$(this).addClass("InputfieldFormSubmitted")});window.addEventListener("beforeunload",InputfieldFormBeforeUnloadEvent)}function InputfieldIntentions(){$(".InputfieldForm").each(function(){var a=$(this);var b=null;var c=null;a.submit(function(){if(!$(this).hasClass("nosubmit")){return}if(!c){return}var e=null;var d=c.closest(".Inputfields");do{e=d.find("input[type=submit]:visible, button[type=submit]:visible");if(e.length>0){break}d=d.parent().closest(".Inputfields")}while(d.length>0);if(e.length>0){var f=e.eq(0);$("html, body").animate({scrollTop:f.offset().top},"fast");f.focus()}return false}).on("focus","input, select",function(){if(b===null){b=a.find("input[type=submit], button[type=submit]").length}if(b<2){return}a.addClass("nosubmit");c=$(this)}).on("blur","input, select",function(){a.removeClass("nosubmit")})});if($("input[type=file]").length){$(document).on({dragover:function(){if($(this).is("input[type=file]")){return}return false},drop:function(){if($(this).is("input[type=file]")){return}return false}})}}var InputfieldWindowResizeQueued=false;function InputfieldWindowResizeActions1(){consoleLog("InputfieldWindowResizeActions1()");$(".Inputfield").trigger("resized")}function InputfieldWindowResizeActions2(){consoleLog("InputfieldWindowResizeActions2()");InputfieldColumnWidths();InputfieldWindowResizeQueued=false}function InputfieldsInit(a){InputfieldStates(a);InputfieldDependencies(a);setTimeout(function(){InputfieldColumnWidths()},100)}jQuery(document).ready(function(b){InputfieldStates();InputfieldDependencies(b(".InputfieldForm:not(.InputfieldFormNoDependencies)"));InputfieldIntentions();setTimeout(function(){InputfieldColumnWidths()},100);var c=function(){if(InputfieldWindowResizeQueued){return}InputfieldWindowResizeQueued=true;setTimeout("InputfieldWindowResizeActions1()",1000);setTimeout("InputfieldWindowResizeActions2()",2000)};var a=function(){if(InputfieldWindowResizeQueued){return}InputfieldWindowResizeQueued=true;setTimeout("InputfieldWindowResizeActions1()",250);setTimeout("InputfieldWindowResizeActions2()",500);return true};b(window).resize(c);b("ul.WireTabs > li > a").click(a);b(document).on("reload",".Inputfield",function(h,g){var j=b(this);var e=j.closest("form");var i=j.attr("id").replace("wrap_Inputfield_","");var f=e.attr("action");if(i.indexOf("_repeater")>0){var d=j.closest(".InputfieldRepeaterItem").attr("data-page");f=f.replace(/\?id=\d+/,"?id="+d);i=i.replace(/_repeater\d+$/,"")}f+=f.indexOf("?")>-1?"&":"?";f+="field="+i+"&reloadInputfieldAjax="+i;if(typeof g!="undefined"){if(typeof g.queryString!="undefined"){f+="&"+g.queryString}}consoleLog("Inputfield reload: "+i);b.get(f,function(l){var m=j.attr("id");var k=b(l).find("#"+m).children(".InputfieldContent");if(!k.length&&m.indexOf("_repeater")>-1){m="wrap_Inputfield_"+i;k=b(l).find("#"+m).children(".InputfieldContent");if(!k.length){console.log("Unable to find #"+j.attr("id")+" in response from "+f)}}j.children(".InputfieldContent").html(k.html());j.trigger("reloaded",["reload"])});h.stopPropagation()})}); \ No newline at end of file +var InputfieldDebugMode=false;function consoleLog(a){if(InputfieldDebugMode){console.log(a)}}var InputfieldDependenciesProcessing=false;function InputfieldDependencies(d){if(InputfieldDependenciesProcessing){return}if(typeof d=="undefined"){var d=$(".InputfieldForm:not(.InputfieldFormNoDependencies)")}else{if(d.hasClass("InputfieldForm")){if(d.hasClass("InputfieldFormNoDependencies")){return}}else{if(d.closest(".InputfieldFormNoDependencies").length>0){return}}}function h(l){l=jQuery.trim(l);var m=l.substring(0,1);var k=l.substring(l.length-1,l.length);if((m=='"'||m=="'")&&m==k){l=l.substring(1,l.length-1)}return l}function i(k){return g(h(k))}function b(m){var l="";var k=m.indexOf(".");if(k>0){l=m.substring(k+1);m=m.substring(0,k)}return{field:m,subfield:l}}function g(n,l){n=jQuery.trim(n);if(n.length>0&&!jQuery.isNumeric(n)){return n}if(n.length==0){var k=typeof l;if(k!="undefined"){if(k=="integer"){return 0}if(k=="float"){return 0}return n}else{return n}}var o=n.indexOf(".");var m=n.lastIndexOf(".");if(o==-1&&/^-?\d+$/.test(n)){return parseInt(n)}if(m>-1&&o!=m){return n}if(/^-?[\d.]+$/.test(n)){return parseFloat(n)}return n}function c(n,l,m,o){var k=0;switch(l){case"=":if(m==o){k++}break;case"!=":if(m!=o){k++}break;case">":if(m>o){k++}break;case"<":if(m=":if(m>=o){k++}break;case"<=":if(m<=o){k++}break;case"*=":case"%=":if(m.indexOf(o)>-1){k++}break}consoleLog("Field "+n+" - Current value: "+m);consoleLog("Field "+n+" - Matched? "+(k>0?"YES":"NO"));return k}function e(p,s,m){var w=null;var z;consoleLog("getCheckboxFieldAndValue(see-next-line, "+s+", "+m+")");consoleLog(p);if(m=="count"||m=="count-checkbox"){consoleLog("Using count checkbox condition");w=$("#wrap_Inputfield_"+s+" :input");if(w.length){z=$("#wrap_Inputfield_"+s+" :checked").length;p.subfield="count-checkbox";return{field:w,value:z,condition:p}}return null}consoleLog("Using checkbox value or label comparison option");z=[];for(var q=0;q0){consoleLog("Subfield: "+E.subfield)}consoleLog("Operator: "+E.operator);consoleLog("Required value: "+E.value)}var s=0;for(var q=0;q=G){break}}consoleLog("----");if(E.type=="show"){if(s>=G){}else{J=false}}else{if(E.type=="required"){if(s>0){w++}else{u++}}}}var t=w>0&&u==0;if(J){consoleLog('Determined that field "'+C+'" should be visible.');if(y.is(".InputfieldStateHidden")){y.removeClass("InputfieldStateHidden").fadeIn();$(document).trigger("showInputfield",y);o++;consoleLog("Field is now visible.")}else{consoleLog("Field is already visible.")}}else{consoleLog('Determined that field "'+C+'" should be hidden.');if(!y.is(".InputfieldStateHidden")){y.addClass("InputfieldStateHidden").hide();$(document).trigger("hideInputfield",y);consoleLog("Field is now hidden.");o++}else{consoleLog("Field is already hidden.")}if(t){consoleLog("Field is required but cancelling that since it is not visible.");t=false}}if(t&&w>0){consoleLog('Determined that field "'+C+'" should be required.');y.addClass("InputfieldStateRequired").find(":input:visible[type!=hidden]").addClass("required")}else{if(!t&&u>0){consoleLog('Determined that field "'+C+'" should not be required.');y.removeClass("InputfieldStateRequired").find(":input.required").removeClass("required")}}if(o>0){consoleLog(o+" visibility changes were made.");InputfieldColumnWidths();$(window).resize()}InputfieldDependenciesProcessing=false}function a(z,m,s){var A=s.attr("data-"+z+"-if");if(!A||A.length<1){return m}A=$("
").html(A).text();consoleLog("-------------------------------------------------------------------");consoleLog('Analyzing "'+z+'" selector: '+A);var v=A.match(/(^|,)([^,]+)/g);for(var w=0;w=|<|>|%=)([^,]+),?$/);if(!o){continue}var k=o[1];var q=o[2];var x=o[3];var r="";var t=[];var l=[];if(k.indexOf("|")>-1){consoleLog("OR field dependency: "+k);t=k.split("|")}else{t=[k]}var D=b(k);k=D.field;r=D.subfield;if(InputfieldDebugMode){consoleLog("Field: "+k);if(r.length){consoleLog("Subfield: "+r)}consoleLog("Operator: "+q);consoleLog("value: "+x)}if(x.indexOf("|")>-1){consoleLog("OR value dependency: "+x);l=x.split("|");for(var B=0;B> "+q+" ("+o+")");if(o==q){return}if(n.hasClass("InputfieldStateCollapsed")){return}var r=q-o;if(r<0){r=0}var s=n.children(".InputfieldContent, .ui-widget-content");if(r==0){}else{consoleLog("Adjusting "+n.attr("id")+" from "+o+" to "+q);var p=$("
");s.append(p);s.hide();p.height(r);s.show()}}function b(r){var v=r.nextUntil(".InputfieldColumnWidthFirst",".InputfieldColumnWidth:not(.InputfieldStateHidden)");var q=r.is(".InputfieldStateHidden")?0:i(r);var y=r.is(".InputfieldStateHidden")?null:r;var w=y==null?0:q;var x=v.length;if(r.is(".InputfieldStateHidden")){x--;var s=v.eq(0)}else{var s=r}if(m){s.find(".maxColHeightSpacer").remove();v.find(".maxColHeightSpacer").remove()}var o=100-(x*l);var n=m?e(s):0;v.removeClass("InputfieldColumnWidthFirstTmp");v.each(function(){y=$(this);w=i(y);q+=w;if(m){var z=e(y);if(z>n){n=z}}});if(m){if(InputfieldDebugMode){var t=s.find("label").text();consoleLog("maxColHeight: "+t+" = "+n)}if(n>0){h(s,n);v.each(function(){h($(this),n)})}}if(q0&&wo){consoleLog("Reduce width of row because rowWidth > maxRowWidth ("+q+" > "+o+")");if(!r.is(".InputfieldStateHidden")){v=r.add(v)}q=0;v.each(function(){y=$(this);w=k(y);if(w>0){f(y,w,false)}q+=w});var u=o-q;w+=u;var p=k(y);if(p>0&&w");var t=p.offset();var o;var q=10;var s=0;var n=0.8;f("body").append(r.hide());if(p.is("a")&&p.closest("ul").hasClass("uk-tab")){n=0.1}r.css({position:"absolute",top:t.top-(r.height()+5),left:t.left+(p.width()/2)+(r.width()*n)}).fadeIn();o=setInterval(function(){if(++s>q||!u.hasClass("InputfieldAjaxLoading")){clearInterval(o);r.fadeOut("normal",function(){r.remove()})}},500)}var l=m.children(".InputfieldContent").children(".renderInputfieldAjax");var g=false;if(!l.length){l=m.children(".renderInputfieldAjax");g=true}var j=l.children("input").attr("value");if(typeof j=="undefined"||j.length<1){return false}var i=null;if(g){var h=f("#_"+m.attr("id"));k(h,m)}else{var h=m.children(".InputfieldHeader");i=f("");i.css("margin-left","0.5em");h.append(i)}m.removeClass("collapsed10 collapsed11").addClass("InputfieldAjaxLoading");f.get(j,function(o){m.removeClass("InputfieldAjaxLoading InputfieldStateCollapsed");l.replaceWith(f(o)).hide();l.slideDown();var n=m.find(".Inputfield");if(n.length){n.trigger("reloaded",["InputfieldAjaxLoad"]);InputfieldStates(m);InputfieldColumnWidths()}else{m.trigger("reloaded",["InputfieldAjaxLoad"])}if(m.closest(".InputfieldFormNoDependencies").length==0){InputfieldDependencies(m.parent())}setTimeout(function(){if(i){i.fadeOut("fast",function(){i.remove()})}if(g){h.effect("highlight",500)}else{h.click()}},500)},"html");return true}f(".Inputfield:not(.collapsed9) > .InputfieldHeader, .Inputfield:not(.collapsed9) > .ui-widget-header",a).addClass("InputfieldStateToggle");var b=f(".Inputfields .InputfieldStateCollapsed > .InputfieldHeader i.toggle-icon, .Inputfields .InputfieldStateCollapsed > .ui-widget-header i.toggle-icon",a);b.toggleClass(b.attr("data-to"));if(typeof ProcessWire!="undefined"){var d=ProcessWire.config}if(typeof d!=="undefined"&&d.debug){f("label.InputfieldHeader > i.toggle-icon",a).hover(function(){var g=f(this).parent("label");if(g.length==0){return}var i=g.attr("for").replace(/^Inputfield_/,"");if(i.length){var h=f(" "+i+" ");h.css("float","right");g.append(h)}},function(){var g=f(this).parent("label");if(g.length==0){return}g.find(".InputfieldNameTip").remove()})}if(e){return}f(document).on("wiretabclick",function(i,h,g){if(h.hasClass("collapsed10")){c(h)}});f(document).on("click",".InputfieldStateToggle, .toggle-icon",function(g,k){var j=f(this);var n=j.closest(".Inputfield");var h=j.hasClass("toggle-icon");var m=h?j:n.children(".InputfieldHeader, .ui-widget-header").find(".toggle-icon");var l=n.hasClass("InputfieldStateCollapsed");var q=n.hasClass("InputfieldStateWasCollapsed");var i=100;if(n.hasClass("InputfieldAjaxLoading")){return false}if(typeof k!="undefined"){if(typeof k.duration!="undefined"){i=k.duration}}if(l&&(n.hasClass("collapsed10")||n.hasClass("collapsed11"))){if(c(n)){return false}}if(l||q||h){n.addClass("InputfieldStateWasCollapsed");n.trigger(l?"openReady":"closeReady");n.toggleClass("InputfieldStateCollapsed",i,function(){if(l){n.trigger("opened");if(n.hasClass("InputfieldColumnWidth")){n.children(".InputfieldContent").show()}if(n.hasClass("InputfieldNoFocus")){return}var s=n.find(":input:visible");if(s.length==1&&!s.is("button")){var r=s.attr("type");if(s.is("textarea")||r=="text"||r=="email"||r=="url"||r=="number"){s.focus()}}}else{n.trigger("closed");if(n.hasClass("InputfieldColumnWidth")){n.children(".InputfieldContent").hide()}}});m.toggleClass(m.attr("data-to"));setTimeout("InputfieldColumnWidths()",500)}else{if(typeof jQuery.ui!="undefined"){var p=m.css("color");var o=n.children(".InputfieldHeader, .ui-widget-header").css("color");m.css("color",o);m.effect("pulsate",300,function(){m.css("color",p)})}if(!n.hasClass("InputfieldNoFocus")){n.find(":input:visible:eq(0)").focus()}}return false});f("#content .InputfieldFormFocusFirst:not(.InputfieldFormNoFocus)").find("input[type=text]:enabled:first:not(.hasDatepicker):not(.InputfieldNoFocus)").each(function(){var g=f(this);if(g.val()){return}if(g.offset().top0){break}d=d.parent().closest(".Inputfields")}while(d.length>0);if(e.length>0){var f=e.eq(0);$("html, body").animate({scrollTop:f.offset().top},"fast");f.focus()}return false}).on("focus","input, select",function(){if(b===null){b=a.find("input[type=submit], button[type=submit]").length}if(b<2){return}a.addClass("nosubmit");c=$(this)}).on("blur","input, select",function(){a.removeClass("nosubmit")})});if($("input[type=file]").length){$(document).on({dragover:function(){if($(this).is("input[type=file]")){return}return false},drop:function(){if($(this).is("input[type=file]")){return}return false}})}}var InputfieldWindowResizeQueued=false;function InputfieldWindowResizeActions1(){consoleLog("InputfieldWindowResizeActions1()");$(".Inputfield").trigger("resized")}function InputfieldWindowResizeActions2(){consoleLog("InputfieldWindowResizeActions2()");InputfieldColumnWidths();InputfieldWindowResizeQueued=false}function InputfieldsInit(a){InputfieldStates(a);InputfieldDependencies(a);setTimeout(function(){InputfieldColumnWidths()},100)}jQuery(document).ready(function(b){InputfieldStates();InputfieldDependencies(b(".InputfieldForm:not(.InputfieldFormNoDependencies)"));InputfieldIntentions();setTimeout(function(){InputfieldColumnWidths()},100);var c=function(){if(InputfieldWindowResizeQueued){return}InputfieldWindowResizeQueued=true;setTimeout("InputfieldWindowResizeActions1()",1000);setTimeout("InputfieldWindowResizeActions2()",2000)};var a=function(){if(InputfieldWindowResizeQueued){return}InputfieldWindowResizeQueued=true;setTimeout("InputfieldWindowResizeActions1()",250);setTimeout("InputfieldWindowResizeActions2()",500);return true};b(window).resize(c);b("ul.WireTabs > li > a").click(a);b(document).on("reload",".Inputfield",function(h,g){var j=b(this);var e=j.closest("form");var i=j.attr("id").replace("wrap_Inputfield_","");var f=e.attr("action");if(i.indexOf("_repeater")>0){var d=j.closest(".InputfieldRepeaterItem").attr("data-page");f=f.replace(/\?id=\d+/,"?id="+d);i=i.replace(/_repeater\d+$/,"")}f+=f.indexOf("?")>-1?"&":"?";f+="field="+i+"&reloadInputfieldAjax="+i;if(typeof g!="undefined"){if(typeof g.queryString!="undefined"){f+="&"+g.queryString}}consoleLog("Inputfield reload: "+i);b.get(f,function(l){var m=j.attr("id");var k=b(l).find("#"+m).children(".InputfieldContent");if(!k.length&&m.indexOf("_repeater")>-1){m="wrap_Inputfield_"+i;k=b(l).find("#"+m).children(".InputfieldContent");if(!k.length){console.log("Unable to find #"+j.attr("id")+" in response from "+f)}}j.children(".InputfieldContent").html(k.html());j.trigger("reloaded",["reload"])});h.stopPropagation()})}); \ No newline at end of file