| Current Path : /home/chauffn/vuzelia/2023/media/plg_convertformstools_conditionallogic/js/ |
| Current File : /home/chauffn/vuzelia/2023/media/plg_convertformstools_conditionallogic/js/fields.js |
function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,a=arguments[t];for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e}).apply(this,arguments)}!function(t){"use strict";var a;function r(e){var t,r;e.target.classList.contains("cf-input")&&(!(t=e.target.closest(".convertforms.cf"))||(e=e.target.closest(".cf-control-group"))&&(!(e=e.dataset.key)||(r=function(e){var t,e=a[e];if(e)return t=[],Object.values(e).forEach(function(e){Object.values(e.rules).forEach(function(e){Object.values(e).forEach(function(e){e.field&&!t.includes(e.field)&&t.push(e.field)})})}),t}(t.dataset.id))&&r.includes(e)&&s(t)))}function s(e){var t=e.dataset.id;a.hasOwnProperty(t)&&new o(e,a[t])}var o=function(){function e(e,t){var r=this;this.form=e,this.options=t,this.run(),this.form.addEventListener("beforeSubmit",function(){r.run()})}var t=e.prototype;return t.run=function(){var r=this;this.log("Start"),Object.values(this.options).forEach(function(e){var t;e.rules&&e.actions&&(r.log("Condition started",e),(t=r.passSome(Object.values(e.rules)))?r.runActions(Object.values(e.actions)):r.runActions(Object.values(e.else||{})),r.log("Condition End",t?"Pass":"Doesn't pass"))}),this.log("End")},t.passSome=function(e){var t=this;return e.some(function(e){return t.passRules(Object.values(e))})},t.passRules=function(e){var t=this;return e.every(function(e){return t.pass(e)})},t.pass=function(e){var t=this.getFieldValue(e.field),r=(e.arg=e.arg||"",!1);switch(e.comparator){case"selected":case"not_selected":case"contains":case"not_contains":r=(t=this.getTextToLowerCase(t)).includes(e.arg.toLowerCase());break;case"starts_with":case"not_start_swith":r=(t=this.getTextToLowerCase(t)).startsWith(e.arg.toLowerCase());break;case"ends_with":case"not_ends_with":r=(t=this.getTextToLowerCase(t)).endsWith(e.arg.toLowerCase());break;case"is_checked":case"not_checked":r=1==t;break;case"regex":case"not_regex":var a="",s=e.arg,o=s.lastIndexOf("#");-1<o&&(a=s.substring(o+1))&&(s=s.substring(0,o)),r=new RegExp(s,a).test(t);break;case"less_than":r=parseFloat(t)<parseFloat(e.arg);break;case"less_equals":r=parseFloat(t)<=parseFloat(e.arg);break;case"greater_than":r=parseFloat(t)>parseFloat(e.arg);break;case"greater_equals":r=parseFloat(t)>=parseFloat(e.arg);break;case"empty":case"not_empty":r=""==t;break;case"total_checked_equals":r=t.length==parseInt(e.arg);break;case"total_checked_less_than":r=t.length<parseInt(e.arg);break;case"total_checked_less_equals":r=t.length<=parseInt(e.arg);break;case"total_checked_greater_than":r=t.length>parseInt(e.arg);break;case"total_checked_greater_equals":r=t.length>=parseInt(e.arg);break;default:r=(t=this.getTextToLowerCase(t))==e.arg.toLowerCase()}return r=e.comparator.startsWith("not_")?!r:r,this.log("Rule",e,t||null,r),r},t.runActions=function(e){var t=this;e&&e.forEach(function(e){t.action(e)})},t.action=function(e){e.arg=e.arg||"";var t=this.getFieldGroup(e.field);switch("select_option"==e.trigger&&"dropdown"==t.dataset.type&&(e.trigger="change_value"),e.trigger){case"show_field":if(!t.classList.contains("cf-hide"))return;t.classList.remove("cf-hide"),t.classList.remove("cf-ignore"),"submit"==t.dataset.type&&(t.querySelector("button").disabled=!1),void 0!==t.dataset.required&&((r=_extends({},e)).trigger="set_required",this.action(r));break;case"hide_field":if(t.classList.contains("cf-hide"))return;t.classList.add("cf-hide"),t.classList.add("cf-ignore"),"submit"==t.dataset.type&&(t.querySelector("button").disabled=!0);var r=_extends({},e);r.trigger="set_optional",this.action(r);break;case"change_value":s=this.getField(e.field),ConvertForms.Helper.setValue(s,e.arg);break;case"select_option":case"deselect_option":s=t.querySelector('input[value="'+e.arg+'"]'),ConvertForms.Helper.toggleCheck(s,"select_option"==e.trigger);break;case"set_required":case"set_optional":var a="set_required"==e.trigger;t.querySelectorAll(".cf-control-input .cf-input").forEach(function(e){e.required=a}),t.dataset.requiredOverride=a;break;case"hide_option":case"show_option":switch(t.dataset.type){case"radio":case"checkbox":var s=t.querySelector('input[value="'+e.arg+'"]');"show_option"==e.trigger?(s.closest("div").classList.remove("cf-hide"),s.disabled=!1):(s.closest("div").classList.add("cf-hide"),s.disabled=!0,s.checked&&((o=_extends({},e)).trigger="deselect_option",this.action(o)));break;case"dropdown":var o=t.querySelector('option[value="'+e.arg+'"]');"show_option"==e.trigger?(o.disabled=!1,o.classList.remove("cf-hide")):(o.disabled=!0,o.selected=!1,o.classList.add("cf-hide"))}}this.log("Action",e)},t.inputRequired=function(e,t){t&&!e.required?e.required=!0:e.required&&(e.required=!1)},t.getFieldGroup=function(e){return this.form.querySelector('[data-key="'+e+'"]')},t.getField=function(e){e=this.getFieldGroup(e);return e?e.querySelector(".cf-control-input .cf-input"):""},t.getFieldValue=function(e){var t=this.getField(e);if(!t)return"";var r=[];switch(t.type){case"checkbox":case"radio":return this.getFieldGroup(e).querySelectorAll('input[type="'+t.type+'"]:checked').forEach(function(e){r.push(e.value)}),r;default:return t.value}},t.getTextToLowerCase=function(e){return"string"==typeof e?e.toLowerCase():"object"==typeof e?e.toString().toLowerCase():e},t.log=function(){if(ConvertForms.Helper.getOption("debug",!1)){for(var e,t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];(e=console).log.apply(e,["Convert Forms - Form #"+this.form.dataset.id+" - Conditional Logic -"].concat(r))}},e}();ConvertForms.Helper.onReady(function(e){(a=ConvertForms.Helper.getOption("conditional_logic"))&&(t.addEventListener("change",function(e){r(e)}),e.forEach(function(e){s(e)}))})}(document);