diff --git a/README.md b/README.md index 1e568ba..3b93675 100644 --- a/README.md +++ b/README.md @@ -548,6 +548,27 @@ Manage WordPress Options from the Settings > Options page. Options value (string ## 📋 Changelog +### 0.9.0.2 + +**ACF Extended Pro 0.9.0.2:** + +* Module: Global Field Location - Fixed Field Group Location escaping issues +* Field Groups: Advanced Locations - Fixed Field Group Location escaping issues +* Field: Payment - Fixed `{field:payment}` Template Tag output +* Field: Flexible Content - Grid - Added translatable strings +* Global: Country/Currency/Language - Added PHP filters to allow customization + +**ACF Extended Basic 0.9.0.2:** + +* Module: Form - Enhanced load/validate/submit/render hooks strategy +* Module: Form - Fixed instruction placement undefined key warning +* Module: Form - "Current Post" Target/Source now correctly use the WP Query loop `post_id` +* Module: Form - Enhanced multiple forms on single page support +* Module: Form - Added missing `wpautop()` on email content when using "Content Editor" +* Module: Form - Fixed Taxonomy "Load Terms" & Image "Featured Thumbnail" compatibility +* Fields Condition - Enhanced `acf.newCondition` closer to native ACF logic +* Global: Updated French translation + ### 0.9.0.1 * Module: Forms - Fixed upgrade issues when using distant Auto Update diff --git a/acf-extended.php b/acf-extended.php index 456012a..4db7ee0 100644 --- a/acf-extended.php +++ b/acf-extended.php @@ -2,7 +2,7 @@ /** * Plugin Name: Advanced Custom Fields: Extended * Description: All-in-one enhancement suite that improves WordPress & Advanced Custom Fields. - * Version: 0.9.0.1 + * Version: 0.9.0.2 * Author: ACF Extended * Plugin URI: https://www.acf-extended.com * Author URI: https://www.acf-extended.com @@ -19,7 +19,7 @@ class ACFE{ // vars - var $version = '0.9.0.1'; + var $version = '0.9.0.2'; /** * construct @@ -190,9 +190,9 @@ function load(){ acfe_include('includes/modules/form/module-form-compatibility.php'); acfe_include('includes/modules/form/module-form-deprecated.php'); acfe_include('includes/modules/form/module-form-fields.php'); + acfe_include('includes/modules/form/module-form-format.php'); acfe_include('includes/modules/form/module-form-front.php'); acfe_include('includes/modules/form/module-form-front-render.php'); - acfe_include('includes/modules/form/module-form-hooks.php'); acfe_include('includes/modules/form/module-form-shortcode.php'); acfe_include('includes/modules/form/module-form-upgrades.php'); diff --git a/assets/js/acfe-input.js b/assets/js/acfe-input.js index 2713a1d..95968cd 100644 --- a/assets/js/acfe-input.js +++ b/assets/js/acfe-input.js @@ -4488,9 +4488,22 @@ // - this field is used to setup the conditional logic events var field = target.getField(rule.field); - // ACF Extended: Check in all form if targeted field not found + // acfe + // found target, but not the field to check value against if (target && !field) { - field = acf.getField(rule.field); + + // find the field in the whole page + // we must add this step because acf.getField('do_not_exists') will still instantiate the field + var findField = acf.findField(rule.field); + + // find field + if (findField.length) { + + //instatiate field once found + field = acf.getField(rule.field); + + } + } // bail ealry if no target or no field (possible if field doesn't exist due to HTML error) diff --git a/assets/js/acfe-input.min.js b/assets/js/acfe-input.min.js index a137b38..bed4da6 100644 --- a/assets/js/acfe-input.min.js +++ b/assets/js/acfe-input.min.js @@ -1 +1 @@ -jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(acf.registerConditionForFieldType("contains","checkbox"),acf.registerConditionForFieldType("contains","radio"),acf.registerConditionForFieldType("equalTo","acfe_code_editor"),acf.registerConditionForFieldType("notEqualTo","acfe_code_editor"),acf.registerConditionForFieldType("patternMatch","acfe_code_editor"),acf.registerConditionForFieldType("contains","acfe_code_editor"),acf.registerConditionForFieldType("hasValue","acfe_code_editor"),acf.registerConditionForFieldType("hasNoValue","acfe_code_editor"),acf.registerConditionForFieldType("equalTo","date_picker"),acf.registerConditionForFieldType("notEqualTo","date_picker"),acf.registerConditionForFieldType("patternMatch","date_picker"),acf.registerConditionForFieldType("contains","date_picker"),acf.registerConditionForFieldType("greaterThan","date_picker"),acf.registerConditionForFieldType("lessThan","date_picker"),acf.registerConditionForFieldType("equalTo","date_time_picker"),acf.registerConditionForFieldType("notEqualTo","date_time_picker"),acf.registerConditionForFieldType("patternMatch","date_time_picker"),acf.registerConditionForFieldType("contains","date_time_picker"),acf.registerConditionForFieldType("equalTo","acfe_forms"),acf.registerConditionForFieldType("notEqualTo","acfe_forms"),acf.registerConditionForFieldType("patternMatch","acfe_forms"),acf.registerConditionForFieldType("contains","acfe_forms"),acf.registerConditionForFieldType("hasValue","acfe_forms"),acf.registerConditionForFieldType("hasNoValue","acfe_forms"),acf.registerConditionForFieldType("equalTo","acfe_hidden"),acf.registerConditionForFieldType("notEqualTo","acfe_hidden"),acf.registerConditionForFieldType("patternMatch","acfe_hidden"),acf.registerConditionForFieldType("contains","acfe_hidden"),acf.registerConditionForFieldType("hasValue","acfe_hidden"),acf.registerConditionForFieldType("hasNoValue","acfe_hidden"),acf.registerConditionForFieldType("equalTo","acfe_post_statuses"),acf.registerConditionForFieldType("notEqualTo","acfe_post_statuses"),acf.registerConditionForFieldType("patternMatch","acfe_post_statuses"),acf.registerConditionForFieldType("contains","acfe_post_statuses"),acf.registerConditionForFieldType("hasValue","acfe_post_statuses"),acf.registerConditionForFieldType("hasNoValue","acfe_post_statuses"),acf.registerConditionForFieldType("equalTo","acfe_post_types"),acf.registerConditionForFieldType("notEqualTo","acfe_post_types"),acf.registerConditionForFieldType("patternMatch","acfe_post_types"),acf.registerConditionForFieldType("contains","acfe_post_types"),acf.registerConditionForFieldType("hasValue","acfe_post_types"),acf.registerConditionForFieldType("hasNoValue","acfe_post_types"),acf.registerConditionForFieldType("equalTo","acfe_slug"),acf.registerConditionForFieldType("notEqualTo","acfe_slug"),acf.registerConditionForFieldType("patternMatch","acfe_slug"),acf.registerConditionForFieldType("contains","acfe_slug"),acf.registerConditionForFieldType("hasValue","acfe_slug"),acf.registerConditionForFieldType("hasNoValue","acfe_slug"),acf.registerConditionForFieldType("equalTo","acfe_taxonomies"),acf.registerConditionForFieldType("notEqualTo","acfe_taxonomies"),acf.registerConditionForFieldType("patternMatch","acfe_taxonomies"),acf.registerConditionForFieldType("contains","acfe_taxonomies"),acf.registerConditionForFieldType("hasValue","acfe_taxonomies"),acf.registerConditionForFieldType("hasNoValue","acfe_taxonomies"),acf.registerConditionForFieldType("equalTo","taxonomy"),acf.registerConditionForFieldType("notEqualTo","taxonomy"),acf.registerConditionForFieldType("patternMatch","taxonomy"),acf.registerConditionForFieldType("contains","taxonomy"),acf.registerConditionForFieldType("hasValue","taxonomy"),acf.registerConditionForFieldType("hasNoValue","taxonomy"),acf.registerConditionForFieldType("equalTo","acfe_taxonomy_terms"),acf.registerConditionForFieldType("notEqualTo","acfe_taxonomy_terms"),acf.registerConditionForFieldType("patternMatch","acfe_taxonomy_terms"),acf.registerConditionForFieldType("contains","acfe_taxonomy_terms"),acf.registerConditionForFieldType("hasValue","acfe_taxonomy_terms"),acf.registerConditionForFieldType("hasNoValue","acfe_taxonomy_terms"),acf.registerConditionForFieldType("equalTo","time_picker"),acf.registerConditionForFieldType("notEqualTo","time_picker"),acf.registerConditionForFieldType("patternMatch","time_picker"),acf.registerConditionForFieldType("contains","time_picker"),acf.registerConditionForFieldType("equalTo","acfe_user_roles"),acf.registerConditionForFieldType("notEqualTo","acfe_user_roles"),acf.registerConditionForFieldType("patternMatch","acfe_user_roles"),acf.registerConditionForFieldType("contains","acfe_user_roles"),acf.registerConditionForFieldType("hasValue","acfe_user_roles"),acf.registerConditionForFieldType("hasNoValue","acfe_user_roles")),function(c){var i;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(i=[],acfe.registerEventForFieldType=function(e,t,a){i.push({fieldType:e,events:t="string"==typeof t?[t]:t,callback:a||!1})},acfe.getEvents=function(t){t=acf.parseArgs(t,{fieldType:""});var a=[];return i.map(function(e){t.fieldType&&-1===e.fieldType.indexOf(t.fieldType)||a.push(e)}),a},new acf.Model({actions:{new_field:"newField"},priority:20,data:{},parseEvent:function(e){return e.match(/^(\S+)\s*(.*)$/)},newField:function(o){this.set(o.cid,o.val()),acfe.getEvents({fieldType:o.get("type")}).map(function(n){n.events.map(function(e){e=this.parseEvent(e);o.on(e[1],e[2],this.proxy(function(e){var t=o.val(),a=this.get(o.cid),i=c(e.currentTarget);(n.callback||this.proxy(function(e,t,a,i,n){var o=e,c=t;"object"==typeof o&&(o=JSON.stringify(o)),(c="object"==typeof c?JSON.stringify(c):c)!==o&&(this.set(a.cid,e),acf.doAction("acfe/change_field",e,t,a,i,n),acf.doAction("acfe/change_field/type="+a.get("type"),e,t,a,i,n),acf.doAction("acfe/change_field/name="+a.get("name"),e,t,a,i,n),acf.doAction("acfe/change_field/key="+a.get("key"),e,t,a,i,n))}))(t,a,o,e,i)}))},this)},this)}}),acfe.registerEventForFieldType("button_group","change"),acfe.registerEventForFieldType("checkbox","change"),acfe.registerEventForFieldType("color_picker","change"),acfe.registerEventForFieldType("date_picker","change"),acfe.registerEventForFieldType("date_time_picker","change"),acfe.registerEventForFieldType("email",["input","change"]),acfe.registerEventForFieldType("file","change"),acfe.registerEventForFieldType("flexible_content","change"),acfe.registerEventForFieldType("gallery","change"),acfe.registerEventForFieldType("google_map","change"),acfe.registerEventForFieldType("image","change"),acfe.registerEventForFieldType("link","change"),acfe.registerEventForFieldType("number",["input","change"]),acfe.registerEventForFieldType("oembed","change"),acfe.registerEventForFieldType("page_link","change"),acfe.registerEventForFieldType("post_object","change"),acfe.registerEventForFieldType("relationship","change"),acfe.registerEventForFieldType("password",["input","change"]),acfe.registerEventForFieldType("radio","change"),acfe.registerEventForFieldType("range",["input","change"]),acfe.registerEventForFieldType("repeater","change"),acfe.registerEventForFieldType("select","change"),acfe.registerEventForFieldType("taxonomy","change"),acfe.registerEventForFieldType("text",["input","change"]),acfe.registerEventForFieldType("textarea",["input","change"]),acfe.registerEventForFieldType("time_picker","change"),acfe.registerEventForFieldType("true_false","change"),acfe.registerEventForFieldType("url",["input","change"]),acfe.registerEventForFieldType("user","change"),acfe.registerEventForFieldType("wysiwyg","change"),acfe.registerEventForFieldType("acfe_advanced_link","change"),acfe.registerEventForFieldType("acfe_block_types","change"),acfe.registerEventForFieldType("acfe_countries","change"),acfe.registerEventForFieldType("acfe_currencies","change"),acfe.registerEventForFieldType("acfe_code_editor","change"),acfe.registerEventForFieldType("acfe_date_range_picker","change"),acfe.registerEventForFieldType("acfe_field_groups","change"),acfe.registerEventForFieldType("acfe_field_types","change"),acfe.registerEventForFieldType("acfe_fields","change"),acfe.registerEventForFieldType("acfe_forms","change"),acfe.registerEventForFieldType("acfe_hidden","change"),acfe.registerEventForFieldType("acfe_image_selector","change"),acfe.registerEventForFieldType("acfe_image_sizes","change"),acfe.registerEventForFieldType("acfe_languages","change"),acfe.registerEventForFieldType("acfe_menu_locations","change"),acfe.registerEventForFieldType("acfe_options_pages","change"),acfe.registerEventForFieldType("acfe_payment","change"),acfe.registerEventForFieldType("acfe_payment_cart","change"),acfe.registerEventForFieldType("acfe_payment_selector","change"),acfe.registerEventForFieldType("acfe_phone_number","change"),acfe.registerEventForFieldType("acfe_post_formats","change"),acfe.registerEventForFieldType("acfe_post_statuses","change"),acfe.registerEventForFieldType("acfe_post_types","change"),acfe.registerEventForFieldType("acfe_recaptcha","change"),acfe.registerEventForFieldType("acfe_taxonomies","change"),acfe.registerEventForFieldType("acfe_taxonomy_terms","change"),acfe.registerEventForFieldType("acfe_templates","change"),acfe.registerEventForFieldType("acfe_user_roles","change"),acfe.registerEventForFieldType("acfe_slug",["input","change"]))}(jQuery),function(l){var i,r,f,n,o,c;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(i=[],acfe.FieldExtender=function(e){var t=acfe.extractVar(e,"id",acf.uniqueId("extender"));return e.type=acfe.getArray(e.type),e.dependencies=acfe.getArray(e.dependencies),e.extender=t,i.push(e),t},r=acf.Field.prototype.setup,acf.Field.prototype.setup=function(e){r.apply(this,arguments);var t=f(this);if(t.length){var a,i=Object.getPrototypeOf(this);this.extenders=[];for(a of t){this.extenders.push(a.extender);var n=l.extend(!0,{},a),o=acfe.extractVar(n,"events");acfe.extractVars(n,"type","condition","dependencies"),n.hasOwnProperty("setup")&&n.setup.apply(this,arguments);function c(){}c.prototype=Object.create(i),l.extend(c.prototype,n),o&&(c.prototype.events=l.extend(!0,{},c.prototype.events,o)),c.prototype.__parent__=i,i=c.prototype}this.getParent=function(e){for(var t=Object.getPrototypeOf(this);t;){if(t.extender===e)return t.__parent__;if(!t.__parent__)return t;t=t.__parent__}return t},Object.setPrototypeOf(this,i)}},f=function(e){var t,a=[];for(t of o(e))a.push(n(t));return a},n=function(e){for(var t of i)if(t.extender===e)return t;return!1},o=function(e){var t,a={};for(t of i)acfe.inArray(e.get("type"),t.type)&&(t.hasOwnProperty("condition")&&!t.condition.apply(e,arguments)||(a[t.extender]=t.dependencies));return c(a)},c=function(e,i=e,t=[],a=0){const n=(e="object"==typeof e&&!Array.isArray(e)?Object.keys(e):e).reduce(function(e,t,a){return i[t].every(Array.prototype.includes,e)&&e.push(t),e},t);t=e.filter(function(e){return!n.includes(e)});return t.length&&a<=e.length?c(t,i,n,a+1):n})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{new_field:"newField"},priority:1,validateField:function(e){return!!e.has("ftype")&&!acf.getFieldType(e.get("type")).prototype.get("ftype")},newField:function(e){this.validateField(e)&&(e.set("rtype",e.get("type"),!0),e.set("type",e.get("ftype"),!0),e.$el.attr("data-type",e.get("ftype")),e.$el.removeAttr("data-ftype"),delete e.data.ftype)}}),function(i){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({field:!1,placement:!1,actions:{new_field:"newField"},newField:function(e){(this.field=e).has("instructionTooltip")&&this.setTooltip(),e.has("instructionAboveField")&&this.setAboveField(),e.has("instructionPlacement")&&this.overridePlacement(e.get("instructionPlacement"))},setTooltip:function(){var e=acfe.versionCompare(acf.get("wp_version"),">=","5.5")?"dashicons-info-outline":"dashicons-info";this.field.$labelWrap().prepend(''),this.field.$labelWrap().find(".description").remove()},setAboveField:function(){this.field.$inputWrap().prepend('

'+this.field.get("instructionAboveField")+"

"),this.field.$labelWrap().find(".description").remove()},overridePlacement:function(e){var t=this.getPlacement();t&&t!==e&&this.setPlacement(e)},getPlacement:function(){var e=!1;return this.field.$labelWrap().find(">.description").length?e="label":this.field.$inputWrap().find(">.description:first-child").length?e="above_field":this.field.$inputWrap().find(">.description:last-child").length?e="field":this.field.$labelWrap().find(">.acfe-field-tooltip").length&&(e="tooltip"),this.placement=e,this.placement},$getInstruction:function(){var e=this.getPlacement();return"label"===e?this.field.$labelWrap().find(">.description"):"above_field"===e?this.field.$inputWrap().find(">.description:first-child"):"field"===e?this.field.$inputWrap().find(">.description:last-child"):"tooltip"===e&&this.field.$labelWrap().find(">.acfe-field-tooltip")},setPlacement:function(e){var t,a=this.$getInstruction();"tooltip"===this.placement&&(t=a.attr("title"),a.remove(),a=i('

'+t+"

")),"label"===e?this.field.$labelWrap().append(a):"above_field"===e?this.field.$inputWrap().prepend(a):"field"===e?this.field.$inputWrap().append(a):"tooltip"===e&&(e=acfe.versionCompare(acf.get("wp_version"),">=","5.5")?"dashicons-info-outline":"dashicons-info",this.field.$labelWrap().prepend(i('')),a.remove())}})}(jQuery),function(n){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{new_field:"newField"},getFieldType:function(e){return e.get("rtype",e.get("type"))},validateField:function(e){return!!e.has("acfeLabels")&&("checkbox"===this.getFieldType(e)||"radio"===this.getFieldType(e))},newField:function(e){if(this.validateField(e)){var t,a,i=e.get("acfeLabels");switch(this.getFieldType(e)){case"checkbox":for(t in i)a=i[t],e.$control().find('input[type=checkbox][value="'+a+'"]').closest("ul").before(""+t+"");break;case"radio":for(t in i)a=i[t],e.$control().find('input[type=radio][value="'+a+'"]').closest("li").addClass("parent").prepend(""+t+"");e.$control().hasClass("acf-hl")&&e.$control().find("li.parent").each(function(){n(this).nextUntil("li.parent").addBack().wrapAll("
  • ")})}}}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(acf.Field.prototype.getModal=function(e){var t=acfe.findModal("",this.$inputWrap());return!!t.length&&acfe.getModal(t,e)}),function(l){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{select2_init:"init"},filters:{select2_args:"args",select2_ajax_data:"ajaxData"},init:function(e,t,a,i,n){i&&(acf.doAction("select2_init/type="+i.get("type"),e,t,a,i,n),acf.doAction("select2_init/name="+i.get("name"),e,t,a,i,n),acf.doAction("select2_init/key="+i.get("key"),e,t,a,i,n))},args:function(e,i,n,o,c){return o&&(e=acf.applyFilters("select2_args/type="+o.get("type"),e,i,n,o,c),e=acf.applyFilters("select2_args/name="+o.get("name"),e,i,n,o,c),e=acf.applyFilters("select2_args/key="+o.get("key"),e,i,n,o,c),acf.isset(window,"jQuery","fn","selectWoo")||(e.templateSelection=function(e){var t=e.text,t=acf.applyFilters("select2_template_selection",t,e,i,n,o,c);t=acf.applyFilters("select2_template_selection/type="+o.get("type"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_selection/name="+o.get("name"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_selection/key="+o.get("key"),t,e,i,n,o,c);var a=l('');return a.html(acf.escHtml(t)),a.data("element",e.element),a},e.templateResult=function(e){var t=e.text,t=acf.applyFilters("select2_template_result",t,e,i,n,o,c);t=acf.applyFilters("select2_template_result/type="+o.get("type"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_result/name="+o.get("name"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_result/key="+o.get("key"),t,e,i,n,o,c);var a=l('');return a.html(acf.escHtml(t)),a.data("element",e.element),a},acfe.versionCompare(acf.get("acf_version"),"<","5.10")&&(e.escapeMarkup=function(e){return"string"!=typeof e?e:acf.escHtml(e)}))),e},ajaxData:function(e,t,a,i,n){return i?(e=acf.applyFilters("select2_ajax_data/type="+i.get("type"),e,t,a,i,n),e=acf.applyFilters("select2_ajax_data/name="+i.get("name"),e,t,a,i,n),(e=acf.applyFilters("select2_ajax_data/key="+i.get("key"),e,t,a,i,n)).action?acf.applyFilters("select2_ajax_data/action="+e.action,e,t,a,i,n):e):e}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_advanced_link",events:{'click a[data-name="add"]':"onClickEdit",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove"},$control:function(){return this.$(".acf-link")},getSubField:function(e){return acf.getFields({key:e,parent:this.$el}).shift()},getSubFields:function(){return acf.getFields({parent:this.$el})},getValue:function(){var e={type:this.getSubField("type").val(),title:this.getSubField("title").val(),value:"",name:"",target:Boolean(this.getSubField("target").val())};return e.value=this.getSubField(e.type).val(),e.name=e.value,"post"!==e.type&&"term"!==e.type||(e.name=this.getSubField(e.type).$input().find(":selected").text()),e},setValue:function(e){if(!e)return this.clearValue();acfe.isString(e)&&(e={type:"url",title:"",value:e,target:!1}),e=acf.parseArgs(e,{type:"url",value:"",title:"",target:!1}),this.getSubField("type").val(e.type),this.getSubField(e.type).val(e.value),this.getSubField("title").val(e.title),this.getSubField("target").val(e.target),this.renderValue()},clearValue:function(){this.getSubFields().map(function(e){e.val("")})},renderValue:function(){var e=this.val(),t=this.$control();t.removeClass("-value -external"),(e.value||e.title)&&t.addClass("-value"),e.target&&t.addClass("-external");t="url"===e.type?e.value:"#";this.$(".link-title").html(e.title),this.$(".link-url").attr("href",t).html(e.name)},onClickEdit:function(e,t){this.getModal({open:!0,onClose:this.proxy(function(){this.renderValue()})})},onClickRemove:function(e,t){this.clearValue(),this.renderValue()}}),acf.registerFieldType(e),new acf.Model({filters:{"select2_ajax_data/action=acfe/fields/advanced_link/post_query":"ajaxData"},ajaxData:function(e,t,a,i,n){i=i.parent();return i&&(e.field_key=i.get("key")),e}}))}(jQuery),function(i){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_button",events:{"click input":"onClick","click button":"onClick"},$input:function(){return this.$("input").length?this.$("input"):this.$("button").length?this.$("button"):void 0},initialize:function(){var e=this.$input();this.inherit(e)},onClick:function(e,t){var a;this.get("ajax")&&(e.preventDefault(),a={action:"acfe/fields/button",field_key:this.get("key"),acf:acf.serialize(this.$el.closest("form"),"acf")},a=acf.applyFilters("acfe/fields/button/data",a,this.$el),a=acf.applyFilters("acfe/fields/button/data/name="+this.get("name"),a,this.$el),a=acf.applyFilters("acfe/fields/button/data/key="+this.get("key"),a,this.$el),acf.doAction("acfe/fields/button/before_ajax",this.$el,a),acf.doAction("acfe/fields/button/before",this.$el,a),acf.doAction("acfe/fields/button/before/name="+this.get("name"),this.$el,a),acf.doAction("acfe/fields/button/before/key="+this.get("key"),this.$el,a),i.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",context:this,success:function(e){acf.doAction("acfe/fields/button/ajax_success",e,this.$el,a),acf.doAction("acfe/fields/button/success",e,this.$el,a),acf.doAction("acfe/fields/button/success/name="+this.get("name"),e,this.$el,a),acf.doAction("acfe/fields/button/success/key="+this.get("key"),e,this.$el,a)},complete:function(e){e=e.responseText;acf.doAction("acfe/fields/button/complete",e,this.$el,a),acf.doAction("acfe/fields/button/complete/name="+this.get("name"),e,this.$el,a),acf.doAction("acfe/fields/button/complete/key="+this.get("key"),e,this.$el,a)}}))}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.CheckboxField,acf.models.CheckboxField=e.extend({setValue:function(e){if(!e)return this.clearValue();acfe.getArray(e).map(function(e){e=this.$(':checkbox[value="'+e+'"]');e.length&&!e.is(":checked")&&e.prop("checked",!0).trigger("change")},this)},clearValue:function(){var e=this.$inputs(),t=this.$("label");e.prop("checked",!1),t.removeClass("selected")}}))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:!1,type:"clone",events:{duplicateField:"onDuplicate"},initialize:function(){this.has("acfeCloneModal")&&(this.$el.find("> .acf-input > .acf-fields, > .acf-input > .acf-table").wrapAll('
    '),this.$el.find("> .acf-input").append(''+this.get("acfeCloneModalButton")+""),this.initializeModal())},initializeModal:function(){var e,t=this.$labelWrap().find("label").text().trim();this.$el.is("td")&&(t=this.get("acfeCloneModalButton"),(e=this.$el.closest("table").find(' > thead th[data-key="'+this.get("key")+'"]')).length&&(t=acfe.getTextNode(e))),t.length||(t=this.get("acfeCloneModalButton")),this.getModal({title:t,size:this.has("acfeCloneModalSize")?this.get("acfeCloneModalSize"):"large",footer:!!this.has("acfeCloneModalClose")&&acf.__("Close"),class:"acfe-modal-edit-"+this.get("name")+" acfe-modal-edit-"+this.get("key")})},onDuplicate:function(e,t,a){a.find(".acf-input:first > a[data-modal]").remove()}}),acf.registerFieldType(e))}(jQuery),function(t){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:!1,type:"acfe_code_editor",editor:{},events:{showField:"onShow",duplicateField:"onDuplicate"},$control:function(){return this.$("> .acf-input > .acf-input-wrap")},$input:function(){return this.$control().find("> textarea")},initialize:function(){var e;acf.isset(wp,"codeEditor")&&(e={lineNumbers:this.get("lines"),lineWrapping:!0,styleActiveLine:!1,continueComments:!0,indentUnit:this.get("indentUnit"),tabSize:1,indentWithTabs:!1,autoRefresh:!0,mode:this.get("mode"),extraKeys:{Tab:function(e){e.execCommand("indentMore")},"Shift-Tab":function(e){e.execCommand("indentLess")}}},e=acf.applyFilters("acfe/fields/code_editor/args",e,this),e=acf.applyFilters("acfe/fields/code_editor/args/name="+this.get("name"),e,this),e=acf.applyFilters("acfe/fields/code_editor/args/key="+this.get("key"),e,this),this.editor=wp.codeEditor.initialize(this.$input().get(0),{codemirror:t.extend(wp.codeEditor.defaultSettings.codemirror,e)}),this.get("rows")&&(this.editor.codemirror.getScrollerElement().style.minHeight=18.5*this.get("rows")+"px"),this.get("maxRows")&&(this.editor.codemirror.getScrollerElement().style.maxHeight=18.5*this.get("maxRows")+"px"),this.editor.codemirror.on("change",this.proxy(this.onEditorChange)),acf.doAction("acfe/fields/code_editor/init",this.editor,this),acf.doAction("acfe/fields/code_editor/init/name="+this.get("name"),this.editor,this),acf.doAction("acfe/fields/code_editor/init/key="+this.get("key"),this.editor,this))},onEditorChange:function(e,t){this.editor.codemirror.save(),this.$input().change()},onShow:function(){this.editor.codemirror&&this.editor.codemirror.refresh()},onDuplicate:function(e,t,a){a.find(".CodeMirror:last").remove()}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:"new_field",type:"acfe_column",$control:function(){return this.$(".acf-fields:first")},initialize:function(){if(this.$el.is("td")&&(this.$el.closest(".acf-table").find('th[data-type="acfe_column"]').remove(),this.remove()),this.get("endpoint"))return this.$el.find("> .acf-label").remove(),void this.$el.find("> .acf-input").remove();var e=this.$el,t=this.$el.find("> .acf-label"),a=(this.$inputWrap(),this.$control());t.remove();t=e.parent();t.addClass("acfe-column-wrapper"),a.addClass(t.hasClass("-left")?"-left":""),a.addClass(t.hasClass("-clear")?"-clear":""),a.append(e.nextUntil(".acf-field-acfe-column",".acf-field"))}}),acf.registerFieldType(e))}(jQuery),function(t){var a;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(a=acf.models.FlexibleContentField,acf.models.FlexibleContentField=a.extend({addSortable:function(a){1!=this.get("max")&&this.$layoutsWrap().sortable({items:" > .layout",handle:"> .acf-fc-layout-handle",forceHelperSize:!1,forcePlaceholderSize:!0,revert:50,tolerance:"pointer",scroll:!0,stop:function(e,t){a.render()},update:function(e,t){a.$input().trigger("change")}})},add:function(e){var t=a.prototype.add.apply(this,arguments);t.length&&t.data("added",!0)}}),new acf.Model({actions:{invalid_field:"onInvalidField",valid_field:"onValidField"},onInvalidField:function(e){e.$el.parents(".layout").addClass("acfe-flexible-modal-edit-error")},onValidField:function(e){e.$el.parents(".layout").each(function(){var e=t(this);e.find(".acf-error").length||e.removeClass("acfe-flexible-modal-edit-error")})}}))}(jQuery),function(i){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acfe.FieldExtender({id:"fc_append",type:"flexible_content",initialize:function(){this.getParent(e).initialize.apply(this,arguments),this.addEvents({appendLayout:"acfeAppendLayout"})},acfeAppendLayout:function(e,t,a){a.is(".acfe-layout-duplicated")||(this.has("acfeFlexibleModalEdition")?this.acfeModalEdit(null,a):this.openLayout(a));var i=acfe.getModal(a.closest(".acfe-modal.-open"));i?this.acfeScrollToLayout(a,i.$content()):a.is(".acfe-layout-duplicated")?this.acfeScrollToLayout(a):this.setTimeout(function(){a.data("added")&&this.acfeScrollToLayout(a)},10)},acfeScrollToLayout:function(e,t){var a=t||!1;t=t||i("body, html"),acf.isInView(e)||(e=a?e.position().top:e.offset().top-i(window).height()/2,t.animate({scrollTop:e},500))}}))}(jQuery),function(o){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_async",type:"flexible_content",condition:function(){return this.has("acfeFlexibleAjax")},add:function(n){if(n=acf.parseArgs(n,{layout:"",before:!1}),!this.allowAdd())return!1;var e={action:"acfe/flexible/models",field_key:this.get("key"),layout:n.layout},t=this.proxy(function(e){if(e){var t=o(e),a=acf.uniqid(),i="acf["+this.get("key")+"][acfcloneindex]",e=this.$control().find("> input[type=hidden]").attr("name")+"["+a+"]",e=acf.duplicate({target:t,search:i,replace:e,append:this.proxy(function(e,t){n.before?n.before.before(t):this.$layoutsWrap().append(t),acf.enable(t,this.cid),this.render()})});return e.attr("data-id",a),this.$input().trigger("change"),e}});o.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),dataType:"html",type:"post",beforeSend:function(){o("body").addClass("-loading")},success:t,complete:function(){o("body").removeClass("-loading")}})}})}(jQuery),function(r){var n;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&((n=acf.getFieldType("flexible_content").prototype).events["click [data-acfe-flexible-control-clone]"]="acfeCloneLayout",n.acfeCloneLayout=function(e,t){var a,i=this,n=t.closest(".layout"),o=n.data("layout"),c=r(i.$popup().html()),l=i.$layouts(),c=c.find('[data-layout="'+o+'"]'),c=(c.data("min"),c.data("max")||0),o=(a=o,l.filter(function(){return r(this).data("layout")===a}).length);if(c&&c<=o)return t.addClass("disabled"),!1;t.removeClass("disabled"),i.acfeFixInputs(n);o=n.clone();i.acfeCleanLayouts(o);t=t.closest(".acf-flexible-content").find("> input[type=hidden]").attr("name"),i.acfeDuplicate({layout:o,before:n,parent:t})},n.events["click [data-acfe-flexible-control-copy]"]="acfeCopyLayout",n.acfeCopyLayout=function(e,t){var a=t.closest(".layout").clone(),t=this.$control().find("> input[type=hidden]").attr("name");this.acfeFixInputs(a),this.acfeCleanLayouts(a);var i=JSON.stringify({source:t,layouts:a[0].outerHTML});navigator.clipboard.writeText(i).then(function(){return alert(acf.__("Layout data has been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')),!0}).catch(function(){var e=r('').appendTo(r("body"));e.attr("value",i).select(),document.execCommand("copy")?alert(acf.__("Layout data has been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')):prompt(acf.__("Please copy the following layout(s) data to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.'),i),e.remove()})},n.acfeCopyLayouts=function(){var t=this,e=t.$layoutsWrap().clone(),a=t.$control().find("> input[type=hidden]").attr("name");t.acfeFixInputs(e),t.acfeCleanLayouts(e);var i=JSON.stringify({source:a,layouts:e.html()});navigator.clipboard.writeText(i).then(function(){return alert(acf.__("Layouts data have been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')),!0}).catch(function(){var e=r('').appendTo(t.$el);e.attr("value",i).select(),document.execCommand("copy")?alert(acf.__("Layouts data have been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')):prompt(acf.__("Please copy the following layout(s) data to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.'),i),e.remove()})},n.acfePasteLayouts=function(){var n=this,e=prompt(acf.__("Please paste previously copied layout data in the following field:"));if(null!=e&&""!==e)try{var t=JSON.parse(e),i=t.source,a=r(t.layouts).closest("[data-layout]");if(!a.length)return alert("No layouts data available");var o=r(n.$popup().html()),c=n.$layouts(),l=[];if(a.each(function(){var e,t=r(this),a=t.data("layout"),i=o.find('[data-layout="'+a+'"]'),i=(i.data("min"),i.data("max")||0),a=(e=a,c.filter(function(){return r(this).data("layout")===e}).length);i&&i<=a||n.$clone(t.attr("data-layout")).length&&l.push(t)}),!l.length)return alert("No layouts could be pasted");r.each(l,function(){var e=r(this),t=i+"["+e.attr("data-id")+"]",a=n.$control().find("> input[type=hidden]").attr("name");n.acfeDuplicate({layout:e,before:!1,search:t,parent:a})})}catch(e){console.log(e),alert("Invalid data")}},n.events['click [data-name="acfe-flexible-control-button"]']="acfeControl",n.acfeControl=function(e,t){var a=this,i=t.next(".tmpl-acfe-flexible-control-popup").html();new(acf.models.TooltipConfirm.extend({render:function(){this.html(this.get("text")),this.$el.addClass("acf-fc-popup")}}))({target:t,targetConfirm:!1,text:i,context:a,confirm:function(e,t){"paste"===t.attr("data-acfe-flexible-control-action")?a.acfePasteLayouts():"copy"===t.attr("data-acfe-flexible-control-action")&&a.acfeCopyLayouts()}}).on("click","a","onConfirm")},n.acfeDuplicate=function(a){if(a=acf.parseArgs(a,{layout:"",before:!1,parent:!1,search:"",replace:""}),!this.allowAdd())return!1;var i=acf.uniqid();a.parent&&(a.search||(a.search=a.parent+"["+a.layout.attr("data-id")+"]"),a.replace=a.parent+"["+i+"]");var e,t={target:a.layout,search:a.search,replace:a.replace,append:this.proxy(function(e,t){t.addClass("acfe-layout-duplicated"),t.attr("data-id",i),a.before?a.before.after(t):this.$layoutsWrap().append(t),acf.enable(t,this.cid),this.render()})};e=acfe.versionCompare(acf.get("acf_version"),"<","5.9")?acf.duplicate(t):n.acfeNewAcfDuplicate(t),this.$input().trigger("change");t=acf.getFields({type:"tab",parent:e});return t.length&&r.each(t,function(){this.$el.hasClass("acf-hidden")&&this.tab.$el.addClass("acf-hidden")}),e},n.acfeNewAcfDuplicate=function(e){e instanceof jQuery&&(e={target:e}),(e=acf.parseArgs(e,{target:!1,search:"",replace:"",rename:!0,before:function(e){},after:function(e,t){},append:function(e,t){e.after(t)}})).target=e.target||e.$el;var t=e.target;e.search=e.search||t.attr("data-id"),e.replace=e.replace||acf.uniqid(),e.before(t),acf.doAction("before_duplicate",t);var a=t.clone();return e.rename&&acf.rename({target:a,search:e.search,replace:e.replace,replacer:"function"==typeof e.rename?e.rename:null}),a.removeClass("acf-clone"),a.find(".ui-sortable").removeClass("ui-sortable"),e.after(t,a),acf.doAction("after_duplicate",t,a),e.append(t,a),acf.doAction("append",a),a},n.acfeFixInputs=function(e){e.find("input").each(function(){r(this).attr("value",this.value)}),e.find("textarea").each(function(){r(this).html(this.value)}),e.find("input:radio,input:checkbox").each(function(){this.checked?r(this).attr("checked","checked"):r(this).attr("checked",!1)}),e.find("option").each(function(){this.selected?r(this).attr("selected","selected"):r(this).attr("selected",!1)})},n.acfeCleanLayouts=function(e){e.find(".acf-editor-wrap").each(function(){var e=r(this);e.find(".wp-editor-container div").remove(),e.find(".wp-editor-container textarea").css("display","")}),e.find(".acf-date-picker").each(function(){r(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acf-time-picker").each(function(){r(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acf-date-time-picker").each(function(){r(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acfe-field-code-editor").each(function(){r(this).find(".CodeMirror").remove()}),e.find(".acf-color-picker").each(function(){var e=r(this),t=e.find("> input"),a=e.find(".wp-picker-container input.wp-color-picker").clone();t.after(a),e.find(".wp-picker-container").remove()}),e.find(".acf-field-post-object").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-page-link").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-select").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-font-awesome").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden")}),e.find(".acf-tab-wrap").each(function(){var e=r(this),t=e.closest(".acf-fields"),a=[];r.each(e.find("li a"),function(){a.push(r(this))}),t.find("> .acf-field-tab").each(function(){$current_tab=r(this),r.each(a,function(){var e=r(this);e.attr("data-key")===$current_tab.attr("data-key")&&$current_tab.find("> .acf-input").append(e)})}),e.remove()}),e.find(".acf-field-accordion").each(function(){var e=r(this);e.find("> .acf-accordion-title > .acf-accordion-icon").remove(),e.after('
    ')})})}(jQuery),function(t){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{"new_field/type=flexible_content":"newField",show:"onShow",hide:"onHide",append:"onAppend"},newField:function(e){e.addEvents({"click .acfe-fc-placeholder":"onClickCollapse"}),e.addEvents({"click .acfe-flexible-opened-actions > a":"onClickCollapse"}),e.has("acfeFlexibleModalEdition")&&(e.has("acfeFlexiblePlaceholder")||e.has("acfeFlexiblePreview"))&&(e.removeEvents({'click [data-name="collapse-layout"]':"onClickCollapse"}),e.removeEvents({"click .acfe-fc-placeholder":"onClickCollapse"})),e.has("acfeFlexibleLock")&&e.removeEvents({mouseover:"onHover"}),e.$layouts().each(function(){e.trigger("newLayout",[t(this)])})},onShow:function(e,t){"collapse"===t&&e.is(".layout")&&acf.getClosestField(e).trigger("showLayout",[e])},onHide:function(e,t){"collapse"===t&&e.is(".layout")&&!e.is(".acf-clone")&&acf.getClosestField(e).trigger("hideLayout",[e])},onAppend:function(e){var t;e?.[0]?.classList?.contains("layout")&&((t=acf.getClosestField(e)).trigger("newLayout",[e]),t.trigger("appendLayout",[e]))}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_modal_edit",type:"flexible_content",events:{'click [data-action="acfe-flexible-modal-edit"]':"acfeModalEdit"},acfeModalEdit:function(e,t){var a=t.closest(".layout"),i=a.find("> .acfe-modal.-fields"),n=a.find("> .acf-fc-layout-handle"),t=n.find("> .acf-fc-layout-order").outerHTML(),n=acfe.getTextNode(n.find(".acfe-layout-title"));acfe.getModal(i,{open:!0,title:t+n,onOpen:this.proxy(function(){this.openLayout(a)}),onClose:this.proxy(function(){this.closeLayout(a)})})}}),function(o){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_modal_select",type:"flexible_content",condition:function(){return this.has("acfeFlexibleModal")&&1'+a.getPopupHTML()+""},onOpen:function(){i&&this.$content().prepend(i),a.has("acfeFlexibleModalCol")&&this.$(".acfe-modal-content .acfe-flex-container").addClass("acfe-col-"+a.get("acfeFlexibleModalCol")),a.has("acfeFlexibleThumbnails")&&this.$(".acfe-modal-content .acfe-flex-container").addClass("acfe-flex-thumbnails");var e=acfe.versionCompare(acf.get("wp_version"),">=","5.5")?"dashicons-info-outline":"dashicons-info";this.$("li a span.badge").addClass("acf-js-tooltip dashicons "+e),this.$("li:first-of-type a").blur()},onClickCategory:function(e,t){e.preventDefault();var t=t,i=t.data("acfe-flexible-category");t.closest(".acfe-flexible-categories").find("a").removeClass("nav-tab-active"),t.addClass("nav-tab-active"),this.$("a[data-layout] span[data-acfe-flexible-category]").closest("li").show(),"acfe-all"!==i&&this.$("a[data-layout] span[data-acfe-flexible-category]").each(function(){var e,t=o(this),a=t.data("acfe-flexible-category");t.closest("li").hide();for(e of a)if(acfe.slugify(i)===acfe.slugify(e)){t.closest("li").show();break}})},onClickLayout:function(e,t){e.preventDefault(),this.close(),a.add({layout:t.data("layout"),before:n})}})},getLayoutsCategories:function(){var e=o(this.getPopupHTML()),t="",i=[];return e.find("li a span[data-acfe-flexible-category]").exists()&&(e.find("li a span[data-acfe-flexible-category]").each(function(){o(this).data("acfe-flexible-category").map(function(e){var t=acfe.slugify(e),a=i.filter(function(e){return e.slug===t});acfe.isEmpty(a)&&i.push({slug:t,label:e})})}),i.length&&(t+='")),t}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_modal_settings",type:"flexible_content",events:{"click [data-acfe-flexible-settings]":"acfeLayoutSettings"},acfeLayoutSettings:function(e,t){var a=t.closest(".layout"),i=a.find("> .acfe-modal.-settings"),n=a.find("> .acf-fc-layout-handle"),t=n.find("> .acf-fc-layout-order").outerHTML(),n=acfe.getTextNode(n.find(".acfe-layout-title"));acfe.getModal(i,{open:!0,title:t+n,onClose:this.proxy(function(){this.has("acfeFlexiblePreview")&&this.closeLayout(a)})})}}),function(n){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_one_click",type:"flexible_content",condition:function(){return 1===this.$clones().length},onClickAdd:function(e,t){if(!this.validateAdd())return!1;var a=this.$clones(),i=n(a[0]).data("layout"),a=null;t.hasClass("acf-icon")&&(a=t.closest(".layout")),this.add({layout:i,before:a});a=n(".acf-fc-popup");a.length&&a.hide()}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acfe.FieldExtender({id:"fc_placeholder",type:"flexible_content",condition:function(){return this.has("acfeFlexiblePlaceholder")},initialize:function(){this.getParent(e).initialize.apply(this,arguments),this.addEvents({showLayout:"acfePlaceholderShowLayout",hideLayout:"acfePlaceholderHideLayout",newLayout:"acfePlaceholderNewLayout"})},acfePlaceholderShowLayout:function(e,t,a){this.has("acfeFlexibleModalEdition")||acf.hide(a.find("> .acfe-fc-placeholder"))},acfePlaceholderHideLayout:function(e,t,a){acf.show(a.find("> .acfe-fc-placeholder"))},acfePlaceholderNewLayout:function(e,t,a){this.isLayoutClosed(a)&&acf.show(a.find("> .acfe-fc-placeholder"))}}))}(jQuery),function(f){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_preview",type:"flexible_content",condition:function(){return this.has("acfeFlexiblePreview")},events:{hideLayout:"acfePreviewHideLayout",appendLayout:"acfePreviewAppendLayout"},acfeLayoutPreview:function(t){var a,i,n,o,e,c,l,r;this.isLayoutClosed(t)&&!t.find("> .acfe-fc-placeholder").hasClass("-loading")&&(a=this.get("key"),i=this.get("name"),n=this.$el,o=t.data("layout"),e=t.index(),(c=t.find("> .acfe-fc-placeholder")).addClass("acfe-fc-preview -loading").find("> .acfe-flexible-placeholder").prepend(''),c.find("> .acfe-fc-overlay").addClass("-hover"),l=t.children("input").attr("name").replace("[acf_fc_layout]",""),r={action:"acfe/flexible/layout_preview",field_key:a,i:e,layout:o,value:acf.serialize(t,l)},acf.doAction("acfe/fields/flexible_content/before_preview",n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/name="+i,n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/key="+a,n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/name="+i+"&layout="+o,n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/key="+a+"&layout="+o,n,t,r),f.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(r),dataType:"html",type:"post",success:function(e){e?c.find("> .acfe-flexible-placeholder").html(e):c.removeClass("acfe-fc-preview"),acf.doAction("acfe/fields/flexible_content/preview",e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/name="+i,e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/key="+a,e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/name="+i+"&layout="+o,e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/key="+a+"&layout="+o,e,n,t,r)},complete:function(){c.find("> .acfe-fc-overlay").removeClass("-hover"),c.removeClass("-loading").find("> .acfe-flexible-placeholder > .spinner").remove()}}))},acfePreviewHideLayout:function(e,t,a){this.acfeLayoutPreview(a)},acfePreviewAppendLayout:function(e,t,a){this.acfeLayoutPreview(a)}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_state",type:"flexible_content",condition:function(){return this.has("acfeFlexibleOpen")},addCollapsed:function(){}}),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_title_ajax",type:"flexible_content",condition:function(){return this.has("acfeFlexibleRemoveAjaxTitle")},renderLayout:function(){}}),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_title_inline",type:"flexible_content",condition:function(){return this.has("acfeFlexibleTitleEdition")},events:{"click .acf-fc-layout-handle":"acfeEditLayoutTitleToggleHandle","click .acfe-layout-title-text":"acfeEditLayoutTitle","blur input.acfe-flexible-control-title":"acfeEditLayoutTitleToggle","click input.acfe-flexible-control-title":"acfeEditLayoutTitlePropagation","input [data-acfe-flexible-control-title-input]":"acfeEditLayoutTitleInput","keypress [data-acfe-flexible-control-title-input]":"acfeEditLayoutTitleInputEnter"},acfeEditLayoutTitleToggleHandle:function(e,t){t=t.closest(".layout");t.hasClass("acfe-flexible-title-edition")&&t.find("> .acf-fc-layout-handle > .acfe-layout-title > input.acfe-flexible-control-title").trigger("blur")},acfeEditLayoutTitle:function(e,t){e.stopPropagation(),this.acfeEditLayoutTitleToggle(e,t)},acfeEditLayoutTitleToggle:function(e,t){var a,i=t.closest(".layout"),n=i.find("> .acf-fc-layout-handle"),t=n.find(".acfe-layout-title");i.hasClass("acfe-flexible-title-edition")?(""===(a=t.find("> input[data-acfe-flexible-control-title-input]")).val()&&a.val(a.attr("placeholder")).trigger("input"),i.removeClass("acfe-flexible-title-edition"),a.insertAfter(n)):(a=(a=i.find("> input[data-acfe-flexible-control-title-input]")).appendTo(t),i.addClass("acfe-flexible-title-edition"),a.focus().attr("size",a.val().length))},acfeEditLayoutTitlePropagation:function(e,t){e.stopPropagation()},acfeEditLayoutTitleInput:function(e,t){var a=t.closest(".layout").find("> .acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text"),i=t.val();t.attr("size",i.length),a.html(i)},acfeEditLayoutTitleInputEnter:function(e,t){13===e.keyCode&&(e.preventDefault(),t.blur())}}),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_toggle",type:"flexible_content",condition:function(){return this.has("acfeFlexibleToggle")},events:{"click [data-acfe-flexible-control-toggle]":"acfeLayoutToggle"},acfeLayoutToggle:function(e,t){var a=t.closest(".layout"),t=a.find("> .acfe-flexible-layout-toggle");t.length&&("1"===t.val()?(a.removeClass("acfe-flexible-layout-hidden"),t.val("")):(a.addClass("acfe-flexible-layout-hidden"),t.val("1")))}}),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:!1,type:"group",events:{duplicateField:"onDuplicate"},initialize:function(){this.has("acfeGroupModal")&&(this.$inputWrap().find("> .acf-fields, > .acf-table").wrapAll('
    '),this.$inputWrap().append(''+this.get("acfeGroupModalButton")+""),this.initializeModal())},initializeModal:function(){var e,t=this.$labelWrap().find("label").text().trim();this.$el.is("td")&&(t=this.get("acfeGroupModalButton"),(e=this.$el.closest("table").find(' > thead th[data-key="'+this.get("key")+'"]')).length&&(t=acfe.getTextNode(e))),t.length||(t=this.get("acfeGroupModalButton")),this.getModal({title:t,size:this.has("acfeGroupModalSize")?this.get("acfeGroupModalSize"):"large",footer:!!this.has("acfeGroupModalClose")&&acf.__("Close"),class:"acfe-modal-edit-"+this.get("name")+" acfe-modal-edit-"+this.get("key")})},onDuplicate:function(e,t,a){a.find(".acf-input:first > a[data-modal]").remove()}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.RadioField,acf.models.RadioField=e.extend({setValue:function(e){if(!e)return this.clearValue();e=this.$(':radio[value="'+e+'"]');e.length&&!e.is(":checked")&&(e.prop("checked",!0).trigger("change"),this.onClick(null,e))},clearValue:function(){this.get("allow_null")?this.$input().length&&this.onClick(null,this.$input()):this.val(this.$(":radio").first().val())}}))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_recaptcha",wait:"load",actions:{validation_failure:"validationFailure"},$control:function(){return this.$(".acfe-field-recaptcha")},$input:function(){return this.$('input[type="hidden"]')},$selector:function(){return this.$control().find("> div")},selector:function(){return this.$selector()[0]},initialize:function(){"v2"===this.get("version")?this.renderV2(this):"v3"===this.get("version")&&this.renderV3()},renderV2:function(t){var e=this.selector(),a=this.$input(),i=this.get("siteKey"),n=this.get("theme"),o=this.get("size");this.recaptcha=grecaptcha.render(e,{sitekey:i,theme:n,size:o,callback:function(e){acf.val(a,e,!0),t.removeError()},"error-callback":function(){acf.val(a,"",!0),t.showError("An error has occured")},"expired-callback":function(){acf.val(a,"",!0),t.showError("reCaptcha has expired")}})},renderV3:function(){var t=this.$input(),e=this.get("siteKey"),a=function(){grecaptcha.ready(function(){grecaptcha.execute(e,{action:"homepage"}).then(function(e){acf.val(t,e,!0)})}),setTimeout(a,8e4)};a()},validationFailure:function(e){"v2"===this.get("version")&&grecaptcha.reset(this.recaptcha)}}),acf.registerFieldType(e))}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(acf.getFieldType("repeater").prototype.acfeOnHover=function(){this.off("mouseover")},acf.addAction("new_field/type=repeater",function(e){e.has("acfeRepeaterLock")&&(e.removeEvents({mouseover:"onHover"}),e.addEvents({mouseover:"acfeOnHover"})),e.has("acfeRepeaterRemoveActions")&&(e.$actions().remove(),e.$el.find("thead:first > tr > th.acf-row-handle:last").remove(),e.$rows().find("> .acf-row-handle:last").remove(),e.$control().find("> .acfe-repeater-stylised-button").remove()),e.has("acfeRepeaterStylisedButton")&&(e.$button().removeClass("button-primary"),e.$actions().wrap('
    '))})),function(l){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{"new_field/type=select":"newSelect",select2_init:"init"},filters:{select2_args:"args"},newSelect:function(e){e.inherit(e.$input()),!e.get("ui")&&e.get("allow_null")&&e.$input().find("option").each(function(e,t){!t.value&&t.text.startsWith("- ")&&t.text.endsWith(" -")&&(t.text=t.text.substring(2),t.text=t.text.substring(0,t.text.length-2))}),(e.has("acfePrepend")||e.has("acfeAppend"))&&(e.$input().parent(".acf-input-wrap").length||(e.$input().wrapAll('
    '),e.get("ui")&&e.$(".acf-input-wrap:first").append(e.$(".select2")),e.has("acfePrepend")&&(e.$(".acf-input-wrap:first").before('
    '+e.get("acfePrepend")+"
    "),e.$input().addClass("acf-is-prepended")),e.has("acfeAppend")&&(e.$(".acf-input-wrap:first").before('
    '+e.get("acfeAppend")+"
    "),e.$input().addClass("acf-is-appended"))))},init:function(e,t,a,i,n){e.on("select2:clear",function(e){l(this).on("select2:opening.cancelOpen",function(e){e.preventDefault(),l(this).off("select2:opening.cancelOpen")})}),i&&(e.data("select2")&&e.data("select2").$dropdown.addClass("select2-dropdown-acf").addClass("select2-dropdown-acf-field-"+i.get("name")).addClass("select2-dropdown-acf-field-"+i.get("key")),!i.get("multiple")&&i.get("acfeSearchPlaceholder")&&e.on("select2:open",function(e){l(".select2-search.select2-search--dropdown > .select2-search__field").attr("placeholder",i.get("acfeSearchPlaceholder"))}))},args:function(e,t,a,i,n){return i&&i.get("acfeAllowCustom")&&(e.tags=!0,e.createTag=function(e){var t,a=l.trim(e.term);if(""===a)return null;var i=acf.isget(this,"_request","responseJSON","results");if(i){e:for(var n of i)if(n.children)for(var o of n.children)if("string"==typeof o.id&&o.id.toLowerCase()===a.toLowerCase()){t=!0;break e}}else for(var c of this.$element.find("option"))if(c.value.toLowerCase()===a.toLowerCase()){t=!0;break}return t?null:{id:a,text:a}},e.insertTag=function(e,t){var a,i;for(i of e)if(l.trim(t.text).toUpperCase()===l.trim(i.text).toUpperCase()){a=!0;break}a||e.unshift(t)}),e}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_slug",events:{"input input":"onInput","focusout input":"onFocusOut"},onInput:function(e,t){t.val(t.val().toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/\_\_+/g,"_").replace(/^-+/,""))},onFocusOut:function(e,t){t.val(t.val().toLowerCase().replace(/-+$/,"").replace(/_+$/,""))}}),acf.registerFieldType(e))}(jQuery),function(a){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{"prepare_field/type=tab":"prepareField"},prepareField:function(e){var t,i,n;e.has("noPreference")&&(t=e.findTabs(),t=acf.getInstances(t),i=e.get("key"),!t.length||(n=acf.getPreference("this.tabs"))&&(a.each(t,function(e,t){var a=t.get("index");t.data.key===i&&(n[a]=0)}),acf.setPreference("this.tabs",n)))}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"textarea",events:{"keydown textarea":"onInput"},onInput:function(e,t){var a,i;this.has("acfeTextareaCode")&&9===e.keyCode&&(e.preventDefault(),a=this.$el.find("textarea")[0],i=a.selectionStart,this.$el.find("textarea").val(function(e,t){return t.substring(0,i)+" "+t.substring(a.selectionEnd)}),a.selectionEnd=i+4)}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.TrueFalseField,acf.models.TrueFalseField=e.extend({setValue:function(e){if(!e)return this.clearValue();this.switchOn(),this.trigger("change")},clearValue:function(){this.switchOff(),this.trigger("change")}}))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.WysiwygField,acf.models.WysiwygField=e.extend({initialize:function(){this.has("id")||this.$control().hasClass("delay")||this.initializeEditor()}}),new acf.Model({actions:{"append_field/type=wysiwyg":"appendField","show_field/type=wysiwyg":"showField","ready_field/type=wysiwyg":"showField"},appendField:function(e){this.setTimeout(function(){this.showField(e)},1)},showField:function(e){e.has("acfeWysiwygAutoInit")&&e.$el.is(":visible")&&!e.has("id")&&!acfe.isFilterEnabled("acfeFlexibleOpen")&&this.initializeEditor(e)},initializeEditor:function(e){e.$control().hasClass("delay")&&(e.$control().removeClass("delay"),e.$control().find(".acf-editor-toolbar").remove(),e.initializeEditor())}}))}(jQuery),function(o){var e,a;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(new acf.Model({wait:"prepare",priority:1,initialize:function(){acfe.get("is_admin")||new e}}),e=acf.Model.extend({actions:{"new_field/type=date_picker":"datePicker","new_field/type=date_time_picker":"datePicker","new_field/type=time_picker":"datePicker","new_field/type=google_map":"googleMap",invalid_field:"invalidField",validation_begin:"validationBegin"},events:{"click .acf-form .button":"onClickSubmit",'click .acf-form [type="submit"]':"onClickSubmit","click .acfe-form .button":"onClickSubmit",'click .acfe-form [type="submit"]':"onClickSubmit"},$getForm:function(e=!1){var t=o(".acfe-form");return!!(t=e?e.$el.closest(".acfe-form"):t).length&&t},getFormFieldClass:function(e){e=this.$getForm(e);return e&&e.data("fields-class")||!1},initialize:function(){acf.isset(window,"wp","media","view","settings","post")&&(wp.media.view.settings.post=!1),this.setupUnload(),this.setupSuccess()},setupUnload:function(){o('.acfe-form[data-hide-unload="1"]').length&&acf.unload.disable()},setupSuccess:function(){acfe.get("acfe_form_success")&&(window.history.replaceState&&window.history.replaceState(null,null,window.location.href),acfe.get("acfe_form_success").map(function(e){acf.doAction("acfe/form/success"),acf.doAction("acfe/form/success/id="+e.id),acf.doAction("acfe/form/success/name="+e.name),acf.doAction("acfe/form/submit/success"),acf.doAction("acfe/form/submit/success/id="+e.id),acf.doAction("acfe/form/submit/success/name="+e.name)}))},onClickSubmit:function(e,t){t.hasClass("disabled")&&e.preventDefault()},datePicker:function(e){var t=this.getFormFieldClass(e);t&&e.$inputText().addClass(t)},googleMap:function(e){var t=this.getFormFieldClass(e);t&&e.$search().addClass(t)},invalidField:function(e){var t,a,i,n=this.$getForm(e);n&&((t=n.data("errors-class"))&&e.$el.find(".acf-notice.-error").addClass(t),"hide"===(i=n.data("errors-position"))?e.$el.find(".acf-notice.-error").remove():"below"===i?(e.$control().length?e.$el.find(".acf-notice.-error").insertAfter(e.$control()):e.$input().length&&e.$el.find(".acf-notice.-error").insertAfter(e.$input()),a=!1,e.$control().length?a=e.$control():e.$input().length&&(a=e.$input()),a&&e.$el.find(".acf-notice.-error").insertAfter(a)):"group"===i&&(t=e.$el.find(".acf-label label").text().trim(),a=e.$el.find('.acf-input-wrap [placeholder!=""]').attr("placeholder"),i=e.$el.find(".acf-notice.-error").text().trim(),e.$el.find(".acf-notice.-error").remove(),i=t&&t.length&&"*"!==t?(t=t.replace(/ \*$/,""))+": "+i:a&&a.length&&""!==a?a+": "+i:e.get("name")+": "+i,(e=!(e=n.find("> .acfe-form-error")).length?o('
    ').prependTo(n):e).append("

    "+i+"

    ")))},validationBegin:function(e){void 0!==e&&e.find(".acf-error-message").remove()}}),a=function(e){var t=o(".acf-field input"),e=e.closest("form");(t=e.length?e.find(".acf-field input"):t).each(function(){this.checkValidity()||function(e){e=e.parents(".acf-postbox");!e.length||(e=acf.getPostbox(e))&&(e.$el.hasClass("hide-if-js")||"none"==e.$el.css("display"))&&(e.$el.removeClass("hide-if-js"),e.$el.css("display",""))}(o(this))})},acf.validation.onClickSubmit=function(e,t){a(t),this.set("originalEvent",e)},acf.newCondition=function(e,t){var a=t.get("field"),i=a.getField(e.field);if(a&&!i&&(i=acf.getField(e.field)),!a||!i)return!1;t={rule:e,target:a,conditions:t,field:i},i=i.get("type"),e=e.operator;return new(acf.getConditionTypes({fieldType:i,operator:e})[0]||acf.Condition)(t)})}(jQuery); \ No newline at end of file +jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(acf.registerConditionForFieldType("contains","checkbox"),acf.registerConditionForFieldType("contains","radio"),acf.registerConditionForFieldType("equalTo","acfe_code_editor"),acf.registerConditionForFieldType("notEqualTo","acfe_code_editor"),acf.registerConditionForFieldType("patternMatch","acfe_code_editor"),acf.registerConditionForFieldType("contains","acfe_code_editor"),acf.registerConditionForFieldType("hasValue","acfe_code_editor"),acf.registerConditionForFieldType("hasNoValue","acfe_code_editor"),acf.registerConditionForFieldType("equalTo","date_picker"),acf.registerConditionForFieldType("notEqualTo","date_picker"),acf.registerConditionForFieldType("patternMatch","date_picker"),acf.registerConditionForFieldType("contains","date_picker"),acf.registerConditionForFieldType("greaterThan","date_picker"),acf.registerConditionForFieldType("lessThan","date_picker"),acf.registerConditionForFieldType("equalTo","date_time_picker"),acf.registerConditionForFieldType("notEqualTo","date_time_picker"),acf.registerConditionForFieldType("patternMatch","date_time_picker"),acf.registerConditionForFieldType("contains","date_time_picker"),acf.registerConditionForFieldType("equalTo","acfe_forms"),acf.registerConditionForFieldType("notEqualTo","acfe_forms"),acf.registerConditionForFieldType("patternMatch","acfe_forms"),acf.registerConditionForFieldType("contains","acfe_forms"),acf.registerConditionForFieldType("hasValue","acfe_forms"),acf.registerConditionForFieldType("hasNoValue","acfe_forms"),acf.registerConditionForFieldType("equalTo","acfe_hidden"),acf.registerConditionForFieldType("notEqualTo","acfe_hidden"),acf.registerConditionForFieldType("patternMatch","acfe_hidden"),acf.registerConditionForFieldType("contains","acfe_hidden"),acf.registerConditionForFieldType("hasValue","acfe_hidden"),acf.registerConditionForFieldType("hasNoValue","acfe_hidden"),acf.registerConditionForFieldType("equalTo","acfe_post_statuses"),acf.registerConditionForFieldType("notEqualTo","acfe_post_statuses"),acf.registerConditionForFieldType("patternMatch","acfe_post_statuses"),acf.registerConditionForFieldType("contains","acfe_post_statuses"),acf.registerConditionForFieldType("hasValue","acfe_post_statuses"),acf.registerConditionForFieldType("hasNoValue","acfe_post_statuses"),acf.registerConditionForFieldType("equalTo","acfe_post_types"),acf.registerConditionForFieldType("notEqualTo","acfe_post_types"),acf.registerConditionForFieldType("patternMatch","acfe_post_types"),acf.registerConditionForFieldType("contains","acfe_post_types"),acf.registerConditionForFieldType("hasValue","acfe_post_types"),acf.registerConditionForFieldType("hasNoValue","acfe_post_types"),acf.registerConditionForFieldType("equalTo","acfe_slug"),acf.registerConditionForFieldType("notEqualTo","acfe_slug"),acf.registerConditionForFieldType("patternMatch","acfe_slug"),acf.registerConditionForFieldType("contains","acfe_slug"),acf.registerConditionForFieldType("hasValue","acfe_slug"),acf.registerConditionForFieldType("hasNoValue","acfe_slug"),acf.registerConditionForFieldType("equalTo","acfe_taxonomies"),acf.registerConditionForFieldType("notEqualTo","acfe_taxonomies"),acf.registerConditionForFieldType("patternMatch","acfe_taxonomies"),acf.registerConditionForFieldType("contains","acfe_taxonomies"),acf.registerConditionForFieldType("hasValue","acfe_taxonomies"),acf.registerConditionForFieldType("hasNoValue","acfe_taxonomies"),acf.registerConditionForFieldType("equalTo","taxonomy"),acf.registerConditionForFieldType("notEqualTo","taxonomy"),acf.registerConditionForFieldType("patternMatch","taxonomy"),acf.registerConditionForFieldType("contains","taxonomy"),acf.registerConditionForFieldType("hasValue","taxonomy"),acf.registerConditionForFieldType("hasNoValue","taxonomy"),acf.registerConditionForFieldType("equalTo","acfe_taxonomy_terms"),acf.registerConditionForFieldType("notEqualTo","acfe_taxonomy_terms"),acf.registerConditionForFieldType("patternMatch","acfe_taxonomy_terms"),acf.registerConditionForFieldType("contains","acfe_taxonomy_terms"),acf.registerConditionForFieldType("hasValue","acfe_taxonomy_terms"),acf.registerConditionForFieldType("hasNoValue","acfe_taxonomy_terms"),acf.registerConditionForFieldType("equalTo","time_picker"),acf.registerConditionForFieldType("notEqualTo","time_picker"),acf.registerConditionForFieldType("patternMatch","time_picker"),acf.registerConditionForFieldType("contains","time_picker"),acf.registerConditionForFieldType("equalTo","acfe_user_roles"),acf.registerConditionForFieldType("notEqualTo","acfe_user_roles"),acf.registerConditionForFieldType("patternMatch","acfe_user_roles"),acf.registerConditionForFieldType("contains","acfe_user_roles"),acf.registerConditionForFieldType("hasValue","acfe_user_roles"),acf.registerConditionForFieldType("hasNoValue","acfe_user_roles")),function(c){var i;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(i=[],acfe.registerEventForFieldType=function(e,t,a){i.push({fieldType:e,events:t="string"==typeof t?[t]:t,callback:a||!1})},acfe.getEvents=function(t){t=acf.parseArgs(t,{fieldType:""});var a=[];return i.map(function(e){t.fieldType&&-1===e.fieldType.indexOf(t.fieldType)||a.push(e)}),a},new acf.Model({actions:{new_field:"newField"},priority:20,data:{},parseEvent:function(e){return e.match(/^(\S+)\s*(.*)$/)},newField:function(o){this.set(o.cid,o.val()),acfe.getEvents({fieldType:o.get("type")}).map(function(n){n.events.map(function(e){e=this.parseEvent(e);o.on(e[1],e[2],this.proxy(function(e){var t=o.val(),a=this.get(o.cid),i=c(e.currentTarget);(n.callback||this.proxy(function(e,t,a,i,n){var o=e,c=t;"object"==typeof o&&(o=JSON.stringify(o)),(c="object"==typeof c?JSON.stringify(c):c)!==o&&(this.set(a.cid,e),acf.doAction("acfe/change_field",e,t,a,i,n),acf.doAction("acfe/change_field/type="+a.get("type"),e,t,a,i,n),acf.doAction("acfe/change_field/name="+a.get("name"),e,t,a,i,n),acf.doAction("acfe/change_field/key="+a.get("key"),e,t,a,i,n))}))(t,a,o,e,i)}))},this)},this)}}),acfe.registerEventForFieldType("button_group","change"),acfe.registerEventForFieldType("checkbox","change"),acfe.registerEventForFieldType("color_picker","change"),acfe.registerEventForFieldType("date_picker","change"),acfe.registerEventForFieldType("date_time_picker","change"),acfe.registerEventForFieldType("email",["input","change"]),acfe.registerEventForFieldType("file","change"),acfe.registerEventForFieldType("flexible_content","change"),acfe.registerEventForFieldType("gallery","change"),acfe.registerEventForFieldType("google_map","change"),acfe.registerEventForFieldType("image","change"),acfe.registerEventForFieldType("link","change"),acfe.registerEventForFieldType("number",["input","change"]),acfe.registerEventForFieldType("oembed","change"),acfe.registerEventForFieldType("page_link","change"),acfe.registerEventForFieldType("post_object","change"),acfe.registerEventForFieldType("relationship","change"),acfe.registerEventForFieldType("password",["input","change"]),acfe.registerEventForFieldType("radio","change"),acfe.registerEventForFieldType("range",["input","change"]),acfe.registerEventForFieldType("repeater","change"),acfe.registerEventForFieldType("select","change"),acfe.registerEventForFieldType("taxonomy","change"),acfe.registerEventForFieldType("text",["input","change"]),acfe.registerEventForFieldType("textarea",["input","change"]),acfe.registerEventForFieldType("time_picker","change"),acfe.registerEventForFieldType("true_false","change"),acfe.registerEventForFieldType("url",["input","change"]),acfe.registerEventForFieldType("user","change"),acfe.registerEventForFieldType("wysiwyg","change"),acfe.registerEventForFieldType("acfe_advanced_link","change"),acfe.registerEventForFieldType("acfe_block_types","change"),acfe.registerEventForFieldType("acfe_countries","change"),acfe.registerEventForFieldType("acfe_currencies","change"),acfe.registerEventForFieldType("acfe_code_editor","change"),acfe.registerEventForFieldType("acfe_date_range_picker","change"),acfe.registerEventForFieldType("acfe_field_groups","change"),acfe.registerEventForFieldType("acfe_field_types","change"),acfe.registerEventForFieldType("acfe_fields","change"),acfe.registerEventForFieldType("acfe_forms","change"),acfe.registerEventForFieldType("acfe_hidden","change"),acfe.registerEventForFieldType("acfe_image_selector","change"),acfe.registerEventForFieldType("acfe_image_sizes","change"),acfe.registerEventForFieldType("acfe_languages","change"),acfe.registerEventForFieldType("acfe_menu_locations","change"),acfe.registerEventForFieldType("acfe_options_pages","change"),acfe.registerEventForFieldType("acfe_payment","change"),acfe.registerEventForFieldType("acfe_payment_cart","change"),acfe.registerEventForFieldType("acfe_payment_selector","change"),acfe.registerEventForFieldType("acfe_phone_number","change"),acfe.registerEventForFieldType("acfe_post_formats","change"),acfe.registerEventForFieldType("acfe_post_statuses","change"),acfe.registerEventForFieldType("acfe_post_types","change"),acfe.registerEventForFieldType("acfe_recaptcha","change"),acfe.registerEventForFieldType("acfe_taxonomies","change"),acfe.registerEventForFieldType("acfe_taxonomy_terms","change"),acfe.registerEventForFieldType("acfe_templates","change"),acfe.registerEventForFieldType("acfe_user_roles","change"),acfe.registerEventForFieldType("acfe_slug",["input","change"]))}(jQuery),function(l){var i,r,f,n,o,c;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(i=[],acfe.FieldExtender=function(e){var t=acfe.extractVar(e,"id",acf.uniqueId("extender"));return e.type=acfe.getArray(e.type),e.dependencies=acfe.getArray(e.dependencies),e.extender=t,i.push(e),t},r=acf.Field.prototype.setup,acf.Field.prototype.setup=function(e){r.apply(this,arguments);var t=f(this);if(t.length){var a,i=Object.getPrototypeOf(this);this.extenders=[];for(a of t){this.extenders.push(a.extender);var n=l.extend(!0,{},a),o=acfe.extractVar(n,"events");acfe.extractVars(n,"type","condition","dependencies"),n.hasOwnProperty("setup")&&n.setup.apply(this,arguments);function c(){}c.prototype=Object.create(i),l.extend(c.prototype,n),o&&(c.prototype.events=l.extend(!0,{},c.prototype.events,o)),c.prototype.__parent__=i,i=c.prototype}this.getParent=function(e){for(var t=Object.getPrototypeOf(this);t;){if(t.extender===e)return t.__parent__;if(!t.__parent__)return t;t=t.__parent__}return t},Object.setPrototypeOf(this,i)}},f=function(e){var t,a=[];for(t of o(e))a.push(n(t));return a},n=function(e){for(var t of i)if(t.extender===e)return t;return!1},o=function(e){var t,a={};for(t of i)acfe.inArray(e.get("type"),t.type)&&(t.hasOwnProperty("condition")&&!t.condition.apply(e,arguments)||(a[t.extender]=t.dependencies));return c(a)},c=function(e,i=e,t=[],a=0){const n=(e="object"==typeof e&&!Array.isArray(e)?Object.keys(e):e).reduce(function(e,t,a){return i[t].every(Array.prototype.includes,e)&&e.push(t),e},t);t=e.filter(function(e){return!n.includes(e)});return t.length&&a<=e.length?c(t,i,n,a+1):n})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{new_field:"newField"},priority:1,validateField:function(e){return!!e.has("ftype")&&!acf.getFieldType(e.get("type")).prototype.get("ftype")},newField:function(e){this.validateField(e)&&(e.set("rtype",e.get("type"),!0),e.set("type",e.get("ftype"),!0),e.$el.attr("data-type",e.get("ftype")),e.$el.removeAttr("data-ftype"),delete e.data.ftype)}}),function(i){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({field:!1,placement:!1,actions:{new_field:"newField"},newField:function(e){(this.field=e).has("instructionTooltip")&&this.setTooltip(),e.has("instructionAboveField")&&this.setAboveField(),e.has("instructionPlacement")&&this.overridePlacement(e.get("instructionPlacement"))},setTooltip:function(){var e=acfe.versionCompare(acf.get("wp_version"),">=","5.5")?"dashicons-info-outline":"dashicons-info";this.field.$labelWrap().prepend(''),this.field.$labelWrap().find(".description").remove()},setAboveField:function(){this.field.$inputWrap().prepend('

    '+this.field.get("instructionAboveField")+"

    "),this.field.$labelWrap().find(".description").remove()},overridePlacement:function(e){var t=this.getPlacement();t&&t!==e&&this.setPlacement(e)},getPlacement:function(){var e=!1;return this.field.$labelWrap().find(">.description").length?e="label":this.field.$inputWrap().find(">.description:first-child").length?e="above_field":this.field.$inputWrap().find(">.description:last-child").length?e="field":this.field.$labelWrap().find(">.acfe-field-tooltip").length&&(e="tooltip"),this.placement=e,this.placement},$getInstruction:function(){var e=this.getPlacement();return"label"===e?this.field.$labelWrap().find(">.description"):"above_field"===e?this.field.$inputWrap().find(">.description:first-child"):"field"===e?this.field.$inputWrap().find(">.description:last-child"):"tooltip"===e&&this.field.$labelWrap().find(">.acfe-field-tooltip")},setPlacement:function(e){var t,a=this.$getInstruction();"tooltip"===this.placement&&(t=a.attr("title"),a.remove(),a=i('

    '+t+"

    ")),"label"===e?this.field.$labelWrap().append(a):"above_field"===e?this.field.$inputWrap().prepend(a):"field"===e?this.field.$inputWrap().append(a):"tooltip"===e&&(e=acfe.versionCompare(acf.get("wp_version"),">=","5.5")?"dashicons-info-outline":"dashicons-info",this.field.$labelWrap().prepend(i('')),a.remove())}})}(jQuery),function(n){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{new_field:"newField"},getFieldType:function(e){return e.get("rtype",e.get("type"))},validateField:function(e){return!!e.has("acfeLabels")&&("checkbox"===this.getFieldType(e)||"radio"===this.getFieldType(e))},newField:function(e){if(this.validateField(e)){var t,a,i=e.get("acfeLabels");switch(this.getFieldType(e)){case"checkbox":for(t in i)a=i[t],e.$control().find('input[type=checkbox][value="'+a+'"]').closest("ul").before(""+t+"");break;case"radio":for(t in i)a=i[t],e.$control().find('input[type=radio][value="'+a+'"]').closest("li").addClass("parent").prepend(""+t+"");e.$control().hasClass("acf-hl")&&e.$control().find("li.parent").each(function(){n(this).nextUntil("li.parent").addBack().wrapAll("
    • ")})}}}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(acf.Field.prototype.getModal=function(e){var t=acfe.findModal("",this.$inputWrap());return!!t.length&&acfe.getModal(t,e)}),function(l){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{select2_init:"init"},filters:{select2_args:"args",select2_ajax_data:"ajaxData"},init:function(e,t,a,i,n){i&&(acf.doAction("select2_init/type="+i.get("type"),e,t,a,i,n),acf.doAction("select2_init/name="+i.get("name"),e,t,a,i,n),acf.doAction("select2_init/key="+i.get("key"),e,t,a,i,n))},args:function(e,i,n,o,c){return o&&(e=acf.applyFilters("select2_args/type="+o.get("type"),e,i,n,o,c),e=acf.applyFilters("select2_args/name="+o.get("name"),e,i,n,o,c),e=acf.applyFilters("select2_args/key="+o.get("key"),e,i,n,o,c),acf.isset(window,"jQuery","fn","selectWoo")||(e.templateSelection=function(e){var t=e.text,t=acf.applyFilters("select2_template_selection",t,e,i,n,o,c);t=acf.applyFilters("select2_template_selection/type="+o.get("type"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_selection/name="+o.get("name"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_selection/key="+o.get("key"),t,e,i,n,o,c);var a=l('');return a.html(acf.escHtml(t)),a.data("element",e.element),a},e.templateResult=function(e){var t=e.text,t=acf.applyFilters("select2_template_result",t,e,i,n,o,c);t=acf.applyFilters("select2_template_result/type="+o.get("type"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_result/name="+o.get("name"),t,e,i,n,o,c),t=acf.applyFilters("select2_template_result/key="+o.get("key"),t,e,i,n,o,c);var a=l('');return a.html(acf.escHtml(t)),a.data("element",e.element),a},acfe.versionCompare(acf.get("acf_version"),"<","5.10")&&(e.escapeMarkup=function(e){return"string"!=typeof e?e:acf.escHtml(e)}))),e},ajaxData:function(e,t,a,i,n){return i?(e=acf.applyFilters("select2_ajax_data/type="+i.get("type"),e,t,a,i,n),e=acf.applyFilters("select2_ajax_data/name="+i.get("name"),e,t,a,i,n),(e=acf.applyFilters("select2_ajax_data/key="+i.get("key"),e,t,a,i,n)).action?acf.applyFilters("select2_ajax_data/action="+e.action,e,t,a,i,n):e):e}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_advanced_link",events:{'click a[data-name="add"]':"onClickEdit",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove"},$control:function(){return this.$(".acf-link")},getSubField:function(e){return acf.getFields({key:e,parent:this.$el}).shift()},getSubFields:function(){return acf.getFields({parent:this.$el})},getValue:function(){var e={type:this.getSubField("type").val(),title:this.getSubField("title").val(),value:"",name:"",target:Boolean(this.getSubField("target").val())};return e.value=this.getSubField(e.type).val(),e.name=e.value,"post"!==e.type&&"term"!==e.type||(e.name=this.getSubField(e.type).$input().find(":selected").text()),e},setValue:function(e){if(!e)return this.clearValue();acfe.isString(e)&&(e={type:"url",title:"",value:e,target:!1}),e=acf.parseArgs(e,{type:"url",value:"",title:"",target:!1}),this.getSubField("type").val(e.type),this.getSubField(e.type).val(e.value),this.getSubField("title").val(e.title),this.getSubField("target").val(e.target),this.renderValue()},clearValue:function(){this.getSubFields().map(function(e){e.val("")})},renderValue:function(){var e=this.val(),t=this.$control();t.removeClass("-value -external"),(e.value||e.title)&&t.addClass("-value"),e.target&&t.addClass("-external");t="url"===e.type?e.value:"#";this.$(".link-title").html(e.title),this.$(".link-url").attr("href",t).html(e.name)},onClickEdit:function(e,t){this.getModal({open:!0,onClose:this.proxy(function(){this.renderValue()})})},onClickRemove:function(e,t){this.clearValue(),this.renderValue()}}),acf.registerFieldType(e),new acf.Model({filters:{"select2_ajax_data/action=acfe/fields/advanced_link/post_query":"ajaxData"},ajaxData:function(e,t,a,i,n){i=i.parent();return i&&(e.field_key=i.get("key")),e}}))}(jQuery),function(i){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_button",events:{"click input":"onClick","click button":"onClick"},$input:function(){return this.$("input").length?this.$("input"):this.$("button").length?this.$("button"):void 0},initialize:function(){var e=this.$input();this.inherit(e)},onClick:function(e,t){var a;this.get("ajax")&&(e.preventDefault(),a={action:"acfe/fields/button",field_key:this.get("key"),acf:acf.serialize(this.$el.closest("form"),"acf")},a=acf.applyFilters("acfe/fields/button/data",a,this.$el),a=acf.applyFilters("acfe/fields/button/data/name="+this.get("name"),a,this.$el),a=acf.applyFilters("acfe/fields/button/data/key="+this.get("key"),a,this.$el),acf.doAction("acfe/fields/button/before_ajax",this.$el,a),acf.doAction("acfe/fields/button/before",this.$el,a),acf.doAction("acfe/fields/button/before/name="+this.get("name"),this.$el,a),acf.doAction("acfe/fields/button/before/key="+this.get("key"),this.$el,a),i.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",context:this,success:function(e){acf.doAction("acfe/fields/button/ajax_success",e,this.$el,a),acf.doAction("acfe/fields/button/success",e,this.$el,a),acf.doAction("acfe/fields/button/success/name="+this.get("name"),e,this.$el,a),acf.doAction("acfe/fields/button/success/key="+this.get("key"),e,this.$el,a)},complete:function(e){e=e.responseText;acf.doAction("acfe/fields/button/complete",e,this.$el,a),acf.doAction("acfe/fields/button/complete/name="+this.get("name"),e,this.$el,a),acf.doAction("acfe/fields/button/complete/key="+this.get("key"),e,this.$el,a)}}))}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.CheckboxField,acf.models.CheckboxField=e.extend({setValue:function(e){if(!e)return this.clearValue();acfe.getArray(e).map(function(e){e=this.$(':checkbox[value="'+e+'"]');e.length&&!e.is(":checked")&&e.prop("checked",!0).trigger("change")},this)},clearValue:function(){var e=this.$inputs(),t=this.$("label");e.prop("checked",!1),t.removeClass("selected")}}))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:!1,type:"clone",events:{duplicateField:"onDuplicate"},initialize:function(){this.has("acfeCloneModal")&&(this.$el.find("> .acf-input > .acf-fields, > .acf-input > .acf-table").wrapAll('
      '),this.$el.find("> .acf-input").append(''+this.get("acfeCloneModalButton")+""),this.initializeModal())},initializeModal:function(){var e,t=this.$labelWrap().find("label").text().trim();this.$el.is("td")&&(t=this.get("acfeCloneModalButton"),(e=this.$el.closest("table").find(' > thead th[data-key="'+this.get("key")+'"]')).length&&(t=acfe.getTextNode(e))),t.length||(t=this.get("acfeCloneModalButton")),this.getModal({title:t,size:this.has("acfeCloneModalSize")?this.get("acfeCloneModalSize"):"large",footer:!!this.has("acfeCloneModalClose")&&acf.__("Close"),class:"acfe-modal-edit-"+this.get("name")+" acfe-modal-edit-"+this.get("key")})},onDuplicate:function(e,t,a){a.find(".acf-input:first > a[data-modal]").remove()}}),acf.registerFieldType(e))}(jQuery),function(t){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:!1,type:"acfe_code_editor",editor:{},events:{showField:"onShow",duplicateField:"onDuplicate"},$control:function(){return this.$("> .acf-input > .acf-input-wrap")},$input:function(){return this.$control().find("> textarea")},initialize:function(){var e;acf.isset(wp,"codeEditor")&&(e={lineNumbers:this.get("lines"),lineWrapping:!0,styleActiveLine:!1,continueComments:!0,indentUnit:this.get("indentUnit"),tabSize:1,indentWithTabs:!1,autoRefresh:!0,mode:this.get("mode"),extraKeys:{Tab:function(e){e.execCommand("indentMore")},"Shift-Tab":function(e){e.execCommand("indentLess")}}},e=acf.applyFilters("acfe/fields/code_editor/args",e,this),e=acf.applyFilters("acfe/fields/code_editor/args/name="+this.get("name"),e,this),e=acf.applyFilters("acfe/fields/code_editor/args/key="+this.get("key"),e,this),this.editor=wp.codeEditor.initialize(this.$input().get(0),{codemirror:t.extend(wp.codeEditor.defaultSettings.codemirror,e)}),this.get("rows")&&(this.editor.codemirror.getScrollerElement().style.minHeight=18.5*this.get("rows")+"px"),this.get("maxRows")&&(this.editor.codemirror.getScrollerElement().style.maxHeight=18.5*this.get("maxRows")+"px"),this.editor.codemirror.on("change",this.proxy(this.onEditorChange)),acf.doAction("acfe/fields/code_editor/init",this.editor,this),acf.doAction("acfe/fields/code_editor/init/name="+this.get("name"),this.editor,this),acf.doAction("acfe/fields/code_editor/init/key="+this.get("key"),this.editor,this))},onEditorChange:function(e,t){this.editor.codemirror.save(),this.$input().change()},onShow:function(){this.editor.codemirror&&this.editor.codemirror.refresh()},onDuplicate:function(e,t,a){a.find(".CodeMirror:last").remove()}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:"new_field",type:"acfe_column",$control:function(){return this.$(".acf-fields:first")},initialize:function(){if(this.$el.is("td")&&(this.$el.closest(".acf-table").find('th[data-type="acfe_column"]').remove(),this.remove()),this.get("endpoint"))return this.$el.find("> .acf-label").remove(),void this.$el.find("> .acf-input").remove();var e=this.$el,t=this.$el.find("> .acf-label"),a=(this.$inputWrap(),this.$control());t.remove();t=e.parent();t.addClass("acfe-column-wrapper"),a.addClass(t.hasClass("-left")?"-left":""),a.addClass(t.hasClass("-clear")?"-clear":""),a.append(e.nextUntil(".acf-field-acfe-column",".acf-field"))}}),acf.registerFieldType(e))}(jQuery),function(t){var a;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(a=acf.models.FlexibleContentField,acf.models.FlexibleContentField=a.extend({addSortable:function(a){1!=this.get("max")&&this.$layoutsWrap().sortable({items:" > .layout",handle:"> .acf-fc-layout-handle",forceHelperSize:!1,forcePlaceholderSize:!0,revert:50,tolerance:"pointer",scroll:!0,stop:function(e,t){a.render()},update:function(e,t){a.$input().trigger("change")}})},add:function(e){var t=a.prototype.add.apply(this,arguments);t.length&&t.data("added",!0)}}),new acf.Model({actions:{invalid_field:"onInvalidField",valid_field:"onValidField"},onInvalidField:function(e){e.$el.parents(".layout").addClass("acfe-flexible-modal-edit-error")},onValidField:function(e){e.$el.parents(".layout").each(function(){var e=t(this);e.find(".acf-error").length||e.removeClass("acfe-flexible-modal-edit-error")})}}))}(jQuery),function(i){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acfe.FieldExtender({id:"fc_append",type:"flexible_content",initialize:function(){this.getParent(e).initialize.apply(this,arguments),this.addEvents({appendLayout:"acfeAppendLayout"})},acfeAppendLayout:function(e,t,a){a.is(".acfe-layout-duplicated")||(this.has("acfeFlexibleModalEdition")?this.acfeModalEdit(null,a):this.openLayout(a));var i=acfe.getModal(a.closest(".acfe-modal.-open"));i?this.acfeScrollToLayout(a,i.$content()):a.is(".acfe-layout-duplicated")?this.acfeScrollToLayout(a):this.setTimeout(function(){a.data("added")&&this.acfeScrollToLayout(a)},10)},acfeScrollToLayout:function(e,t){var a=t||!1;t=t||i("body, html"),acf.isInView(e)||(e=a?e.position().top:e.offset().top-i(window).height()/2,t.animate({scrollTop:e},500))}}))}(jQuery),function(o){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_async",type:"flexible_content",condition:function(){return this.has("acfeFlexibleAjax")},add:function(n){if(n=acf.parseArgs(n,{layout:"",before:!1}),!this.allowAdd())return!1;var e={action:"acfe/flexible/models",field_key:this.get("key"),layout:n.layout},t=this.proxy(function(e){if(e){var t=o(e),a=acf.uniqid(),i="acf["+this.get("key")+"][acfcloneindex]",e=this.$control().find("> input[type=hidden]").attr("name")+"["+a+"]",e=acf.duplicate({target:t,search:i,replace:e,append:this.proxy(function(e,t){n.before?n.before.before(t):this.$layoutsWrap().append(t),acf.enable(t,this.cid),this.render()})});return e.attr("data-id",a),this.$input().trigger("change"),e}});o.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(e),dataType:"html",type:"post",beforeSend:function(){o("body").addClass("-loading")},success:t,complete:function(){o("body").removeClass("-loading")}})}})}(jQuery),function(r){var n;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&((n=acf.getFieldType("flexible_content").prototype).events["click [data-acfe-flexible-control-clone]"]="acfeCloneLayout",n.acfeCloneLayout=function(e,t){var a,i=this,n=t.closest(".layout"),o=n.data("layout"),c=r(i.$popup().html()),l=i.$layouts(),c=c.find('[data-layout="'+o+'"]'),c=(c.data("min"),c.data("max")||0),o=(a=o,l.filter(function(){return r(this).data("layout")===a}).length);if(c&&c<=o)return t.addClass("disabled"),!1;t.removeClass("disabled"),i.acfeFixInputs(n);o=n.clone();i.acfeCleanLayouts(o);t=t.closest(".acf-flexible-content").find("> input[type=hidden]").attr("name"),i.acfeDuplicate({layout:o,before:n,parent:t})},n.events["click [data-acfe-flexible-control-copy]"]="acfeCopyLayout",n.acfeCopyLayout=function(e,t){var a=t.closest(".layout").clone(),t=this.$control().find("> input[type=hidden]").attr("name");this.acfeFixInputs(a),this.acfeCleanLayouts(a);var i=JSON.stringify({source:t,layouts:a[0].outerHTML});navigator.clipboard.writeText(i).then(function(){return alert(acf.__("Layout data has been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')),!0}).catch(function(){var e=r('').appendTo(r("body"));e.attr("value",i).select(),document.execCommand("copy")?alert(acf.__("Layout data has been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')):prompt(acf.__("Please copy the following layout(s) data to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.'),i),e.remove()})},n.acfeCopyLayouts=function(){var t=this,e=t.$layoutsWrap().clone(),a=t.$control().find("> input[type=hidden]").attr("name");t.acfeFixInputs(e),t.acfeCleanLayouts(e);var i=JSON.stringify({source:a,layouts:e.html()});navigator.clipboard.writeText(i).then(function(){return alert(acf.__("Layouts data have been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')),!0}).catch(function(){var e=r('').appendTo(t.$el);e.attr("value",i).select(),document.execCommand("copy")?alert(acf.__("Layouts data have been copied to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.')):prompt(acf.__("Please copy the following layout(s) data to your clipboard.")+"\n"+acf.__('You can now paste it in the same Flexible Content on another page, using the "Paste" button action.'),i),e.remove()})},n.acfePasteLayouts=function(){var n=this,e=prompt(acf.__("Please paste previously copied layout data in the following field:"));if(null!=e&&""!==e)try{var t=JSON.parse(e),i=t.source,a=r(t.layouts).closest("[data-layout]");if(!a.length)return alert("No layouts data available");var o=r(n.$popup().html()),c=n.$layouts(),l=[];if(a.each(function(){var e,t=r(this),a=t.data("layout"),i=o.find('[data-layout="'+a+'"]'),i=(i.data("min"),i.data("max")||0),a=(e=a,c.filter(function(){return r(this).data("layout")===e}).length);i&&i<=a||n.$clone(t.attr("data-layout")).length&&l.push(t)}),!l.length)return alert("No layouts could be pasted");r.each(l,function(){var e=r(this),t=i+"["+e.attr("data-id")+"]",a=n.$control().find("> input[type=hidden]").attr("name");n.acfeDuplicate({layout:e,before:!1,search:t,parent:a})})}catch(e){console.log(e),alert("Invalid data")}},n.events['click [data-name="acfe-flexible-control-button"]']="acfeControl",n.acfeControl=function(e,t){var a=this,i=t.next(".tmpl-acfe-flexible-control-popup").html();new(acf.models.TooltipConfirm.extend({render:function(){this.html(this.get("text")),this.$el.addClass("acf-fc-popup")}}))({target:t,targetConfirm:!1,text:i,context:a,confirm:function(e,t){"paste"===t.attr("data-acfe-flexible-control-action")?a.acfePasteLayouts():"copy"===t.attr("data-acfe-flexible-control-action")&&a.acfeCopyLayouts()}}).on("click","a","onConfirm")},n.acfeDuplicate=function(a){if(a=acf.parseArgs(a,{layout:"",before:!1,parent:!1,search:"",replace:""}),!this.allowAdd())return!1;var i=acf.uniqid();a.parent&&(a.search||(a.search=a.parent+"["+a.layout.attr("data-id")+"]"),a.replace=a.parent+"["+i+"]");var e,t={target:a.layout,search:a.search,replace:a.replace,append:this.proxy(function(e,t){t.addClass("acfe-layout-duplicated"),t.attr("data-id",i),a.before?a.before.after(t):this.$layoutsWrap().append(t),acf.enable(t,this.cid),this.render()})};e=acfe.versionCompare(acf.get("acf_version"),"<","5.9")?acf.duplicate(t):n.acfeNewAcfDuplicate(t),this.$input().trigger("change");t=acf.getFields({type:"tab",parent:e});return t.length&&r.each(t,function(){this.$el.hasClass("acf-hidden")&&this.tab.$el.addClass("acf-hidden")}),e},n.acfeNewAcfDuplicate=function(e){e instanceof jQuery&&(e={target:e}),(e=acf.parseArgs(e,{target:!1,search:"",replace:"",rename:!0,before:function(e){},after:function(e,t){},append:function(e,t){e.after(t)}})).target=e.target||e.$el;var t=e.target;e.search=e.search||t.attr("data-id"),e.replace=e.replace||acf.uniqid(),e.before(t),acf.doAction("before_duplicate",t);var a=t.clone();return e.rename&&acf.rename({target:a,search:e.search,replace:e.replace,replacer:"function"==typeof e.rename?e.rename:null}),a.removeClass("acf-clone"),a.find(".ui-sortable").removeClass("ui-sortable"),e.after(t,a),acf.doAction("after_duplicate",t,a),e.append(t,a),acf.doAction("append",a),a},n.acfeFixInputs=function(e){e.find("input").each(function(){r(this).attr("value",this.value)}),e.find("textarea").each(function(){r(this).html(this.value)}),e.find("input:radio,input:checkbox").each(function(){this.checked?r(this).attr("checked","checked"):r(this).attr("checked",!1)}),e.find("option").each(function(){this.selected?r(this).attr("selected","selected"):r(this).attr("selected",!1)})},n.acfeCleanLayouts=function(e){e.find(".acf-editor-wrap").each(function(){var e=r(this);e.find(".wp-editor-container div").remove(),e.find(".wp-editor-container textarea").css("display","")}),e.find(".acf-date-picker").each(function(){r(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acf-time-picker").each(function(){r(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acf-date-time-picker").each(function(){r(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acfe-field-code-editor").each(function(){r(this).find(".CodeMirror").remove()}),e.find(".acf-color-picker").each(function(){var e=r(this),t=e.find("> input"),a=e.find(".wp-picker-container input.wp-color-picker").clone();t.after(a),e.find(".wp-picker-container").remove()}),e.find(".acf-field-post-object").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-page-link").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-select").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-font-awesome").each(function(){var e=r(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden")}),e.find(".acf-tab-wrap").each(function(){var e=r(this),t=e.closest(".acf-fields"),a=[];r.each(e.find("li a"),function(){a.push(r(this))}),t.find("> .acf-field-tab").each(function(){$current_tab=r(this),r.each(a,function(){var e=r(this);e.attr("data-key")===$current_tab.attr("data-key")&&$current_tab.find("> .acf-input").append(e)})}),e.remove()}),e.find(".acf-field-accordion").each(function(){var e=r(this);e.find("> .acf-accordion-title > .acf-accordion-icon").remove(),e.after('
      ')})})}(jQuery),function(t){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{"new_field/type=flexible_content":"newField",show:"onShow",hide:"onHide",append:"onAppend"},newField:function(e){e.addEvents({"click .acfe-fc-placeholder":"onClickCollapse"}),e.addEvents({"click .acfe-flexible-opened-actions > a":"onClickCollapse"}),e.has("acfeFlexibleModalEdition")&&(e.has("acfeFlexiblePlaceholder")||e.has("acfeFlexiblePreview"))&&(e.removeEvents({'click [data-name="collapse-layout"]':"onClickCollapse"}),e.removeEvents({"click .acfe-fc-placeholder":"onClickCollapse"})),e.has("acfeFlexibleLock")&&e.removeEvents({mouseover:"onHover"}),e.$layouts().each(function(){e.trigger("newLayout",[t(this)])})},onShow:function(e,t){"collapse"===t&&e.is(".layout")&&acf.getClosestField(e).trigger("showLayout",[e])},onHide:function(e,t){"collapse"===t&&e.is(".layout")&&!e.is(".acf-clone")&&acf.getClosestField(e).trigger("hideLayout",[e])},onAppend:function(e){var t;e?.[0]?.classList?.contains("layout")&&((t=acf.getClosestField(e)).trigger("newLayout",[e]),t.trigger("appendLayout",[e]))}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_modal_edit",type:"flexible_content",events:{'click [data-action="acfe-flexible-modal-edit"]':"acfeModalEdit"},acfeModalEdit:function(e,t){var a=t.closest(".layout"),i=a.find("> .acfe-modal.-fields"),n=a.find("> .acf-fc-layout-handle"),t=n.find("> .acf-fc-layout-order").outerHTML(),n=acfe.getTextNode(n.find(".acfe-layout-title"));acfe.getModal(i,{open:!0,title:t+n,onOpen:this.proxy(function(){this.openLayout(a)}),onClose:this.proxy(function(){this.closeLayout(a)})})}}),function(o){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_modal_select",type:"flexible_content",condition:function(){return this.has("acfeFlexibleModal")&&1'+a.getPopupHTML()+"
      "},onOpen:function(){i&&this.$content().prepend(i),a.has("acfeFlexibleModalCol")&&this.$(".acfe-modal-content .acfe-flex-container").addClass("acfe-col-"+a.get("acfeFlexibleModalCol")),a.has("acfeFlexibleThumbnails")&&this.$(".acfe-modal-content .acfe-flex-container").addClass("acfe-flex-thumbnails");var e=acfe.versionCompare(acf.get("wp_version"),">=","5.5")?"dashicons-info-outline":"dashicons-info";this.$("li a span.badge").addClass("acf-js-tooltip dashicons "+e),this.$("li:first-of-type a").blur()},onClickCategory:function(e,t){e.preventDefault();var t=t,i=t.data("acfe-flexible-category");t.closest(".acfe-flexible-categories").find("a").removeClass("nav-tab-active"),t.addClass("nav-tab-active"),this.$("a[data-layout] span[data-acfe-flexible-category]").closest("li").show(),"acfe-all"!==i&&this.$("a[data-layout] span[data-acfe-flexible-category]").each(function(){var e,t=o(this),a=t.data("acfe-flexible-category");t.closest("li").hide();for(e of a)if(acfe.slugify(i)===acfe.slugify(e)){t.closest("li").show();break}})},onClickLayout:function(e,t){e.preventDefault(),this.close(),a.add({layout:t.data("layout"),before:n})}})},getLayoutsCategories:function(){var e=o(this.getPopupHTML()),t="",i=[];return e.find("li a span[data-acfe-flexible-category]").exists()&&(e.find("li a span[data-acfe-flexible-category]").each(function(){o(this).data("acfe-flexible-category").map(function(e){var t=acfe.slugify(e),a=i.filter(function(e){return e.slug===t});acfe.isEmpty(a)&&i.push({slug:t,label:e})})}),i.length&&(t+='")),t}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_modal_settings",type:"flexible_content",events:{"click [data-acfe-flexible-settings]":"acfeLayoutSettings"},acfeLayoutSettings:function(e,t){var a=t.closest(".layout"),i=a.find("> .acfe-modal.-settings"),n=a.find("> .acf-fc-layout-handle"),t=n.find("> .acf-fc-layout-order").outerHTML(),n=acfe.getTextNode(n.find(".acfe-layout-title"));acfe.getModal(i,{open:!0,title:t+n,onClose:this.proxy(function(){this.has("acfeFlexiblePreview")&&this.closeLayout(a)})})}}),function(n){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_one_click",type:"flexible_content",condition:function(){return 1===this.$clones().length},onClickAdd:function(e,t){if(!this.validateAdd())return!1;var a=this.$clones(),i=n(a[0]).data("layout"),a=null;t.hasClass("acf-icon")&&(a=t.closest(".layout")),this.add({layout:i,before:a});a=n(".acf-fc-popup");a.length&&a.hide()}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acfe.FieldExtender({id:"fc_placeholder",type:"flexible_content",condition:function(){return this.has("acfeFlexiblePlaceholder")},initialize:function(){this.getParent(e).initialize.apply(this,arguments),this.addEvents({showLayout:"acfePlaceholderShowLayout",hideLayout:"acfePlaceholderHideLayout",newLayout:"acfePlaceholderNewLayout"})},acfePlaceholderShowLayout:function(e,t,a){this.has("acfeFlexibleModalEdition")||acf.hide(a.find("> .acfe-fc-placeholder"))},acfePlaceholderHideLayout:function(e,t,a){acf.show(a.find("> .acfe-fc-placeholder"))},acfePlaceholderNewLayout:function(e,t,a){this.isLayoutClosed(a)&&acf.show(a.find("> .acfe-fc-placeholder"))}}))}(jQuery),function(f){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_preview",type:"flexible_content",condition:function(){return this.has("acfeFlexiblePreview")},events:{hideLayout:"acfePreviewHideLayout",appendLayout:"acfePreviewAppendLayout"},acfeLayoutPreview:function(t){var a,i,n,o,e,c,l,r;this.isLayoutClosed(t)&&!t.find("> .acfe-fc-placeholder").hasClass("-loading")&&(a=this.get("key"),i=this.get("name"),n=this.$el,o=t.data("layout"),e=t.index(),(c=t.find("> .acfe-fc-placeholder")).addClass("acfe-fc-preview -loading").find("> .acfe-flexible-placeholder").prepend(''),c.find("> .acfe-fc-overlay").addClass("-hover"),l=t.children("input").attr("name").replace("[acf_fc_layout]",""),r={action:"acfe/flexible/layout_preview",field_key:a,i:e,layout:o,value:acf.serialize(t,l)},acf.doAction("acfe/fields/flexible_content/before_preview",n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/name="+i,n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/key="+a,n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/name="+i+"&layout="+o,n,t,r),acf.doAction("acfe/fields/flexible_content/before_preview/key="+a+"&layout="+o,n,t,r),f.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(r),dataType:"html",type:"post",success:function(e){e?c.find("> .acfe-flexible-placeholder").html(e):c.removeClass("acfe-fc-preview"),acf.doAction("acfe/fields/flexible_content/preview",e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/name="+i,e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/key="+a,e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/name="+i+"&layout="+o,e,n,t,r),acf.doAction("acfe/fields/flexible_content/preview/key="+a+"&layout="+o,e,n,t,r)},complete:function(){c.find("> .acfe-fc-overlay").removeClass("-hover"),c.removeClass("-loading").find("> .acfe-flexible-placeholder > .spinner").remove()}}))},acfePreviewHideLayout:function(e,t,a){this.acfeLayoutPreview(a)},acfePreviewAppendLayout:function(e,t,a){this.acfeLayoutPreview(a)}})}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_state",type:"flexible_content",condition:function(){return this.has("acfeFlexibleOpen")},addCollapsed:function(){}}),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_title_ajax",type:"flexible_content",condition:function(){return this.has("acfeFlexibleRemoveAjaxTitle")},renderLayout:function(){}}),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_title_inline",type:"flexible_content",condition:function(){return this.has("acfeFlexibleTitleEdition")},events:{"click .acf-fc-layout-handle":"acfeEditLayoutTitleToggleHandle","click .acfe-layout-title-text":"acfeEditLayoutTitle","blur input.acfe-flexible-control-title":"acfeEditLayoutTitleToggle","click input.acfe-flexible-control-title":"acfeEditLayoutTitlePropagation","input [data-acfe-flexible-control-title-input]":"acfeEditLayoutTitleInput","keypress [data-acfe-flexible-control-title-input]":"acfeEditLayoutTitleInputEnter"},acfeEditLayoutTitleToggleHandle:function(e,t){t=t.closest(".layout");t.hasClass("acfe-flexible-title-edition")&&t.find("> .acf-fc-layout-handle > .acfe-layout-title > input.acfe-flexible-control-title").trigger("blur")},acfeEditLayoutTitle:function(e,t){e.stopPropagation(),this.acfeEditLayoutTitleToggle(e,t)},acfeEditLayoutTitleToggle:function(e,t){var a,i=t.closest(".layout"),n=i.find("> .acf-fc-layout-handle"),t=n.find(".acfe-layout-title");i.hasClass("acfe-flexible-title-edition")?(""===(a=t.find("> input[data-acfe-flexible-control-title-input]")).val()&&a.val(a.attr("placeholder")).trigger("input"),i.removeClass("acfe-flexible-title-edition"),a.insertAfter(n)):(a=(a=i.find("> input[data-acfe-flexible-control-title-input]")).appendTo(t),i.addClass("acfe-flexible-title-edition"),a.focus().attr("size",a.val().length))},acfeEditLayoutTitlePropagation:function(e,t){e.stopPropagation()},acfeEditLayoutTitleInput:function(e,t){var a=t.closest(".layout").find("> .acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text"),i=t.val();t.attr("size",i.length),a.html(i)},acfeEditLayoutTitleInputEnter:function(e,t){13===e.keyCode&&(e.preventDefault(),t.blur())}}),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&acfe.FieldExtender({id:"fc_toggle",type:"flexible_content",condition:function(){return this.has("acfeFlexibleToggle")},events:{"click [data-acfe-flexible-control-toggle]":"acfeLayoutToggle"},acfeLayoutToggle:function(e,t){var a=t.closest(".layout"),t=a.find("> .acfe-flexible-layout-toggle");t.length&&("1"===t.val()?(a.removeClass("acfe-flexible-layout-hidden"),t.val("")):(a.addClass("acfe-flexible-layout-hidden"),t.val("1")))}}),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({wait:!1,type:"group",events:{duplicateField:"onDuplicate"},initialize:function(){this.has("acfeGroupModal")&&(this.$inputWrap().find("> .acf-fields, > .acf-table").wrapAll('
      '),this.$inputWrap().append(''+this.get("acfeGroupModalButton")+""),this.initializeModal())},initializeModal:function(){var e,t=this.$labelWrap().find("label").text().trim();this.$el.is("td")&&(t=this.get("acfeGroupModalButton"),(e=this.$el.closest("table").find(' > thead th[data-key="'+this.get("key")+'"]')).length&&(t=acfe.getTextNode(e))),t.length||(t=this.get("acfeGroupModalButton")),this.getModal({title:t,size:this.has("acfeGroupModalSize")?this.get("acfeGroupModalSize"):"large",footer:!!this.has("acfeGroupModalClose")&&acf.__("Close"),class:"acfe-modal-edit-"+this.get("name")+" acfe-modal-edit-"+this.get("key")})},onDuplicate:function(e,t,a){a.find(".acf-input:first > a[data-modal]").remove()}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.RadioField,acf.models.RadioField=e.extend({setValue:function(e){if(!e)return this.clearValue();e=this.$(':radio[value="'+e+'"]');e.length&&!e.is(":checked")&&(e.prop("checked",!0).trigger("change"),this.onClick(null,e))},clearValue:function(){this.get("allow_null")?this.$input().length&&this.onClick(null,this.$input()):this.val(this.$(":radio").first().val())}}))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_recaptcha",wait:"load",actions:{validation_failure:"validationFailure"},$control:function(){return this.$(".acfe-field-recaptcha")},$input:function(){return this.$('input[type="hidden"]')},$selector:function(){return this.$control().find("> div")},selector:function(){return this.$selector()[0]},initialize:function(){"v2"===this.get("version")?this.renderV2(this):"v3"===this.get("version")&&this.renderV3()},renderV2:function(t){var e=this.selector(),a=this.$input(),i=this.get("siteKey"),n=this.get("theme"),o=this.get("size");this.recaptcha=grecaptcha.render(e,{sitekey:i,theme:n,size:o,callback:function(e){acf.val(a,e,!0),t.removeError()},"error-callback":function(){acf.val(a,"",!0),t.showError("An error has occured")},"expired-callback":function(){acf.val(a,"",!0),t.showError("reCaptcha has expired")}})},renderV3:function(){var t=this.$input(),e=this.get("siteKey"),a=function(){grecaptcha.ready(function(){grecaptcha.execute(e,{action:"homepage"}).then(function(e){acf.val(t,e,!0)})}),setTimeout(a,8e4)};a()},validationFailure:function(e){"v2"===this.get("version")&&grecaptcha.reset(this.recaptcha)}}),acf.registerFieldType(e))}(jQuery),jQuery,"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(acf.getFieldType("repeater").prototype.acfeOnHover=function(){this.off("mouseover")},acf.addAction("new_field/type=repeater",function(e){e.has("acfeRepeaterLock")&&(e.removeEvents({mouseover:"onHover"}),e.addEvents({mouseover:"acfeOnHover"})),e.has("acfeRepeaterRemoveActions")&&(e.$actions().remove(),e.$el.find("thead:first > tr > th.acf-row-handle:last").remove(),e.$rows().find("> .acf-row-handle:last").remove(),e.$control().find("> .acfe-repeater-stylised-button").remove()),e.has("acfeRepeaterStylisedButton")&&(e.$button().removeClass("button-primary"),e.$actions().wrap('
      '))})),function(l){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{"new_field/type=select":"newSelect",select2_init:"init"},filters:{select2_args:"args"},newSelect:function(e){e.inherit(e.$input()),!e.get("ui")&&e.get("allow_null")&&e.$input().find("option").each(function(e,t){!t.value&&t.text.startsWith("- ")&&t.text.endsWith(" -")&&(t.text=t.text.substring(2),t.text=t.text.substring(0,t.text.length-2))}),(e.has("acfePrepend")||e.has("acfeAppend"))&&(e.$input().parent(".acf-input-wrap").length||(e.$input().wrapAll('
      '),e.get("ui")&&e.$(".acf-input-wrap:first").append(e.$(".select2")),e.has("acfePrepend")&&(e.$(".acf-input-wrap:first").before('
      '+e.get("acfePrepend")+"
      "),e.$input().addClass("acf-is-prepended")),e.has("acfeAppend")&&(e.$(".acf-input-wrap:first").before('
      '+e.get("acfeAppend")+"
      "),e.$input().addClass("acf-is-appended"))))},init:function(e,t,a,i,n){e.on("select2:clear",function(e){l(this).on("select2:opening.cancelOpen",function(e){e.preventDefault(),l(this).off("select2:opening.cancelOpen")})}),i&&(e.data("select2")&&e.data("select2").$dropdown.addClass("select2-dropdown-acf").addClass("select2-dropdown-acf-field-"+i.get("name")).addClass("select2-dropdown-acf-field-"+i.get("key")),!i.get("multiple")&&i.get("acfeSearchPlaceholder")&&e.on("select2:open",function(e){l(".select2-search.select2-search--dropdown > .select2-search__field").attr("placeholder",i.get("acfeSearchPlaceholder"))}))},args:function(e,t,a,i,n){return i&&i.get("acfeAllowCustom")&&(e.tags=!0,e.createTag=function(e){var t,a=l.trim(e.term);if(""===a)return null;var i=acf.isget(this,"_request","responseJSON","results");if(i){e:for(var n of i)if(n.children)for(var o of n.children)if("string"==typeof o.id&&o.id.toLowerCase()===a.toLowerCase()){t=!0;break e}}else for(var c of this.$element.find("option"))if(c.value.toLowerCase()===a.toLowerCase()){t=!0;break}return t?null:{id:a,text:a}},e.insertTag=function(e,t){var a,i;for(i of e)if(l.trim(t.text).toUpperCase()===l.trim(i.text).toUpperCase()){a=!0;break}a||e.unshift(t)}),e}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"acfe_slug",events:{"input input":"onInput","focusout input":"onFocusOut"},onInput:function(e,t){t.val(t.val().toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/\_\_+/g,"_").replace(/^-+/,""))},onFocusOut:function(e,t){t.val(t.val().toLowerCase().replace(/-+$/,"").replace(/_+$/,""))}}),acf.registerFieldType(e))}(jQuery),function(a){"undefined"!=typeof acf&&"undefined"!=typeof acfe&&new acf.Model({actions:{"prepare_field/type=tab":"prepareField"},prepareField:function(e){var t,i,n;e.has("noPreference")&&(t=e.findTabs(),t=acf.getInstances(t),i=e.get("key"),!t.length||(n=acf.getPreference("this.tabs"))&&(a.each(t,function(e,t){var a=t.get("index");t.data.key===i&&(n[a]=0)}),acf.setPreference("this.tabs",n)))}})}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.Field.extend({type:"textarea",events:{"keydown textarea":"onInput"},onInput:function(e,t){var a,i;this.has("acfeTextareaCode")&&9===e.keyCode&&(e.preventDefault(),a=this.$el.find("textarea")[0],i=a.selectionStart,this.$el.find("textarea").val(function(e,t){return t.substring(0,i)+" "+t.substring(a.selectionEnd)}),a.selectionEnd=i+4)}}),acf.registerFieldType(e))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.TrueFalseField,acf.models.TrueFalseField=e.extend({setValue:function(e){if(!e)return this.clearValue();this.switchOn(),this.trigger("change")},clearValue:function(){this.switchOff(),this.trigger("change")}}))}(jQuery),function(){var e;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(e=acf.models.WysiwygField,acf.models.WysiwygField=e.extend({initialize:function(){this.has("id")||this.$control().hasClass("delay")||this.initializeEditor()}}),new acf.Model({actions:{"append_field/type=wysiwyg":"appendField","show_field/type=wysiwyg":"showField","ready_field/type=wysiwyg":"showField"},appendField:function(e){this.setTimeout(function(){this.showField(e)},1)},showField:function(e){e.has("acfeWysiwygAutoInit")&&e.$el.is(":visible")&&!e.has("id")&&!acfe.isFilterEnabled("acfeFlexibleOpen")&&this.initializeEditor(e)},initializeEditor:function(e){e.$control().hasClass("delay")&&(e.$control().removeClass("delay"),e.$control().find(".acf-editor-toolbar").remove(),e.initializeEditor())}}))}(jQuery),function(o){var e,a;"undefined"!=typeof acf&&"undefined"!=typeof acfe&&(new acf.Model({wait:"prepare",priority:1,initialize:function(){acfe.get("is_admin")||new e}}),e=acf.Model.extend({actions:{"new_field/type=date_picker":"datePicker","new_field/type=date_time_picker":"datePicker","new_field/type=time_picker":"datePicker","new_field/type=google_map":"googleMap",invalid_field:"invalidField",validation_begin:"validationBegin"},events:{"click .acf-form .button":"onClickSubmit",'click .acf-form [type="submit"]':"onClickSubmit","click .acfe-form .button":"onClickSubmit",'click .acfe-form [type="submit"]':"onClickSubmit"},$getForm:function(e=!1){var t=o(".acfe-form");return!!(t=e?e.$el.closest(".acfe-form"):t).length&&t},getFormFieldClass:function(e){e=this.$getForm(e);return e&&e.data("fields-class")||!1},initialize:function(){acf.isset(window,"wp","media","view","settings","post")&&(wp.media.view.settings.post=!1),this.setupUnload(),this.setupSuccess()},setupUnload:function(){o('.acfe-form[data-hide-unload="1"]').length&&acf.unload.disable()},setupSuccess:function(){acfe.get("acfe_form_success")&&(window.history.replaceState&&window.history.replaceState(null,null,window.location.href),acfe.get("acfe_form_success").map(function(e){acf.doAction("acfe/form/success"),acf.doAction("acfe/form/success/id="+e.id),acf.doAction("acfe/form/success/name="+e.name),acf.doAction("acfe/form/submit/success"),acf.doAction("acfe/form/submit/success/id="+e.id),acf.doAction("acfe/form/submit/success/name="+e.name)}))},onClickSubmit:function(e,t){t.hasClass("disabled")&&e.preventDefault()},datePicker:function(e){var t=this.getFormFieldClass(e);t&&e.$inputText().addClass(t)},googleMap:function(e){var t=this.getFormFieldClass(e);t&&e.$search().addClass(t)},invalidField:function(e){var t,a,i,n=this.$getForm(e);n&&((t=n.data("errors-class"))&&e.$el.find(".acf-notice.-error").addClass(t),"hide"===(i=n.data("errors-position"))?e.$el.find(".acf-notice.-error").remove():"below"===i?(e.$control().length?e.$el.find(".acf-notice.-error").insertAfter(e.$control()):e.$input().length&&e.$el.find(".acf-notice.-error").insertAfter(e.$input()),a=!1,e.$control().length?a=e.$control():e.$input().length&&(a=e.$input()),a&&e.$el.find(".acf-notice.-error").insertAfter(a)):"group"===i&&(t=e.$el.find(".acf-label label").text().trim(),a=e.$el.find('.acf-input-wrap [placeholder!=""]').attr("placeholder"),i=e.$el.find(".acf-notice.-error").text().trim(),e.$el.find(".acf-notice.-error").remove(),i=t&&t.length&&"*"!==t?(t=t.replace(/ \*$/,""))+": "+i:a&&a.length&&""!==a?a+": "+i:e.get("name")+": "+i,(e=!(e=n.find("> .acfe-form-error")).length?o('
      ').prependTo(n):e).append("

      "+i+"

      ")))},validationBegin:function(e){void 0!==e&&e.find(".acf-error-message").remove()}}),a=function(e){var t=o(".acf-field input"),e=e.closest("form");(t=e.length?e.find(".acf-field input"):t).each(function(){this.checkValidity()||function(e){e=e.parents(".acf-postbox");!e.length||(e=acf.getPostbox(e))&&(e.$el.hasClass("hide-if-js")||"none"==e.$el.css("display"))&&(e.$el.removeClass("hide-if-js"),e.$el.css("display",""))}(o(this))})},acf.validation.onClickSubmit=function(e,t){a(t),this.set("originalEvent",e)},acf.newCondition=function(e,t){var a=t.get("field"),i=a.getField(e.field);if(a&&!i&&acf.findField(e.field).length&&(i=acf.getField(e.field)),!a||!i)return!1;t={rule:e,target:a,conditions:t,field:i},i=i.get("type"),e=e.operator;return new(acf.getConditionTypes({fieldType:i,operator:e})[0]||acf.Condition)(t)})}(jQuery); \ No newline at end of file diff --git a/includes/acfe-form-functions.php b/includes/acfe-form-functions.php index 3dd40cc..30f0b6a 100644 --- a/includes/acfe-form-functions.php +++ b/includes/acfe-form-functions.php @@ -228,7 +228,6 @@ function acfe_form_get_action($name = false, $key = false){ function acfe_form_is_admin(){ _deprecated_function('ACF Extended: acfe_form_is_admin()', '0.8.8', "acfe_is_admin()"); - return acfe_is_admin(); } @@ -246,7 +245,91 @@ function acfe_form_is_admin(){ function acfe_form_is_front(){ _deprecated_function('ACF Extended: acfe_form_is_front()', '0.8.8', "acfe_is_front()"); - return acfe_is_front(); +} + + +/** + * acfe_import_form + * + * @param $args + * + * @return array|mixed|WP_Error + */ +function acfe_import_form($args){ + + // json string + if(is_string($args)){ + $args = json_decode($args, true); + } + + // validate array + if(!is_array($args) || empty($args)){ + return new WP_Error('acfe_import_form_invalid_input', __("Input is invalid: Must be a json string or an array.")); + } + + // module + $module = acfe_get_module('form'); + + /** + * single item + * + * array( + * 'title' => 'My Form', + * 'acfe_form_name' => 'my-form', + * 'acfe_form_actions' => array(...) + * ) + */ + if(isset($args['title'])){ + + $args = array( + $args + ); + + } + + // vars + $result = array(); + + // loop + foreach($args as $key => $item){ + + // prior 0.9 + // old import had name as key + if(!is_numeric($key) && !isset($item['name'])){ + $item['name'] = $key; + } + + // name still missing + // retrieve from old key acfe_form_name + if(!isset($item['name'])){ + $item['name'] = acf_maybe_get($item, 'acfe_form_name'); + } + + // search database for existing item + $post = $module->get_item_post($item['name']); + if($post){ + $item['ID'] = $post->ID; + } + + // import item + $item = $module->import_item($item); + + $return = array( + 'success' => true, + 'post_id' => $item['ID'], + 'message' => 'Form "' . get_the_title($item['ID']) . '" successfully imported.', + ); + + $result[] = $return; + + } + + if(count($result) === 1){ + $result = $result[0]; + } + + return $result; + } \ No newline at end of file diff --git a/includes/modules/form/module-form-action-email.php b/includes/modules/form/module-form-action-email.php index 2e7b7d8..22184d6 100644 --- a/includes/modules/form/module-form-action-email.php +++ b/includes/modules/form/module-form-action-email.php @@ -100,6 +100,10 @@ function process($form, $action){ acfe_apply_tags($action['email']['subject']); acfe_apply_tags($action['email']['content']); + if(!$action['email']['html']){ + $action['email']['content'] = wpautop($action['email']['content']); + } + // args $args = $action['email']; @@ -717,7 +721,7 @@ function register_layout($layout){ ), 'choices' => array( 'editor' => __('Content Editor', 'acfe'), - 'html' => __('HTML Editor', 'acfe'), + 'html' => __('Raw HTML', 'acfe'), ), 'default_value' => array('custom'), 'allow_null' => 0, diff --git a/includes/modules/form/module-form-action.php b/includes/modules/form/module-form-action.php index 1c4d70c..a8d6806 100644 --- a/includes/modules/form/module-form-action.php +++ b/includes/modules/form/module-form-action.php @@ -206,23 +206,27 @@ function load_acf_values($form, $post_id, $acf_fields, $acf_fields_exclude){ continue; } - // get value + // get field & value + $field = acf_get_field($field_key); $value = acfe_get_value_from_acf_values_by_key($acf, $field_key); + // value is null + // might be a "taxonomy field" with "load values" + if($field && $value === null){ + + // we need to retrieve the taxonomy valud via acf_get_value() + // so the load_value() method kicks in and "load values" can inject data + $value = acf_get_value($post_id, $field); + + } + // map value $form['map'][ $field_key ]['value'] = $value; - - // seamless clone rule - $field = acf_get_field($field_key); - if($field){ + if($field && $field['type'] === 'clone' && $field['display'] === 'seamless'){ - if($field['type'] === 'clone' && $field['display'] === 'seamless'){ - - foreach(acf_get_array($value) as $sub_field_key => $sub_field_value){ - $form['map'][ $sub_field_key ]['value'] = $sub_field_value; - } - + foreach(acf_get_array($value) as $sub_field_key => $sub_field_value){ + $form['map'][ $sub_field_key ]['value'] = $sub_field_value; } } diff --git a/includes/modules/form/module-form-deprecated.php b/includes/modules/form/module-form-deprecated.php index fcebb34..e49f38c 100644 --- a/includes/modules/form/module-form-deprecated.php +++ b/includes/modules/form/module-form-deprecated.php @@ -574,8 +574,8 @@ function make_action($form, $action){ */ function load_form($form){ - // deprecated - $form = apply_filters_deprecated("acfe/form/load", array($form, $form['post_id']), '0.9', "acfe/form/load_form"); + // deprecated + if($form){$form = apply_filters_deprecated("acfe/form/load", array($form, $form['post_id']), '0.9', "acfe/form/load_form");} if($form){$form = apply_filters_deprecated("acfe/form/load/form={$form['name']}", array($form, $form['post_id']), '0.9', "acfe/form/load_form/form={$form['name']}");} return $form; diff --git a/includes/modules/form/module-form-hooks.php b/includes/modules/form/module-form-format.php similarity index 84% rename from includes/modules/form/module-form-hooks.php rename to includes/modules/form/module-form-format.php index 095792f..f3a5d0b 100644 --- a/includes/modules/form/module-form-hooks.php +++ b/includes/modules/form/module-form-format.php @@ -4,9 +4,9 @@ exit; } -if(!class_exists('acfe_module_form_hooks')): +if(!class_exists('acfe_module_form_format')): -class acfe_module_form_hooks{ +class acfe_module_form_format{ /** * __construct @@ -406,7 +406,7 @@ function format_value($unformatted, $field){ } -acf_new_instance('acfe_module_form_hooks'); +acf_new_instance('acfe_module_form_format'); endif; @@ -428,91 +428,6 @@ function acfe_form_format_value($value, $field, $deprecated = null){ $field = $deprecated; // second argument was $post_id } - return acf_get_instance('acfe_module_form_hooks')->format_value($value, $field); - -} - - -/** - * acfe_import_form - * - * @param $args - * - * @return array|mixed|WP_Error - */ -function acfe_import_form($args){ - - // json string - if(is_string($args)){ - $args = json_decode($args, true); - } - - // validate array - if(!is_array($args) || empty($args)){ - return new WP_Error('acfe_import_form_invalid_input', __("Input is invalid: Must be a json string or an array.")); - } - - // module - $module = acfe_get_module('form'); - - /** - * single item - * - * array( - * 'title' => 'My Form', - * 'acfe_form_name' => 'my-form', - * 'acfe_form_actions' => array(...) - * ) - */ - if(isset($args['title'])){ - - $args = array( - $args - ); - - } - - // vars - $result = array(); - - // loop - foreach($args as $key => $item){ - - // prior 0.9 - // old import had name as key - if(!is_numeric($key) && !isset($item['name'])){ - $item['name'] = $key; - } - - // name still missing - // retrieve from old key acfe_form_name - if(!isset($item['name'])){ - $item['name'] = acf_maybe_get($item, 'acfe_form_name'); - } - - // search database for existing item - $post = $module->get_item_post($item['name']); - if($post){ - $item['ID'] = $post->ID; - } - - // import item - $item = $module->import_item($item); - - $return = array( - 'success' => true, - 'post_id' => $item['ID'], - 'message' => 'Form "' . get_the_title($item['ID']) . '" successfully imported.', - ); - - $result[] = $return; - - } - - if(count($result) === 1){ - $result = $result[0]; - } - - return $result; + return acf_get_instance('acfe_module_form_format')->format_value($value, $field); } \ No newline at end of file diff --git a/includes/modules/form/module-form-front-render.php b/includes/modules/form/module-form-front-render.php index 615c28f..c336d8a 100644 --- a/includes/modules/form/module-form-front-render.php +++ b/includes/modules/form/module-form-front-render.php @@ -14,10 +14,31 @@ class acfe_module_form_front_render{ function __construct(){ add_filter('acfe/form/prepare_form', array($this, 'prepare_form'), 9); + add_action('acfe/form/success_form', array($this, 'success_form'), 9); + + add_action('acfe/form/render_before_form', array($this, 'render_before_form'), 9); add_action('acfe/form/render_before_fields', array($this, 'render_before_fields'), 9); add_action('acfe/form/render_fields', array($this, 'render_fields'), 9); + add_action('acfe/form/render_after_fields', array($this, 'render_after_fields'), 9); + add_action('acfe/form/render_submit', array($this, 'render_submit'), 9); add_action('acfe/form/render_after_form', array($this, 'render_after_form'), 9); - add_action('acfe/form/success_form', array($this, 'success_form'), 9); + + } + + + /** + * prepare_form + * + * @param $form + */ + function prepare_form($form){ + + if(!$form){ + return false; + } + + add_filter("acfe/form/prepare_form/form={$form['name']}", array($this, 'form_prepare_form'), 9); + return apply_filters("acfe/form/prepare_form/form={$form['name']}", $form); } @@ -29,11 +50,108 @@ function __construct(){ */ function success_form($form){ - // append data for javascript hooks - acfe_append_localize_data('acfe_form_success', array( - 'name' => $form['name'], - 'id' => $form['ID'], - )); + add_action("acfe/form/success_form/form={$form['name']}", array($this, 'form_success_form'), 9); + do_action("acfe/form/success_form/form={$form['name']}", $form); + + } + + + /** + * render_before_form + * + * @param $form + * + * @return void + */ + function render_before_form($form){ + + add_action("acfe/form/render_before_form/form={$form['name']}", array($this, 'form_render_before_form'), 9); + do_action("acfe/form/render_before_form/form={$form['name']}", $form); + + } + + + /** + * render_before_fields + * + * @param $form + * + * @return void + */ + function render_before_fields($form){ + + add_action("acfe/form/render_before_fields/form={$form['name']}", array($this, 'form_render_before_fields'), 9); + do_action("acfe/form/render_before_fields/form={$form['name']}", $form); + + } + + + /** + * render_fields + * + * @param $form + * + * @return void + */ + function render_fields($form){ + + add_action("acfe/form/render_fields/form={$form['name']}", array($this, 'form_render_fields'), 9); + do_action("acfe/form/render_fields/form={$form['name']}", $form); + + } + + + /** + * render_after_fields + * + * @param $form + * + * @return void + */ + function render_after_fields($form){ + + add_action("acfe/form/render_after_fields/form={$form['name']}", array($this, 'form_render_after_fields'), 9); + do_action("acfe/form/render_after_fields/form={$form['name']}", $form); + + } + + + /** + * render_submit + * + * @param $form + * + * @return void + */ + function render_submit($form){ + + add_action("acfe/form/render_submit/form={$form['name']}", array($this, 'form_render_submit'), 9); + do_action("acfe/form/render_submit/form={$form['name']}", $form); + + } + + + /** + * render_after_form + * + * @param $form + * + * @return void + */ + function render_after_form($form){ + + add_action("acfe/form/render_after_form/form={$form['name']}", array($this, 'form_render_after_form'), 9); + do_action("acfe/form/render_after_form/form={$form['name']}", $form); + + } + + + /** + * form_success_form + * + * @param $form + */ + function form_success_form($form){ // get message $message = $form['success']['message']; @@ -54,7 +172,7 @@ function success_form($form){ /** - * prepare_form + * form_prepare_form * * acfe/form/prepare_form * @@ -62,7 +180,11 @@ function success_form($form){ * * @return mixed */ - function prepare_form($form){ + function form_prepare_form($form){ + + if(!$form){ + return false; + } // form success if(acfe_is_form_success($form['name'])){ @@ -75,9 +197,14 @@ function prepare_form($form){ acfe_apply_tags($form['success']['message']); acfe_apply_tags($form['success']['wrapper']); - - do_action("acfe/form/success_form", $form); - do_action("acfe/form/success_form/form={$form['name']}", $form); + + // append data for javascript hooks + acfe_append_localize_data('acfe_form_success', array( + 'name' => $form['name'], + 'id' => $form['ID'], + )); + + do_action('acfe/form/success_form', $form); if($setup_meta){ acfe_reset_meta(); @@ -91,48 +218,10 @@ function prepare_form($form){ } // field attributes - if($form['attributes']['fields']['wrapper_class'] || $form['attributes']['fields']['class'] || $form['attributes']['fields']['label'] === 'hidden'){ - - add_filter('acf/prepare_field', function($field) use($form){ - - if(!$field){ - return $field; - } - - if($form['attributes']['fields']['wrapper_class']){ - $field['wrapper']['class'] .= ' ' . $form['attributes']['fields']['wrapper_class']; - } - - if($form['attributes']['fields']['class']){ - $field['class'] .= ' ' . $form['attributes']['fields']['class']; - } - - if($form['attributes']['fields']['label'] === 'hidden'){ - $field['label'] = false; - } - - return $field; - - }); - - } + add_filter('acf/prepare_field', array($this, 'prepare_field_attributes'), 15); - // map form - foreach($form['map'] as $key => $_field){ - - add_filter("acf/prepare_field/key={$key}", function($field) use($_field){ - - // hide field - if(!$field || !$_field){ - return false; - } - - // merge settings - return array_merge($field, $_field); - - }); - - } + // field values + add_filter('acf/prepare_field', array($this, 'prepare_field_values'), 15); // uploader (always set in case of multiple forms on the page) acf_disable_filter('acfe/form/uploader'); @@ -222,30 +311,102 @@ function prepare_form($form){ /** - * render_before_fields + * prepare_field_attributes * - * acfe/form/render_before_fields + * @param $field * - * @param $form + * @return array|mixed */ - function render_before_fields($form){ + function prepare_field_attributes($field){ + + // hidden by code + if(!$field){ + return $field; + } + + // get form context + $form = acfe_get_context('form'); + if(!$form){ + return $field; + } + + if($form['attributes']['fields']['wrapper_class']){ + $field['wrapper']['class'] .= ' ' . $form['attributes']['fields']['wrapper_class']; + } + + if($form['attributes']['fields']['class']){ + $field['class'] .= ' ' . $form['attributes']['fields']['class']; + } + + if($form['attributes']['fields']['label'] === 'hidden'){ + $field['label'] = false; + } + + return $field; + + } + + /** + * prepare_field_values + * + * @param $field + * + * @return mixed + */ + function prepare_field_values($field){ + + // hidden by code + if(!$field){ + return $field; + } + + // get form context + $form = acfe_get_context('form'); + if(!$form){ + return $field; + } + + // mapping not set + if(!isset($form['map'][ $field['key'] ])){ + return $field; + } + + // hidden in mapping + if($form['map'][ $field['key'] ] === false){ + return false; + } + + return array_merge($field, $form['map'][ $field['key'] ]); + + } + + + /** + * form_render_before_form + * + * acfe/form/render_before_form + * + * @param $form + */ + function form_render_before_form($form){ + /** * form wrapper open */ $element = $form['attributes']['form']['element']; $is_preview = acfe_is_dynamic_preview(); - + // remove
      if($is_preview){ $element = 'div'; } - + // disabled required + fields names if($is_preview){ add_filter('acf/prepare_field', array($this, 'disable_fields')); } - + // atts // todo: use acf_localize_data to pass data to JS unique generated ID $atts = array( @@ -260,7 +421,7 @@ function render_before_fields($form){ 'data-errors-position' => $form['validation']['errors_position'], 'data-errors-class' => $form['validation']['errors_class'], ); - + // form class if($form['attributes']['form']['class']){ $atts['class'] .= ' ' . $form['attributes']['form']['class']; @@ -270,24 +431,36 @@ function render_before_fields($form){ if($element === 'div'){ unset($atts['method'], $atts['action']); } - + // esc atts $atts = acf_esc_attrs($atts); - + // echo "<{$element} {$atts}>"; - + // form data // do not set form data in preview mode if(!$is_preview){ - + acf_form_data(array( 'screen' => 'acfe_form', 'post_id' => $form['post_id'], 'form' => acf_encrypt(json_encode($form)) )); - + } + + } + + + /** + * form_render_before_fields + * + * acfe/form/render_before_fields + * + * @param $form + */ + function form_render_before_fields($form){ /** * fields wrapper open @@ -307,16 +480,13 @@ function render_before_fields($form){ /** - * render_fields + * form_render_fields * * acfe/form/render_fields * * @param $form */ - function render_fields($form){ - - // vars - $form_uniqid = acf_uniqid('acfe_form'); + function form_render_fields($form){ // honeypot // ACF will then automatically validate that _validate_email field @@ -335,8 +505,7 @@ function render_fields($form){ )); $honeypot = array(acf_get_field('_validate_email')); - - acf_render_fields($honeypot, $form_uniqid, $form['attributes']['fields']['element'], $form['attributes']['fields']['instruction']); + acf_render_fields($honeypot, $form['uniqid'], $form['attributes']['fields']['element'], $form['attributes']['fields']['instruction']); } @@ -348,7 +517,7 @@ function render_fields($form){ }else{ $fields = $this->get_allowed_fields($form); - acf_render_fields($fields, $form_uniqid, $form['attributes']['fields']['element'], $form['attributes']['fields']['instruction']); + acf_render_fields($fields, $form['uniqid'], $form['attributes']['fields']['element'], $form['attributes']['fields']['instruction']); } @@ -356,28 +525,52 @@ function render_fields($form){ /** - * render_after_form + * form_render_after_fields * - * acfe/form/render_after_form + * acfe/form/render_after_fields * * @param $form */ - function render_after_form($form){ + function form_render_after_fields($form){ /** * fields wrapper close */ echo '
      '; + + } + + /** + * form_render_submit + * + * acfe/form/render_submit + * + * @param $form + */ + function form_render_submit($form){ + // form submit if($form['attributes']['submit']): ?>
      - +
      get_form($form); + // tags context + acfe_add_context('form', $form); + acfe_add_context('method', 'load'); + // load form - $form = $this->load_form($form); - + $form = apply_filters('acfe/form/load_form', $form); + // validate - if($form === false){ + if(!$form || empty($form['active'])){ return; } + // update context + // used in prepare_field_attributes() & prepare_field_values() + acfe_add_context('form', $form); + // prepare form - $form = apply_filters("acfe/form/prepare_form", $form); - if($form){$form = apply_filters("acfe/form/prepare_form/form={$form['name']}", $form);} + $form = apply_filters("acfe/form/prepare_form", $form); // enqueue acf acf_enqueue_scripts(); // validate - if($form === false){ + if(!$form){ return; } // hooks - do_action("acfe/form/render_before_form", $form); - do_action("acfe/form/render_before_form/form={$form['name']}", $form); - - do_action("acfe/form/render_before_fields", $form); - do_action("acfe/form/render_before_fields/form={$form['name']}", $form); + do_action("acfe/form/render_before_form", $form); + do_action("acfe/form/render_before_fields", $form); + do_action("acfe/form/render_fields", $form); + do_action("acfe/form/render_after_fields", $form); - do_action("acfe/form/render_fields", $form); - do_action("acfe/form/render_fields/form={$form['name']}", $form); + if($form['attributes']['submit']){ + do_action("acfe/form/render_submit", $form); + } - do_action("acfe/form/render_after_fields", $form); - do_action("acfe/form/render_after_fields/form={$form['name']}", $form); + do_action("acfe/form/render_after_form", $form); - do_action("acfe/form/render_after_form", $form); - do_action("acfe/form/render_after_form/form={$form['name']}", $form); } diff --git a/includes/template-tags.php b/includes/template-tags.php index 46fedea..380b80a 100644 --- a/includes/template-tags.php +++ b/includes/template-tags.php @@ -36,16 +36,14 @@ function __construct(){ // validate $format = $format && $format === 'false' ? false : true; - // markers + // vars $is_local_meta = acfe_is_local_meta(); - $is_field_key = acf_is_field_key($name); - $has_post_data = !empty($_POST['acf']); // $_POST['acf'] - if($has_post_data){ + if(!empty($_POST['acf'])){ // field_key - if($is_field_key){ + if(acf_is_field_key($name)){ // we use this method because get_field('field_abcdef123456') // cannot retrieve values from group subfields for example, when get_field('my_group_my_sub_field') can @@ -73,7 +71,7 @@ function __construct(){ } // get field - $post_id = acf_get_valid_post_id(false); + $post_id = acf_get_valid_post_id(); $field = acf_maybe_get_field($name, $post_id); if(!$field){ @@ -98,11 +96,10 @@ function __construct(){ } // no $_POST['acf'] - // get current post }else{ - // get field - $post_id = acf_get_valid_post_id(false); + // get field on current post + $post_id = acf_get_valid_post_id(); $field = acf_maybe_get_field($name, $post_id); if(!$field){ @@ -285,14 +282,8 @@ function __construct(){ // form submit if($form['attributes']['submit']){ - ob_start(); ?> -
      - - - - -
      - get_context('form'); + if($form){ + + // decode post_id + $decoded = acf_decode_post_id($form['post_id']); + + // check if post + if($decoded['type'] === 'post'){ + $post_id = $decoded['id']; + } + + } + } // merge back @@ -909,7 +918,6 @@ function match(&$string){ // tags // match {name} {name:value} {name:value:value2} etc... - //preg_match_all('/[{\w:]*(?{(?[\w]+)(?!:})(?::(?\S*?))?})}*/', $string, $matches); preg_match_all('/[{\w: +-\\\]*(?{(?[\w]+)(?!:})(?::(?.*?))?})}*/', $string, $matches); // keys @@ -960,11 +968,6 @@ function match(&$string){ $replace = str_replace('{', '{ ', $replace); $replace = str_replace('}', ' }', $replace); - // escape output - // if(strpos($replace, '{') !== false){ - // $replace = preg_replace('/{([\w:]+)}/', '{ \1 }', $replace); - // } - } // marker diff --git a/lang/acfe-fr_FR.mo b/lang/acfe-fr_FR.mo index 90d0dfe..f44f944 100644 Binary files a/lang/acfe-fr_FR.mo and b/lang/acfe-fr_FR.mo differ diff --git a/lang/acfe-fr_FR.po b/lang/acfe-fr_FR.po index 3cbd730..96acac5 100644 --- a/lang/acfe-fr_FR.po +++ b/lang/acfe-fr_FR.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: Advanced Custom Fields: Extended\n" -"POT-Creation-Date: 2024-02-08 08:54+0100\n" -"PO-Revision-Date: 2024-02-08 08:54+0100\n" +"POT-Creation-Date: 2024-04-27 23:40+0200\n" +"PO-Revision-Date: 2024-04-27 23:41+0200\n" "Last-Translator: \n" "Language-Team: https://www.acf-extended.com\n" "Language: fr_FR\n" @@ -47,7 +47,7 @@ msgstr "Oui" msgid "No" msgstr "Non" -#: assets/js/acfe-input.js:1416 assets/js/acfe-input.js:3464 +#: assets/js/acfe-input.js:1416 assets/js/acfe-input.js:3483 #: includes/assets.php:130 includes/field-groups/field-group-meta.php:160 #: includes/fields-settings/data.php:94 #: includes/fields/field-advanced-link.php:100 @@ -57,7 +57,7 @@ msgstr "Non" #: includes/fields/field-flexible-content.php:817 #: pro/assets/js/acfe-pro-admin.js:616 pro/assets/js/acfe-pro-input.js:710 #: pro/includes/field-groups/field-group-ui.php:619 -#: pro/includes/fields/field-payment.php:516 +#: pro/includes/fields/field-payment.php:513 #: pro/includes/modules/dev/module-dev-clean-meta.php:116 #: pro/includes/modules/dev/module-dev-metabox.php:121 #: pro/includes/modules/dev/module-dev-metabox.php:196 @@ -69,12 +69,14 @@ msgstr "Non" msgid "Close" msgstr "Fermer" -#: assets/js/acfe-input.js:1984 includes/fields/field-flexible-content.php:38 +#: assets/js/acfe-input.js:1980 assets/js/acfe-input.js:1991 +#: includes/fields/field-flexible-content.php:38 msgid "Layout data has been copied to your clipboard." msgstr "Les données de la section ont été copiées dans votre presse-papiers." -#: assets/js/acfe-input.js:1984 assets/js/acfe-input.js:1988 -#: assets/js/acfe-input.js:2024 assets/js/acfe-input.js:2028 +#: assets/js/acfe-input.js:1980 assets/js/acfe-input.js:1991 +#: assets/js/acfe-input.js:1995 assets/js/acfe-input.js:2030 +#: assets/js/acfe-input.js:2041 assets/js/acfe-input.js:2045 #: includes/fields/field-flexible-content.php:42 msgid "" "You can now paste it in the same Flexible Content on another page, using the " @@ -83,23 +85,24 @@ msgstr "" "Vous pouvez maintenant les coller dans le même Contenu Flexible sur une " "autre page, en utilisant le bouton d'action \"Coller\"." -#: assets/js/acfe-input.js:1988 assets/js/acfe-input.js:2028 +#: assets/js/acfe-input.js:1995 assets/js/acfe-input.js:2045 #: includes/fields/field-flexible-content.php:40 msgid "Please copy the following layout(s) data to your clipboard." msgstr "" "Veuillez copier les données des sections suivantes dans votre presse-papiers." -#: assets/js/acfe-input.js:2024 includes/fields/field-flexible-content.php:39 +#: assets/js/acfe-input.js:2030 assets/js/acfe-input.js:2041 +#: includes/fields/field-flexible-content.php:39 msgid "Layouts data have been copied to your clipboard." msgstr "Les données des sections ont été copiées dans votre presse-papiers." -#: assets/js/acfe-input.js:2042 includes/fields/field-flexible-content.php:41 +#: assets/js/acfe-input.js:2061 includes/fields/field-flexible-content.php:41 msgid "Please paste previously copied layout data in the following field:" msgstr "" "Veuillez coller les données de section précédemment copiées dans le champ " "suivant:" -#: assets/js/acfe-input.js:2750 includes/fields/field-flexible-content.php:319 +#: assets/js/acfe-input.js:2769 includes/fields/field-flexible-content.php:319 msgid "Add Row" msgstr "Ajouter une rangée" @@ -129,7 +132,7 @@ msgstr "pas de label" #: includes/modules/block-type/module-block-type.php:207 #: includes/modules/form/module-form-fields.php:1192 #: includes/modules/form/module-form.php:61 -#: includes/modules/form/module-form.php:241 +#: includes/modules/form/module-form.php:247 #: includes/modules/options-page/module-options-page.php:238 #: pro/includes/fields/field-field-groups.php:17 #: pro/includes/modules/template/module-template.php:59 @@ -206,6 +209,10 @@ msgstr "dans le plugin:" msgid "in:" msgstr "dans:" +#: includes/acfe-form-functions.php:269 +msgid "Input is invalid: Must be a json string or an array." +msgstr "L’entrée n’est pas valide : doit être une chaîne json ou un tableau." + #: includes/acfe-screen-functions.php:49 msgid "Custom Fields" msgstr "Champs personnalisés" @@ -1487,7 +1494,7 @@ msgid "Set a thumbnail for each layouts" msgstr "Définir une miniature pour chaque mise en page" #: includes/fields/field-flexible-content-thumbnail.php:111 -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 msgid "Thumbnail" msgstr "Miniature" @@ -1506,7 +1513,7 @@ msgstr "Faites glisser pour réorganiser" #: includes/modules/form/module-form.php:22 #: includes/modules/form/module-form.php:27 #: includes/modules/form/module-form.php:29 -#: includes/modules/form/module-form.php:284 +#: includes/modules/form/module-form.php:290 #: pro/includes/locations/settings.php:77 #: pro/includes/modules/template/module-template-features.php:44 msgid "Forms" @@ -2374,9 +2381,9 @@ msgid "Taxonomy List" msgstr "Liste de sites web" #: includes/module-acf.php:91 includes/module-post.php:130 -#: includes/modules/form/module-form.php:700 +#: includes/modules/form/module-form.php:706 #: pro/includes/fields-settings/required.php:26 -#: pro/includes/fields/field-block-editor.php:553 +#: pro/includes/fields/field-block-editor.php:564 #, php-format msgid "%s value is required" msgstr "le champ %s est obligatoire" @@ -2442,7 +2449,7 @@ msgstr "%s programmé." msgid "%s draft updated." msgstr "%s brouillon mis à jour." -#: includes/module-posts.php:204 pro/includes/fields/field-payment.php:515 +#: includes/module-posts.php:204 pro/includes/fields/field-payment.php:512 #: pro/includes/modules/dev/module-dev-clean-meta.php:112 #: pro/includes/modules/dev/module-dev-metabox.php:87 #: pro/includes/modules/dev/module-dev-metabox.php:179 @@ -2897,14 +2904,14 @@ msgstr "Ce nom d'action est réservé" #: includes/modules/form/module-form-action-redirect.php:106 #: includes/modules/form/module-form-action-term.php:575 #: includes/modules/form/module-form-action-user.php:1068 -#: includes/modules/form/module-form-upgrades.php:1214 -#: includes/modules/form/module-form-upgrades.php:1289 -#: includes/modules/form/module-form-upgrades.php:1655 -#: includes/modules/form/module-form-upgrades.php:2868 -#: includes/modules/form/module-form-upgrades.php:2965 -#: includes/modules/form/module-form-upgrades.php:3754 -#: includes/modules/form/module-form-upgrades.php:5333 -#: includes/modules/form/module-form.php:278 +#: includes/modules/form/module-form-upgrades.php:1237 +#: includes/modules/form/module-form-upgrades.php:1312 +#: includes/modules/form/module-form-upgrades.php:1678 +#: includes/modules/form/module-form-upgrades.php:2891 +#: includes/modules/form/module-form-upgrades.php:2988 +#: includes/modules/form/module-form-upgrades.php:3777 +#: includes/modules/form/module-form-upgrades.php:5356 +#: includes/modules/form/module-form.php:284 #: pro/includes/modules/form/module-form-action-option.php:249 msgid "Documentation" msgstr "Documentation" @@ -2954,8 +2961,8 @@ msgstr "Action d'e-mail" #: includes/modules/form/module-form-action-redirect.php:135 #: includes/modules/form/module-form-action-term.php:623 #: includes/modules/form/module-form-action-user.php:1139 -#: includes/modules/form/module-form-upgrades.php:1319 -#: includes/modules/form/module-form-upgrades.php:2898 +#: includes/modules/form/module-form-upgrades.php:1342 +#: includes/modules/form/module-form-upgrades.php:2921 #: pro/includes/modules/form/module-form-action-option.php:278 msgid "(Optional) Target this action using hooks." msgstr "(Facultatif) Ciblez cette action à l’aide de hooks." @@ -3554,7 +3561,7 @@ msgid "Log user once created" msgstr "Loguer l'utilisateur une fois qu'il a été créé" #: includes/modules/form/module-form-fields.php:1128 -#: includes/modules/form/module-form-shortcode.php:158 +#: includes/modules/form/module-form-shortcode.php:159 #: includes/modules/form/module-form.php:28 msgid "Form" msgstr "Formulaire" @@ -3648,10 +3655,12 @@ msgid "Attributes settings related to the fields." msgstr "Paramètres d'attributs liés aux champs." #: includes/modules/form/module-form-fields.php:1535 +#: pro/includes/fields/field-flexible-content-grid.php:130 msgid "Top" msgstr "Haut" #: includes/modules/form/module-form-fields.php:1536 +#: pro/includes/fields/field-flexible-content-grid.php:102 msgid "Left" msgstr "Gauche" @@ -3828,19 +3837,15 @@ msgstr "" "Si l'utilisé, vous devez inclure le code suivant %s pour " "afficher le \"message de succès\" ci-dessus." -#: includes/modules/form/module-form-front-render.php:331 +#: includes/modules/form/module-form-front-render.php:509 msgid "Validate Email" msgstr "Valider l’adresse e-mail" -#: includes/modules/form/module-form-hooks.php:452 -msgid "Input is invalid: Must be a json string or an array." -msgstr "L’entrée n’est pas valide : doit être une chaîne json ou un tableau." - -#: includes/modules/form/module-form-upgrades.php:1244 +#: includes/modules/form/module-form-upgrades.php:1267 msgid "Set a unique action slug." msgstr "Définissez un identifiant d’action unique." -#: includes/modules/form/module-form-upgrades.php:6457 +#: includes/modules/form/module-form-upgrades.php:6480 msgid "Post updated" msgstr "Article mis à jour" @@ -3909,52 +3914,52 @@ msgstr "%s formulaires importés" msgid "Shortcode" msgstr "Shortcode" -#: includes/modules/form/module-form.php:246 -#: includes/modules/form/module-form.php:285 +#: includes/modules/form/module-form.php:252 +#: includes/modules/form/module-form.php:291 msgid "Integration" msgstr "Intégration" -#: includes/modules/form/module-form.php:286 +#: includes/modules/form/module-form.php:292 msgid "Template Tags" msgstr "Étiquettes de modèle" -#: includes/modules/form/module-form.php:287 +#: includes/modules/form/module-form.php:293 msgid "Hooks" msgstr "Hooks" -#: includes/modules/form/module-form.php:288 +#: includes/modules/form/module-form.php:294 msgid "Helpers" msgstr "Aides" -#: includes/modules/form/module-form.php:294 +#: includes/modules/form/module-form.php:300 msgid "Guides" msgstr "Guides" -#: includes/modules/form/module-form.php:300 +#: includes/modules/form/module-form.php:306 msgid "Dummy Title & Content Fields" msgstr "Champs de titre et de contenu factices" -#: includes/modules/form/module-form.php:301 +#: includes/modules/form/module-form.php:307 msgid "Hide a Field on Front-End" msgstr "Masquer un champ sur le front-end" -#: includes/modules/form/module-form.php:302 +#: includes/modules/form/module-form.php:308 msgid "Passing Data to a Form" msgstr "Transmettre des données à un formulaire" -#: includes/modules/form/module-form.php:303 +#: includes/modules/form/module-form.php:309 msgid "Using Actions Output Data" msgstr "Utiliser les données des actions" -#: includes/modules/form/module-form.php:315 +#: includes/modules/form/module-form.php:321 msgid "Shortcodes" msgstr "Shortcodes" -#: includes/modules/form/module-form.php:330 +#: includes/modules/form/module-form.php:336 msgid "PHP code" msgstr "Code PHP" -#: includes/modules/form/module-form.php:740 +#: includes/modules/form/module-form.php:746 msgid "This form name already exists" msgstr "Ce nom de formulaire existe déjà" @@ -4241,7 +4246,7 @@ msgstr "Test" #: includes/modules/performance/module-performance-ui.php:85 #: pro/includes/fields/field-payment.php:384 -#: pro/includes/fields/field-payment.php:1441 +#: pro/includes/fields/field-payment.php:1425 #: pro/includes/modules/script/module-script-performance-converter.php:165 msgid "Production" msgstr "Production" @@ -5409,30 +5414,30 @@ msgstr "Liste de tous les blocs principaux disponibles" msgid "+ Add block" msgstr "+ Ajouter un bloc" -#: pro/includes/fields/field-block-editor.php:603 +#: pro/includes/fields/field-block-editor.php:614 msgctxt "CSS Font Family for Editor Font" msgid "Noto Serif" -msgstr "" +msgstr "Noto Serif" -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 msgid "Medium" msgstr "Moyen" -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 msgid "Large" msgstr "Grand" -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 #: pro/includes/fields/field-image-sizes.php:62 #: pro/includes/fields/field-image-sizes.php:490 msgid "Full Size" msgstr "Taille originale" -#: pro/includes/fields/field-block-editor.php:655 +#: pro/includes/fields/field-block-editor.php:666 msgid "Add title" msgstr "Ajouter un titre" -#: pro/includes/fields/field-block-editor.php:656 +#: pro/includes/fields/field-block-editor.php:667 msgid "Start writing or type / to choose a block" msgstr "Commencez à écrire ou saisissez \" / \" pour choisir un bloc" @@ -5829,6 +5834,47 @@ msgstr "Système de grille" msgid "Enable columns mode" msgstr "Activer le mode colonnes" +#: pro/includes/fields/field-flexible-content-grid.php:103 +#: pro/includes/fields/field-flexible-content-grid.php:131 +msgid "Center" +msgstr "Centre" + +#: pro/includes/fields/field-flexible-content-grid.php:104 +msgid "Right" +msgstr "Droite" + +#: pro/includes/fields/field-flexible-content-grid.php:105 +msgid "Space evenly" +msgstr "Espace uniforme" + +#: pro/includes/fields/field-flexible-content-grid.php:106 +msgid "Space between" +msgstr "Espace entre" + +#: pro/includes/fields/field-flexible-content-grid.php:107 +msgid "Space around" +msgstr "Espace autour" + +#: pro/includes/fields/field-flexible-content-grid.php:120 +msgid "Align" +msgstr "Aligner" + +#: pro/includes/fields/field-flexible-content-grid.php:129 +msgid "Stretch" +msgstr "Étirer" + +#: pro/includes/fields/field-flexible-content-grid.php:132 +msgid "Bottom" +msgstr "Bas" + +#: pro/includes/fields/field-flexible-content-grid.php:145 +msgid "Valign" +msgstr "Valign" + +#: pro/includes/fields/field-flexible-content-grid.php:159 +msgid "No Wrap" +msgstr "Une seule ligne" + #: pro/includes/fields/field-flexible-content-grid.php:187 msgid "Grid System: Container" msgstr "Système de grille: Conteneur" @@ -5841,6 +5887,28 @@ msgstr "Appliquer la largeur maximale de la grille" msgid "Grid settings" msgstr "Paramètres de grille" +#: pro/includes/fields/field-flexible-content-grid.php:241 +#: pro/includes/fields/field-flexible-content-grid.php:273 +#: pro/includes/fields/field-flexible-content-grid.php:446 +msgid "Auto" +msgstr "Auto" + +#: pro/includes/fields/field-flexible-content-grid.php:262 +msgid "Default Col" +msgstr "Col par défaut" + +#: pro/includes/fields/field-flexible-content-grid.php:287 +msgid "All sizes" +msgstr "Toutes les tailles" + +#: pro/includes/fields/field-flexible-content-grid.php:295 +msgid "Allowed Col" +msgstr "Col Autorisé" + +#: pro/includes/fields/field-flexible-content-grid.php:431 +msgid "Resize column" +msgstr "Redimensionner la colonne" + #: pro/includes/fields/field-flexible-content-locations.php:180 #: pro/includes/fields/field-flexible-content-locations.php:195 msgid "This field requires at least {min} {label} {identifier}" @@ -6158,8 +6226,8 @@ msgid "Choose your payment gateways" msgstr "Choisissez vos passerelles de paiement" #: pro/includes/fields/field-payment.php:107 -#: pro/includes/fields/field-payment.php:493 -#: pro/includes/fields/field-payment.php:1484 +#: pro/includes/fields/field-payment.php:490 +#: pro/includes/fields/field-payment.php:1457 msgid "Amount" msgstr "Montant" @@ -6260,40 +6328,40 @@ msgid "Switch API mode" msgstr "Changer de mode API" #: pro/includes/fields/field-payment.php:383 -#: pro/includes/fields/field-payment.php:489 -#: pro/includes/fields/field-payment.php:1440 -#: pro/includes/fields/field-payment.php:1482 +#: pro/includes/fields/field-payment.php:486 +#: pro/includes/fields/field-payment.php:1424 +#: pro/includes/fields/field-payment.php:1455 msgid "Test" msgstr "Test" -#: pro/includes/fields/field-payment.php:489 -#: pro/includes/fields/field-payment.php:1482 +#: pro/includes/fields/field-payment.php:486 +#: pro/includes/fields/field-payment.php:1455 msgid "Gateway" msgstr "Passerelle" -#: pro/includes/fields/field-payment.php:498 -#: pro/includes/fields/field-payment.php:1487 +#: pro/includes/fields/field-payment.php:495 +#: pro/includes/fields/field-payment.php:1460 msgid "Items" msgstr "Articles" -#: pro/includes/fields/field-payment.php:503 -#: pro/includes/fields/field-payment.php:1490 +#: pro/includes/fields/field-payment.php:500 +#: pro/includes/fields/field-payment.php:1463 #: pro/includes/fields/field-post-field.php:49 msgid "Date" msgstr "Date" -#: pro/includes/fields/field-payment.php:507 -#: pro/includes/fields/field-payment.php:1492 +#: pro/includes/fields/field-payment.php:504 +#: pro/includes/fields/field-payment.php:1465 msgid "IP Address" msgstr "Adresse IP" -#: pro/includes/fields/field-payment.php:511 -#: pro/includes/fields/field-payment.php:1494 +#: pro/includes/fields/field-payment.php:508 +#: pro/includes/fields/field-payment.php:1467 msgid "Payment ID" msgstr "ID du Paiement" -#: pro/includes/fields/field-payment.php:515 -#: pro/includes/fields/field-payment.php:516 +#: pro/includes/fields/field-payment.php:512 +#: pro/includes/fields/field-payment.php:513 msgid "Payment Object" msgstr "Objet de Paiement" diff --git a/lang/acfe.pot b/lang/acfe.pot index 49d5357..8f46709 100644 --- a/lang/acfe.pot +++ b/lang/acfe.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Advanced Custom Fields: Extended\n" -"POT-Creation-Date: 2024-02-08 08:54+0100\n" +"POT-Creation-Date: 2024-04-27 23:40+0200\n" "PO-Revision-Date: 2021-07-27 23:12+0200\n" "Last-Translator: \n" "Language-Team: https://www.acf-extended.com\n" @@ -44,7 +44,7 @@ msgstr "" msgid "No" msgstr "" -#: assets/js/acfe-input.js:1416 assets/js/acfe-input.js:3464 +#: assets/js/acfe-input.js:1416 assets/js/acfe-input.js:3483 #: includes/assets.php:130 includes/field-groups/field-group-meta.php:160 #: includes/fields-settings/data.php:94 #: includes/fields/field-advanced-link.php:100 @@ -54,7 +54,7 @@ msgstr "" #: includes/fields/field-flexible-content.php:817 #: pro/assets/js/acfe-pro-admin.js:616 pro/assets/js/acfe-pro-input.js:710 #: pro/includes/field-groups/field-group-ui.php:619 -#: pro/includes/fields/field-payment.php:516 +#: pro/includes/fields/field-payment.php:513 #: pro/includes/modules/dev/module-dev-clean-meta.php:116 #: pro/includes/modules/dev/module-dev-metabox.php:121 #: pro/includes/modules/dev/module-dev-metabox.php:196 @@ -66,32 +66,35 @@ msgstr "" msgid "Close" msgstr "" -#: assets/js/acfe-input.js:1984 includes/fields/field-flexible-content.php:38 +#: assets/js/acfe-input.js:1980 assets/js/acfe-input.js:1991 +#: includes/fields/field-flexible-content.php:38 msgid "Layout data has been copied to your clipboard." msgstr "" -#: assets/js/acfe-input.js:1984 assets/js/acfe-input.js:1988 -#: assets/js/acfe-input.js:2024 assets/js/acfe-input.js:2028 +#: assets/js/acfe-input.js:1980 assets/js/acfe-input.js:1991 +#: assets/js/acfe-input.js:1995 assets/js/acfe-input.js:2030 +#: assets/js/acfe-input.js:2041 assets/js/acfe-input.js:2045 #: includes/fields/field-flexible-content.php:42 msgid "" "You can now paste it in the same Flexible Content on another page, using the " "\"Paste\" button action." msgstr "" -#: assets/js/acfe-input.js:1988 assets/js/acfe-input.js:2028 +#: assets/js/acfe-input.js:1995 assets/js/acfe-input.js:2045 #: includes/fields/field-flexible-content.php:40 msgid "Please copy the following layout(s) data to your clipboard." msgstr "" -#: assets/js/acfe-input.js:2024 includes/fields/field-flexible-content.php:39 +#: assets/js/acfe-input.js:2030 assets/js/acfe-input.js:2041 +#: includes/fields/field-flexible-content.php:39 msgid "Layouts data have been copied to your clipboard." msgstr "" -#: assets/js/acfe-input.js:2042 includes/fields/field-flexible-content.php:41 +#: assets/js/acfe-input.js:2061 includes/fields/field-flexible-content.php:41 msgid "Please paste previously copied layout data in the following field:" msgstr "" -#: assets/js/acfe-input.js:2750 includes/fields/field-flexible-content.php:319 +#: assets/js/acfe-input.js:2769 includes/fields/field-flexible-content.php:319 msgid "Add Row" msgstr "" @@ -117,7 +120,7 @@ msgstr "" #: includes/modules/block-type/module-block-type.php:207 #: includes/modules/form/module-form-fields.php:1192 #: includes/modules/form/module-form.php:61 -#: includes/modules/form/module-form.php:241 +#: includes/modules/form/module-form.php:247 #: includes/modules/options-page/module-options-page.php:238 #: pro/includes/fields/field-field-groups.php:17 #: pro/includes/modules/template/module-template.php:59 @@ -194,6 +197,10 @@ msgstr "" msgid "in:" msgstr "" +#: includes/acfe-form-functions.php:269 +msgid "Input is invalid: Must be a json string or an array." +msgstr "" + #: includes/acfe-screen-functions.php:49 msgid "Custom Fields" msgstr "" @@ -1450,7 +1457,7 @@ msgid "Set a thumbnail for each layouts" msgstr "" #: includes/fields/field-flexible-content-thumbnail.php:111 -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 msgid "Thumbnail" msgstr "" @@ -1467,7 +1474,7 @@ msgstr "" #: includes/modules/form/module-form.php:22 #: includes/modules/form/module-form.php:27 #: includes/modules/form/module-form.php:29 -#: includes/modules/form/module-form.php:284 +#: includes/modules/form/module-form.php:290 #: pro/includes/locations/settings.php:77 #: pro/includes/modules/template/module-template-features.php:44 msgid "Forms" @@ -2321,9 +2328,9 @@ msgid "Taxonomy List" msgstr "" #: includes/module-acf.php:91 includes/module-post.php:130 -#: includes/modules/form/module-form.php:700 +#: includes/modules/form/module-form.php:706 #: pro/includes/fields-settings/required.php:26 -#: pro/includes/fields/field-block-editor.php:553 +#: pro/includes/fields/field-block-editor.php:564 #, php-format msgid "%s value is required" msgstr "" @@ -2389,7 +2396,7 @@ msgstr "" msgid "%s draft updated." msgstr "" -#: includes/module-posts.php:204 pro/includes/fields/field-payment.php:515 +#: includes/module-posts.php:204 pro/includes/fields/field-payment.php:512 #: pro/includes/modules/dev/module-dev-clean-meta.php:112 #: pro/includes/modules/dev/module-dev-metabox.php:87 #: pro/includes/modules/dev/module-dev-metabox.php:179 @@ -2756,14 +2763,14 @@ msgstr "" #: includes/modules/form/module-form-action-redirect.php:106 #: includes/modules/form/module-form-action-term.php:575 #: includes/modules/form/module-form-action-user.php:1068 -#: includes/modules/form/module-form-upgrades.php:1214 -#: includes/modules/form/module-form-upgrades.php:1289 -#: includes/modules/form/module-form-upgrades.php:1655 -#: includes/modules/form/module-form-upgrades.php:2868 -#: includes/modules/form/module-form-upgrades.php:2965 -#: includes/modules/form/module-form-upgrades.php:3754 -#: includes/modules/form/module-form-upgrades.php:5333 -#: includes/modules/form/module-form.php:278 +#: includes/modules/form/module-form-upgrades.php:1237 +#: includes/modules/form/module-form-upgrades.php:1312 +#: includes/modules/form/module-form-upgrades.php:1678 +#: includes/modules/form/module-form-upgrades.php:2891 +#: includes/modules/form/module-form-upgrades.php:2988 +#: includes/modules/form/module-form-upgrades.php:3777 +#: includes/modules/form/module-form-upgrades.php:5356 +#: includes/modules/form/module-form.php:284 #: pro/includes/modules/form/module-form-action-option.php:249 msgid "Documentation" msgstr "" @@ -2813,8 +2820,8 @@ msgstr "" #: includes/modules/form/module-form-action-redirect.php:135 #: includes/modules/form/module-form-action-term.php:623 #: includes/modules/form/module-form-action-user.php:1139 -#: includes/modules/form/module-form-upgrades.php:1319 -#: includes/modules/form/module-form-upgrades.php:2898 +#: includes/modules/form/module-form-upgrades.php:1342 +#: includes/modules/form/module-form-upgrades.php:2921 #: pro/includes/modules/form/module-form-action-option.php:278 msgid "(Optional) Target this action using hooks." msgstr "" @@ -3409,7 +3416,7 @@ msgid "Log user once created" msgstr "" #: includes/modules/form/module-form-fields.php:1128 -#: includes/modules/form/module-form-shortcode.php:158 +#: includes/modules/form/module-form-shortcode.php:159 #: includes/modules/form/module-form.php:28 msgid "Form" msgstr "" @@ -3495,10 +3502,12 @@ msgid "Attributes settings related to the fields." msgstr "" #: includes/modules/form/module-form-fields.php:1535 +#: pro/includes/fields/field-flexible-content-grid.php:130 msgid "Top" msgstr "" #: includes/modules/form/module-form-fields.php:1536 +#: pro/includes/fields/field-flexible-content-grid.php:102 msgid "Left" msgstr "" @@ -3664,19 +3673,15 @@ msgid "" "actual \"Success message\" above." msgstr "" -#: includes/modules/form/module-form-front-render.php:331 +#: includes/modules/form/module-form-front-render.php:509 msgid "Validate Email" msgstr "" -#: includes/modules/form/module-form-hooks.php:452 -msgid "Input is invalid: Must be a json string or an array." -msgstr "" - -#: includes/modules/form/module-form-upgrades.php:1244 +#: includes/modules/form/module-form-upgrades.php:1267 msgid "Set a unique action slug." msgstr "" -#: includes/modules/form/module-form-upgrades.php:6457 +#: includes/modules/form/module-form-upgrades.php:6480 msgid "Post updated" msgstr "" @@ -3744,52 +3749,52 @@ msgstr "" msgid "Shortcode" msgstr "" -#: includes/modules/form/module-form.php:246 -#: includes/modules/form/module-form.php:285 +#: includes/modules/form/module-form.php:252 +#: includes/modules/form/module-form.php:291 msgid "Integration" msgstr "" -#: includes/modules/form/module-form.php:286 +#: includes/modules/form/module-form.php:292 msgid "Template Tags" msgstr "" -#: includes/modules/form/module-form.php:287 +#: includes/modules/form/module-form.php:293 msgid "Hooks" msgstr "" -#: includes/modules/form/module-form.php:288 +#: includes/modules/form/module-form.php:294 msgid "Helpers" msgstr "" -#: includes/modules/form/module-form.php:294 +#: includes/modules/form/module-form.php:300 msgid "Guides" msgstr "" -#: includes/modules/form/module-form.php:300 +#: includes/modules/form/module-form.php:306 msgid "Dummy Title & Content Fields" msgstr "" -#: includes/modules/form/module-form.php:301 +#: includes/modules/form/module-form.php:307 msgid "Hide a Field on Front-End" msgstr "" -#: includes/modules/form/module-form.php:302 +#: includes/modules/form/module-form.php:308 msgid "Passing Data to a Form" msgstr "" -#: includes/modules/form/module-form.php:303 +#: includes/modules/form/module-form.php:309 msgid "Using Actions Output Data" msgstr "" -#: includes/modules/form/module-form.php:315 +#: includes/modules/form/module-form.php:321 msgid "Shortcodes" msgstr "" -#: includes/modules/form/module-form.php:330 +#: includes/modules/form/module-form.php:336 msgid "PHP code" msgstr "" -#: includes/modules/form/module-form.php:740 +#: includes/modules/form/module-form.php:746 msgid "This form name already exists" msgstr "" @@ -4047,7 +4052,7 @@ msgstr "" #: includes/modules/performance/module-performance-ui.php:85 #: pro/includes/fields/field-payment.php:384 -#: pro/includes/fields/field-payment.php:1441 +#: pro/includes/fields/field-payment.php:1425 #: pro/includes/modules/script/module-script-performance-converter.php:165 msgid "Production" msgstr "" @@ -5005,30 +5010,30 @@ msgstr "" msgid "+ Add block" msgstr "" -#: pro/includes/fields/field-block-editor.php:603 +#: pro/includes/fields/field-block-editor.php:614 msgctxt "CSS Font Family for Editor Font" msgid "Noto Serif" msgstr "" -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 msgid "Medium" msgstr "" -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 msgid "Large" msgstr "" -#: pro/includes/fields/field-block-editor.php:635 +#: pro/includes/fields/field-block-editor.php:646 #: pro/includes/fields/field-image-sizes.php:62 #: pro/includes/fields/field-image-sizes.php:490 msgid "Full Size" msgstr "" -#: pro/includes/fields/field-block-editor.php:655 +#: pro/includes/fields/field-block-editor.php:666 msgid "Add title" msgstr "" -#: pro/includes/fields/field-block-editor.php:656 +#: pro/includes/fields/field-block-editor.php:667 msgid "Start writing or type / to choose a block" msgstr "" @@ -5425,6 +5430,47 @@ msgstr "" msgid "Enable columns mode" msgstr "" +#: pro/includes/fields/field-flexible-content-grid.php:103 +#: pro/includes/fields/field-flexible-content-grid.php:131 +msgid "Center" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:104 +msgid "Right" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:105 +msgid "Space evenly" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:106 +msgid "Space between" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:107 +msgid "Space around" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:120 +msgid "Align" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:129 +msgid "Stretch" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:132 +msgid "Bottom" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:145 +msgid "Valign" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:159 +msgid "No Wrap" +msgstr "" + #: pro/includes/fields/field-flexible-content-grid.php:187 msgid "Grid System: Container" msgstr "" @@ -5437,6 +5483,28 @@ msgstr "" msgid "Grid settings" msgstr "" +#: pro/includes/fields/field-flexible-content-grid.php:241 +#: pro/includes/fields/field-flexible-content-grid.php:273 +#: pro/includes/fields/field-flexible-content-grid.php:446 +msgid "Auto" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:262 +msgid "Default Col" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:287 +msgid "All sizes" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:295 +msgid "Allowed Col" +msgstr "" + +#: pro/includes/fields/field-flexible-content-grid.php:431 +msgid "Resize column" +msgstr "" + #: pro/includes/fields/field-flexible-content-locations.php:180 #: pro/includes/fields/field-flexible-content-locations.php:195 msgid "This field requires at least {min} {label} {identifier}" @@ -5747,8 +5815,8 @@ msgid "Choose your payment gateways" msgstr "" #: pro/includes/fields/field-payment.php:107 -#: pro/includes/fields/field-payment.php:493 -#: pro/includes/fields/field-payment.php:1484 +#: pro/includes/fields/field-payment.php:490 +#: pro/includes/fields/field-payment.php:1457 msgid "Amount" msgstr "" @@ -5846,40 +5914,40 @@ msgid "Switch API mode" msgstr "" #: pro/includes/fields/field-payment.php:383 -#: pro/includes/fields/field-payment.php:489 -#: pro/includes/fields/field-payment.php:1440 -#: pro/includes/fields/field-payment.php:1482 +#: pro/includes/fields/field-payment.php:486 +#: pro/includes/fields/field-payment.php:1424 +#: pro/includes/fields/field-payment.php:1455 msgid "Test" msgstr "" -#: pro/includes/fields/field-payment.php:489 -#: pro/includes/fields/field-payment.php:1482 +#: pro/includes/fields/field-payment.php:486 +#: pro/includes/fields/field-payment.php:1455 msgid "Gateway" msgstr "" -#: pro/includes/fields/field-payment.php:498 -#: pro/includes/fields/field-payment.php:1487 +#: pro/includes/fields/field-payment.php:495 +#: pro/includes/fields/field-payment.php:1460 msgid "Items" msgstr "" -#: pro/includes/fields/field-payment.php:503 -#: pro/includes/fields/field-payment.php:1490 +#: pro/includes/fields/field-payment.php:500 +#: pro/includes/fields/field-payment.php:1463 #: pro/includes/fields/field-post-field.php:49 msgid "Date" msgstr "" -#: pro/includes/fields/field-payment.php:507 -#: pro/includes/fields/field-payment.php:1492 +#: pro/includes/fields/field-payment.php:504 +#: pro/includes/fields/field-payment.php:1465 msgid "IP Address" msgstr "" -#: pro/includes/fields/field-payment.php:511 -#: pro/includes/fields/field-payment.php:1494 +#: pro/includes/fields/field-payment.php:508 +#: pro/includes/fields/field-payment.php:1467 msgid "Payment ID" msgstr "" -#: pro/includes/fields/field-payment.php:515 -#: pro/includes/fields/field-payment.php:516 +#: pro/includes/fields/field-payment.php:512 +#: pro/includes/fields/field-payment.php:513 msgid "Payment Object" msgstr "" diff --git a/readme.txt b/readme.txt index 27c4d62..1daa8a9 100644 --- a/readme.txt +++ b/readme.txt @@ -5,7 +5,7 @@ Tags: acf, custom fields, meta, admin, fields Requires at least: 4.9 Tested up to: 6.5 Requires PHP: 5.6 -Stable tag: 0.9.0.1 +Stable tag: 0.9.0.2 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -488,6 +488,27 @@ The content of the upcoming patch and work in progress features are all listed o == Changelog == += 0.9.0.2 = + +**ACF Extended Pro 0.9.0.2:** + +* Module: Global Field Location - Fixed Field Group Location escaping issues +* Field Groups: Advanced Locations - Fixed Field Group Location escaping issues +* Field: Payment - Fixed `{field:payment}` Template Tag output +* Field: Flexible Content - Grid - Added translatable strings +* Global: Country/Currency/Language - Added PHP filters to allow customization + +**ACF Extended Basic 0.9.0.2:** + +* Module: Form - Enhanced load/validate/submit/render hooks strategy +* Module: Form - Fixed instruction placement undefined key warning +* Module: Form - "Current Post" Target/Source now correctly use the WP Query loop `post_id` +* Module: Form - Enhanced multiple forms on single page support +* Module: Form - Added missing `wpautop()` on email content when using "Content Editor" +* Module: Form - Fixed Taxonomy "Load Terms" & Image "Featured Thumbnail" compatibility +* Fields Condition - Enhanced `acf.newCondition` closer to native ACF logic +* Global: Updated French translation + = 0.9.0.1 = * Module: Forms - Fixed upgrade issues when using distant Auto Update