PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / V3.3.2
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder vV3.3.2
V3.3.2 3.3.1 V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 All 139 releases
bit-form / assets / bfDateFieldsLogicCheck.min.js

bfDateFieldsLogicCheck.min.js in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder V3.3.2, at assets/bfDateFieldsLogicCheck.min.js

2 lines 2.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var bfDateFieldsLogicCheck=function(){"use strict";const e=["date","advanced-datetime","datetime-local","time","month","week"],t=["equal","not_equal","greater","less","greater_or_equal","less_or_equal","between","contain","not_contain"];let n="";const r=e=>String(e??"").trim().replace(/^['"]|['"]$/g,"").trim(),l=e=>{const t=Array.isArray(e)?e[0]:e;return"string"==typeof t||"number"==typeof t?String(t):""},u=e=>{const t=e.match(/^(\d{4})-(\d{1,2})-(\d{1,2})(?:[T ](\d{1,2}):(\d{2})(?::(\d{2}))?)?$/);if(!t)return null;const[,n,r,l,u=0,c=0,i=0]=t.map(e=>void 0===e?void 0:Number(e)),a=new Date(n,r-1,l,u,c,i);return a.getFullYear()!==n||a.getMonth()!==r-1||a.getDate()!==l?null:a.getTime()},c=(e,t,l,c)=>{const i=r(e);if(!i)return null;switch(t){case"time":{const e=i.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);return e?3600*+e[1]+60*+e[2]+ +(e[3]||0):null}case"month":{const e=i.match(/^(\d{4})-(\d{1,2})$/);return e&&+e[2]>=1&&+e[2]<=12?12*+e[1]+ +e[2]-1:null}case"week":{const e=i.match(/^(\d{4})-?W(\d{1,2})$/i);return e&&+e[2]>=1&&+e[2]<=53?100*+e[1]+ +e[2]:null}case"advanced-datetime":{const e=u(i);return null!==e?e:((e,t,r)=>{const l=r?.inits?.[((e,t)=>{const r=((e,t)=>"undefined"!=typeof checkRepeatedField&&checkRepeatedField(e,t))(e,t)?`${e}[${n}]`:e;return t?.inits&&!t.inits[r]?e:r})(t,r)];if(!l)return null;try{const t=l["function"==typeof l.parseDateStrict?"parseDateStrict":"parseDate"](e);return t instanceof Date&&!Number.isNaN(t.getTime())?t.getTime():null}catch(e){return null}})(i,l,c)}default:return u(i)}};return function(u,i,a,o,s,d){n=d||"";const f=u.field,g=i[f]?.type;if(!e.includes(g))return;const m=r(l(a));if("null"===u.logic)return""===m;if("not_null"===u.logic)return""!==m;if(!t.includes(u.logic))return;const h=((e,t,n,r)=>{const l=c(e,t,n,r);if(null!==l)return[l];if("advanced-datetime"!==t||!e)return[];const u=[" to ",","];for(let l=0;l<u.length;l+=1){const i=u[l],a=e.split(i);if(a.length>1){const e=[];let l=null;if(a.forEach(u=>{l=null===l?u:`${l}${i}${u}`;const a=c(l,t,n,r);null!==a&&(e.push(a),l=null)}),null===l)return e}}return[]})(m,g,f,s);if("between"===u.logic){const[e,t]=((e,t,n,r)=>{let u=e;if("string"==typeof e)try{u=JSON.parse(e)}catch(e){return[null,null]}return u&&"object"==typeof u?[c(l(u.min),t,n,r),c(l(u.max),t,n,r)]:[null,null]})(o,g,f,s);return!(!h.length||null===e||null===t)&&h.every(n=>n>=e&&n<=t)}const p=r(l(o)),_=c(p,g,f,s);if(["equal","not_equal","contain","not_contain"].includes(u.logic)){let e=null!==_?h.includes(_):""!==p&&m===p;return!e&&["contain","not_contain"].includes(u.logic)&&(e=""!==p&&m.toLowerCase().includes(p.toLowerCase())),["equal","contain"].includes(u.logic)?e:!e}return!(null===_||!h.length)&&h.every(e=>((e,t,n)=>{switch(e){case"greater":return t>n;case"less":return t<n;case"greater_or_equal":return t>=n;case"less_or_equal":return t<=n;default:return!1}})(u.logic,e,_))}}();
2