PageSourceSearch

https://vizops360.ai/assets/shiftCalendarModel-D0hx7g8X.js

js vizops360.ai collected 2026-10-05 13:50:58 UTC 2,245 bytes, 1 lines download raw bytes

1function d(e,t){const a=[],n=new Date(`${e}T00:00:00Z`),r=new Date(`${t}T00:00:00Z`);for(let o=new Date(n);o<=r;o.setUTCDate(o.getUTCDate()+1))a.push(new Date(o));return a}function u(e){return`${e.getUTCFullYear()}-${String(e.getUTCMonth()+1).padStart(2,"0")}-${String(e.getUTCDate()).padStart(2,"0")}`}function c(e,t){return e>t}function f(){const e=new Date,t=e.getFullYear(),a=e.getMonth(),n=new Date(t,a+1,0);return{from:`${t}-${String(a+1).padStart(2,"0")}-01`,to:`${t}-${String(a+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`}}function g(e){return e.split(" ").slice(0,2).map(t=>t[0]?.toUpperCase()??"").join("")}function p(e){const t=new Map;for(const a of e){let n=t.get(a.employeeId);n||(n={employeeId:a.employeeId,empCode:a.empCode,fullName:a.employeeName,designation:a.designation,hasPendingCorrection:!1,days:{}},t.set(a.employeeId,n)),n.days[a.workDate]=a,a.pendingCorrectionId&&(n.hasPendingCorrection=!0)}return[...t.values()].sort((a,n)=>a.fullName.localeCompare(n.fullName))}function m(e,t){const a=t.trim().toLowerCase();return a?e.filter(n=>n.fullName.toLowerCase().includes(a)||(n.empCode??"").toLowerCase().includes(a)||(n.designation??"").toLowerCase().includes(a)):e}const s=["text-blue-600 dark:text-blue-400","text-purple-600 dark:text-purple-400","text-amber-600 dark:text-amber-400","text-emerald-600 dark:text-emerald-400","text-rose-600 dar
1k:text-rose-400","text-cyan-600 dark:text-cyan-400","text-fuchsia-600 dark:text-fuchsia-400","text-slate-700 dark:text-slate-200"];function l(e){let t=0;for(let a=0;a<e.length;a+=1)t=t*31+e.charCodeAt(a)>>>0;return t}function h(e){return e?s[l(e)%s.length]:"text-slate-400 dark:text-slate-500"}const i=["#2563eb","#7c3aed","#d97706","#059669","#e11d48","#0891b2","#c026d3","#475569"];function C(e){return i[l(e)%i.length]}function y(e,t=26){return e.length>t?`${e.slice(0,t)}...`:e}function x(e){return[{header:"Employee Name",value:t=>t.fullName},{header:"Employee ID",value:t=>t.empCode??""},{header:"Designation",value:t=>t.designation??""},...e.map(t=>{const a=u(t);return{header:a,value:n=>{const r=n.days[a];return r?r.isWorkingDay?r.shiftName??"No shift":"Off":""}}})]}export{g as a,C as b,f as c,p as d,h as e,m as f,d as g,c as h,u as i,x as j,y as s};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.