Files
HRM-System/public/build/assets/index--cDU0lOO.js
2026-04-20 00:35:46 +08:00

2 lines
16 KiB
JavaScript

import{r as l,j as s}from"./ui-Z445SNHD.js";import{P as ge}from"./page-template-CDooloYn.js";import{u as _e,c as fe,x as ye,P as he,r as _,D as xe,t as o}from"./app-BJfYyIIX.js";import{C as be}from"./CrudTable-CXIIn3vQ.js";import{C as L}from"./CrudFormModal-I0cLiJrd.js";import{C as ve}from"./CrudDeleteModal-B6HMcwYN.js";import{P as we}from"./pagination-CkJ-fhRF.js";import{S as je}from"./search-and-filter-bar-BqVa3_Yk.js";import Pe from"./view-DqgB5avN.js";import{U as Ce}from"./user-DLrpac_w.js";import{C as Se}from"./calendar-CbSq6zTy.js";import{f as H}from"./utils-BWxnHGCV.js";import"./textarea-Am1DxbQR.js";import"./select-v6HfP-lT.js";import"./index-BdQq_4o_.js";import"./index-9MclThM-.js";import"./chevron-up-C77P-Xnl.js";import"./react-country-flag.esm-Bs2jngHP.js";import"./language-BbwPiY59.js";import"./sparkles-DiRyEFzz.js";import"./loader-circle-BSOgoX7W.js";import"./copy-C-oQ_m_8.js";import"./CookieConsentBanner-C38N4PTk.js";import"./refresh-cw-ALYE7VHu.js";import"./globe-BDbxh4XP.js";import"./settings-iEK2zkZs.js";import"./switch-Cx2aNaqN.js";import"./chevron-right-C_sLmqOC.js";import"./layout-grid-CoeIbdlV.js";import"./briefcase-XD6VuWqm.js";import"./credit-card-7DJJO-Xg.js";import"./gift-BfcFhtsh.js";import"./users-TIev6QWg.js";import"./calendar-days-C8NX5zeY.js";import"./clock-Dx30a3fw.js";import"./timer-BEVp3YT6.js";import"./dollar-sign-GjiaL2_k.js";import"./coins-Bsoy02xu.js";import"./index-BFT_C1pH.js";import"./log-out-BMSBi6tX.js";/* empty css *//* empty css */import"./table-Dfaf1ArC.js";import"./unlink-CSSaKX1C.js";import"./scale-DITx6obc.js";import"./arrow-down-left-HrajnKrs.js";import"./arrow-left-CPwg9j8r.js";import"./arrow-right-left-Vtg0YaAj.js";import"./arrow-right-Ci67tnlN.js";import"./arrow-up-down-EbVjlgTv.js";import"./lock-open-BhIWs4jd.js";import"./award-CHhopoZe.js";import"./ban-DnM0zgR7.js";import"./indian-rupee-DPO8qQHc.js";import"./bell-BCDzorcc.js";import"./book-open-Cp3YBRXY.js";import"./boxes-jH_m8Erv.js";import"./building-2-Cj2jEVV4.js";import"./building-R1behtTx.js";import"./calculator-DeIZ_ZnG.js";import"./calendar-check-B97zAIH7.js";import"./camera-BPbWGWIp.js";import"./chart-column-CmESNu9-.js";import"./chart-no-axes-column-increasing-Ca2j90iV.js";import"./chart-no-axes-column-DKaCwpqd.js";import"./chevron-left-DjVFv1BX.js";import"./circle-alert-BUzHLR-o.js";import"./circle-check-big-CcY08IiJ.js";import"./circle-check-DqHPFLFb.js";import"./circle-help-PqoQB1MX.js";import"./circle-x-DaE5iCCq.js";import"./circle-DWyWs_iS.js";import"./clipboard-list-DHcKg6dk.js";import"./code-mWJntjLp.js";import"./crosshair-DC2k-Gat.js";import"./crown-BdRqXyJ4.js";import"./download-BQYC1kvZ.js";import"./external-link-C8fDH340.js";import"./eye-off-BWt-tbtR.js";import"./eye-bHRQkV_M.js";import"./instagram-BGFGLm0A.js";import"./file-down-DdAdFDO0.js";import"./file-up-nnRIZR-c.js";import"./filter-CC8qq1a5.js";import"./house-CP2gbXUp.js";import"./git-branch-6GYnMk0R.js";import"./grip-vertical-79loVX39.js";import"./hard-drive-Df2an8KV.js";import"./hash-B51tGSz7.js";import"./heart-COE1qsyT.js";import"./info-9TBDJdqu.js";import"./key-o09zqxH4.js";import"./layers-C9iGGCGA.js";import"./lightbulb-K-Y_5YRB.js";import"./link-2-CR0KRHLP.js";import"./link-C6CCqWCl.js";import"./twitter-AWZbUS3C.js";import"./list-Ds3PdXRr.js";import"./lock-BIgt4mUB.js";import"./log-in-D4oQHz9u.js";import"./mail-C0lU3gWz.js";import"./map-pin-DLXmT6vb.js";import"./menu-R8g6P5hx.js";import"./message-square-warning-Dm7PgWIQ.js";import"./message-square-sYeVMJIP.js";import"./monitor-B58WrREO.js";import"./package-CKBK6gna.js";import"./percent-D5F6QCv7.js";import"./phone-D7CEVFIv.js";import"./plane-KS8dzK3k.js";import"./play-Cdfobb7v.js";import"./qr-code-DE8ihwxi.js";import"./quote-D-YN78OJ.js";import"./ruler-DPRgRDAW.js";import"./send-CP2EW1aB.js";import"./server-BlMiJO2V.js";import"./wifi-0CnlAuL6.js";import"./shield-check-uR9kl8S3.js";import"./shield-D4lNYMUI.js";import"./square-check-big-w_EmGz-9.js";import"./square-pen-CtvYVz4A.js";import"./star-B6re2o3I.js";import"./sun-s4Qh-lo7.js";import"./tag-D3UUs3NH.js";import"./target-Tqqh32oJ.js";import"./thumbs-up-BUs9xhvK.js";import"./ticket-gUCzNpKq.js";import"./trash-2-CUSPqIMQ.js";import"./trash-BMNHUWub.js";import"./trending-down-B0KCstqH.js";import"./trending-up-BP28QOMf.js";import"./triangle-alert-DzZt-B82.js";import"./trophy-_nNwkq4U.js";import"./type-CV-12-co.js";import"./user-check-BAzI_pqD.js";import"./user-plus-CIf52zHT.js";import"./user-x-ZeBdhs4I.js";import"./wallet-CSYigBrV.js";import"./wrench-DGxlm__Y.js";import"./zap-DtypiZBz.js";import"./radio-group-KOpzhUXP.js";import"./checkbox-D89mOuIk.js";import"./scroll-area-oGCj-C9A.js";function pi(){var R;const{t:e}=_e(),{auth:x,actionItems:a,meetings:P,employees:C,filters:p={},globalSettings:i}=fe().props,S=(x==null?void 0:x.permissions)||[],[f,N]=l.useState(p.search||""),[d,D]=l.useState(p.status||"_empty_"),[c,F]=l.useState(p.priority||"_empty_"),[u,A]=l.useState(p.assigned_to||"_empty_"),[g,M]=l.useState(p.meeting_id||"_empty_"),[I,O]=l.useState(!1),[V,b]=l.useState(!1),[z,y]=l.useState(!1),[B,v]=l.useState(!1),[n,T]=l.useState(null),[h,$]=l.useState("create"),[w,k]=l.useState(null),G=()=>d!=="_empty_"||c!=="_empty_"||u!=="_empty_"||g!=="_empty_"||f!=="",J=()=>(d!=="_empty_"?1:0)+(c!=="_empty_"?1:0)+(u!=="_empty_"?1:0)+(g!=="_empty_"?1:0)+(f!==""?1:0),K=t=>{t.preventDefault(),E()},E=()=>{_.get(route("meetings.action-items.index"),{page:1,search:f||void 0,status:d!=="_empty_"?d:void 0,priority:c!=="_empty_"?c:void 0,assigned_to:u!=="_empty_"?u:void 0,meeting_id:g!=="_empty_"?g:void 0,per_page:p.per_page},{preserveState:!0,preserveScroll:!0})},Q=t=>{const r=p.sort_field===t&&p.sort_direction==="asc"?"desc":"asc";_.get(route("meetings.action-items.index"),{sort_field:t,sort_direction:r,page:1,search:f||void 0,status:d!=="_empty_"?d:void 0,priority:c!=="_empty_"?c:void 0,assigned_to:u!=="_empty_"?u:void 0,meeting_id:g!=="_empty_"?g:void 0,per_page:p.per_page},{preserveState:!0,preserveScroll:!0})},W=(t,r)=>{switch(T(r),t){case"view":k(r);break;case"edit":$("edit"),y(!0);break;case"delete":b(!0);break;case"update-progress":v(!0);break}},X=()=>{T(null),$("create"),y(!0)},Y=t=>{h==="create"?(i!=null&&i.is_demo||o.loading(e("Creating action item...")),_.post(route("meetings.action-items.store"),t,{onSuccess:r=>{y(!1),i!=null&&i.is_demo||o.dismiss(),r.props.flash.success?o.success(e(r.props.flash.success)):r.props.flash.error&&o.error(e(r.props.flash.error))},onError:r=>{i!=null&&i.is_demo||o.dismiss(),typeof r=="string"?o.error(r):o.error(`Failed to create action item: ${Object.values(r).join(", ")}`)}})):h==="edit"&&(i!=null&&i.is_demo||o.loading(e("Updating action item...")),_.put(route("meetings.action-items.update",n.id),t,{onSuccess:r=>{y(!1),i!=null&&i.is_demo||o.dismiss(),r.props.flash.success?o.success(e(r.props.flash.success)):r.props.flash.error&&o.error(e(r.props.flash.error))},onError:r=>{i!=null&&i.is_demo||o.dismiss(),typeof r=="string"?o.error(r):o.error(`Failed to update action item: ${Object.values(r).join(", ")}`)}}))},Z=()=>{i!=null&&i.is_demo||o.loading(e("Deleting action item...")),_.delete(route("meetings.action-items.destroy",n.id),{onSuccess:t=>{b(!1),i!=null&&i.is_demo||o.dismiss(),t.props.flash.success?o.success(e(t.props.flash.success)):t.props.flash.error&&o.error(e(t.props.flash.error))},onError:t=>{i!=null&&i.is_demo||o.dismiss(),typeof t=="string"?o.error(t):o.error(`Failed to delete action item: ${Object.values(t).join(", ")}`)}})},ee=t=>{i!=null&&i.is_demo||o.loading(e("Updating progress...")),_.put(route("meetings.action-items.update-progress",n.id),{progress_percentage:t.progress_percentage,notes:t.notes},{onSuccess:r=>{v(!1),i!=null&&i.is_demo||o.dismiss(),r.props.flash.success?o.success(e(r.props.flash.success)):r.props.flash.error&&o.error(e(r.props.flash.error))},onError:r=>{i!=null&&i.is_demo||o.dismiss(),typeof r=="string"?o.error(r):o.error(`Failed to update progress: ${Object.values(r).join(", ")}`)}})},te=()=>{N(""),D("_empty_"),F("_empty_"),A("_empty_"),M("_empty_"),O(!1),_.get(route("meetings.action-items.index"),{page:1,per_page:p.per_page},{preserveState:!0,preserveScroll:!0})},q=[];ye(S,"create-action-items")&&q.push({label:e("Add Action Item"),icon:s.jsx(he,{className:"h-4 w-4 mr-2"}),variant:"default",onClick:()=>X()});const re=[{title:e("Dashboard"),href:route("dashboard")},{title:e("Meetings"),href:route("meetings.action-items.index")},{title:e("Action Items")}],ie=t=>{switch(t){case"Not Started":return"bg-gray-50 text-gray-600 ring-gray-500/10";case"In Progress":return"bg-blue-50 text-blue-700 ring-blue-600/20";case"Completed":return"bg-green-50 text-green-700 ring-green-600/20";case"Overdue":return"bg-red-50 text-red-700 ring-red-600/10";default:return"bg-gray-50 text-gray-600 ring-gray-500/10"}},se=t=>{switch(t){case"Low":return"bg-green-50 text-green-700 ring-green-600/20";case"Medium":return"bg-yellow-50 text-yellow-800 ring-yellow-600/20";case"High":return"bg-orange-50 text-orange-700 ring-orange-600/20";case"Critical":return"bg-red-50 text-red-700 ring-red-600/10";default:return"bg-gray-50 text-gray-600 ring-gray-500/10"}},oe=(t,r)=>{if(r==="Completed")return null;const m=new Date,ue=new Date(t).getTime()-m.getTime();return Math.ceil(ue/(1e3*60*60*24))},ae=[{key:"title",label:e("Action Item"),sortable:!0,render:(t,r)=>{var m;return s.jsxs("div",{children:[s.jsx("div",{className:"font-medium",children:t}),s.jsx("div",{className:"text-xs text-gray-500",children:(m=r.meeting)==null?void 0:m.title})]})}},{key:"assignee.name",label:e("Assigned To"),render:(t,r)=>{var m;return s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(Ce,{className:"h-4 w-4 text-gray-500"}),((m=r.assignee)==null?void 0:m.name)||"-"]})}},{key:"due_date",label:e("Due Date"),sortable:!0,render:(t,r)=>{var j;const m=oe(t,r.status);return s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(Se,{className:"h-4 w-4 text-gray-500"}),((j=window.appSettings)==null?void 0:j.formatDateTimeSimple(t,!1))||new Date(t).toLocaleDateString()]}),m!==null&&s.jsx("div",{className:`text-xs ${m<0?"text-red-600":m<=3?"text-orange-600":"text-gray-500"}`,children:m<0?`${Math.abs(m)} days overdue`:m===0?"Due today":`${m} days remaining`})]})}},{key:"priority",label:e("Priority"),render:t=>s.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${se(t)}`,children:e(t)})},{key:"progress_percentage",label:e("Progress"),render:(t,r)=>s.jsxs("div",{className:"w-full",children:[s.jsxs("div",{className:"flex items-center justify-between mb-1",children:[s.jsxs("span",{className:"text-xs text-gray-600",children:[t,"%"]}),s.jsx("span",{className:`inline-flex items-center rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${ie(r.status)}`,children:e(r.status)})]}),s.jsx("div",{className:"w-full bg-gray-200 rounded-full h-2",children:s.jsx("div",{className:`h-2 rounded-full ${r.status==="Completed"?"bg-green-500":r.status==="Overdue"?"bg-red-500":"bg-blue-500"}`,style:{width:`${t}%`}})})]})}],ne=[{label:e("View"),icon:"Eye",action:"view",className:"text-blue-500",requiredPermission:"view-action-items"},{label:e("Edit"),icon:"Edit",action:"edit",className:"text-amber-500",requiredPermission:"edit-action-items"},{label:e("Update Progress"),icon:"TrendingUp",action:"update-progress",className:"text-green-500",requiredPermission:"edit-action-items"},{label:e("Delete"),icon:"Trash2",action:"delete",className:"text-red-500",requiredPermission:"delete-action-items"}],me=[{value:"_empty_",label:e("All Statuses"),disabled:!0},{value:"Not Started",label:e("Not Started")},{value:"In Progress",label:e("In Progress")},{value:"Completed",label:e("Completed")},{value:"Overdue",label:e("Overdue")}],U=[{value:"_empty_",label:e("All Priorities"),disabled:!0},{value:"Low",label:e("Low")},{value:"Medium",label:e("Medium")},{value:"High",label:e("High")},{value:"Critical",label:e("Critical")}],pe=[{value:"_empty_",label:e("All Assignees"),disabled:!0},...(C||[]).map(t=>({value:t.id.toString(),label:t.name}))],le=[{value:"_empty_",label:e("All Meetings"),disabled:!0},...(P||[]).map(t=>({value:t.id.toString(),label:`${t.title} - ${H(new Date(t.meeting_date),"MMM dd, yyyy")}`}))],de=[{value:"_empty_",label:e("Select Meeting")},...(P||[]).map(t=>({value:t.id.toString(),label:`${t.title} - ${H(new Date(t.meeting_date),"MMM dd, yyyy")}`}))],ce=[{value:"_empty_",label:e("Select Assignee")},...(C||[]).map(t=>({value:t.id.toString(),label:t.name}))];return s.jsxs(ge,{title:e("Action Items"),url:"/meetings/action-items",actions:q,breadcrumbs:re,noPadding:!0,children:[s.jsx("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow mb-4 p-4",children:s.jsx(je,{searchTerm:f,onSearchChange:N,onSearch:K,filters:[{name:"status",label:e("Status"),type:"select",value:d,onChange:D,options:me},{name:"priority",label:e("Priority"),type:"select",value:c,onChange:F,options:U},{name:"assigned_to",label:e("Assignee"),type:"select",value:u,onChange:A,options:pe,searchable:!0},{name:"meeting_id",label:e("Meeting"),type:"select",value:g,onChange:M,options:le,searchable:!0}],showFilters:I,setShowFilters:O,hasActiveFilters:G,activeFilterCount:J,onResetFilters:te,onApplyFilters:E,currentPerPage:((R=p.per_page)==null?void 0:R.toString())||"10",onPerPageChange:t=>{_.get(route("meetings.action-items.index"),{page:1,per_page:parseInt(t),search:f||void 0,status:d!=="_empty_"?d:void 0,priority:c!=="_empty_"?c:void 0,assigned_to:u!=="_empty_"?u:void 0,meeting_id:g!=="_empty_"?g:void 0},{preserveState:!0,preserveScroll:!0})}})}),s.jsxs("div",{className:"bg-white dark:bg-gray-900 rounded-lg shadow overflow-hidden",children:[s.jsx(be,{columns:ae,actions:ne,data:(a==null?void 0:a.data)||[],from:(a==null?void 0:a.from)||1,onAction:W,sortField:p.sort_field,sortDirection:p.sort_direction,onSort:Q,permissions:S,entityPermissions:{view:"view-action-items",create:"create-action-items",edit:"edit-action-items",delete:"delete-action-items"}}),s.jsx(we,{from:(a==null?void 0:a.from)||0,to:(a==null?void 0:a.to)||0,total:(a==null?void 0:a.total)||0,links:a==null?void 0:a.links,entityName:e("action items"),onPageChange:t=>_.get(t)})]}),s.jsx(L,{isOpen:z,onClose:()=>y(!1),onSubmit:Y,formConfig:{fields:[{name:"meeting_id",label:e("Meeting"),type:"select",required:!0,options:de.filter(t=>t.value!=="_empty_"),searchable:!0},{name:"title",label:e("Action Item Title"),type:"text",required:!0},{name:"description",label:e("Description"),type:"textarea",rows:3},{name:"assigned_to",label:e("Assign To"),type:"select",required:!0,options:ce.filter(t=>t.value!=="_empty_"),searchable:!0},{name:"due_date",label:e("Due Date"),type:"date",required:!0},{name:"priority",label:e("Priority"),type:"select",required:!0,options:U.filter(t=>t.value!=="_empty_")},{name:"progress_percentage",label:e("Progress (%)"),type:"number",min:0,max:100,helpText:e("Current completion percentage")},{name:"notes",label:e("Notes"),type:"textarea",rows:2}],modalSize:"xl"},initialData:n?{...n,due_date:n.due_date?window.appSettings.formatDateTimeSimple(n.due_date,!1):n.due_date}:null,title:e(h==="create"?"Add Action Item":"Edit Action Item"),mode:h}),s.jsx(ve,{isOpen:V,onClose:()=>b(!1),onConfirm:Z,itemName:(n==null?void 0:n.title)||"",entityName:"action item"}),s.jsx(L,{isOpen:B,onClose:()=>v(!1),onSubmit:ee,formConfig:{fields:[{name:"progress_percentage",label:e("Progress Percentage"),type:"number",required:!0,min:0,max:100,helpText:e("Enter completion percentage (0-100)")},{name:"notes",label:e("Progress Notes"),type:"textarea",rows:3,helpText:e("Optional notes about the progress")}],modalSize:"md"},initialData:{progress_percentage:(n==null?void 0:n.progress_percentage)||0,notes:(n==null?void 0:n.notes)||""},title:e("Update Progress"),mode:"edit",submitButtonText:e("Update Progress")}),s.jsx(xe,{open:!!w,onOpenChange:()=>k(null),children:w&&s.jsx(Pe,{actionItem:w})})]})}export{pi as default};