|
1
|
|
-var bfDateFieldsLogicCheck=function(){"use strict";const e=["date","advanced-datetime","datetime-local","time","month","week"];let t="";const n=(e,t,n,a)=>{if(!e)return null;const c=e.trim().replace(/^['"]|['"]$/g,"");try{switch(t){case"date":case"datetime-local":return new Date(c).getTime();case"advanced-datetime":{const e=r(n,a);return a?.inits?.[e]?.parseDate&&a.inits[e].parseDate(c).getTime(),new Date(c).getTime()}case"time":{const[e,t,n]=c.split(":");return 3600*+e+60*+t+ +(n||0)}case"week":{const[e,t]=c.split("-W");return((e,t)=>{const n=new Date(e,0,4),r=n.getDay()||7,a=new Date(n);return a.setDate(n.getDate()-r+1),a.setDate(a.getDate()+7*(t-1)),a})(+e,+t).getTime()}case"month":{const[e,t]=c.split("-");return 12*+e+ +t-1}default:return c}}catch(t){return e}},r=(e,n)=>{const r=((e,t)=>"undefined"!=typeof checkRepeatedField&&checkRepeatedField(e,t))(e,n)?`${e}[${t}]`:e;return n.inits&&!n.inits[r]?e:r};return function(r,a,c,s,i,u){t=u||"";const l=a[r.field]?.type;if(!e.includes(l))return;const o=n(c,l,i,r.field),d=n(s,l,i,r.field);if(null===o)return!1;switch(r.logic){case"change":return!0;case"null":return!c&&0===c.length;case"not_null":return c&&c.length>0}if(null===d||!s)return!1;switch(r.logic){case"equal":return o===d;case"not_equal":return o!==d;case"contain":return((e,t,n,r,a)=>{if(!n)return!1;const c=bfSplit(r,a);let s=0;return c.forEach((e=>{n.length>0&&-1!==n.indexOf(e)&&(s+=1)})),s>0})(0,0,o,s,i);case"greater":return o>d;case"less":return o<d;case"greater_or_equal":return o>=d;case"less_or_equal":return o<=d;case"between":return((e,t,r,a)=>{const c=t[e.field]?.type;let s=a;"string"==typeof a&&(s=JSON.parse(a));const i=n(s.min,c),u=n(s.max,c);return r>=i&&r<=u})(r,a,o,s);default:return}}}(); |
|
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,_))}}(); |