509318396 ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ function isValidFormattedNumber(e,t){if("string"!=typeof e)return!1;if(""===e.trim())return!0;if(!t||"object"!=typeof t)return!1;var o=t.decimalSeparator||".",n=t.thousandSeparator||",",i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),d=new RegExp("([0-9,.' "+s+i+"]+)","g");const a=(e.match(d)||[]).map(e=>e.trim()).filter(e=>""!==e);if(0===a.length){return/^\[([a-zA-Z0-9_"'= ]+)\]/.test(e)}return a.every(e=>{if(!e||0===e.length||!e[0].match(/\d/))return!1;const t=e.match(/([^0-9])+/g);if(!t)return!0;const i=t.pop();if(t.length>0){if(new Set(t).size>1)return!1;if(t[0]!==n)return!1}if(i.trim()!==o.trim()){if(i.trim()!==n.trim())return!1;const t=e.split(i).pop();if(!t||3!==t.length||!/^\d{3}$/.test(t))return!1}return!0})}function maybeModifyDecimal(e,t){if(!e||"string"!=typeof e||!t||"object"!=typeof t||!t.decimalSeparator)return e;return!/[\[\]()\*\+\-\/\"'a-zA-Z]/.test(e)&&"."!==t.decimalSeparator&&e.includes(".")?e.replace(".",t.decimalSeparator):e}"undefined"!=typeof module&&module.exports?module.exports={isValidFormattedNumber:isValidFormattedNumber}:"function"==typeof define&&define.amd?define([],function(){return{isValidFormattedNumber:isValidFormattedNumber}}):window.WCNumberValidation={isValidFormattedNumber:isValidFormattedNumber},"undefined"!=typeof module&&module.exports?module.exports={maybeModifyDecimal:maybeModifyDecimal}:"function"==typeof define&&define.amd?define([],function(){return{maybeModifyDecimal:maybeModifyDecimal}}):window.WCMaybeModifyDecimal={maybeModifyDecimal:maybeModifyDecimal},function(e,t,o,n){e(function(){var i=e(".wc-shipping-zone-methods"),s=e(".wc-shipping-zone-method-rows"),d=e(".wc-shipping-zone-method-save"),a=o.template("wc-shipping-zone-method-row"),c=o.template("wc-shipping-zone-method-row-blank"),r=Backbone.Model.extend({changes:{},logChanges:function(e){var t=this.changes||{};_.each(e.methods,function(e,o){t.methods=t.methods||{methods:{}},t.methods[o]=_.extend(t.methods[o]||{instance_id:o},e)}),void 0!==e.zone_name&&(t.zone_name=e.zone_name),void 0!==e.zone_locations&&(t.zone_locations=e.zone_locations),void 0!==e.zone_postcodes&&(t.zone_postcodes=e.zone_postcodes),this.changes=t,this.trigger("change:methods")},save:function(){var o=_.clone(this.changes);_.has(o,"zone_locations")&&_.isEmpty(o.zone_locations)&&(o.zone_locations=[""]),e.post(n+(n.indexOf("?")>0?"&":"?")+"action=woocommerce_shipping_zone_methods_save_changes",{wc_shipping_zones_nonce:t.wc_shipping_zones_nonce,changes:o,zone_id:t.zone_id},this.onSaveResponse,"json")},onSaveResponse:function(e,o){"success"===o&&(e.success?(e.data.zone_id!==t.zone_id&&(t.zone_id=e.data.zone_id,window.history.pushState&&window.history.pushState({},"","admin.php?page=wc-settings&tab=shipping&zone_id="+e.data.zone_id)),h.set("methods",e.data.methods),h.trigger("change:methods"),h.changes={},h.trigger("saved:methods"),window.onbeforeunload=null):window.alert(t.strings.save_failed))}}),l=Backbone.View.extend({rowTemplate:a,initialize:function(){this.listenTo(this.model,"change:methods",this.setUnloadConfirmation),this.listenTo(this.model,"saved:methods",this.clearUnloadConfirmation),this.listenTo(this.model,"saved:methods",this.render),this.listenTo(this.model,"rerender",this.render),s.on("change",{view:this},this.updateModelOnChange),s.on("sortupdate",{view:this},this.updateModelOnSort),e(window).on("beforeunload",{view:this},this.unloadConfirmation),d.on("click",{view:this},this.onSubmit),e(document.body).on("input change","#zone_name, #zone_locations, #zone_postcodes",{view:this},this.onUpdateZone),e(document.body).on("click",".wc-shipping-zone-method-settings",{view:this},this.onConfigureShippingMethod),e(document.body).on("click",".wc-shipping-zone-add-method",{view:this},this.onAddShippingMethod),e(document.body).on("wc_backbone_modal_response",this.onConfigureShippingMethodSubmitted),e(document.body).on("wc_region_picker_update",this.onUpdateZoneRegionPicker),e(document.body).on("wc_backbone_modal_next_response",this.onAddShippingMethodSubmitted),e(document.body).on("wc_backbone_modal_before_remove",this.onCloseConfigureShippingMethod),e(document.body).on("wc_backbone_modal_back_response",this.onConfigureShippingMethodBack),e(document.body).on("click",".wc-shipping-zone-postcodes-toggle",this.onTogglePostcodes),e(document.body).on("wc_backbone_modal_validation",{view:this},this.validateFormArguments),e(document.body).on("wc_backbone_modal_loaded",{view:this},this.onModalLoaded)},onUpdateZoneRegionPicker:function(e){var t=e.detail,o={};o.zone_locations=t,p.model.set("zone_locations",t),p.model.logChanges(o)},onUpdateZone:function(t){var o=t.data.view,n=o.model,i=e(this).val(),s=e(t.target).data("attribute"),d={};t.preventDefault(),d[s]=i,n.set(s,i),n.logChanges(d),o.render()},block:function(){e(this.el).block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){e(this.el).unblock()},render:function(){var o=_.indexBy(this.model.get("methods"),"instance_id"),n=this.model.get("zone_name"),i=this;e(".wc-shipping-zone-name").text(n||t.strings.default_zone_name),this.$el.empty(),this.unblock(),_.size(o)?(o=_.sortBy(o,function(e){return parseInt(e.method_order,10)}),e.each(o,function(e,o){"yes"===o.enabled?o.enabled_icon=''+t.strings.yes+"":o.enabled_icon=''+t.strings.no+"",i.$el.append(i.rowTemplate(o));var n=i.$el.find('tr[data-id="'+o.instance_id+'"]');if(!o.has_settings){n.find(".wc-shipping-zone-method-title > a").replaceWith(""+n.find(".wc-shipping-zone-method-title > a").text()+"");var s=n.find(".wc-shipping-zone-method-delete");n.find(".wc-shipping-zone-method-title .row-actions").empty().html(s)}}),this.$el.find(".wc-shipping-zone-method-delete").on("click",{view:this},this.onDeleteRow),this.$el.find(".wc-shipping-zone-method-enabled a").on("click",{view:this},this.onToggleEnabled)):i.$el.append(c),this.initTooltips()},initTooltips:function(){e("#tiptip_holder").removeAttr("style"),e("#tiptip_arrow").removeAttr("style"),e(".tips").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:50})},onSubmit:function(e){d.addClass("is-busy"),e.data.view.block(),e.data.view.model.save(),e.preventDefault()},onDeleteRow:function(o){var i=o.data.view,s=i.model,d=_.indexBy(s.get("methods"),"instance_id"),a={},c=e(this).closest("tr").data("id");o.preventDefault(),window.confirm(t.strings.delete_shipping_method_confirmation)&&(p.block(),e.post({url:n+(n.indexOf("?")>0?"&":"?")+"action=woocommerce_shipping_zone_remove_method",data:{wc_shipping_zones_nonce:t.wc_shipping_zones_nonce,instance_id:c,zone_id:t.zone_id},success:function({data:e}){delete d[c],a.methods=a.methods||e.methods,s.set("methods",d),s.logChanges(a),i.clearUnloadConfirmation(),i.render(),p.unblock()},error:function(e,o,n){window.alert(t.strings.remove_method_failed),p.unblock()},dataType:"json"}))},onToggleEnabled:function(t){var o=t.data.view,n=e(t.target),i=o.model,s=_.indexBy(i.get("methods"),"instance_id"),d=n.closest("tr").data("id"),a="yes"===n.closest("tr").data("enabled")?"no":"yes",c={};t.preventDefault(),s[d].enabled=a,c.methods=c.methods||{methods:{}},c.methods[d]=_.extend(c.methods[d]||{},{enabled:a}),i.set("methods",s),i.logChanges(c),o.render()},setUnloadConfirmation:function(){this.needsUnloadConfirm=!0,d.prop("disabled",!1),d.removeClass("is-busy")},clearUnloadConfirmation:function(){this.needsUnloadConfirm=!1,d.attr("disabled","disabled")},unloadConfirmation:function(e){if(e.data.view.needsUnloadConfirm)return e.returnValue=t.strings.unload_confirmation_msg,window.event.returnValue=t.strings.unload_confirmation_msg,t.strings.unload_confirmation_msg},updateModelOnChange:function(t){var o=t.data.view.model,n=e(t.target),i=n.closest("tr").data("id"),s=n.data("attribute"),d=n.val(),a=_.indexBy(o.get("methods"),"instance_id"),c={};a[i][s]!==d&&(c.methods[i]={},c.methods[i][s]=d,a[i][s]=d),o.logChanges(c)},updateModelOnSort:function(e){var t=e.data.view.model,o=_.indexBy(t.get("methods"),"instance_id"),n={};_.each(o,function(e){var t=parseInt(e.method_order,10),s=parseInt(i.find('tr[data-id="'+e.instance_id+'"]').index()+1,10);t!==s&&(o[e.instance_id].method_order=s,n.methods=n.methods||{methods:{}},n.methods[e.instance_id]=_.extend(n.methods[e.instance_id]||{},{method_order:s}))}),_.size(n)&&t.logChanges(n)},onConfigureShippingMethod:function(t){var o=e(this).closest("tr").data("id"),n=t.data.view.model,i=_.indexBy(n.get("methods"),"instance_id")[o];if(!i.settings_html)return!0;t.preventDefault(),i.settings_html=p.reformatSettingsHTML(i.settings_html),e(this).WCBackboneModal({template:"wc-modal-shipping-method-settings",variable:{instance_id:o,method:i,status:"existing"},data:{instance_id:o,method:i,status:"existing"}}),p.highlightOnFocus(".wc-shipping-modal-price"),e(document.body).trigger("init_tooltips")},unformatShippingMethodNumericValues:function(e){if(!window.wc.wcSettings.CURRENCY)return e;const t=window.wc.wcSettings.CURRENCY,o=["woocommerce_free_shipping_min_amount","woocommerce_flat_rate_cost","woocommerce_flat_rate_no_class_cost"];return Object.keys(e).forEach(n=>{if(o.includes(n)||n.startsWith("woocommerce_flat_rate_class_cost_")){const o=e[n];try{const i=window.wc.currency.unformatLocalisedMonetaryValue(t,o);e[n]=i}catch(e){return}}}),e},onConfigureShippingMethodSubmitted:function(o,i,s){"wc-modal-shipping-method-settings"===i&&(p.block(),e.post(n+(n.indexOf("?")>0?"&":"?")+"action=woocommerce_shipping_zone_methods_save_settings",{wc_shipping_zones_nonce:t.wc_shipping_zones_nonce,instance_id:s.instance_id,data:p.unformatShippingMethodNumericValues(s)},function(o,n){"success"===n&&o.success?(e("table.wc-shipping-zone-methods").parent().find("#woocommerce_errors").remove(),o.data.errors.length>0&&p.showErrors(o.data.errors),_.size(p.model.changes)?p.model.save():p.model.onSaveResponse(o,n)):(window.alert(t.strings.save_failed),p.unblock())},"json"))},onConfigureShippingMethodBack:function(e,t){"wc-modal-shipping-method-settings"===t&&p.onAddShippingMethod(e)},showErrors:function(t){var o='
';e(t).each(function(e,t){o=o+"

"+t+"

"}),o+="
",e("table.wc-shipping-zone-methods").before(o)},highlightOnFocus:function(t){e(t).on("focus",function(){e(this).select()})},onAddShippingMethod:function(o){o.preventDefault(),e(this).WCBackboneModal({template:"wc-modal-add-shipping-method",variable:{zone_id:t.zone_id}}),e(".wc-shipping-zone-method-selector select").trigger("change"),e(".wc-shipping-zone-method-input input").change(function(){const t=e(".wc-shipping-zone-method-input input:checked").attr("id"),o=e(`#${t}-description`);e(".wc-shipping-zone-method-input-help-text").css("display","none"),o.css("display","block")})},reformatSettingsHTML:function(e){return[this.replaceHTMLTables,this.moveAdvancedCostsHelpTip,this.moveHTMLHelpTips,this.addCurrencySymbol].reduce((e,t)=>t(e),e)},moveAdvancedCostsHelpTip:function(t){const o=e(t),n=o.find("#wc-shipping-advanced-costs-help-text");n.addClass("wc-shipping-zone-method-fields-help-text");const i=o.find("#woocommerce_flat_rate_cost").closest("fieldset");return n.appendTo(i),o.prop("outerHTML")},addCurrencySymbol:function(t){if(!window.wc.wcSettings.CURRENCY||!window.wc.currency.localiseMonetaryValue)return t;const o=e(t),n=o.find(".wc-shipping-modal-price"),i=window.wc.wcSettings.CURRENCY,{symbol:s,symbolPosition:d}=i;return n.addClass(`wc-shipping-currency-size-${s.length}`),n.addClass(`wc-shipping-currency-position-${d}`),n.before(`
${s}
`),n.each(t=>{const o=e(n[t]);let s=o.attr("value");try{s=WCMaybeModifyDecimal.maybeModifyDecimal(s,i)}catch(e){return}const d=window.wc.currency.localiseMonetaryValue(i,s);o.attr("value",d)}),o.prop("outerHTML")},moveHTMLHelpTips:function(t){const o=["woocommerce_flat_rate_cost","woocommerce_flat_rate_no_class_cost","woocommerce_flat_rate_class_cost_"],n=e(t),i=n.find("label");return i.each(t=>{const s=e(i[t]),d=s.find(".woocommerce-help-tip");if(0===d.length)return;const a=s.attr("for");if(o.some(e=>a.includes(e))){n.find(`label[for=${a}] span.woocommerce-help-tip`).addClass("wc-shipping-visible-help-text")}else{if("woocommerce_free_shipping_ignore_discounts"===a){n.find(`#${a}`).closest("fieldset").find("label").append(d)}else{const e=d.data("tip"),t=n.find(`#${a}`).closest("fieldset");t.length&&0===t.find(".wc-shipping-zone-method-fields-help-text").length&&t.append(`
${e}
`)}"Coupons discounts"===s.text().trim()&&s.text("")}}),n.prop("outerHTML")},replaceHTMLTables:function(t){const o=e("
"+t+"
"),n=o.find("table.form-table");return n.each(t=>{const o=e(n[t]),i=e('
');i.html(o.html()),o.replaceWith(i)}),o.prop("outerHTML")},onAddShippingMethodSubmitted:function(o,i,s,d){"wc-modal-add-shipping-method"===i&&(p.block(),e("#btn-next").addClass("is-busy"),e.post(n+(n.indexOf("?")>0?"&":"?")+"action=woocommerce_shipping_zone_add_method",{wc_shipping_zones_nonce:t.wc_shipping_zones_nonce,method_id:s.add_method_id,zone_id:t.zone_id},function(o,n){"success"===n&&o.success&&(o.data.zone_id!==t.zone_id&&(t.zone_id=o.data.zone_id,window.history.pushState&&window.history.pushState({},"","admin.php?page=wc-settings&tab=shipping&zone_id="+o.data.zone_id)),p.model.set("methods",o.data.methods),d());var i=o.data.instance_id,s=o.data.methods[i];p.unblock(),s.settings_html?(s.settings_html=p.reformatSettingsHTML(s.settings_html),e(this).WCBackboneModal({template:"wc-modal-shipping-method-settings",variable:{instance_id:i,method:s,status:"new"},data:{instance_id:i,method:s,status:"new"}}),p.highlightOnFocus(".wc-shipping-modal-price")):(p.model.trigger("change:methods"),p.model.trigger("saved:methods")),e(document.body).trigger("init_tooltips")},"json"))},possiblyHideFreeShippingRequirements:function(t){if(Object.keys(t).includes("woocommerce_free_shipping_requires")){const o=null===t.woocommerce_free_shipping_requires||""===t.woocommerce_free_shipping_requires||"coupon"===t.woocommerce_free_shipping_requires,n=e("#woocommerce_free_shipping_requires").closest("fieldset"),i=n.nextAll("label"),s=n.nextAll("fieldset");i.each(t=>{e(i[t]).css("display",o?"none":"block")}),s.each(t=>{e(s[t]).css("display",o?"none":"block")})}},onModalLoaded:function(t,o){if("wc-modal-shipping-method-settings"===o){const o=e("#woocommerce_free_shipping_requires");if(o.length>0&&t.data.view.possiblyHideFreeShippingRequirements({woocommerce_free_shipping_requires:o.val()}),t.data.view.possiblyAddShippingClassLink(t),window.wc.wcSettings.CURRENCY&&window.wc.currency.localiseMonetaryValue){const t=window.wc.wcSettings.CURRENCY;e(".wc-shipping-modal-price").on("input",function(){const o=e(this).val();e(this).removeClass("wc-shipping-invalid-price"),e(this).siblings("span.wc-shipping-invalid-price-message").remove();const n=e(this).parents(".wc-backbone-modal-main");n.find("#btn-ok").removeAttr("disabled"),n.find(".wc-shipping-method-add-class-costs").show(),WCNumberValidation.isValidFormattedNumber(o,t)||(e(this).addClass("wc-shipping-invalid-price"),e(''+shippingZoneMethodsLocalizeScript.strings.invalid_number_format+"").insertAfter(this),n.find("#btn-ok").attr("disabled","disabled"),n.find(".wc-shipping-method-add-class-costs").hide())}),e(".wc-shipping-modal-price").on("blur",function(){const o=e(this).val(),n=window.wc.currency.localiseMonetaryValue(t,o);e(this).val(n)})}}},possiblyAddShippingClassLink:function(t){const o=e("article.wc-modal-shipping-method-settings"),n=o.data("shipping-classes-count"),i=(o.data("status"),o.data("id")),s=t.data.view.model;if("flat_rate"===_.indexBy(s.get("methods"),"instance_id")[i].id&&0===n){o.find(".wc-shipping-method-add-class-costs").css("display","block")}},validateFormArguments:function(e,t,o){if("wc-modal-add-shipping-method"===t){if(o.add_method_id){const e=document.getElementById("btn-next");e.disabled=!1,e.classList.remove("disabled")}}else"wc-modal-shipping-method-settings"===t&&e.data.view.possiblyHideFreeShippingRequirements(o)},onCloseConfigureShippingMethod:function(o,i,s,d){if("wc-modal-shipping-method-settings"===i){var a=e("#btn-ok").data();if(!d&&a&&"new"===a.status){p.block();var c=p,r=c.model,l=_.indexBy(r.get("methods"),"instance_id"),h={},m=s.instance_id;e.post({url:n+(n.indexOf("?")>0?"&":"?")+"action=woocommerce_shipping_zone_remove_method",data:{wc_shipping_zones_nonce:t.wc_shipping_zones_nonce,instance_id:m,zone_id:t.zone_id},success:function({data:e}){delete l[m],h.methods=h.methods||e.methods,r.set("methods",l),r.logChanges(h),c.clearUnloadConfirmation(),c.render(),p.unblock()},error:function(e,o,n){window.alert(t.strings.remove_method_failed),p.unblock()},dataType:"json"})}}},onTogglePostcodes:function(t){t.preventDefault();var o=e(this).closest("tr");o.find(".wc-shipping-zone-postcodes").show(),o.find(".wc-shipping-zone-postcodes-toggle").hide()}}),h=new r({methods:t.methods,zone_name:t.zone_name}),p=new l({model:h,el:s});p.render(),s.sortable({items:"tr",cursor:"move",axis:"y",handle:"td.wc-shipping-zone-method-sort",scrollSensitivity:40})})}(jQuery,shippingZoneMethodsLocalizeScript,wp,ajaxurl);