@asaleh37/ui-base 25.9.26 → 25.9.30-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/templates/DataEntryTemplates/DataEntryTypes.ts +4 -0
- package/src/components/templates/DataEntryTemplates/DataEntryUtil.ts +5 -0
- package/src/components/templates/DataEntryTemplates/TemplateDataForm/TemplateForm.tsx +4 -7
- package/src/components/templates/DataEntryTemplates/TemplateDataGrid/DataGridColumnsUtil.tsx +15 -15
- package/src/components/templates/workflow/WorkflowDocumentPanel.tsx +3 -2
- package/src/main.tsx +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{QuickFilter as e,ToolbarButton as t,Toolbar as i,ColumnsPanelTrigger as o,GridViewColumnIcon as r,FilterPanelTrigger as n,GridFilterListIcon as a,ExportExcel as s,QuickFilterTrigger as l,QuickFilterControl as d,QuickFilterClear as c,GridActionsCellItem as p,GridExpandMoreIcon as u,DataGridPremium as h,GridRowModes as m}from"@mui/x-data-grid-premium";export{DataGridPremium}from"@mui/x-data-grid-premium";import{jsxs as f,jsx as g,Fragment as T}from"react/jsx-runtime";import{useDispatch as A,useSelector as y,Provider as I}from"react-redux";export{useDispatch,useSelector}from"react-redux";import{library as _}from"@fortawesome/fontawesome-svg-core";import{fab as E}from"@fortawesome/free-brands-svg-icons";import{far as O}from"@fortawesome/free-regular-svg-icons";import{fas as C}from"@fortawesome/free-solid-svg-icons";import"react-toastify/dist/ReactToastify.css";import{Dialog as N,DialogTitle as R,DialogContent as b,DialogContentText as w,DialogActions as P,Button as v,Modal as L,Box as S,AppBar as M,Toolbar as D,Typography as k,IconButton as U,Paper as x,TextField as F,Grid2 as B,ListItemButton as q,FormControlLabel as W,Checkbox as G,Autocomplete as H,Popper as Y,Avatar as K,Tooltip as V,styled as z,Badge as $,Divider as Q,MenuItem as j,InputAdornment as Z,Accordion as J,AccordionSummary as X,AccordionDetails as ee,keyframes as te,ClickAwayListener as ie,Fade as oe,Menu as re,useTheme as ne,Backdrop as ae,CircularProgress as se,createTheme as le}from"@mui/material";export*from"@mui/material";import{ThemeContext as de,CacheProvider as ce,ThemeProvider as pe}from"@emotion/react";import*as ue from"react";import he,{useState as me,useEffect as fe,createElement as ge,useRef as Te,useMemo as Ae,useReducer as ye}from"react";import{styled as Ie,alpha as _e,useTheme as Ee}from"@mui/material/styles";import Oe from"@mui/material/CssBaseline";import Ce from"@mui/material/AppBar";import Ne from"@mui/material/Toolbar";import{FontAwesomeIcon as Re}from"@fortawesome/react-fontawesome";export{FontAwesomeIcon}from"@fortawesome/react-fontawesome";import{createSlice as be,configureStore as we}from"@reduxjs/toolkit";import{toast as Pe,ToastContainer as ve}from"react-toastify";export{toast}from"react-toastify";import Le from"axios";export{default as axios}from"axios";import Se from"i18next";import{useTranslation as Me,initReactI18next as De}from"react-i18next";export{useTranslation}from"react-i18next";import{useForm as ke}from"react-hook-form";export{useForm}from"react-hook-form";import{useNavigate as Ue,useParams as xe,Routes as Fe,Route as Be,BrowserRouter as qe}from"react-router-dom";export{useNavigate,useParams}from"react-router-dom";import{zodResolver as We}from"@hookform/resolvers/zod";export{zodResolver}from"@hookform/resolvers/zod";import*as Ge from"zod";import{z as He}from"zod";export{Ge as z};import Ye from"@mui/material/List";import Ke from"@mui/material/Card";import Ve from"@mui/material/CardHeader";import ze from"@mui/material/ListItemText";import $e from"@mui/material/ListItemIcon";import Qe from"@mui/material/Checkbox";import je from"@mui/material/Button";import Ze from"@mui/material/Divider";import{LocalizationProvider as Je,DatePicker as Xe,DateTimePicker as et}from"@mui/x-date-pickers";import{AdapterMoment as tt}from"@mui/x-date-pickers/AdapterMoment";import it from"moment";import ot from"@mui/material/CardActions";import rt from"@mui/material/CardContent";import nt from"@mui/material/CardMedia";import at from"@mui/material/Typography";export*from"@mui/lab";export*from"@mui/x-tree-view/models";import{BarChart as st,Gauge as lt,LineChart as dt}from"@mui/x-charts";import ct from"@mui/material/LinearProgress";import pt from"@mui/material/Box";import{PieChart as ut}from"@mui/x-charts/PieChart";import ht from"@mui/material/IconButton";import mt from"@mui/material/Drawer";import{animated as ft,useSpring as gt}from"@react-spring/web";import Tt from"@mui/material/Collapse";import{RichTreeView as At}from"@mui/x-tree-view/RichTreeView";import{treeItemClasses as yt}from"@mui/x-tree-view/TreeItem";import{useTreeItem2 as It}from"@mui/x-tree-view/useTreeItem2";import{TreeItem2Root as _t,TreeItem2Content as Et,TreeItem2IconContainer as Ot,TreeItem2Checkbox as Ct,TreeItem2Label as Nt}from"@mui/x-tree-view/TreeItem2";import{TreeItem2Icon as Rt}from"@mui/x-tree-view/TreeItem2Icon";import{TreeItem2Provider as bt}from"@mui/x-tree-view/TreeItem2Provider";import{TreeItem2DragAndDropOverlay as wt}from"@mui/x-tree-view/TreeItem2DragAndDropOverlay";import Pt from"stylis-plugin-rtl";import{prefixer as vt}from"stylis";import Lt from"@emotion/cache";import St from"@emotion/styled";import{grey as Mt}from"@mui/material/colors";import Dt from"@mui/material/SwipeableDrawer";import{LicenseInfo as kt}from"@mui/x-license";!function(e,t){void 0===t&&(t={});var i=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===i&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("html,\nbody {\n height: 100vh;\n margin: 0;\n padding: 0;\n}\n\n#root {\n height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n.red-row {\n background-color: #f0d8d8;\n}\n");const Ut=(e=768)=>{const[t,i]=me(window.innerWidth<e);return fe(()=>{const t=()=>i(window.innerWidth<e);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e]),t},xt=350,Ft=be({name:"AppLayout",initialState:{themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},reducers:{setThemeMode:(e,t)=>{e.themeMode=t.payload},setAppDirection:(e,t)=>{e.appDirection=t.payload}}}),Bt=Ft.actions;var qt=Ft.reducer;const Wt=be({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,t)=>{e.value.isOpened=!0,e.value.message=t.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Gt,hideLoadingMask:Ht}=Wt.actions;var Yt=Wt.reducer;const Kt=()=>{const e=A();return{show:t=>{e(Gt(t))},hide:()=>{e(Ht())}}},Vt=be({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,t)=>{e.value=t.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),zt=Vt.actions;var $t=Vt.reducer;const Qt=()=>{const e=Kt(),t=A(),i=y(e=>e.AppInfo.value.apiBaseUrl),o=Le.create({baseURL:i,timeout:6e5,withCredentials:!0});o.defaults.withCredentials=!0,o.interceptors.request.use(e=>{const t=localStorage.getItem("TOKEN");return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e)),o.interceptors.response.use(e=>e,e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))t(zt.setUnAuthenticated()),localStorage.removeItem("TOKEN"),Pe.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&402===e.response.status)))t(zt.setUnAuthenticated()),Pe.error("Your license is missing or has expired,Please reach out to your vendor for assistance.");else if(e&&(e.response&&(e.response.status&&403===e.response.status)))Pe.error("you aren't authorized to process this request");else if(e&&(e.response&&(e.response.status&&500===e.response.status)))if(e.response.data instanceof Blob){e.response.data.text().then(e=>{Pe.error(e)})}else Pe.error(e.response.data);else Pe.error("failed to communicate with the server ... try again later");return"ERROR"});return{handleGetRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const i=await o.get(t.endPointURI,{params:{...t.parameters},withCredentials:!0,headers:t.headers,responseType:t?.responseType});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},handlePostRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let i=await o.post(t.endPointURI,t.data,{params:t.parameters,responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},handleDeleteRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let i=await o.delete(t.endPointURI,{params:{...t.parameters},responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},HandleDownloadHTTPPostPDF:async(t={endPointURI:"",parameters:{},data:{}})=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const i=await o.post(t.endPointURI,t.data,{responseType:"blob"});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},handleUploadRequest:async t=>{if(null===t.files||0===t.files.length)return Pe.error("You must add files to upload"),"ERROR";const i=new FormData;for(const e of t.files)i.append("files",e);void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let r=await o.post(t.endPointURI,i,{params:t?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==r?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(r),r):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(r),"ERROR")}}},jt=e=>{const[t,i]=me(!1),{t:o}=Me();return{ConfirmationWindow:()=>f(N,{open:t,children:[g(R,{children:e.title}),g(b,{children:g(w,{children:e.body})}),f(P,{children:[g(v,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"primary",onClick:()=>{i(!1)},children:o("NO_LABEL")}),g(v,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"error",onClick:()=>{e.onConfirmationCallBk(),i(!1)},autoFocus:!0,children:o("YES_LABEL")})]})]}),open:t,setOpen:i}},Zt=()=>{const e=y(e=>e.UserSession),t=e.value;return{UserSession:e,isUserAuthorized:t=>{if(e?.value?.authorities)for(let i of e.value.authorities){if("DEVELOPMENT_ADMIN"===t&&("DEVELOPMENT_ADMIN"===i?.authority||"ORGANIZATION_ADMIN"===i?.authority))return!0;if("ORGANIZATION_ADMIN"===t&&"ORGANIZATION_ADMIN"===i?.authority)return!0;if("DEVELOPMENT_ADMIN"!==t&&"ORGANIZATION_ADMIN"!==t&&("ORGANIZATION_ADMIN"===i?.authority||"DEVELOPMENT_ADMIN"===i?.authority||"SYSTEM_ADMIN"===i?.authority||i?.authority===t))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(t?.currentOrganization?.systemApplicationModules)for(const i of t.currentOrganization.systemApplicationModules)if(i.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:t}},Jt=e=>{const[t,i]=me(!1),o=y(e=>e.AppLayout.appDirection);return{windowState:t,setWindowState:i,Window:r=>g(L,{open:t,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!t&&e?.onCloseCallBack&&e.onCloseCallBack()},children:f(S,{dir:o,sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:e?.height||"80%",width:e?.width||"90%",minWidth:e.minWidth||400,minHeight:e.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[g(M,{position:"static",children:f(D,{variant:"dense",children:[g(Re,{icon:e?.windowIcon||"window-maximize",style:{marginRight:5}}),g(k,{variant:"h6",color:"inherit",component:"div",children:e?.windowTitle||"window"}),g("div",{style:{flexGrow:1}}),g(U,{onClick:()=>{i(!1),null!=e.onCloseCallBack&&null!=e.onCloseCallBack&&e.onCloseCallBack()},color:"secondary",children:g(Re,{icon:"xmark-square"})})]})}),g(x,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:r?.children})]})})}},Xt=be({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,t)=>{e.stores=t.payload,e.storeKeys=Object.keys(t.payload)},setStoreData:(e,t)=>{e.stores[t.payload.storeKey].data=t.payload.data}}}),{setStoreData:ei,setStoresMetaData:ti}=Xt.actions;var ii=Xt.reducer;const oi=e=>{const t=y(e=>e.commonStores.stores),i=A(),o=Zt(),{handleGetRequest:r,handlePostRequest:n,handleDeleteRequest:a}=Qt();return{reloadData:async n=>{if(e?.commonStoreKey){const n=Object.keys(t);for(const a of n)if(a===e.commonStoreKey&&(void 0===t[a]?.authority||null===t[a]?.authority||o.isUserAuthorized(t[a]?.authority))&&""!=t[a]?.url){await r({endPointURI:t[a].url,showMask:!1,successCallBkFn:t=>{i(ei({storeKey:a,data:t.data})),e.setData(t.data)},failureCallBkFn:()=>{i(ei({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await r({endPointURI:e.findAll,showMask:!0,parameters:n||{},successCallBkFn:t=>{e.setData(t.data)}})},loadRecordById:async t=>{let i=null;if(e?.findById){const o={};o[e?.findByIdParamName||"id"]=t,await r({endPointURI:e.findById,showMask:!0,parameters:o,successCallBkFn:e=>{i=e.data}})}return i},saveRecord:async t=>{let i=null;return e?.save&&await n({endPointURI:e.save,data:t,showMask:!0,successCallBkFn:e=>{i=e.data}}),i},deleteRecordById:async t=>{let i=!0;if(e?.deleteById){const o={};o[e?.deleteByIdParamName||"id"]=t,await a({endPointURI:e.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{i=!0},failureCallBkFn:()=>{i=!1}})}return i}}},ri=e=>{const{t:t}=Me();return g(F,{...e,hidden:!0,slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:g(T,{children:e?.label?t(e.label):""}),error:e?.error,helperText:e?.helperText?t(e.helperText):void 0})};function ni(e,t){return e.filter(e=>-1===t.indexOf(e))}function ai(e,t){return e.filter(e=>-1!==t.indexOf(e))}const si=({valueField:e="id",displayField:t="name",options:i=[],selectedOptions:o=[],setSelection:r})=>{const[n,a]=ue.useState([]),[s,l]=ue.useState([]),[d,c]=ue.useState([]),[p,u]=ue.useState(""),[h,m]=ue.useState(""),T=ai(n,s),A=ai(n,d);ue.useEffect(()=>{i&&l([...i])},[i]),ue.useEffect(()=>{o&&c([...o])},[o]);const y=e=>()=>{const t=n.indexOf(e),i=[...n];-1===t?i.push(e):i.splice(t,1),a(i)},I=e=>ai(n,e).length,_=e=>()=>{var t,i;I(e)===e.length?a(ni(n,e)):a((t=n,i=e,[...t,...ni(i,t)]))},E=(i,o,r)=>{const a=o.filter(e=>{if(e[t]){const i=e[t];if("left"===r&&i.toLocaleLowerCase().includes(p.toLocaleLowerCase()))return!0;if("right"===r&&i.toLocaleLowerCase().includes(h.toLocaleLowerCase()))return!0}return!1});return f(Ke,{sx:{height:"100%"},children:[g(Ve,{sx:{px:2,py:1},avatar:g(Qe,{onClick:_(a),checked:I(a)===a.length&&0!==a.length,indeterminate:I(a)!==a.length&&0!==I(a),disabled:0===a.length,inputProps:{"aria-label":"all items selected"}}),title:i,subheader:`${I(o)} / ${o.length} Selected`}),g(S,{sx:{width:"100%",padding:1},children:g(ri,{fullWidth:!0,label:"search",value:"left"===r?p:h,onChange:e=>{"left"===r?u(e.target.value):m(e.target.value)}})}),g(Ze,{}),g(Ye,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:a.map(i=>(i[e],f(q,{role:"listitem",onClick:y(i),sx:{cursor:"pointer"},children:[g($e,{children:g(Qe,{checked:-1!==n.indexOf(i),tabIndex:-1,disableRipple:!0})}),g(ze,{id:i[e],primary:i[t]})]},i[e])))})]})};return f(B,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[g(B,{sx:{height:"100%",flex:1},children:E("Available Items",s,"left")}),g(B,{children:f(B,{container:!0,direction:"column",alignItems:"center",children:[g(je,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{c(e=>{let t=d.concat(T);return r(t),t}),l(ni(s,T)),a(ni(n,T))},disabled:0===T.length,"aria-label":"move selected right",children:">"}),g(je,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{l(s.concat(A)),c(e=>{let t=ni(d,A);return r(t),t}),a(ni(n,A))},disabled:0===A.length,"aria-label":"move selected left",children:"<"})]})}),g(B,{sx:{height:"100%",flex:1},children:E("Currently Selected",d,"right")})]})},li=e=>{const{t:t}=Me();return g(W,{sx:e.sx,hidden:e?.hidden||!1,disabled:e.disabled||!1,required:e.required||!1,control:g(G,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:t=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(t.target.checked?void 0!==e.checkedValue&&null!=e.checkedValue?e.onChangeCallBack(e.checkedValue):e.onChangeCallBack(!0):void 0!==e.unCheckedValue&&null!=e.unCheckedValue?e.onChangeCallBack(e.unCheckedValue):e.onChangeCallBack(!1))}}),label:t(e.label)})},di=e=>{const t=y(e=>e.AppLayout),[i,o]=me(e?.options||[]),r=y(t=>t?.commonStores?.stores[e?.commonStoreKey]?.data),{handleGetRequest:n}=Qt();fe(()=>{e?.commonStoreKey?o(r):(async()=>{e?.storeUrl?await n({endPointURI:e.storeUrl,showMask:!1,parameters:e?.storeLoadParam,successCallBkFn:e=>{o(e.data)},failureCallBkFn:()=>{o([])}}):e?.dataQueryId?await n({endPointURI:"api/v1/dev/query/result",showMask:!1,parameters:{queryId:e.dataQueryId,...e?.storeLoadParam},successCallBkFn:e=>{o(e.data)},failureCallBkFn:()=>{o([])}}):e?.options&&o(e.options)})()},[e?.storeUrl,e?.storeLoadParam,e?.dataQueryId,e?.commonStoreKey,e?.options,r]);const{t:a}=Me();return g(H,{sx:e.sx,value:(t=>{for(let o of i)if(o[e.valueField]==t)return o;return null})(e.value),options:i,disabled:e.disabled,hidden:e?.hidden||!1,onChange:(t,i)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=i){let t=i[e.valueField];e.onChangeCallBack(t,i)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:t=>null!=t?a(t[e.displayField]):"",renderOption:(t,i)=>g("li",{...t,children:null!=i?a(i[e.displayField]):""}),slots:{popper:e=>g(Y,{...e,style:{...e.style,direction:t.appDirection}})},renderInput:t=>g(F,{...t,required:e.required||!1,variant:"outlined",slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:a(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?a(e.errorMessage):""})})},ci="YYYY-MM-DD",pi="YYYY-MM-DD HH:mm:ss",ui="#37505C",hi="#ff6d00",mi="#ea690e",fi="#74776B",gi=e=>{const{t:t}=Me();return e?.hidden?g(T,{}):g(Je,{dateAdapter:tt,children:g(Xe,{value:null!=e.value&&void 0!==e.value&&""!==e.value?it(e.value,e?.format||ci):null,sx:{...e.sx,display:e?.hidden?"none":void 0},label:t(e.label),format:e?.format||ci,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||ci)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?g(T,{children:t(e.errorMessage)}):g(T,{})}}})})},Ti=e=>{const{t:t}=Me();return e?.hidden?g(T,{}):g(Je,{dateAdapter:tt,children:g(et,{value:null!=e.value&&void 0!==e.value&&""!==e.value?it(e.value,e?.format||pi):null,label:t(e.label),sx:{...e.sx,display:e?.hidden?"none":void 0},format:e?.format||pi,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||pi)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?g(T,{children:t(e.errorMessage)}):g(T,{})}}})})},Ai=e=>{const t=y(e=>e.AppLayout),i=Zt(),[o,r]=me([]),{handleGetRequest:n}=Qt();return fe(()=>{e.lookupType&&(async()=>{await n({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{r(e.data)},failureCallBkFn:()=>{r([])}})})()},[e.lookupType,i.UserSession]),g(di,{...e,options:o,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},yi=e=>({...e,type:"string",renderEditCell:e=>g(gi,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=it(e).format(ci)),o},valueFormatter:(e,t,i)=>t[i.field]}),Ii=e=>({...e,type:"string",renderEditCell:e=>g(Ti,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=it(e).format(pi)),o},valueFormatter:(e,t,i)=>t[i.field]}),_i=e=>({...e,type:"custom",valueGetter:e=>e||e,renderCell:e=>{let t=null;try{t=e.colDef.options.find(t=>t[e.colDef.valueField]==e.value)}catch(e){}return g("div",{children:null!=t?t[e.colDef.displayField]:e.value})},renderEditCell:e=>g(di,{...e,sx:{width:"100%"},options:e?.colDef?.options,commonStoreKey:e?.colDef?.commonStoreKey,dataQueryId:e?.colDef?.dataQueryId,storeUrl:e?.colDef?.storeUrl,storeLoadParam:e?.colDef?.storeLoadParam,valueField:e?.colDef?.valueField,displayField:e?.colDef?.displayField,onChangeCallBack:(t,i)=>{null===t&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:t})}})}),Ei=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const i=t?.value;return i===e.checkedValue||"true"===i||1===i||!0===i?g(Re,{icon:"check",color:"green"}):g(Re,{icon:"xmark",color:"red"})},renderEditCell:t=>g(li,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),Oi=e=>{const t=[];if("field"===e.type&&"props"===e.mode&&e?.props)t.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const i of e.props.elements)t.push(...Oi(i));return t},Ci=e=>{const t=[];for(const i of e)t.push(...Oi(i));return t},Ni=(e,t,i)=>{const o=[];for(const r of e)if("text"===r?.fieldType||"number"===r?.fieldType){const e={...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,type:"number"==r?.fieldType?"number":"string",field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200};o.push(e)}else if("date"===r?.fieldType){const e=yi({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else if("datetime"===r?.fieldType){const e=Ii({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else if("checkbox"===r?.fieldType){const e=Ei({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,checkedValue:r?.checkedValue,unCheckedValue:r?.unCheckedValue,width:150});o.push(e)}else if("combobox"===r?.fieldType){const e=_i({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options||[],flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else if("lookup"===r?.fieldType){const e=_i({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,lookupType:r?.lookupType,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options||[],flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else{const e={field:r.fieldName,...r?.gridProps?.muiProps};o.push(e)}return o},Ri=e=>{const t={};for(const i of e)if(i?.fieldName){const e=i.fieldName;"number"===i.fieldType?t[e]=!0===i?.required?Ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):Ge.number().optional().nullable():"checkbox"===i.fieldType?t[e]=!0===i?.required?Ge.boolean({required_error:"This field is required"}):Ge.boolean().optional().nullable():"combobox"===i.fieldType?i?.comboboxValueDataType?"number"===i?.comboboxValueDataType?t[e]=!0===i?.required?Ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):Ge.number().optional().nullable():"string"===i?.comboboxValueDataType&&(t[e]=!0===i?.required?Ge.string({message:"This field is required"}).min(1,"This field is required"):Ge.string().optional().nullable()):t[e]=!0===i?.required?Ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):Ge.number().optional().nullable():t[e]=!0===i?.required?Ge.string({message:"This field is required"}).min(1,"This field is required"):Ge.string().optional().nullable()}return t},bi=(e,t,i)=>{const o=[],r=[];if("exclude"===e.type&&0===e.ids.size)for(const e of t)o.push(e),r.push(e[i]);else if(e?.ids)for(const n of e.ids){const e=t.find(e=>e[i]===n);o.push(e),r.push(n)}return{selectedRecords:o,selectedRecordIds:r}};function wi(e,...t){const i=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(e=>i.searchParams.append("args[]",e)),`Minified MUI error #${e}; visit ${i} for the full message.`}function Pi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vi,Li={exports:{}},Si={exports:{}},Mi={};var Di,ki,Ui,xi,Fi,Bi,qi,Wi,Gi,Hi,Yi,Ki,Vi,zi,$i,Qi={};
|
|
1
|
+
import{QuickFilter as e,ToolbarButton as t,Toolbar as i,ColumnsPanelTrigger as o,GridViewColumnIcon as r,FilterPanelTrigger as n,GridFilterListIcon as a,ExportExcel as s,QuickFilterTrigger as l,QuickFilterControl as d,QuickFilterClear as c,GridActionsCellItem as p,GridExpandMoreIcon as u,DataGridPremium as h,GridRowModes as m}from"@mui/x-data-grid-premium";export{DataGridPremium}from"@mui/x-data-grid-premium";import{jsxs as f,jsx as g,Fragment as T}from"react/jsx-runtime";import{useDispatch as A,useSelector as y,Provider as I}from"react-redux";export{useDispatch,useSelector}from"react-redux";import{library as _}from"@fortawesome/fontawesome-svg-core";import{fab as E}from"@fortawesome/free-brands-svg-icons";import{far as O}from"@fortawesome/free-regular-svg-icons";import{fas as C}from"@fortawesome/free-solid-svg-icons";import"react-toastify/dist/ReactToastify.css";import{Dialog as N,DialogTitle as R,DialogContent as b,DialogContentText as w,DialogActions as P,Button as v,Modal as L,Box as S,AppBar as M,Toolbar as D,Typography as k,IconButton as U,Paper as x,TextField as F,Grid2 as B,ListItemButton as q,FormControlLabel as W,Checkbox as G,Autocomplete as H,Popper as Y,Avatar as K,Tooltip as V,styled as z,Badge as $,Divider as Q,MenuItem as j,InputAdornment as Z,Accordion as J,AccordionSummary as X,AccordionDetails as ee,keyframes as te,ClickAwayListener as ie,Fade as oe,Menu as re,useTheme as ne,Backdrop as ae,CircularProgress as se,createTheme as le}from"@mui/material";export*from"@mui/material";import{ThemeContext as de,CacheProvider as ce,ThemeProvider as pe}from"@emotion/react";import*as ue from"react";import he,{useState as me,useEffect as fe,createElement as ge,useRef as Te,useMemo as Ae,useReducer as ye}from"react";import{styled as Ie,alpha as _e,useTheme as Ee}from"@mui/material/styles";import Oe from"@mui/material/CssBaseline";import Ce from"@mui/material/AppBar";import Ne from"@mui/material/Toolbar";import{FontAwesomeIcon as Re}from"@fortawesome/react-fontawesome";export{FontAwesomeIcon}from"@fortawesome/react-fontawesome";import{createSlice as be,configureStore as we}from"@reduxjs/toolkit";import{toast as Pe,ToastContainer as ve}from"react-toastify";export{toast}from"react-toastify";import Le from"axios";export{default as axios}from"axios";import Se from"i18next";import{useTranslation as Me,initReactI18next as De}from"react-i18next";export{useTranslation}from"react-i18next";import{useForm as ke}from"react-hook-form";export{useForm}from"react-hook-form";import{useNavigate as Ue,useParams as xe,Routes as Fe,Route as Be,BrowserRouter as qe}from"react-router-dom";export{useNavigate,useParams}from"react-router-dom";import{zodResolver as We}from"@hookform/resolvers/zod";export{zodResolver}from"@hookform/resolvers/zod";import*as Ge from"zod";import{z as He}from"zod";export{Ge as z};import Ye from"@mui/material/List";import Ke from"@mui/material/Card";import Ve from"@mui/material/CardHeader";import ze from"@mui/material/ListItemText";import $e from"@mui/material/ListItemIcon";import Qe from"@mui/material/Checkbox";import je from"@mui/material/Button";import Ze from"@mui/material/Divider";import{LocalizationProvider as Je,DatePicker as Xe,DateTimePicker as et}from"@mui/x-date-pickers";import{AdapterMoment as tt}from"@mui/x-date-pickers/AdapterMoment";import it from"moment";import ot from"@mui/material/CardActions";import rt from"@mui/material/CardContent";import nt from"@mui/material/CardMedia";import at from"@mui/material/Typography";export*from"@mui/lab";export*from"@mui/x-tree-view/models";import{BarChart as st,Gauge as lt,LineChart as dt}from"@mui/x-charts";import ct from"@mui/material/LinearProgress";import pt from"@mui/material/Box";import{PieChart as ut}from"@mui/x-charts/PieChart";import ht from"@mui/material/IconButton";import mt from"@mui/material/Drawer";import{animated as ft,useSpring as gt}from"@react-spring/web";import Tt from"@mui/material/Collapse";import{RichTreeView as At}from"@mui/x-tree-view/RichTreeView";import{treeItemClasses as yt}from"@mui/x-tree-view/TreeItem";import{useTreeItem2 as It}from"@mui/x-tree-view/useTreeItem2";import{TreeItem2Root as _t,TreeItem2Content as Et,TreeItem2IconContainer as Ot,TreeItem2Checkbox as Ct,TreeItem2Label as Nt}from"@mui/x-tree-view/TreeItem2";import{TreeItem2Icon as Rt}from"@mui/x-tree-view/TreeItem2Icon";import{TreeItem2Provider as bt}from"@mui/x-tree-view/TreeItem2Provider";import{TreeItem2DragAndDropOverlay as wt}from"@mui/x-tree-view/TreeItem2DragAndDropOverlay";import Pt from"stylis-plugin-rtl";import{prefixer as vt}from"stylis";import Lt from"@emotion/cache";import St from"@emotion/styled";import{grey as Mt}from"@mui/material/colors";import Dt from"@mui/material/SwipeableDrawer";import{LicenseInfo as kt}from"@mui/x-license";!function(e,t){void 0===t&&(t={});var i=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===i&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("html,\nbody {\n height: 100vh;\n margin: 0;\n padding: 0;\n}\n\n#root {\n height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n.red-row {\n background-color: #f0d8d8;\n}\n");const Ut=(e=768)=>{const[t,i]=me(window.innerWidth<e);return fe(()=>{const t=()=>i(window.innerWidth<e);return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[e]),t},xt=350,Ft=be({name:"AppLayout",initialState:{themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},reducers:{setThemeMode:(e,t)=>{e.themeMode=t.payload},setAppDirection:(e,t)=>{e.appDirection=t.payload}}}),Bt=Ft.actions;var qt=Ft.reducer;const Wt=be({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,t)=>{e.value.isOpened=!0,e.value.message=t.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Gt,hideLoadingMask:Ht}=Wt.actions;var Yt=Wt.reducer;const Kt=()=>{const e=A();return{show:t=>{e(Gt(t))},hide:()=>{e(Ht())}}},Vt=be({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,t)=>{e.value=t.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),zt=Vt.actions;var $t=Vt.reducer;const Qt=()=>{const e=Kt(),t=A(),i=y(e=>e.AppInfo.value.apiBaseUrl),o=Le.create({baseURL:i,timeout:6e5,withCredentials:!0});o.defaults.withCredentials=!0,o.interceptors.request.use(e=>{const t=localStorage.getItem("TOKEN");return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e)),o.interceptors.response.use(e=>e,e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))t(zt.setUnAuthenticated()),localStorage.removeItem("TOKEN"),Pe.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&402===e.response.status)))t(zt.setUnAuthenticated()),Pe.error("Your license is missing or has expired,Please reach out to your vendor for assistance.");else if(e&&(e.response&&(e.response.status&&403===e.response.status)))Pe.error("you aren't authorized to process this request");else if(e&&(e.response&&(e.response.status&&500===e.response.status)))if(e.response.data instanceof Blob){e.response.data.text().then(e=>{Pe.error(e)})}else Pe.error(e.response.data);else Pe.error("failed to communicate with the server ... try again later");return"ERROR"});return{handleGetRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const i=await o.get(t.endPointURI,{params:{...t.parameters},withCredentials:!0,headers:t.headers,responseType:t?.responseType});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},handlePostRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let i=await o.post(t.endPointURI,t.data,{params:t.parameters,responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},handleDeleteRequest:async t=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let i=await o.delete(t.endPointURI,{params:{...t.parameters},responseType:t?.responseType,headers:t?.headers});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},HandleDownloadHTTPPostPDF:async(t={endPointURI:"",parameters:{},data:{}})=>{void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);const i=await o.post(t.endPointURI,t.data,{responseType:"blob"});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==i?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(i),i):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(i),"ERROR")},handleUploadRequest:async t=>{if(null===t.files||0===t.files.length)return Pe.error("You must add files to upload"),"ERROR";const i=new FormData;for(const e of t.files)i.append("files",e);void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.show(t.loadingMessage);let r=await o.post(t.endPointURI,i,{params:t?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==t.showMask&&null!=t.showMask&&!0===t.showMask&&e.hide(),"ERROR"!==r?(void 0!==t.successCallBkFn&&null!=t.successCallBkFn&&t.successCallBkFn(r),r):(void 0!==t.failureCallBkFn&&null!=t.failureCallBkFn&&t.failureCallBkFn(r),"ERROR")}}},jt=e=>{const[t,i]=me(!1),{t:o}=Me();return{ConfirmationWindow:()=>f(N,{open:t,children:[g(R,{children:e.title}),g(b,{children:g(w,{children:e.body})}),f(P,{children:[g(v,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"primary",onClick:()=>{i(!1)},children:o("NO_LABEL")}),g(v,{variant:"contained",sx:{marginRight:2,marginLeft:2},color:"error",onClick:()=>{e.onConfirmationCallBk(),i(!1)},autoFocus:!0,children:o("YES_LABEL")})]})]}),open:t,setOpen:i}},Zt=()=>{const e=y(e=>e.UserSession),t=e.value;return{UserSession:e,isUserAuthorized:t=>{if(e?.value?.authorities)for(let i of e.value.authorities){if("DEVELOPMENT_ADMIN"===t&&("DEVELOPMENT_ADMIN"===i?.authority||"ORGANIZATION_ADMIN"===i?.authority))return!0;if("ORGANIZATION_ADMIN"===t&&"ORGANIZATION_ADMIN"===i?.authority)return!0;if("DEVELOPMENT_ADMIN"!==t&&"ORGANIZATION_ADMIN"!==t&&("ORGANIZATION_ADMIN"===i?.authority||"DEVELOPMENT_ADMIN"===i?.authority||"SYSTEM_ADMIN"===i?.authority||i?.authority===t))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(t?.currentOrganization?.systemApplicationModules)for(const i of t.currentOrganization.systemApplicationModules)if(i.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:t}},Jt=e=>{const[t,i]=me(!1),o=y(e=>e.AppLayout.appDirection);return{windowState:t,setWindowState:i,Window:r=>g(L,{open:t,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!t&&e?.onCloseCallBack&&e.onCloseCallBack()},children:f(S,{dir:o,sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:e?.height||"80%",width:e?.width||"90%",minWidth:e.minWidth||400,minHeight:e.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[g(M,{position:"static",children:f(D,{variant:"dense",children:[g(Re,{icon:e?.windowIcon||"window-maximize",style:{marginRight:5}}),g(k,{variant:"h6",color:"inherit",component:"div",children:e?.windowTitle||"window"}),g("div",{style:{flexGrow:1}}),g(U,{onClick:()=>{i(!1),null!=e.onCloseCallBack&&null!=e.onCloseCallBack&&e.onCloseCallBack()},color:"secondary",children:g(Re,{icon:"xmark-square"})})]})}),g(x,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:r?.children})]})})}},Xt=be({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,t)=>{e.stores=t.payload,e.storeKeys=Object.keys(t.payload)},setStoreData:(e,t)=>{e.stores[t.payload.storeKey].data=t.payload.data}}}),{setStoreData:ei,setStoresMetaData:ti}=Xt.actions;var ii=Xt.reducer;const oi=e=>{const t=y(e=>e.commonStores.stores),i=A(),o=Zt(),{handleGetRequest:r,handlePostRequest:n,handleDeleteRequest:a}=Qt();return{reloadData:async n=>{if(e?.commonStoreKey){const n=Object.keys(t);for(const a of n)if(a===e.commonStoreKey&&(void 0===t[a]?.authority||null===t[a]?.authority||o.isUserAuthorized(t[a]?.authority))&&""!=t[a]?.url){await r({endPointURI:t[a].url,showMask:!1,successCallBkFn:t=>{i(ei({storeKey:a,data:t.data})),e.setData(t.data)},failureCallBkFn:()=>{i(ei({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await r({endPointURI:e.findAll,showMask:!0,parameters:n||{},successCallBkFn:t=>{e.setData(t.data)}})},loadRecordById:async t=>{let i=null;if(e?.findById){const o={};o[e?.findByIdParamName||"id"]=t,await r({endPointURI:e.findById,showMask:!0,parameters:o,successCallBkFn:e=>{i=e.data}})}return i},saveRecord:async t=>{let i=null;return e?.save&&await n({endPointURI:e.save,data:t,showMask:!0,successCallBkFn:e=>{i=e.data}}),i},deleteRecordById:async t=>{let i=!0;if(e?.deleteById){const o={};o[e?.deleteByIdParamName||"id"]=t,await a({endPointURI:e.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{i=!0},failureCallBkFn:()=>{i=!1}})}return i}}},ri=e=>{const{t:t}=Me();return g(F,{...e,hidden:!0,slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:g(T,{children:e?.label?t(e.label):""}),error:e?.error,helperText:e?.helperText?t(e.helperText):void 0})};function ni(e,t){return e.filter(e=>-1===t.indexOf(e))}function ai(e,t){return e.filter(e=>-1!==t.indexOf(e))}const si=({valueField:e="id",displayField:t="name",options:i=[],selectedOptions:o=[],setSelection:r})=>{const[n,a]=ue.useState([]),[s,l]=ue.useState([]),[d,c]=ue.useState([]),[p,u]=ue.useState(""),[h,m]=ue.useState(""),T=ai(n,s),A=ai(n,d);ue.useEffect(()=>{i&&l([...i])},[i]),ue.useEffect(()=>{o&&c([...o])},[o]);const y=e=>()=>{const t=n.indexOf(e),i=[...n];-1===t?i.push(e):i.splice(t,1),a(i)},I=e=>ai(n,e).length,_=e=>()=>{var t,i;I(e)===e.length?a(ni(n,e)):a((t=n,i=e,[...t,...ni(i,t)]))},E=(i,o,r)=>{const a=o.filter(e=>{if(e[t]){const i=e[t];if("left"===r&&i.toLocaleLowerCase().includes(p.toLocaleLowerCase()))return!0;if("right"===r&&i.toLocaleLowerCase().includes(h.toLocaleLowerCase()))return!0}return!1});return f(Ke,{sx:{height:"100%"},children:[g(Ve,{sx:{px:2,py:1},avatar:g(Qe,{onClick:_(a),checked:I(a)===a.length&&0!==a.length,indeterminate:I(a)!==a.length&&0!==I(a),disabled:0===a.length,inputProps:{"aria-label":"all items selected"}}),title:i,subheader:`${I(o)} / ${o.length} Selected`}),g(S,{sx:{width:"100%",padding:1},children:g(ri,{fullWidth:!0,label:"search",value:"left"===r?p:h,onChange:e=>{"left"===r?u(e.target.value):m(e.target.value)}})}),g(Ze,{}),g(Ye,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:a.map(i=>(i[e],f(q,{role:"listitem",onClick:y(i),sx:{cursor:"pointer"},children:[g($e,{children:g(Qe,{checked:-1!==n.indexOf(i),tabIndex:-1,disableRipple:!0})}),g(ze,{id:i[e],primary:i[t]})]},i[e])))})]})};return f(B,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[g(B,{sx:{height:"100%",flex:1},children:E("Available Items",s,"left")}),g(B,{children:f(B,{container:!0,direction:"column",alignItems:"center",children:[g(je,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{c(e=>{let t=d.concat(T);return r(t),t}),l(ni(s,T)),a(ni(n,T))},disabled:0===T.length,"aria-label":"move selected right",children:">"}),g(je,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{l(s.concat(A)),c(e=>{let t=ni(d,A);return r(t),t}),a(ni(n,A))},disabled:0===A.length,"aria-label":"move selected left",children:"<"})]})}),g(B,{sx:{height:"100%",flex:1},children:E("Currently Selected",d,"right")})]})},li=e=>{const{t:t}=Me();return g(W,{sx:e.sx,hidden:e?.hidden||!1,disabled:e.disabled||!1,required:e.required||!1,control:g(G,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:t=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(t.target.checked?void 0!==e.checkedValue&&null!=e.checkedValue?e.onChangeCallBack(e.checkedValue):e.onChangeCallBack(!0):void 0!==e.unCheckedValue&&null!=e.unCheckedValue?e.onChangeCallBack(e.unCheckedValue):e.onChangeCallBack(!1))}}),label:t(e.label)})},di=e=>{const t=y(e=>e.AppLayout),[i,o]=me(e?.options||[]),r=y(t=>t?.commonStores?.stores[e?.commonStoreKey]?.data),{handleGetRequest:n}=Qt();fe(()=>{e?.commonStoreKey?o(r):(async()=>{e?.storeUrl?await n({endPointURI:e.storeUrl,showMask:!1,parameters:e?.storeLoadParam,successCallBkFn:e=>{o(e.data)},failureCallBkFn:()=>{o([])}}):e?.dataQueryId?await n({endPointURI:"api/v1/dev/query/result",showMask:!1,parameters:{queryId:e.dataQueryId,...e?.storeLoadParam},successCallBkFn:e=>{o(e.data)},failureCallBkFn:()=>{o([])}}):e?.options&&o(e.options)})()},[e?.storeUrl,e?.storeLoadParam,e?.dataQueryId,e?.commonStoreKey,e?.options,r]);const{t:a}=Me();return g(H,{sx:e.sx,value:(t=>{for(let o of i)if(o[e.valueField]==t)return o;return null})(e.value),options:i,disabled:e.disabled,hidden:e?.hidden||!1,onChange:(t,i)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=i){let t=i[e.valueField];e.onChangeCallBack(t,i)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:t=>null!=t?a(t[e.displayField]):"",renderOption:(t,i)=>g("li",{...t,children:null!=i?a(i[e.displayField]):""}),slots:{popper:e=>g(Y,{...e,style:{...e.style,direction:t.appDirection}})},renderInput:t=>g(F,{...t,required:e.required||!1,variant:"outlined",slotProps:{inputLabel:{shrink:!0,sx:{fontWeight:"bold"}}},label:a(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?a(e.errorMessage):""})})},ci="YYYY-MM-DD",pi="YYYY-MM-DD HH:mm:ss",ui="#37505C",hi="#ff6d00",mi="#ea690e",fi="#74776B",gi=e=>{const{t:t}=Me();return e?.hidden?g(T,{}):g(Je,{dateAdapter:tt,children:g(Xe,{value:null!=e.value&&void 0!==e.value&&""!==e.value?it(e.value,e?.format||ci):null,sx:{...e.sx,display:e?.hidden?"none":void 0},label:t(e.label),format:e?.format||ci,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||ci)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?g(T,{children:t(e.errorMessage)}):g(T,{})}}})})},Ti=e=>{const{t:t}=Me();return e?.hidden?g(T,{}):g(Je,{dateAdapter:tt,children:g(et,{value:null!=e.value&&void 0!==e.value&&""!==e.value?it(e.value,e?.format||pi):null,label:t(e.label),sx:{...e.sx,display:e?.hidden?"none":void 0},format:e?.format||pi,disabled:e.disabled,onChange:t=>{let i=null;null!=t&&t.isValid()&&(i=t.format(e?.format||pi)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(i)},slotProps:{textField:{InputLabelProps:{shrink:!0,sx:{fontWeight:"bold"}},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?g(T,{children:t(e.errorMessage)}):g(T,{})}}})})},Ai=e=>{const t=y(e=>e.AppLayout),i=Zt(),[o,r]=me([]),{handleGetRequest:n}=Qt();return fe(()=>{e.lookupType&&(async()=>{await n({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{r(e.data)},failureCallBkFn:()=>{r([])}})})()},[e.lookupType,i.UserSession]),g(di,{...e,options:o,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},yi=e=>({...e,type:"string",renderEditCell:e=>g(gi,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=it(e).format(ci)),o},valueFormatter:(e,t,i)=>t[i.field]}),Ii=e=>({...e,type:"string",renderEditCell:e=>g(Ti,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:t=>{e.api.setEditCellValue({id:e.id,field:e.field,value:t})}}),valueParser:(e,t,i)=>{let o=null;return null!==e&&(o=it(e).format(pi)),o},valueFormatter:(e,t,i)=>t[i.field]}),_i=e=>({...e,type:"custom",valueGetter:e=>e||e,renderEditCell:e=>g(di,{...e,sx:{width:"100%"},options:e?.colDef?.options,commonStoreKey:e?.colDef?.commonStoreKey,dataQueryId:e?.colDef?.dataQueryId,storeUrl:e?.colDef?.storeUrl,storeLoadParam:e?.colDef?.storeLoadParam,valueField:e?.colDef?.valueField,displayField:e?.colDef?.displayField,onChangeCallBack:(t,i)=>{null===t&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:t})}})}),Ei=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const i=t?.value;return i===e.checkedValue||"true"===i||1===i||!0===i?g(Re,{icon:"check",color:"green"}):g(Re,{icon:"xmark",color:"red"})},renderEditCell:t=>g(li,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),Oi=e=>{const t=[];if("field"===e.type&&"props"===e.mode&&e?.props)t.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const i of e.props.elements)t.push(...Oi(i));return t},Ci=e=>{const t=[];for(const i of e)t.push(...Oi(i));return t},Ni=(e,t,i)=>{const o=[];for(const r of e)if("text"===r?.fieldType||"number"===r?.fieldType){const e={...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,type:"number"==r?.fieldType?"number":"string",field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200};o.push(e)}else if("date"===r?.fieldType){const e=yi({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else if("datetime"===r?.fieldType){const e=Ii({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else if("checkbox"===r?.fieldType){const e=Ei({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,checkedValue:r?.checkedValue,unCheckedValue:r?.unCheckedValue,width:150});o.push(e)}else if("combobox"===r?.fieldType){const e=_i({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options||[],flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else if("lookup"===r?.fieldType){const e=_i({...r?.gridProps?.muiProps,editable:null!=r?.gridProps?.muiProps?.editable?r?.gridProps?.muiProps?.editable:t,lookupType:r?.lookupType,field:r?.fieldName,headerName:i(r?.fieldLabel||r?.fieldName),headerAlign:"center",align:"center",commonStoreKey:r?.commonStoreKey,dataQueryId:r?.dataQueryId,storeUrl:r?.storeUrl,storeLoadParam:r?.storeLoadParam,hidden:r?.hidden,searchable:r?.gridProps?.searchable,valueField:r?.optionValueField||"value",displayField:r?.optionDisplayField||"display",options:r?.options||[],flex:r?.gridProps?.muiProps?.flex||1,minWidth:r?.gridProps?.muiProps?.width?r?.gridProps?.muiProps?.width:200});o.push(e)}else{const e={field:r.fieldName,...r?.gridProps?.muiProps};o.push(e)}return o},Ri=e=>{const t={};for(const i of e)if(i?.fieldName){const e=i.fieldName;"number"===i.fieldType?t[e]=!0===i?.required?Ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):Ge.number().optional().nullable():"checkbox"===i.fieldType?t[e]=!0===i?.required?Ge.boolean({required_error:"This field is required"}):Ge.boolean().optional().nullable():"combobox"===i.fieldType?i?.comboboxValueDataType?"number"===i?.comboboxValueDataType?t[e]=!0===i?.required?Ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):Ge.number().optional().nullable():"string"===i?.comboboxValueDataType&&(t[e]=!0===i?.required?Ge.string({message:"This field is required"}).min(1,"This field is required"):Ge.string().optional().nullable()):t[e]=!0===i?.required?Ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):Ge.number().optional().nullable():t[e]=!0===i?.required?Ge.string({message:"This field is required"}).min(1,"This field is required"):Ge.string().optional().nullable()}return t},bi=(e,t,i)=>{const o=[],r=[];if("exclude"===e.type&&0===e.ids.size)for(const e of t)o.push(e),r.push(e[i]);else if(e?.ids)for(const n of e.ids){const e=t.find(e=>e[i]===n);o.push(e),r.push(n)}return{selectedRecords:o,selectedRecordIds:r}};function wi(e,...t){const i=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(e=>i.searchParams.append("args[]",e)),`Minified MUI error #${e}; visit ${i} for the full message.`}function Pi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vi,Li={exports:{}},Si={exports:{}},Mi={};var Di,ki,Ui,xi,Fi,Bi,qi,Wi,Gi,Hi,Yi,Ki,Vi,zi,$i,Qi={};
|
|
2
2
|
/** @license React v16.13.1
|
|
3
3
|
* react-is.development.js
|
|
4
4
|
*
|
|
@@ -28,7 +28,7 @@ object-assign
|
|
|
28
28
|
* This source code is licensed under the MIT license found in the
|
|
29
29
|
* LICENSE file in the root directory of this source tree.
|
|
30
30
|
*/
|
|
31
|
-
function(e,t){const i=St(e,t);return"production"!==process.env.NODE_ENV?(...t)=>{const o=`"${e}"`;return 0===t.length?console.error([`MUI: Seems like you called \`styled(${o})()\` without a \`style\` argument.`,'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join("\n")):t.some(e=>void 0===e)&&console.error(`MUI: the styled(${o})(...args) API requires all its args to be defined.`),i(...t)}:i}("div",{shouldForwardProp:e=>"theme"!==e&&"sx"!==e&&"as"!==e})(_r),a=ue.forwardRef(function(e,a){const s=function(e=Cr){return Or(e)}(i),{className:l,component:d="div",...c}=Nr(e);return g(n,{as:d,ref:a,className:Pr(l,r?r(o):o),theme:t&&s[t]||s,...c})});return a}({defaultClassName:function(e,t,i="Mui"){const o={};return t.forEach(t=>{o[t]=function(e,t,i="Mui"){const o=vr[t];return o?`${i}-${o}`:`${br.generate(e)}-${t}`}(e,t,i)}),o}("MuiBox",["root"]).root,generateClassName:br.generate});function Sr(e){return/^\d+$/.test(e)}function Mr(e){return"number"==typeof e&&!isNaN(e)}function Dr(e){return"string"==typeof e&&""!==e.trim()&&!isNaN(Number(e))}function kr(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""}function Ur(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function xr(e,t){const i=new Date(e),o=new Date,r=Math.floor((i-o)/1e3),n="rtl"===t?"ar":"en",a=new Intl.RelativeTimeFormat(n,{numeric:"auto"}),s=[{unit:"year",seconds:31536e3},{unit:"month",seconds:2592e3},{unit:"week",seconds:604800},{unit:"day",seconds:86400},{unit:"hour",seconds:3600},{unit:"minute",seconds:60},{unit:"second",seconds:1}];for(const{unit:e,seconds:t}of s){const i=Math.floor(r/t);if(Math.abs(i)>1)return a.format(i,e)}return"ar"===n?"الآن":"just now"}"production"!==process.env.NODE_ENV&&(Lr.propTypes={children:ro.node,component:ro.elementType,sx:ro.oneOfType([ro.arrayOf(ro.oneOfType([ro.func,ro.object,ro.bool])),ro.func,ro.object])});const Fr=(e,t)=>t?it(e).format(t):it(e).format(ci),Br=(e,t)=>t?it(e,t).toDate():it(e,ci).toDate(),qr=e=>{if(e?.fieldInfo){const t=e.fieldInfo,i=e?.formManager||null,o=e?.formActions||null,r=e?.formValues||null,n=e?.fieldInfo?.fieldName||null,a=e?.fieldInfo?.fieldType||null;if(!(t&&i&&r&&n&&a))return g(T,{});const s=()=>e?.fieldInfo?.formProps?.fieldLabelFn?e.fieldInfo.formProps.fieldLabelFn(r):e?.fieldInfo?.fieldLabel?e?.fieldInfo?.fieldLabel:void 0;return e.hiddenFields.includes(n)?g(T,{}):g(B,{size:t?.formProps?.fieldSize||{lg:12,md:12,sm:12},sx:{padding:1,width:"100%"},children:"text"===a||"number"===a?g(ri,{...t.muiTextFieldProps,fullWidth:!0,type:a,disabled:e.disabledFields.includes(n),label:s(),value:r[n],onChange:t=>{let s=null;""!=t.target.value&&(s="number"===a&&Dr(t.target.value)?Number(t.target.value):t.target.value),i.setValue(n,s),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,s)},sx:{"& .MuiInputBase-root":{height:`${t?.formProps?.fieldHeight}px`||void 0},"& .MuiInputBase-input":{height:"100% !important"},...t?.formProps?.style,display:e.hiddenFields.includes(n)?"none":void 0},error:null!=i.formState.errors[n],helperText:i?.formState?.errors[n]?.message?.toString()}):"date"===t?.fieldType?g(gi,{format:t?.dateFormat||ci,sx:t?.formProps?.style||{width:"100%"},disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),label:s(),onChangeCallBack:t=>{i.setValue(n,t),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t)},value:r[n],error:null!=i.formState.errors[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):"datetime"===t?.fieldType?g(Ti,{format:t?.dateFormat||pi,sx:t?.formProps?.style||{width:"100%"},disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),label:s(),onChangeCallBack:t=>{i.setValue(n,t),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t)},value:r[n],error:null!=i.formState.errors[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):"checkbox"===t?.fieldType?g(li,{label:s(),onChangeCallBack:t=>{i.setValue(n,t),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t)},value:r[n],checkedValue:t?.checkedValue||!0,unCheckedValue:t?.unCheckedValue||!1,disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),sx:t?.formProps?.style}):"combobox"===t?.fieldType?g(di,{sx:t?.formProps?.style||{width:"100%"},label:s(),commonStoreKey:t?.commonStoreKey,dataQueryId:t?.dataQueryId,storeUrl:t?.storeUrl,storeLoadParam:t?.storeLoadParam,disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),onChangeCallBack:(t,a)=>{let s=null;t&&(s=t),i.setValue(n,s),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t,a)},options:t?.options||[],displayField:t?.optionDisplayField||"",valueField:t?.optionValueField||"",value:r[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):"lookup"===t?.fieldType?g(Ai,{sx:t?.formProps?.style||{width:"100%"},label:s(),disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),onChangeCallBack:(t,a)=>{let s=null;t&&(s=t),i.setValue(n,s),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t,a)},lookupType:t.lookupType,value:r[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):null})}return g(T,{})},Wr=e=>{const t=Zt(),{ConfirmationWindow:i,setOpen:o}=jt({body:e?.confirmationMessage||"",title:"Confirmation",onConfirmationCallBk:()=>{e?.actionFn(e?.record)}});return null==e?.authority||t.isUserAuthorized(e.authority)?f(T,{children:[g(i,{}),f(v,{variant:e?.formActionProps?.actionButtonVariant,color:e?.formActionProps?.actionButtonColor,onClick:()=>{if(e?.actionFn){if(e?.preActionValidation&&!e.preActionValidation(e.record))return;!0===e?.isConfirmationRequired?o(!0):e?.actionFn(e.record)}},children:[e?.icon?g(Re,{icon:e.icon,style:{marginRight:5,marginLeft:5}}):g(T,{}),g("div",{children:e?.label})]})]}):g(T,{})},Gr=e=>{const{t:t}=Me();return g(T,{children:f(B,{container:!0,sx:e?.style,alignItems:"flex-start",children:[e?.label?g(B,{size:12,sx:{padding:1,fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"flex-start"},children:e?.icon?f(T,{children:[g(Re,{icon:e.icon,style:{marginRight:5,marginLeft:5}}),g("div",{children:t(e.label)})]}):g(T,{children:t(e.label)})}):g(T,{}),e?.elements?e.elements.map(t=>"group"===t.type?g(Gr,{...t.props,formManager:e.formManager,formValues:e.formValues,formActions:e.formActions,hiddenFields:e.hiddenFields,disabledFields:e.disabledFields,formValuesChangeCallBk:e?.formValuesChangeCallBk}):"field"===t.type&&"props"===t.mode?g(qr,{fieldInfo:t.props,formManager:e.formManager,formValues:e.formValues,formActions:e.formActions,hiddenFields:e.hiddenFields,disabledFields:e.disabledFields,formValuesChangeCallBk:e?.formValuesChangeCallBk}):"field"===t.type&&"node"===t.mode?g(B,{size:t?.props?.formProps?.fieldSize||{lg:3,md:6,sm:12},sx:{padding:1,width:"100%"},children:g(t.node,{formManager:e.formManager,formValues:e.formValues,formActions:e.formActions})}):void 0):null,e?.actions?g(B,{size:{sm:12},sx:{padding:1},children:e.actions.map(t=>g(Wr,{...t,record:e.formValues}))}):g(T,{})]})})},Hr=e=>{const t=y(e=>e.AppInfo.value.apiBaseUrl),[i,o]=me(null);return fe(()=>{e?.refKey&&(()=>{let i=t+"/api/v1/attachment/";e?.attachmentId?i+="download?attachmentId="+e.attachmentId:(i+=`downloadImage?attachmentCode=${e.attachmentCode}&refKey=${e.refKey}`,e?.category&&(i+=`&category=${e.category}`)),o(i)})()},[e.refKey]),e?.showAsAvatar?g(K,{sx:e.style,onError:()=>{o(e?.onErrorImage?e.onErrorImage:"/no_image.png")},src:i}):g("img",{src:i,loading:"lazy",alt:"image",onError:()=>{o(e?.onErrorImage?e.onErrorImage:"/no_image.png")},style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})},Yr=e=>{const{handleGetRequest:t,handleDeleteRequest:i}=Qt(),{isUserAuthorized:o}=Zt();let r=!0;e?.downloadAuthorityKey&&(r=o(e.downloadAuthorityKey));const{ConfirmationWindow:n,setOpen:a}=jt({title:"Confirmation",body:"Are you sure you want to delete this attachment?",onConfirmationCallBk:()=>{(async()=>{await i({endPointURI:"api/v1/attachment/archive",parameters:{attachmentCode:e.attachmentCode,refKey:e.refKey,attachmentId:e.id},successCallBkFn:t=>{e.setAttachmentConfig(t.data)},showMask:!0})})()}});return f(T,{children:[g(n,{}),f(Ke,{sx:{width:300,border:"0.5px solid gray"},children:[g(nt,{sx:{height:140,width:300,display:"flex",alignItems:"center",justifyContent:"center"},children:e?.docType.toLocaleLowerCase().includes("image")?g(Hr,{attachmentId:e.id}):g(Re,{icon:"file",size:"3x"})}),f(rt,{children:[g(at,{gutterBottom:!0,variant:"h6",component:"div",children:e.fileName}),g(at,{variant:"body2",sx:{color:"text.secondary"},children:`File Size: ${e?.attachmentSize||"unknown"} kb`}),g(at,{variant:"body2",sx:{color:"text.secondary"},children:`File Type: ${e?.category||"NA"}`}),g(at,{variant:"body2",sx:{color:"text.secondary"},children:e.remark})]}),f(ot,{children:[e?.allowDelete?g(U,{size:"small",onClick:()=>{a(!0)},children:g(V,{title:"Delete Attachment",children:g(Re,{icon:"trash"})})}):g(T,{}),g("div",{style:{flex:1}}),r?g(U,{size:"small",onClick:async()=>{await t({endPointURI:"api/v1/attachment/download",parameters:{attachmentId:e.id},showMask:!0,responseType:"blob",successCallBkFn:t=>{const i=window.URL.createObjectURL(new Blob([t.data])),o=document.createElement("a");o.href=i,o.setAttribute("download",e.fileName),document.body.appendChild(o),o.click(),o.remove()}})},children:g(V,{title:"Download Attachment",children:g(Re,{icon:"download"})})}):g(T,{})]})]})]})},Kr=e=>{const{handleUploadRequest:t,handleGetRequest:i}=Qt(),[o,r]=me(null),[n,a]=me([]),[s,l]=me(null),[d,c]=me(null),[p,u]=me([]),[h,m]=me(null),{isUserAuthorized:A}=Zt(),y=e=>e.split(".").pop()?.toLowerCase()||"";fe(()=>{(async()=>{await i({endPointURI:"api/v1/attachment/info",showMask:!0,parameters:{attachmentCode:e.attachmentCode,refKey:e.refKey},successCallBkFn:e=>{m(e.data)}})})()},[e.refKey,e.attachmentCode]),fe(()=>{if(u(h?.allowedFileTypes?h.allowedFileTypes.split(","):[]),h?.attachmentCategories){const e=[];for(const t of h.attachmentCategories.split(","))e.push({value:t});a(e)}else a([])},[h]);let I=!0;h?.downloadAuthorityKey&&!A(h?.downloadAuthorityKey)&&(I=!1);let _=!0;return!1===e?.enableAttachment&&(_=!1),h?.uploadAuthorityKey&&!A(h.uploadAuthorityKey)&&(_=!1),f(x,{sx:{display:"flex",flexDirection:"column",width:"100%",minHeight:400,alignItems:"center",justifyContent:"flex-start",overflow:"hidden",flexGrow:1},children:[g(T,_?{children:null==h?.maxAllowedNumberOfFiles||h?.maxAllowedNumberOfFiles>h.refKeyAttachments.length?f(T,{children:[f("h3",{children:[g(Re,{icon:"paperclip",style:{marginRight:10,marginLeft:10}}),"Attachment Uploader"]}),g("input",{type:"file",style:{margin:20},accept:h?.allowedFileTypes,multiple:!0,onChange:e=>{if(e.target.files)for(const t of e.target.files){const e=y(t.name);if(p.length>0&&!p.includes(e))return void Pe.error(e+" is not allowed")}r(e.target.files)}}),n.length>0?g(di,{label:"Attachment Type",sx:{width:300,m:1},options:n,displayField:"value",valueField:"value",value:d,onChangeCallBack:e=>{c(e)}}):g(T,{}),g(ri,{label:"Remark",value:s,onChange:e=>l(e.target.value),multiline:!0,sx:{width:300,m:1},rows:3}),g(v,{sx:{m:1},variant:"contained",onClick:async()=>{let i=h?.refKeyAttachments.length||0;if(h?.maxAllowedNumberOfFiles&&o.length+i>h.maxAllowedNumberOfFiles)Pe.error("Maximum number of attachments is "+h.maxAllowedNumberOfFiles);else if(!0===h?.isCategoryRequired&&n.length>0&&(null==d||void 0===d||""===d))Pe.error("You must selected document type to process your request");else if(o){for(const e of o)if(e.type.startsWith("image/")){const t=600,i=1024*t;if(e.size>i)return void Pe.error(`File ${e.name} is too large. Max allowed is ${t}KB.`)}await t({endPointURI:"api/v1/attachment/upload",showMask:!0,loadingMessage:"Uploading files ... please wait",parameters:{refKey:e.refKey,attachmentCode:e.attachmentCode,remark:s,category:d},files:o,successCallBkFn:e=>{m(e.data),r(null),c(null),l(null),Pe.success("Your request has been process successfully")}})}else Pe.error("You must add files to upload")},children:"Upload"})]}):g(T,{})}:{}),I&&h?.refKeyAttachments?.length>0?f(T,{children:[f("h3",{children:[g(Re,{style:{marginRight:10,marginLeft:10},icon:"paperclip"}),"Attachments"]}),g(B,{container:!0,spacing:2,sx:{overflow:"auto",padding:1,justifyContent:"center"},children:h?.refKeyAttachments.map(t=>g(B,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:g(Yr,{...t,attachmentCode:e.attachmentCode,setAttachmentConfig:m,downloadAuthorityKey:h.downloadAuthorityKey,allowDelete:_})}))})]}):g(T,{})]})},Vr=e=>{const t=y(e=>e.AppLayout),{t:i}=Me();return f(x,{sx:{display:"flex",flexDirection:"column",width:600,padding:1,margin:1,alignItems:"center",justifyContent:"center"},children:[f(S,{sx:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:18,fontWeight:"bold"},children:[g(Re,{icon:"history",style:{marginRight:10,marginLeft:10}}),i("WF_ACTION_HISTORY_LABEL")]}),g(S,{sx:{flexGrow:1,width:"100%",display:"flex",flexDirection:"column",overflowY:"auto",alignItems:"center",justifyContent:"flex-start"},children:e.actionHistory.map((i,o)=>g(T,{children:f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",marginBottom:2},children:[f(S,{sx:{display:"flex",flex:1,flexDirection:"column",alignItems:"flex-end",justifyContent:"center"},children:[g(S,{sx:{marginBottom:.2},children:i.actionTime}),f(at,{children:["via ",i.actionMethod]})]}),f(S,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",position:"relative",marginRight:2,marginLeft:2},children:[g(Hr,{showAsAvatar:!0,attachmentCode:"EMPLOYEE_PHOTOS",refKey:i?.personId?i?.personId+"":void 0,style:{m:1,width:70,height:70}}),o!==e.actionHistory.length-1?g(S,{sx:{marginTop:11,position:"absolute"},children:"|"}):g(T,{})]}),f(S,{sx:{display:"flex",flex:1,flexDirection:"column",alignItems:"flex-start",justifyContent:"center"},children:[f(S,{sx:{width:"100%"},children:["ltr"===t.appDirection?`${i?.documentActionEnName}`:`${i?.documentActionArName}`,i?.actionComment?" - "+i.actionComment:""]}),g(S,{sx:{width:"100%"},children:"ltr"===t.appDirection?`${i?.employeeEnName}`:`${i?.employeeArName}`})]})]})}))})]})},zr=e=>{const{t:t}=Me(),i=Zt(),{ConfirmationWindow:o,setOpen:r}=jt({body:t(e?.confirmationMessage||"ACTION_CONFIRMATION"),title:t("CONFIRMATION"),onConfirmationCallBk:async()=>{await(e?.actionFn(e.recordsToProcessActionOn,e.recordIdsToProcessActionOn)),e?.reloadData&&e.reloadData()}});let n=!0;if(e.authority&&(n=i.isUserAuthorized(e.authority)),n)return f(T,{children:[g(o,{}),f(v,{onClick:async()=>{if(e?.recordsToProcessActionOn&&e?.recordsToProcessActionOn.length>0){if(e?.preActionValidation)for(const t of e.recordsToProcessActionOn)if(!e.preActionValidation(t))return;!0===e?.isConfirmationRequired?r(!0):(await e.actionFn(e.recordsToProcessActionOn,e.recordIdsToProcessActionOn),e?.reloadData&&e.reloadData())}else Pe.error(t("AT_LEAST_ONE_RECORD_SELECTED_MESSAGE"))},variant:e?.label?"outlined":e?.formActionProps?.actionButtonVariant?e.formActionProps.actionButtonVariant:"text",size:"small",color:e?.formActionProps?.actionButtonColor||"primary",children:[e?.icon?g(Re,{style:{marginRight:5,marginLeft:5},icon:e.icon}):g(T,{}),e?.label?t(e.label):g(T,{})]})]})},$r=z(e)({display:"grid",alignItems:"center"}),Qr=z(t)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",width:"min-content",height:"min-content",zIndex:1,opacity:t.expanded?0:1,pointerEvents:t.expanded?"none":"auto",transition:e.transitions.create(["opacity"])})),jr=z(F)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",overflowX:"clip",width:t.expanded?260:"var(--trigger-width)",opacity:t.expanded?1:0,transition:e.transitions.create(["width","opacity"])})),Zr=e=>{const{t:p}=Me(),u=Zt(),h=!e?.templateProps?.editAction?.authority||u.isUserAuthorized(e.templateProps.editAction.authority),m=bi(e?.templateProps?.rowSelectionModel||{ids:new Set,type:"include"},e?.templateProps?.data||[],e?.templateProps?.keyColumnName||"id");return f(i,{children:[h&&"none"!=e?.templateProps?.editMode?.editMode&&(void 0===e?.templateProps?.hideCreateBtn||!1===e?.templateProps?.hideCreateBtn)?f(v,{onClick:e?.handleCreateNewRecord,children:[g(Re,{icon:"add",style:{marginRight:5,marginLeft:5}}),p("ADD_BTN_LABEL")]}):g(T,{}),e?.templateProps?.rowActions?e.templateProps.rowActions.map((t,i)=>!0===t?.gridActionProps?.multiRecord?ge(zr,{...t,key:i,reloadData:async()=>{e.templateProps.apiActions.reloadData(e?.templateProps?.gridLoadParametersValues)},recordIdsToProcessActionOn:m.selectedRecordIds,recordsToProcessActionOn:m.selectedRecords}):null):g(T,{}),g(S,{sx:{flex:1,mx:.5,my:.5,padding:1},children:e?.templateProps?.tBar}),g(V,{title:"Columns",children:g(o,{render:g(t,{}),children:g(r,{fontSize:"small"})})}),g(V,{title:"Filters",children:g(n,{render:(e,i)=>g(t,{...e,color:"default",children:g($,{badgeContent:i.filterCount,color:"primary",variant:"dot",children:g(a,{fontSize:"small"})})})})}),e?.templateProps?.gridStateKey?g(V,{title:p("RESET_GRID_STATE"),children:g(U,{onClick:e?.clearGridState,children:g(Re,{icon:"eraser"})})}):g(T,{}),g(Q,{orientation:"vertical",variant:"middle",flexItem:!0,sx:{mx:.5}}),g(V,{title:p("EXPORT_EXECL_LABEL"),children:g(s,{render:g(j,{}),children:g(Re,{icon:"file-excel",color:"green"})})}),f($r,{children:[g(l,{render:(e,t)=>g(V,{title:p("SEARCH_BTN_LABEL"),enterDelay:0,children:g(Qr,{...e,ownerState:{expanded:t.expanded},color:"default","aria-disabled":t.expanded,children:g(Re,{icon:"search"})})})}),g(d,{render:({ref:e,...t},i)=>g(jr,{...t,ownerState:{expanded:i.expanded},inputRef:e,"aria-label":"Search",placeholder:`${p("SEARCH_BTN_LABEL")}...`,size:"small",slotProps:{input:{startAdornment:g(Z,{position:"start",children:g(Re,{icon:"search"})}),endAdornment:i.value?g(Z,{position:"end",children:g(c,{edge:"end",size:"small","aria-label":"Clear search",children:g(Re,{icon:"xmark"})})}):null,...t.slotProps?.input},...t.slotProps}})})]}),g(U,{onClick:()=>{e.templateProps.apiActions.reloadData(e?.templateProps?.gridLoadParametersValues)},children:g(Re,{icon:"refresh"})})]})},Jr=e=>{const{t:t}=Me(),i=Zt(),{ConfirmationWindow:o,setOpen:r}=jt({body:t(e?.confirmationMessage||"ACTION_CONFIRMATION"),title:t("CONFIRMATION"),onConfirmationCallBk:async()=>{await(e?.actionFn(e.record)),e?.reloadData&&e.reloadData()}});let n=!0;e.authority&&(n=i.isUserAuthorized(e.authority));let a={};e?.getActionIconStyleForRecord&&(a=e.getActionIconStyleForRecord(e.record));let s=!0;e?.isActionVisibleForRecord&&(s=e?.isActionVisibleForRecord(e.record));let l=!1;if(e?.isActionDisabledForRecord&&(l=e.isActionDisabledForRecord(e.record)),n&&s)return f(T,{children:[g(o,{}),g(p,{disabled:l,icon:g(V,{title:e?.label?t(e.label):"",children:g(Re,{icon:e.icon,style:{...a,color:l?"gray":null!=a?.color?a.color:void 0}})}),showInMenu:e?.gridActionProps?.showInMenu||!1,label:"",className:"textPrimary",color:"inherit",onClick:async()=>{if(!l){if(e?.preActionValidation&&!e.preActionValidation(e.record))return;!0===e?.isConfirmationRequired?r(!0):(await e.actionFn(e.record),!0===e?.gridActionProps?.reloadGridAfterAction&&e?.reloadData&&e.reloadData())}}})]})};let Xr=-1;const en=e=>{try{const t=localStorage.getItem(e);return t?JSON.parse(t):{}}catch(e){return console.error("Failed to load grid state",e),{}}},tn=(e,t)=>{const i=en(e);localStorage.setItem(e,JSON.stringify({...i,...t}))},on=["__check__","actions"],rn=e=>{const{t:t}=Me(),i=y(e=>e.AppLayout),[o,r]=me({}),[n,a]=me(!0),{getLookupOptions:s}=(()=>{const{handleGetRequest:e}=Qt(),t=y(e=>e.AppLayout),i=async t=>{let i=[];return await e({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:t},successCallBkFn:e=>{i=e.data}}),i};return{generateLookupGridColumn:async e=>{let o=await i(e.lookupType);return{...e,options:o,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"}},getLookupOptions:i}})(),{Window:l,setWindowState:d}=Jt({windowTitle:t(e.gridTitle)+" Attachments",windowIcon:"paperclip",width:"fit-content",height:"fit-content",minHeight:500,minWidth:"50%",onCloseCallBack:()=>{e?.apiActions?.reloadData(e.gridLoadParametersValues)}}),{Window:c,setWindowState:A}=Jt({windowTitle:t(e.gridTitle)+" Approvals",windowIcon:"stamp",height:"fit-content",minHeight:500,width:"fit-content",onCloseCallBack:()=>{e?.apiActions?.reloadData(e.gridLoadParametersValues)}}),[I,_]=me([]),E=Ci(e.formElements),O=[],C=he.useMemo(()=>e?.gridStateKey?en(e.gridStateKey):{},[]);for(const e of E)!0===e?.gridProps?.hidden&&O.push(e.fieldName);let N={};if(C?.columnVisibilityModel){N=C.columnVisibilityModel;const e=Object.keys(N);for(const t of O)e.includes(t)||(N[t]=!1)}else for(const e of O)N[e]=!1;const R=y(e=>e.AppLayout.appDirection),[b,w]=he.useState(N),[P,v]=he.useState(C.columnOrder||[]),[L,M]=he.useState(C.columnWidths||{}),[D,x]=me(C.columnGroupingModel||[]);let F=C?.pinnedColumns?.left||[];F=F.filter(e=>!on.includes(e));let B=C?.pinnedColumns?.right||[]||[];B=B.filter(e=>!on.includes(e));const[q,W]=me({left:[..."ltr"===R?on:[],...F],right:[..."rtl"===R?on:[],...B]}),G=Zt(),H=Ue(),[Y,K]=me(null),[z,$]=me(null),[j,Z]=me({}),te=async()=>{let o=Ni(E,"row"===e?.editMode?.editMode||!1,t);for(let e of o)e?.lookupType&&(e.displayField="ltr"===i.appDirection?"lookupEnDisplay":"lookupArDisplay",e.options=await s(e.lookupType),e.valueField="lookupValue");_(o)},[ie,oe]=me({ids:new Set,type:"include"});let re="id";e?.keyColumnName&&(re=e?.keyColumnName);const ne=e.setData;let ae=null;ae=e?.validationSchema?e.validationSchema:He.object(Ri(E));let se=!0;e?.editAction?.authority&&(se=G.isUserAuthorized(e.editAction.authority));let le=!0;e?.deleteAction?.authority&&(le=G.isUserAuthorized(e.deleteAction.authority));const{ConfirmationWindow:de,setOpen:ce}=jt({title:"Confirmation",body:"Are you sure you want to delete this record ?",onConfirmationCallBk:async()=>{let t=!0;Y&&!0===Y?.isNew||(t=await e.apiActions.deleteRecordById(Y[re])),t&&(e?.deleteAction?.postActionCallBack&&await e.deleteAction.postActionCallBack(Y),ne(e=>e.filter(e=>e[re]!=Y[re])))}});let pe,ue,ge,Te,Ae,ye;"modal"===e?.editMode?.editMode&&(pe=e?.editMode?.specs?.modalHeight||"fit-content",ue=e?.editMode?.specs?.modalWidth||"300",ge=e?.editMode?.specs?.modalMinHeight,Te=e?.editMode?.specs?.modalMinWidth,Ae=e?.editMode?.specs?.modalIcon||"window",ye=e?.editMode?.specs?.modalTitle||"Record Form");const{Window:Ie,setWindowState:_e}=Jt({height:pe,minHeight:ge,minWidth:Te,onCloseCallBack:()=>{e.apiActions.reloadData(e?.gridLoadParametersValues)},width:ue,windowIcon:Ae,windowTitle:ye}),Ee={type:"actions",field:"actions",headerName:"",headerAlign:"center",width:(e?.rowActions?30*e.rowActions.length:0)+(e?.editAction&&e?.editAction?.isEnabled?30:0)+(e?.deleteAction&&e?.deleteAction?.isEnabled?30:0)+(e?.attachment?30:0)+(e?.workFlowDocumentCode?30:0),getActions:i=>{const o=i.row,n=[];if("none"!=e?.editMode?.editMode&&(void 0===e?.disableDefaultAction||!e.disableDefaultAction)){const i=j[o[re]]?.mode===m.Edit;if("row"===e.editMode.editMode&&i)se&&(n.push(g(p,{icon:g(Re,{icon:"save"}),label:t("SAVE_BTN_LABEL"),onClick:()=>{(e=>{const t=e[re];Z({...j,[t]:{mode:m.View}})})(o)}})),n.push(g(p,{icon:g(Re,{icon:"cancel"}),label:t("CANCEL_BTN_LABEL"),onClick:()=>{(e=>{const t=e[re];t&&Mr(t)&&t<0?(Z({...j,[t]:{mode:m.View,ignoreModifications:!0}}),ne(e=>{const i=e.filter(e=>e[re]!=t);return i})):Z({...j,[t]:{mode:m.View,ignoreModifications:!0}})})(o)},color:"inherit"})));else{if(e?.editAction&&!0===e?.editAction?.isEnabled){let i=!0;e?.editAction?.isActionVisibleForRecord&&(i=e?.editAction?.isActionVisibleForRecord(o));let r=!1;e?.editAction?.isActionDisabledForRecord&&(r=e?.editAction?.isActionDisabledForRecord(o)),se&&i&&n.push(g(p,{disabled:r,icon:g(V,{title:t("EDIT_BTN_LABEL"),children:g(Re,{icon:"edit",style:{color:r?"gray":void 0}})}),showInMenu:e?.editAction?.gridActionProps?.showInMenu||!1,label:t("EDIT_BTN_LABEL"),className:"textPrimary",color:"inherit",onClick:()=>{se&&!r&&(async t=>{if(t)if($(t),"form"===e.editMode.editMode)H(e.editMode.specs.formRoute+"/"+t[re]);else if("modal"===e.editMode.editMode)_e(!0);else if("row"===e?.editMode?.editMode){const e=t[re];Z({...j,[e]:{mode:m.Edit}})}})(o)}}))}if(e?.deleteAction&&!0===e?.deleteAction?.isEnabled){let i=!0;e?.deleteAction?.isActionVisibleForRecord&&(i=e?.deleteAction?.isActionVisibleForRecord(o));let r=!1;e?.deleteAction?.isActionDisabledForRecord&&(r=e?.deleteAction?.isActionDisabledForRecord(o)),le&&i&&n.push(g(p,{disabled:r,icon:g(V,{title:t("DELETE_BTN_LABEL"),children:g(Re,{icon:"trash",style:{color:r?"gray":void 0}})}),showInMenu:e?.deleteAction?.gridActionProps?.showInMenu||!1,label:t("DELETE_BTN_LABEL"),className:"textPrimary",color:"inherit",onClick:()=>{if(le&&!r){if(e?.deleteAction?.preActionValidation&&!e.deleteAction.preActionValidation(o))return;K(o),ce(!0)}}}))}}}if(o[e?.keyColumnName||"id"]&&o[e?.keyColumnName||"id"]>0&&e?.attachment&&n?.push(g(p,{icon:g(V,{title:"Attachments",children:g(Re,{icon:"paperclip"})}),label:"Attachments",className:"textPrimary",color:"inherit",onClick:()=>{r(o),a(!e?.attachment?.enableAttachFn||e.attachment.enableAttachFn(o)),d(!0)}})),o[e?.keyColumnName||"id"]&&o[e?.keyColumnName||"id"]>0&&e?.workFlowDocumentCode&&n?.push(g(p,{icon:g(V,{title:"Approvals",children:g(Re,{icon:"stamp"})}),label:"Approvals",className:"textPrimary",color:"inherit",onClick:()=>{r(o),A(!0)}})),o[e?.keyColumnName||"id"]&&o[e?.keyColumnName||"id"]>0&&e?.rowActions)for(const t of e.rowActions)t?.gridActionProps?.multiRecord&&!0===t?.gridActionProps?.multiRecord||n.push(g(Jr,{...t,record:o,reloadData:async()=>{e.apiActions.reloadData(e?.gridLoadParametersValues)}}));return n}};let Oe=[];(void 0===e?.disableDefaultAction||!e.disableDefaultAction||e?.rowActions&&e?.rowActions.length>0)&&Oe.push(Ee),Oe=[...Oe,...I];fe(()=>{void 0!==e?.autoLoad&&!0!==e.autoLoad||e.apiActions.reloadData(e?.gridLoadParametersValues),te()},[]),fe(()=>{e.apiActions.reloadData(e?.gridLoadParametersValues)},[G.UserInfo?.currentOrganization]),fe(()=>{te()},[R,e.formElements]);const Ce=he.useMemo(()=>{const e=Oe.map(e=>({...e}));if(P.length){const t=new Map(e.map(e=>[e.field,e]));return P.map(e=>t.get(e)).filter(Boolean)}return e},[P,L,Oe]);return f(T,{children:[g(de,{}),"modal"===e?.editMode?.editMode?g(Ie,{children:e?.editMode?.specs?.formComponent?g(e.editMode.specs.formComponent,{recordIdToEdit:z?z[re]:void 0,formCloseCallBk:()=>{_e(!1),e.apiActions.reloadData(e?.gridLoadParametersValues)}}):g(cn,{keyColumnName:e.keyColumnName,attachment:e.attachment,formValuesChangeCallBk:e?.formProps?.formValuesChangeCallBk,recordIdToEdit:z?z[re]:void 0,formCloseCallBk:()=>{_e(!1),e.apiActions.reloadData(e?.gridLoadParametersValues)},elements:e.formElements,apiActions:e.apiActions,editAuthorityKey:e?.editAction?.authority,formSavedSuccessfullyCallBk:e?.editAction?.postActionCallBack,preSaveValidation:e?.editAction?.preActionValidation,actions:e?.rowActions})}):g(T,{}),void 0!==e?.hideInfoBar||e?.hideInfoBar?g(T,{}):f(S,{sx:{display:"flex"},children:[void 0!==e?.hideBackButton||e?.hideBackButton?g(T,{}):g(U,{onClick:()=>{H(-1,{replace:!0})},children:g(Re,{icon:"ltr"===R?"arrow-left":"arrow-right"})}),f(S,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:[e?.girdIcon?g(Re,{icon:e.girdIcon,style:{marginRight:5,marginLeft:5}}):g(T,{}),g(k,{variant:"h5",children:e?.gridTitle?kr(t(e?.gridTitle)):""})]})]}),e?.gridLoadParameters&&e?.gridLoadParameters.length>0&&e?.gridLoadParametersValues&&e?.setGridLoadParametersValues?f(J,{defaultExpanded:!0,sx:{width:"100%"},children:[g(X,{expandIcon:g(u,{}),children:f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[g(Re,{style:{marginLeft:5,marginRight:5},icon:"search"}),g(k,{component:"span",children:"Filters"})]})}),g(ee,{children:g(S,{children:g(cn,{saveButtonSpecs:{label:t("SEARCH_BTN_LABEL"),icon:"search",actionButtonVariant:"outlined",actionButtonColor:"success"},cancelButtonSpecs:{label:t("RESET_BTN_LABEL"),icon:"eraser",actionButtonVariant:"outlined",actionButtonColor:"error"},apiActions:{deleteRecordById:async()=>!0,saveRecord:async t=>{null!=t?e.setGridLoadParametersValues(t):e.setGridLoadParametersValues({}),e.apiActions.reloadData(t)},reloadData:async()=>{},loadRecordById:async()=>{}},elements:e.gridLoadParameters})})})]}):g(T,{}),e?.attachment?g(l,{children:g(Kr,{attachmentCode:e.attachment.attachmentCode,refKey:o[e?.keyColumnName||"id"],enableAttachment:n})}):g(T,{}),e?.workFlowDocumentCode?g(c,{children:g(dn,{workFlowDocumentCode:e.workFlowDocumentCode,refDocumentId:o[e?.keyColumnName||"id"],postActionCallBk:()=>{A(!1),e.apiActions.reloadData(e.gridLoadParametersValues)},cancelActionCallBk:()=>{A(!1),e.apiActions.reloadData(e.gridLoadParametersValues)}})}):g(T,{}),g(h,{...e?.muiProps,slots:{toolbar:Zr},slotProps:{toolbar:{templateProps:{...e,rowSelectionModel:ie,data:e?.data},handleCreateNewRecord:()=>{if("form"===e?.editMode?.editMode)H(e.editMode.specs.formRoute);else if("modal"===e?.editMode?.editMode)$(null),_e(!0);else if("row"===e?.editMode?.editMode){Xr-=1;const e={};e[re]=Xr,e.isNew=!0;for(const t of I)"actions"!=t?.type&&t?.field!=re&&t?.field&&(e[t.field]=null);ne(t=>[e,...t]),Z(e=>({...e,[Xr]:{mode:m.Edit}}))}},clearGridState:()=>{e?.gridStateKey&&localStorage.removeItem(e.gridStateKey),w({}),v([]),M({}),x([]),W({left:[..."ltr"===R?on:[]],right:[..."rtl"===R?on:[]]})}}},getRowId:e=>e[re],showToolbar:!0,rows:e?.data,columns:Ce,checkboxSelection:!0,editMode:"row",onRowEditStop:(e,t)=>{"rowFocusOut"===e.reason&&(t.defaultMuiPrevented=!0)},rowModesModel:"row"==e.editMode.editMode?j:void 0,onRowModesModelChange:"row"==e.editMode.editMode?e=>{Z(e)}:void 0,rowGroupingColumnMode:"multiple",processRowUpdate:async t=>{if("row"===e.editMode.editMode){let i=null;const o=(e=>{try{ae.parse(e)}catch(e){console.log("validateRecord err",e);let t=null;return t=e instanceof He.ZodError?e.errors.map(e=>"Error in field ("+e.path+") : "+e.message).join(","):"invalid record data",t}})(t);if(o){const e=o.split(",");throw Pe.error(g("div",{style:{},children:e.map(e=>f(T,{children:[g("div",{children:e}),g(Q,{})]}))})),new Error(o)}if(e?.editAction?.preActionValidation&&!e.editAction.preActionValidation(t))throw new Error("error on the configured presave validation");const r={...t};if(t[re]&&Mr(t[re])&&Number(t[re])<0&&(r[re]=null),i=await e.apiActions.saveRecord(r),null==i)throw new Error("Failed to process your request, contact your administrator");return e?.editAction?.postActionCallBack&&await e.editAction.postActionCallBack(t),!0===t?.isNew&&ne(e=>{const o=e.filter(e=>e[re]!==t[re]);return[i,...o]}),!0===e?.editMode?.reloadAfterSave&&e?.apiActions?.reloadData&&e?.apiActions?.reloadData(e?.gridLoadParametersValues),i}},rowSelectionModel:ie,onRowSelectionModelChange:e=>{oe(e)},columnVisibilityModel:b,onColumnVisibilityModelChange:t=>{w(t),e?.gridStateKey&&tn(e.gridStateKey,{columnVisibilityModel:t})},onColumnOrderChange:t=>{const{column:i,targetIndex:o}=t;v(t=>{const r=t.length?[...t]:Oe.map(e=>e.field),n=r.indexOf(i.field);return-1===n||(r.splice(n,1),r.splice(o,0,i.field),e?.gridStateKey&&tn(e.gridStateKey,{columnOrder:r})),r})},rowGroupingModel:D,onRowGroupingModelChange:t=>{(t=>{x(t),e?.gridStateKey&&tn(e.gridStateKey,{columnGroupingModel:t})})(t)},sx:{width:"100%"}})]})},nn=e=>{if(0===e.length)return[];const t=[];for(const i of Object.keys(e[0])){const e={type:"field",mode:"props",props:{fieldLabel:i,fieldName:i,fieldType:"text"}};t.push(e)}return t},an=e=>{const[t,i]=me([]);return fe(()=>{const t=e.reportData.map((e,t)=>({...e,report_record_data_key:t}));i(t)},[e.reportData]),g(rn,{data:t,disableDefaultAction:!0,setData:e.setReportData,formElements:nn(e.reportData),gridLoadParameters:e.gridLoadParameters,gridLoadParametersValues:e.gridLoadParametersValues,setGridLoadParametersValues:e.setGridLoadParametersValues,editMode:{editMode:"none"},girdIcon:"file-excel",gridTitle:"Report",autoLoad:!0,keyColumnName:"report_record_data_key",hideInfoBar:!0,apiActions:{deleteRecordById:async()=>!0,loadRecordById:async()=>{},reloadData:async()=>{e.reloadReport()},saveRecord:async()=>{}}})},sn=e=>{const[t,i]=me({...e?.initialParameterValues}),o=((e,t)=>{const i=[];for(const o of e){const e={type:"field",mode:"props",props:{fieldLabel:o?.parameterLabel,fieldName:o?.parameterCode,fieldType:o?.parameterType,hidden:o?.hidden,formProps:{fieldSize:{lg:4,md:6,sm:12}},required:o?.mandatory,defaultValue:t[o?.parameterCode]||o?.defaultValue}};i.push(e)}return i})(e.parameters,t);return{ParameterPanel:({searchBtnClickCallBk:e})=>{const{t:t}=Me();return f(J,{defaultExpanded:!0,sx:{width:"100%"},children:[g(X,{expandIcon:g(Re,{icon:{prefix:"far",iconName:"square-caret-down"}}),children:f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[g(Re,{style:{marginLeft:5,marginRight:5},icon:"search"}),g(k,{component:"span",children:"Filters"})]})}),g(ee,{children:g(S,{children:g(cn,{saveButtonSpecs:{label:t("Filter"),icon:"search",actionButtonVariant:"outlined",actionButtonColor:"success"},cancelButtonSpecs:{label:t("RESET_BTN_LABEL"),icon:"eraser",hidden:!0,actionButtonVariant:"outlined",actionButtonColor:"error"},actions:[{label:t("RESET_BTN_LABEL"),icon:"eraser",isIdRequired:!1,formActionProps:{enabled:!0},actionFn:async(e,t)=>{i({})}}],apiActions:{deleteRecordById:async()=>!0,saveRecord:async t=>{i(null!=t?t:{}),e&&await e(t)},reloadData:async()=>{},loadRecordById:async()=>{}},elements:o})})})]})},parametersValues:t,setParametersValues:i,panelElements:o}},ln=e=>{const[t,i]=me(null),[o,r]=me(null),[n,a]=me([]),[s,l]=me("WAITING_REPORT_CODE"),{handleGetRequest:d,handlePostRequest:c,HandleDownloadHTTPPostPDF:p}=Qt(),[u,h]=me(null),{ParameterPanel:m,parametersValues:A,panelElements:y,setParametersValues:I}=sn({parameters:u?.reportParameters||[],initialParameterValues:{...e?.reportParametersValues}});fe(()=>{u&&(!0===e?.byPassParameterEntry||0==u.reportParameters.length?(_(A),l("WAITING_RESULT")):l("WAITING_PARAMETER_INPUT"))},[u]);const _=async t=>{l("WAITING_RESULT"),"Excel"===u?.reportType?await c({endPointURI:"api/v1/public/report/run",showMask:!0,data:{reportCode:e.reportCode,parameters:t,resultMode:e.resultMode,jasperOutPutFileType:e.jasperOutPutFileType},successCallBkFn:e=>{l("SHOWING_RESULT"),a(e.data)}}):u?.reportType&&await p({endPointURI:"api/v1/public/report/run",showMask:!0,data:{reportCode:e.reportCode,parameters:t,resultMode:e.resultMode,jasperOutPutFileType:e.jasperOutPutFileType},successCallBkFn:e=>{l("SHOWING_RESULT");const t=e.headers["content-disposition"];let o="downloaded_file";if(t&&-1!==t.indexOf("filename=")){const e=t.match(/filename="?([^"]+)"?/);e&&e[1]&&(o=e[1])}if(o.includes("pdf")){const t=new Blob([e.data],{type:"application/pdf"}),o=URL.createObjectURL(t);i(o)}else{const t=new Blob([e.data],{type:e.headers["content-type"]}),i=window.URL.createObjectURL(t),r=document.createElement("a");r.href=i,r.download=o,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(i)}},failureCallBkFn:e=>{r("Failed To run report ... contact your administrator"),l("ERROR")}})};return fe(()=>{e?.reportCode&&(async()=>{l("LOADING_METADATA"),await d({endPointURI:"api/v1/public/report/metadata",showMask:!0,parameters:{reportCode:e.reportCode},successCallBkFn:e=>{h(e.data)},failureCallBkFn:e=>{r("Failed loading report metadata ... contact your administrator"),l("ERROR")}})})()},[e.reportCode,e.byPassParameterEntry,e.reportParametersValues,e.jasperOutPutFileType,e.resultMode]),f(T,{children:[f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%"},children:[f(S,{sx:{flex:1,textAlign:"center",marginBottom:1},children:[g(Re,{icon:"Excel"===u?.reportType?"file-excel":"file-pdf",color:"Excel"===u?.reportType?"darkgreen":"darkred",style:{marginRight:10,marginLeft:10}}),u?.reportName]}),"Excel"!=u?.reportType&&"SHOWING_RESULT"===s?f(T,{children:[!0===e?.byPassParameterEntry?g(T,{}):u?.reportParameters.length>0?g(U,{onClick:()=>{l("WAITING_PARAMETER_INPUT")},children:g(Re,{icon:"filter"})}):g(T,{}),g(U,{children:g(Re,{icon:"refresh",onClick:()=>{_(A)}})})]}):g(T,{})]}),g(S,{sx:{flexGrow:1,width:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:"WAITING_PARAMETER_INPUT"===s&&"Excel"!=u?.reportType?g(m,{searchBtnClickCallBk:_}):"SHOWING_RESULT"===s||("WAITING_PARAMETER_INPUT"===s||"WAITING_RESULT"===s)&&"Excel"===u?.reportType?"Excel"===u?.reportType?g(an,{reportData:n,setReportData:a,reloadReport:async()=>{_(A)},gridLoadParameters:y,gridLoadParametersValues:A,setGridLoadParametersValues:I}):g("iframe",{src:t,width:"100%",height:"100%",title:"PDF Preview",style:{border:"1px solid #ccc",marginTop:"20px"}}):"ERROR"===s?f(S,{sx:{display:"flex",flex:1,alignItems:"center",justifyContent:"center"},children:[g(Re,{icon:"circle-exclamation",color:"darkred",style:{marginRight:10,marginLeft:10}}),o]}):g(T,{})})]})},dn=e=>{const t=Ue(),i=y(e=>e.AppLayout),{isUserAuthorized:o,UserInfo:r}=Zt(),{handleGetRequest:n,handlePostRequest:a}=Qt(),[s,l]=me(null),[d,c]=me([]),{t:p}=Me(),[u,h]=me(null),[m,A]=me({referencedDocument:null,workflowDocumentReport:null,workflowDocument:null,workflowDocumentStatus:null,actionsHistory:[],nextActionTakers:null,nextActions:[]}),{Window:I,setWindowState:_}=Jt({windowTitle:"ltr"===i.appDirection?m?.workflowDocument&&m?.referencedDocument?`${m?.workflowDocument?.documentEnName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`:"Document":m?.workflowDocument&&m?.referencedDocument?`${m?.workflowDocument?.documentArName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`:"وثيقة",windowIcon:"eye",width:"80%"}),E=async()=>{await n({endPointURI:"api/v1/public/workflow/doc/info",showMask:!0,parameters:{workflowDocumentCode:e.workFlowDocumentCode,refDocumentId:e.refDocumentId},successCallBkFn:e=>{A(structuredClone(e.data))},failureCallBkFn:()=>{A({referencedDocument:null,workflowDocumentReport:null,workflowDocument:null,workflowDocumentStatus:null,actionsHistory:[],nextActions:[],nextActionTakers:null})}})},O=async()=>{await a({endPointURI:"api/v1/public/workflow/doc/action",showMask:!0,data:{workflowDocumentId:m?.workflowDocument?.id,refDocumentId:e.refDocumentId,actionId:s.id,refDocumentStatus:m?.workflowDocumentStatus?.documentStatusCode,actionComment:u},successCallBkFn:async t=>{s?.post_action_endpoint?await a({endPointURI:s.post_action_endpoint,showMask:!0,loadingMessage:"Processing post action process ... please wait",parameters:{refDocumentId:e.refDocumentId,actionId:s.id},successCallBkFn:()=>{E(),e?.postActionCallBk&&e.postActionCallBk()}}):E()}})};return fe(()=>{e.refDocumentId&&e.workFlowDocumentCode&&E()},[e.refDocumentId,e.workFlowDocumentCode]),fe(()=>{c(m?.nextActions&&m?.nextActions?.length>0?m.nextActions.filter(e=>{if(!m?.workflowDocumentStatus?.nextActionTakersAuthority&&!m?.nextActionTakers)return!0;if(m?.workflowDocumentStatus?.nextActionTakersAuthority&&o(m.workflowDocumentStatus.nextActionTakersAuthority))return!0;if(m?.nextActionTakers)for(const e of m.nextActionTakers)if(r?.username===e?.username||r?.username===e?.USERNAME)return!0;return!1}):[])},[m.nextActions,m.nextActionTakers]),f(T,{children:[m?.workflowDocumentReport?.id?g(I,{children:g(ln,{reportCode:m?.workflowDocumentReport?.reportCode,resultMode:"App",byPassParameterEntry:!0,reportParametersValues:{doc_id:e.refDocumentId+""}})}):g(T,{}),m?.workflowDocument?f(S,{sx:{width:"100%",textAlign:"center",fontSize:20,fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center"},children:[g(U,{onClick:()=>{t(-1,{replace:!0})},children:g(Re,{icon:"arrow-left"})}),g(S,{sx:{flex:1}}),g(Re,{icon:"file",style:{marginRight:10,marginLeft:10}}),"ltr"===i.appDirection?`${m?.workflowDocument?.documentEnName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`:`${m?.workflowDocument?.documentArName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`,m?.workflowDocumentStatus?"ltr"===i.appDirection?` ( ${m?.workflowDocumentStatus?.documentStatusEnName} )`:` ( ${m?.workflowDocumentStatus?.documentStatusArName} )`:"",g(S,{sx:{flex:1}}),m?.workflowDocumentReport?.id?g(v,{onClick:()=>{_(!0)},variant:"outlined",startIcon:g(Re,{icon:"eye"}),children:p("VIEW_LABEL")}):g(T,{})]}):g(T,{}),f(S,{sx:{flex:1,width:"100%",overflow:"hidden",display:"flex"},children:[d?.length>0?f(x,{sx:{padding:2,display:"flex",margin:1,flexDirection:"column",alignItems:"center",justifyContent:"flex-start",overflow:"hidden"},children:[g(di,{sx:{marginBottom:2,width:400},label:p("WE_AVAILABLE_ACTIONS_LABEL"),displayField:"ltr"===i.appDirection?"document_action_en_name":"document_action_ar_name",valueField:"id",value:s?.id,options:d,onChangeCallBack:(e,t)=>{l(t)}}),g(ri,{sx:{width:400},rows:3,value:u,onChange:e=>{h(e.target.value)},multiline:!0,label:p("WF_COMMENT_LABEL")}),f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[g(v,{color:"success",variant:"contained",sx:{width:200,m:1},onClick:async()=>{null!=s&&null!=s?.id?!0!==s.require_comment&&1!==s.require_comment&&"true"!==s.require_comment||null!==u&&""!==u?s?.pre_action_endpoint?await a({endPointURI:s.pre_action_endpoint,showMask:!0,loadingMessage:"Processing pre action validation ... please wait",parameters:{refDocumentId:e.refDocumentId,actionId:s.id},successCallBkFn:()=>{O()}}):O():Pe.error("You must enter comment for the action to be processed"):Pe.error("You must select action to process")},children:p("WF_TAKE_ACTION_BTN_LABEL")}),e?.cancelActionCallBk?g(v,{variant:"contained",sx:{width:200,m:1},color:"error",onClick:()=>{e?.cancelActionCallBk&&e.cancelActionCallBk()},children:p("WF_CANCEL_BTN_LABEL")}):g(T,{})]}),m?.nextActionTakers&&m.nextActionTakers.length>0?f(T,{children:[g(Q,{variant:"fullWidth",flexItem:!0,sx:{marginTop:1,marginBottom:1},children:f(S,{sx:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:18,fontWeight:"bold"},children:[g(Re,{icon:"users",style:{marginRight:10,marginLeft:10}})," ",p("WF_WAITING_FOR_LABEL")]})}),g(S,{sx:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",overflow:"auto",padding:1,width:"100%"},children:m.nextActionTakers.map(e=>f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center",border:"1px dotted black",width:400,marginBottom:2,padding:2},children:[g(Hr,{showAsAvatar:!0,attachmentCode:"EMPLOYEE_PHOTOS",refKey:e?.id||"0",style:{marginRight:2,marginLeft:2,width:60,height:60}}),f(S,{sx:{flex:2,display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"center"},children:[g("div",{children:"ltr"===i.appDirection?e?.employee_en_name:e?.employee_ar_name}),g("div",{children:e?.email?f(T,{children:[g(Re,{icon:"envelope",style:{marginRight:10,marginLeft:10}}),e?.email]}):g(T,{})}),g("div",{children:e?.mobile_number?f(T,{children:[g(Re,{icon:"mobile",style:{marginRight:10,marginLeft:10}}),e?.mobile_number]}):g(T,{})})]})]}))})]}):g(T,{})]}):g(T,{}),m?.actionsHistory.length>0?g(Vr,{actionHistory:m.actionsHistory}):f(x,{sx:{display:"flex",flexDirection:"column",width:600,padding:2,margin:1,alignItems:"center",justifyContent:"center"},children:[f(S,{sx:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:18,fontWeight:"bold"},children:[g(Re,{icon:"history",style:{marginRight:10,marginLeft:10}}),p("WF_ACTION_HISTORY_LABEL")]}),g(S,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:"No Action Log available"})]})]})]})},cn=e=>{const{Window:t,setWindowState:i}=Jt({windowTitle:"Attachments",windowIcon:"paperclip",width:"fit-content",height:"fit-content",minHeight:500,minWidth:400}),[o,r]=me(!0),{t:n}=Me(),a=Ci(e.elements),[s,l]=me([]),[d,c]=me([]),p={};for(const t of e.elements)"field"===t?.type&&"props"===t?.mode&&t?.props?.defaultValue&&(p[t.props.fieldName]=t.props.defaultValue);let u=null;u=e?.validationSchema?e.validationSchema:Ge.object(Ri(a));const h=ke({resolver:We(u),defaultValues:p}),m=h.watch(),A=xe(),y=e?.formRouteRecordIdParamName,I=async()=>{let t=null;if(e?.recordIdToEdit?t=e.recordIdToEdit:y&&A[y]&&(t=A[y]),t){const i=await e.apiActions.loadRecordById(t);if(i){h.reset({...i}),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk({...i},O,h);for(const e of a)"combobox"===e?.fieldType&&i[e.fieldName]&&(e?.comboboxValueDataType&&"string"===e?.comboboxValueDataType?h.setValue(e.fieldName,i[e.fieldName]+""):h.setValue(e.fieldName,i[e.fieldName]))}}else h.reset({})},{Window:_,setWindowState:E}=Jt({windowTitle:"Approvals",windowIcon:"stamp",height:"fit-content",minHeight:500,width:"fit-content",onCloseCallBack:async()=>{await I()}}),O={setFieldValue:(e,t)=>{h.setValue(e,t)},hideField:e=>{c(t=>[...t,e])},showField:e=>{c(t=>t.filter(t=>t!==e))},disableField:e=>{l(t=>[...t,e])},enableField:e=>{l(t=>t.filter(t=>t!==e))}};return fe(()=>{const e=[],t=[];for(const i of a)i?.hidden&&e.push(i.fieldName),i?.disabled&&t.push(i.fieldName);c(e),l(t)},[e.elements]),fe(()=>{I()},[e?.recordIdToEdit]),fe(()=>{r(!e?.attachment||!e?.attachment?.enableAttachFn||e.attachment.enableAttachFn(m))},[m]),f(T,{children:[e?.attachment?g(t,{children:g(Kr,{attachmentCode:e.attachment.attachmentCode,refKey:m[e?.keyColumnName||"id"],enableAttachment:o})}):g(T,{}),e?.workFlowDocumentCode?g(_,{children:g(dn,{workFlowDocumentCode:e.workFlowDocumentCode,refDocumentId:m[e?.keyColumnName||"id"],postActionCallBk:()=>{E(!1),I()},cancelActionCallBk:()=>{E(!1),I()}})}):g(T,{}),g(Lr,{sx:{display:"flex",flex:1,width:"100%",height:"fit-content",flexDirection:"column",alignItems:"center",overflow:"auto"},children:g(B,{sx:{width:"100%"},container:!0,children:e.elements.map((t,i)=>"group"===t.type?g(Gr,{...t.props,formManager:h,formValues:m,formActions:O,hiddenFields:d,disabledFields:s,formValuesChangeCallBk:e.formValuesChangeCallBk},i):"field"===t.type&&"props"===t.mode?g(qr,{fieldInfo:t.props,formManager:h,formValues:m,formActions:O,hiddenFields:d,disabledFields:s,formValuesChangeCallBk:e.formValuesChangeCallBk},i):"field"===t.type&&"node"===t.mode?g(B,{size:t?.props?.formProps?.fieldSize||{lg:3,md:6,xs:12},sx:{padding:1,width:"100%"},children:g(t.node,{formManager:h,formValues:m})},i):void 0)})}),f(Lr,{sx:{display:"flex",width:"100%",alignItems:"center",justifyContent:"flex-start"},children:[m[e?.keyColumnName||"id"]&&e?.attachment?g(V,{title:"Attachments",children:g(U,{onClick:()=>{i(!0)},children:g(Re,{icon:"paperclip"})})}):null,m[e?.keyColumnName||"id"]&&e?.workFlowDocumentCode?g(V,{title:"Approvals",children:g(U,{onClick:()=>{E(!0)},children:g(Re,{icon:"stamp"})})}):null,e?.actions?e.actions.map(t=>!1===t?.isIdRequired?g(Wr,{...t,record:m}):m[e?.keyColumnName||"id"]?!0===t?.formActionProps?.enabled?g(Wr,{...t,record:m}):g(T,{}):void 0):g(T,{}),g("div",{style:{flex:1}}),e?.saveButtonSpecs?.hidden?g(T,{}):g(v,{variant:e?.saveButtonSpecs?.actionButtonVariant?e.saveButtonSpecs.actionButtonVariant:"contained",sx:{m:1},startIcon:e?.saveButtonSpecs?.icon?g(Re,{icon:e.saveButtonSpecs.icon}):null,color:e?.saveButtonSpecs?.actionButtonColor?e.saveButtonSpecs.actionButtonColor:"primary",onClick:h.handleSubmit(t=>{(async t=>{if((!e?.preSaveValidation||e.preSaveValidation(t))&&t){const i=await e.apiActions.saveRecord(t);i&&(h.reset({...i}),e?.formSavedSuccessfullyCallBk&&e.formSavedSuccessfullyCallBk(i),e?.formCloseCallBk&&e.formCloseCallBk())}})(t)},e=>{Pe.error("Form Data is not valid, make sure you have all field with valid data"),console.log("form validation error",e)}),children:n(e?.saveButtonSpecs?.label||"SAVE_BTN_LABEL")}),e?.cancelButtonSpecs?.hidden?g(T,{}):g(v,{variant:e?.cancelButtonSpecs?.actionButtonVariant?e.cancelButtonSpecs.actionButtonVariant:"contained",startIcon:e?.cancelButtonSpecs?.icon?g(Re,{icon:e.cancelButtonSpecs.icon}):null,color:e?.cancelButtonSpecs?.actionButtonColor?e.cancelButtonSpecs.actionButtonColor:"error",sx:{m:1},onClick:()=>{e?.formCloseCallBk&&e.formCloseCallBk(),h.reset(p)},children:n(e?.cancelButtonSpecs?.label||"CANCEL_BTN_LABEL")})]})]})},pn=()=>{const{workflowDocumentCode:e,refDocumentId:t}=xe();return g(dn,{workFlowDocumentCode:e,refDocumentId:t})},un=e=>g(st,{dataset:e.data,xAxis:[{dataKey:e.valueField,scaleType:"band",label:e.valueLabel}],series:e.labelField?.split(",").map(e=>({dataKey:e,label:e}))}),hn=e=>f(x,{sx:{display:"flex",flexDirection:"column",height:150,padding:1,flexGrow:1,justifyContent:"center",alignItems:"center"},children:[g(S,{sx:{display:"flex",width:"100%",justifyContent:"space-evenly",alignItems:"center"},children:g("div",{children:e.record[e.valueField]})}),g(k,{sx:{fontSize:16,fontWeight:"bold"},children:e.record[e.labelField]})]}),mn=e=>f(T,{children:[g(k,{sx:{fontSize:16,fontWeight:"bold"},children:e.record[e.labelField]}),g(lt,{width:200,height:200,value:e.record[e.valueField],valueMax:e.total})]}),fn=e=>g(dt,{dataset:e.data,xAxis:[{dataKey:e.valueField,scaleType:"band",label:e.valueLabel}],series:e.labelField?.split(",").map(e=>({dataKey:e,label:e}))});function gn(e){return f(pt,{sx:{display:"flex",alignItems:"center"},children:[g(pt,{sx:{width:"100%",mr:1},children:g(ct,{variant:"determinate",...e})}),g(pt,{sx:{minWidth:35},children:g(at,{variant:"body2",sx:{color:"text.secondary"},children:`${Math.round(e.value)}%`})})]})}const Tn=e=>f(pt,{sx:{width:"100%"},children:[g(at,{sx:{fontSize:16,fontWeight:"bold"},children:e.record[e.labelField]}),g(gn,{value:e.record[e.valueField]/e.total*100})]}),An=e=>{const t=e.data.map((t,i)=>({id:i,value:t[e.valueField],label:t[e.labelField]+""}));return g(ut,{series:[{data:t}]})},yn=e=>{const[t,i]=me(!0),[o,r]=me([]),{handleGetRequest:n}=Qt();fe(()=>{e.loadWidget?(async()=>{i(!0),await n({endPointURI:"api/v1/dev/query/result",showMask:!1,parameters:{queryId:e.dataQueryId,...e.parameterValues},successCallBkFn:e=>{i(!1),r(e.data)},failureCallBkFn:()=>{i(!1),r([])}})})():i(!1)},[e.loadWidget,e.loadCounter]);let a=0;if(1==o.length)a=100;else if("CircularProgress"===e.widgetType||"LinearProgress"===e.widgetType)for(const t of o)a+=t[e.verticalAxisField];return f(T,{children:["LineChart"===e.widgetType||"PieChart"===e.widgetType||"ColumnChart"===e.widgetType?f(S,{children:[g(Re,{style:{marginRight:10,marginLeft:10},icon:e?.icon||"chart-pie"}),e?.title]}):g(T,{}),g(S,{sx:{flex:1,padding:1,height:"90%",display:"flex",alignItems:"center",justifyContent:"center",width:"90%"},children:t?f(T,{children:[g(Re,{icon:{prefix:"fas",iconName:"arrows-spin"},style:{marginRight:10,marginLeft:10},spin:!0,size:"2x"}),g("div",{children:"Loading"})]}):"ColumnChart"===e.widgetType?g(un,{data:o,widgetTitle:e.title,labelField:e.verticalAxisField,valueField:e.horizontalAxisField,valueLabel:e.horizontalAxisLabel,widgetType:"Line"}):"LineChart"===e.widgetType?g(fn,{data:o,widgetTitle:e.title,labelField:e.verticalAxisField,valueField:e.horizontalAxisField,valueLabel:e.horizontalAxisLabel,widgetType:"Line"}):"PieChart"===e.widgetType?g(An,{data:o,widgetTitle:e.title,labelField:e.horizontalAxisField,valueField:e.verticalAxisField,widgetType:"Pie"}):f(B,{container:!0,sx:{width:"100%",alignItems:"flex-start",justifyContent:"flex-start"},spacing:2,size:{xs:12},children:[g(B,{size:{xs:12},sx:{textAlign:"center"},children:e.title}),o.map((t,i)=>"Card"===e.widgetType?g(B,{size:{md:3,xs:12},children:g(hn,{widgetTitle:"",record:t,labelField:e.horizontalAxisField,valueField:e.verticalAxisField},i)}):"CircularProgress"===e.widgetType?g(B,{size:{md:3,xs:12},children:g(mn,{widgetTitle:"",record:t,labelField:e.horizontalAxisField,valueField:e.verticalAxisField,total:a},i)}):"LinearProgress"===e.widgetType?g(B,{size:{md:3,xs:12},children:g(Tn,{widgetTitle:"",record:t,labelField:e.horizontalAxisField,valueField:e.verticalAxisField,total:a},i)}):void 0)]})})]})},In=e=>{const[t,i]=me({dashboardCode:"",dashboardName:"",dashboardTitle:"",dashboardParameters:[],widgets:[]}),{ParameterPanel:o,parametersValues:r}=sn({parameters:t?.dashboardParameters||[],initialParameterValues:{}}),[n,a]=me(0),[s,l]=me(!1);fe(()=>{if(null!=t.dashboardCode&&null!=t.dashboardCode&&""!=t.dashboardCode){l(!1);let e=!0;if(t?.dashboardParameters.length>0)for(const i of t?.dashboardParameters)if(!0===i?.mandatory&&(void 0===r[i.parameterCode]||null===r[i.parameterCode]||""===r[i.parameterCode])){e=!1;break}e&&l(e),a(n+1)}},[t?.dashboardParameters,r]);const d=Ue(),{handleGetRequest:c,handlePostRequest:p}=Qt();return fe(()=>{e.dashboardCode&&(async()=>{await c({endPointURI:"api/v1/dev/dashboard/metadata",showMask:!0,parameters:{dashboardCode:e.dashboardCode},successCallBkFn:e=>{i(e.data)},failureCallBkFn:()=>{i(null)}})})()},[e.dashboardCode,e.parameters]),g(T,{children:t?f(T,{children:[f(S,{sx:{fontSize:20,fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center"},children:[g(U,{onClick:()=>{d(-1,{replace:!0})},children:g(Re,{icon:"arrow-left"})}),g(S,{sx:{flex:1}}),g(Re,{style:{marginLeft:10,marginRight:10},icon:"square-poll-vertical"}),g(S,{children:t?.dashboardTitle}),g(S,{sx:{flex:1}})]}),t?.dashboardParameters.length>0?g(o,{searchBtnClickCallBk:async e=>{a(n+1)}}):g(T,{}),g(B,{container:!0,spacing:1,sx:{height:"fit-content",overflowY:"auto",padding:1},children:t?.widgets.map((e,t)=>g(B,{sx:{alignItems:"center",justifyContent:"center",padding:1,display:"flex",overflow:"auto",flexDirection:"Card"!=e.widgetType?"column":void 0,height:e?.height||300},size:{md:e?.width,sm:12},children:g(yn,{...e,parameterValues:r,loadWidget:s})},t))})]}):g(S,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",fontSize:24,fontWeight:"bold"},children:"No Dashboard Found"})})},_n=()=>{const{dashboardCode:e}=xe();return g(In,{dashboardCode:e})},En=e=>{const{UserSession:t}=Zt(),i=y(e=>e.AppLayout),o=A(),{handlePostRequest:r}=Qt(),[n,a]=me(t.value.currentOrganization.id);return f(S,{sx:{display:"flex",flexDirection:"column",width:"100%",alignItems:"center",justifyContent:"center",padding:1},children:[g(di,{sx:{width:"100%"},displayField:"ltr"===i.appDirection?"organizationEnName":"organizationArName",valueField:"id",label:"",options:t.value.userOrganizations,value:n,onChangeCallBack:e=>{a(e)}}),g(v,{sx:{m:1},variant:"contained",disabled:null==n||n===t.value.currentOrganization.id,onClick:async()=>{await r({endPointURI:"api/auth/changeCurrentOrg",showMask:!0,parameters:{username:t.value.username,orgId:n},data:{},successCallBkFn:t=>{const i={...t.data,isAuthenticated:!0};o(zt.setAuthenticated(i)),e.successChangeCallBackFn&&e.successChangeCallBackFn()}})},children:"Change Organization"})]})},On=be({name:"SideBar",initialState:{isOpened:!1},reducers:{toggleSideBarState:e=>{e.isOpened=!e.isOpened},setSideBarState:(e,t)=>{e.isOpened=t.payload}}}),{toggleSideBarState:Cn,setSideBarState:Nn}=On.actions;var Rn=On.reducer;function bn(e,t){const i=Te(e);fe(()=>{i.current=e},[e]),fe(()=>{const e=setInterval(()=>i.current?.(),t);return()=>clearInterval(e)},[t])}const wn=te`
|
|
31
|
+
function(e,t){const i=St(e,t);return"production"!==process.env.NODE_ENV?(...t)=>{const o=`"${e}"`;return 0===t.length?console.error([`MUI: Seems like you called \`styled(${o})()\` without a \`style\` argument.`,'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join("\n")):t.some(e=>void 0===e)&&console.error(`MUI: the styled(${o})(...args) API requires all its args to be defined.`),i(...t)}:i}("div",{shouldForwardProp:e=>"theme"!==e&&"sx"!==e&&"as"!==e})(_r),a=ue.forwardRef(function(e,a){const s=function(e=Cr){return Or(e)}(i),{className:l,component:d="div",...c}=Nr(e);return g(n,{as:d,ref:a,className:Pr(l,r?r(o):o),theme:t&&s[t]||s,...c})});return a}({defaultClassName:function(e,t,i="Mui"){const o={};return t.forEach(t=>{o[t]=function(e,t,i="Mui"){const o=vr[t];return o?`${i}-${o}`:`${br.generate(e)}-${t}`}(e,t,i)}),o}("MuiBox",["root"]).root,generateClassName:br.generate});function Sr(e){return/^\d+$/.test(e)}function Mr(e){return"number"==typeof e&&!isNaN(e)}function Dr(e){return"string"==typeof e&&""!==e.trim()&&!isNaN(Number(e))}function kr(e){return e?e.charAt(0).toUpperCase()+e.slice(1):""}function Ur(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function xr(e,t){const i=new Date(e),o=new Date,r=Math.floor((i-o)/1e3),n="rtl"===t?"ar":"en",a=new Intl.RelativeTimeFormat(n,{numeric:"auto"}),s=[{unit:"year",seconds:31536e3},{unit:"month",seconds:2592e3},{unit:"week",seconds:604800},{unit:"day",seconds:86400},{unit:"hour",seconds:3600},{unit:"minute",seconds:60},{unit:"second",seconds:1}];for(const{unit:e,seconds:t}of s){const i=Math.floor(r/t);if(Math.abs(i)>1)return a.format(i,e)}return"ar"===n?"الآن":"just now"}"production"!==process.env.NODE_ENV&&(Lr.propTypes={children:ro.node,component:ro.elementType,sx:ro.oneOfType([ro.arrayOf(ro.oneOfType([ro.func,ro.object,ro.bool])),ro.func,ro.object])});const Fr=(e,t)=>t?it(e).format(t):it(e).format(ci),Br=(e,t)=>t?it(e,t).toDate():it(e,ci).toDate(),qr=e=>{if(e?.fieldInfo){const t=e.fieldInfo,i=e?.formManager||null,o=e?.formActions||null,r=e?.formValues||null,n=e?.fieldInfo?.fieldName||null,a=e?.fieldInfo?.fieldType||null;if(!(t&&i&&r&&n&&a))return g(T,{});const s=()=>e?.fieldInfo?.formProps?.fieldLabelFn?e.fieldInfo.formProps.fieldLabelFn(r):e?.fieldInfo?.fieldLabel?e?.fieldInfo?.fieldLabel:void 0;return e.hiddenFields.includes(n)?g(T,{}):g(B,{size:t?.formProps?.fieldSize||{lg:12,md:12,sm:12},sx:{padding:1,width:"100%"},children:"text"===a||"number"===a?g(ri,{...t.muiTextFieldProps,fullWidth:!0,type:a,disabled:e.disabledFields.includes(n),label:s(),value:r[n],onChange:t=>{let s=null;""!=t.target.value&&(s="number"===a&&Dr(t.target.value)?Number(t.target.value):t.target.value),i.setValue(n,s),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,s)},sx:{"& .MuiInputBase-root":{height:`${t?.formProps?.fieldHeight}px`||void 0},"& .MuiInputBase-input":{height:"100% !important"},...t?.formProps?.style,display:e.hiddenFields.includes(n)?"none":void 0},error:null!=i.formState.errors[n],helperText:i?.formState?.errors[n]?.message?.toString()}):"date"===t?.fieldType?g(gi,{format:t?.dateFormat||ci,sx:t?.formProps?.style||{width:"100%"},disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),label:s(),onChangeCallBack:t=>{i.setValue(n,t),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t)},value:r[n],error:null!=i.formState.errors[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):"datetime"===t?.fieldType?g(Ti,{format:t?.dateFormat||pi,sx:t?.formProps?.style||{width:"100%"},disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),label:s(),onChangeCallBack:t=>{i.setValue(n,t),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t)},value:r[n],error:null!=i.formState.errors[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):"checkbox"===t?.fieldType?g(li,{label:s(),onChangeCallBack:t=>{i.setValue(n,t),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t)},value:r[n],checkedValue:t?.checkedValue||!0,unCheckedValue:t?.unCheckedValue||!1,disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),sx:t?.formProps?.style}):"combobox"===t?.fieldType?g(di,{sx:t?.formProps?.style||{width:"100%"},label:s(),commonStoreKey:t?.commonStoreKey,dataQueryId:t?.dataQueryId,storeUrl:t?.storeUrl,storeLoadParam:t?.storeLoadParam,disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),onChangeCallBack:(t,a)=>{let s=null;t&&(s=t),i.setValue(n,s),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t,a)},options:t?.options||[],displayField:t?.optionDisplayField||"",valueField:t?.optionValueField||"",value:r[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):"lookup"===t?.fieldType?g(Ai,{sx:t?.formProps?.style||{width:"100%"},label:s(),disabled:e.disabledFields.includes(n),hidden:e.hiddenFields.includes(n),onChangeCallBack:(t,a)=>{let s=null;t&&(s=t),i.setValue(n,s),e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(r,o,i,n,t,a)},lookupType:t.lookupType,value:r[n],errorMessage:i?.formState?.errors[n]?.message?.toString()}):null})}return g(T,{})},Wr=e=>{const t=Zt(),{ConfirmationWindow:i,setOpen:o}=jt({body:e?.confirmationMessage||"",title:"Confirmation",onConfirmationCallBk:()=>{e?.actionFn(e?.record)}});return null==e?.authority||t.isUserAuthorized(e.authority)?f(T,{children:[g(i,{}),f(v,{variant:e?.formActionProps?.actionButtonVariant,color:e?.formActionProps?.actionButtonColor,onClick:()=>{if(e?.actionFn){if(e?.preActionValidation&&!e.preActionValidation(e.record))return;!0===e?.isConfirmationRequired?o(!0):e?.actionFn(e.record)}},children:[e?.icon?g(Re,{icon:e.icon,style:{marginRight:5,marginLeft:5}}):g(T,{}),g("div",{children:e?.label})]})]}):g(T,{})},Gr=e=>{const{t:t}=Me();return g(T,{children:f(B,{container:!0,sx:e?.style,alignItems:"flex-start",children:[e?.label?g(B,{size:12,sx:{padding:1,fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"flex-start"},children:e?.icon?f(T,{children:[g(Re,{icon:e.icon,style:{marginRight:5,marginLeft:5}}),g("div",{children:t(e.label)})]}):g(T,{children:t(e.label)})}):g(T,{}),e?.elements?e.elements.map(t=>"group"===t.type?g(Gr,{...t.props,formManager:e.formManager,formValues:e.formValues,formActions:e.formActions,hiddenFields:e.hiddenFields,disabledFields:e.disabledFields,formValuesChangeCallBk:e?.formValuesChangeCallBk}):"field"===t.type&&"props"===t.mode?g(qr,{fieldInfo:t.props,formManager:e.formManager,formValues:e.formValues,formActions:e.formActions,hiddenFields:e.hiddenFields,disabledFields:e.disabledFields,formValuesChangeCallBk:e?.formValuesChangeCallBk}):"field"===t.type&&"node"===t.mode?g(B,{size:t?.props?.formProps?.fieldSize||{lg:3,md:6,sm:12},sx:{padding:1,width:"100%"},children:g(t.node,{formManager:e.formManager,formValues:e.formValues,formActions:e.formActions})}):void 0):null,e?.actions?g(B,{size:{sm:12},sx:{padding:1},children:e.actions.map(t=>g(Wr,{...t,record:e.formValues}))}):g(T,{})]})})},Hr=e=>{const t=y(e=>e.AppInfo.value.apiBaseUrl),[i,o]=me(null);return fe(()=>{e?.refKey&&(()=>{let i=t+"/api/v1/attachment/";e?.attachmentId?i+="download?attachmentId="+e.attachmentId:(i+=`downloadImage?attachmentCode=${e.attachmentCode}&refKey=${e.refKey}`,e?.category&&(i+=`&category=${e.category}`)),o(i)})()},[e.refKey]),e?.showAsAvatar?g(K,{sx:e.style,onError:()=>{o(e?.onErrorImage?e.onErrorImage:"/no_image.png")},src:i}):g("img",{src:i,loading:"lazy",alt:"image",onError:()=>{o(e?.onErrorImage?e.onErrorImage:"/no_image.png")},style:{width:"100%",height:"100%",objectFit:"cover",display:"block"}})},Yr=e=>{const{handleGetRequest:t,handleDeleteRequest:i}=Qt(),{isUserAuthorized:o}=Zt();let r=!0;e?.downloadAuthorityKey&&(r=o(e.downloadAuthorityKey));const{ConfirmationWindow:n,setOpen:a}=jt({title:"Confirmation",body:"Are you sure you want to delete this attachment?",onConfirmationCallBk:()=>{(async()=>{await i({endPointURI:"api/v1/attachment/archive",parameters:{attachmentCode:e.attachmentCode,refKey:e.refKey,attachmentId:e.id},successCallBkFn:t=>{e.setAttachmentConfig(t.data)},showMask:!0})})()}});return f(T,{children:[g(n,{}),f(Ke,{sx:{width:300,border:"0.5px solid gray"},children:[g(nt,{sx:{height:140,width:300,display:"flex",alignItems:"center",justifyContent:"center"},children:e?.docType.toLocaleLowerCase().includes("image")?g(Hr,{attachmentId:e.id}):g(Re,{icon:"file",size:"3x"})}),f(rt,{children:[g(at,{gutterBottom:!0,variant:"h6",component:"div",children:e.fileName}),g(at,{variant:"body2",sx:{color:"text.secondary"},children:`File Size: ${e?.attachmentSize||"unknown"} kb`}),g(at,{variant:"body2",sx:{color:"text.secondary"},children:`File Type: ${e?.category||"NA"}`}),g(at,{variant:"body2",sx:{color:"text.secondary"},children:e.remark})]}),f(ot,{children:[e?.allowDelete?g(U,{size:"small",onClick:()=>{a(!0)},children:g(V,{title:"Delete Attachment",children:g(Re,{icon:"trash"})})}):g(T,{}),g("div",{style:{flex:1}}),r?g(U,{size:"small",onClick:async()=>{await t({endPointURI:"api/v1/attachment/download",parameters:{attachmentId:e.id},showMask:!0,responseType:"blob",successCallBkFn:t=>{const i=window.URL.createObjectURL(new Blob([t.data])),o=document.createElement("a");o.href=i,o.setAttribute("download",e.fileName),document.body.appendChild(o),o.click(),o.remove()}})},children:g(V,{title:"Download Attachment",children:g(Re,{icon:"download"})})}):g(T,{})]})]})]})},Kr=e=>{const{handleUploadRequest:t,handleGetRequest:i}=Qt(),[o,r]=me(null),[n,a]=me([]),[s,l]=me(null),[d,c]=me(null),[p,u]=me([]),[h,m]=me(null),{isUserAuthorized:A}=Zt(),y=e=>e.split(".").pop()?.toLowerCase()||"";fe(()=>{(async()=>{await i({endPointURI:"api/v1/attachment/info",showMask:!0,parameters:{attachmentCode:e.attachmentCode,refKey:e.refKey},successCallBkFn:e=>{m(e.data)}})})()},[e.refKey,e.attachmentCode]),fe(()=>{if(u(h?.allowedFileTypes?h.allowedFileTypes.split(","):[]),h?.attachmentCategories){const e=[];for(const t of h.attachmentCategories.split(","))e.push({value:t});a(e)}else a([])},[h]);let I=!0;h?.downloadAuthorityKey&&!A(h?.downloadAuthorityKey)&&(I=!1);let _=!0;return!1===e?.enableAttachment&&(_=!1),h?.uploadAuthorityKey&&!A(h.uploadAuthorityKey)&&(_=!1),f(x,{sx:{display:"flex",flexDirection:"column",width:"100%",minHeight:400,alignItems:"center",justifyContent:"flex-start",overflow:"hidden",flexGrow:1},children:[g(T,_?{children:null==h?.maxAllowedNumberOfFiles||h?.maxAllowedNumberOfFiles>h.refKeyAttachments.length?f(T,{children:[f("h3",{children:[g(Re,{icon:"paperclip",style:{marginRight:10,marginLeft:10}}),"Attachment Uploader"]}),g("input",{type:"file",style:{margin:20},accept:h?.allowedFileTypes,multiple:!0,onChange:e=>{if(e.target.files)for(const t of e.target.files){const e=y(t.name);if(p.length>0&&!p.includes(e))return void Pe.error(e+" is not allowed")}r(e.target.files)}}),n.length>0?g(di,{label:"Attachment Type",sx:{width:300,m:1},options:n,displayField:"value",valueField:"value",value:d,onChangeCallBack:e=>{c(e)}}):g(T,{}),g(ri,{label:"Remark",value:s,onChange:e=>l(e.target.value),multiline:!0,sx:{width:300,m:1},rows:3}),g(v,{sx:{m:1},variant:"contained",onClick:async()=>{let i=h?.refKeyAttachments.length||0;if(h?.maxAllowedNumberOfFiles&&o.length+i>h.maxAllowedNumberOfFiles)Pe.error("Maximum number of attachments is "+h.maxAllowedNumberOfFiles);else if(!0===h?.isCategoryRequired&&n.length>0&&(null==d||void 0===d||""===d))Pe.error("You must selected document type to process your request");else if(o){for(const e of o)if(e.type.startsWith("image/")){const t=600,i=1024*t;if(e.size>i)return void Pe.error(`File ${e.name} is too large. Max allowed is ${t}KB.`)}await t({endPointURI:"api/v1/attachment/upload",showMask:!0,loadingMessage:"Uploading files ... please wait",parameters:{refKey:e.refKey,attachmentCode:e.attachmentCode,remark:s,category:d},files:o,successCallBkFn:e=>{m(e.data),r(null),c(null),l(null),Pe.success("Your request has been process successfully")}})}else Pe.error("You must add files to upload")},children:"Upload"})]}):g(T,{})}:{}),I&&h?.refKeyAttachments?.length>0?f(T,{children:[f("h3",{children:[g(Re,{style:{marginRight:10,marginLeft:10},icon:"paperclip"}),"Attachments"]}),g(B,{container:!0,spacing:2,sx:{overflow:"auto",padding:1,justifyContent:"center"},children:h?.refKeyAttachments.map(t=>g(B,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:g(Yr,{...t,attachmentCode:e.attachmentCode,setAttachmentConfig:m,downloadAuthorityKey:h.downloadAuthorityKey,allowDelete:_})}))})]}):g(T,{})]})},Vr=e=>{const t=y(e=>e.AppLayout),{t:i}=Me();return f(x,{sx:{display:"flex",flexDirection:"column",width:600,padding:1,margin:1,alignItems:"center",justifyContent:"center"},children:[f(S,{sx:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:18,fontWeight:"bold"},children:[g(Re,{icon:"history",style:{marginRight:10,marginLeft:10}}),i("WF_ACTION_HISTORY_LABEL")]}),g(S,{sx:{flexGrow:1,width:"100%",display:"flex",flexDirection:"column",overflowY:"auto",alignItems:"center",justifyContent:"flex-start"},children:e.actionHistory.map((i,o)=>g(T,{children:f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",marginBottom:2},children:[f(S,{sx:{display:"flex",flex:1,flexDirection:"column",alignItems:"flex-end",justifyContent:"center"},children:[g(S,{sx:{marginBottom:.2},children:i.actionTime}),f(at,{children:["via ",i.actionMethod]})]}),f(S,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",position:"relative",marginRight:2,marginLeft:2},children:[g(Hr,{showAsAvatar:!0,attachmentCode:"EMPLOYEE_PHOTOS",refKey:i?.personId?i?.personId+"":void 0,style:{m:1,width:70,height:70}}),o!==e.actionHistory.length-1?g(S,{sx:{marginTop:11,position:"absolute"},children:"|"}):g(T,{})]}),f(S,{sx:{display:"flex",flex:1,flexDirection:"column",alignItems:"flex-start",justifyContent:"center"},children:[f(S,{sx:{width:"100%"},children:["ltr"===t.appDirection?`${i?.documentActionEnName}`:`${i?.documentActionArName}`,i?.actionComment?" - "+i.actionComment:""]}),g(S,{sx:{width:"100%"},children:"ltr"===t.appDirection?`${i?.employeeEnName}`:`${i?.employeeArName}`})]})]})}))})]})},zr=e=>{const{t:t}=Me(),i=Zt(),{ConfirmationWindow:o,setOpen:r}=jt({body:t(e?.confirmationMessage||"ACTION_CONFIRMATION"),title:t("CONFIRMATION"),onConfirmationCallBk:async()=>{await(e?.actionFn(e.recordsToProcessActionOn,e.recordIdsToProcessActionOn)),e?.reloadData&&e.reloadData()}});let n=!0;if(e.authority&&(n=i.isUserAuthorized(e.authority)),n)return f(T,{children:[g(o,{}),f(v,{onClick:async()=>{if(e?.recordsToProcessActionOn&&e?.recordsToProcessActionOn.length>0){if(e?.preActionValidation)for(const t of e.recordsToProcessActionOn)if(!e.preActionValidation(t))return;!0===e?.isConfirmationRequired?r(!0):(await e.actionFn(e.recordsToProcessActionOn,e.recordIdsToProcessActionOn),e?.reloadData&&e.reloadData())}else Pe.error(t("AT_LEAST_ONE_RECORD_SELECTED_MESSAGE"))},variant:e?.label?"outlined":e?.formActionProps?.actionButtonVariant?e.formActionProps.actionButtonVariant:"text",size:"small",color:e?.formActionProps?.actionButtonColor||"primary",children:[e?.icon?g(Re,{style:{marginRight:5,marginLeft:5},icon:e.icon}):g(T,{}),e?.label?t(e.label):g(T,{})]})]})},$r=z(e)({display:"grid",alignItems:"center"}),Qr=z(t)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",width:"min-content",height:"min-content",zIndex:1,opacity:t.expanded?0:1,pointerEvents:t.expanded?"none":"auto",transition:e.transitions.create(["opacity"])})),jr=z(F)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",overflowX:"clip",width:t.expanded?260:"var(--trigger-width)",opacity:t.expanded?1:0,transition:e.transitions.create(["width","opacity"])})),Zr=e=>{const{t:p}=Me(),u=Zt(),h=!e?.templateProps?.editAction?.authority||u.isUserAuthorized(e.templateProps.editAction.authority),m=bi(e?.templateProps?.rowSelectionModel||{ids:new Set,type:"include"},e?.templateProps?.data||[],e?.templateProps?.keyColumnName||"id");return f(i,{children:[h&&"none"!=e?.templateProps?.editMode?.editMode&&(void 0===e?.templateProps?.hideCreateBtn||!1===e?.templateProps?.hideCreateBtn)?f(v,{onClick:e?.handleCreateNewRecord,children:[g(Re,{icon:"add",style:{marginRight:5,marginLeft:5}}),p("ADD_BTN_LABEL")]}):g(T,{}),e?.templateProps?.rowActions?e.templateProps.rowActions.map((t,i)=>!0===t?.gridActionProps?.multiRecord?ge(zr,{...t,key:i,reloadData:async()=>{e.templateProps.apiActions.reloadData(e?.templateProps?.gridLoadParametersValues)},recordIdsToProcessActionOn:m.selectedRecordIds,recordsToProcessActionOn:m.selectedRecords}):null):g(T,{}),g(S,{sx:{flex:1,mx:.5,my:.5,padding:1},children:e?.templateProps?.tBar}),g(V,{title:"Columns",children:g(o,{render:g(t,{}),children:g(r,{fontSize:"small"})})}),g(V,{title:"Filters",children:g(n,{render:(e,i)=>g(t,{...e,color:"default",children:g($,{badgeContent:i.filterCount,color:"primary",variant:"dot",children:g(a,{fontSize:"small"})})})})}),e?.templateProps?.gridStateKey?g(V,{title:p("RESET_GRID_STATE"),children:g(U,{onClick:e?.clearGridState,children:g(Re,{icon:"eraser"})})}):g(T,{}),g(Q,{orientation:"vertical",variant:"middle",flexItem:!0,sx:{mx:.5}}),g(V,{title:p("EXPORT_EXECL_LABEL"),children:g(s,{render:g(j,{}),children:g(Re,{icon:"file-excel",color:"green"})})}),f($r,{children:[g(l,{render:(e,t)=>g(V,{title:p("SEARCH_BTN_LABEL"),enterDelay:0,children:g(Qr,{...e,ownerState:{expanded:t.expanded},color:"default","aria-disabled":t.expanded,children:g(Re,{icon:"search"})})})}),g(d,{render:({ref:e,...t},i)=>g(jr,{...t,ownerState:{expanded:i.expanded},inputRef:e,"aria-label":"Search",placeholder:`${p("SEARCH_BTN_LABEL")}...`,size:"small",slotProps:{input:{startAdornment:g(Z,{position:"start",children:g(Re,{icon:"search"})}),endAdornment:i.value?g(Z,{position:"end",children:g(c,{edge:"end",size:"small","aria-label":"Clear search",children:g(Re,{icon:"xmark"})})}):null,...t.slotProps?.input},...t.slotProps}})})]}),g(U,{onClick:()=>{e.templateProps.apiActions.reloadData(e?.templateProps?.gridLoadParametersValues)},children:g(Re,{icon:"refresh"})})]})},Jr=e=>{const{t:t}=Me(),i=Zt(),{ConfirmationWindow:o,setOpen:r}=jt({body:t(e?.confirmationMessage||"ACTION_CONFIRMATION"),title:t("CONFIRMATION"),onConfirmationCallBk:async()=>{await(e?.actionFn(e.record)),e?.reloadData&&e.reloadData()}});let n=!0;e.authority&&(n=i.isUserAuthorized(e.authority));let a={};e?.getActionIconStyleForRecord&&(a=e.getActionIconStyleForRecord(e.record));let s=!0;e?.isActionVisibleForRecord&&(s=e?.isActionVisibleForRecord(e.record));let l=!1;if(e?.isActionDisabledForRecord&&(l=e.isActionDisabledForRecord(e.record)),n&&s)return f(T,{children:[g(o,{}),g(p,{disabled:l,icon:g(V,{title:e?.label?t(e.label):"",children:g(Re,{icon:e.icon,style:{...a,color:l?"gray":null!=a?.color?a.color:void 0}})}),showInMenu:e?.gridActionProps?.showInMenu||!1,label:"",className:"textPrimary",color:"inherit",onClick:async()=>{if(!l){if(e?.preActionValidation&&!e.preActionValidation(e.record))return;!0===e?.isConfirmationRequired?r(!0):(await e.actionFn(e.record),!0===e?.gridActionProps?.reloadGridAfterAction&&e?.reloadData&&e.reloadData())}}})]})};let Xr=-1;const en=e=>{try{const t=localStorage.getItem(e);return t?JSON.parse(t):{}}catch(e){return console.error("Failed to load grid state",e),{}}},tn=(e,t)=>{const i=en(e);localStorage.setItem(e,JSON.stringify({...i,...t}))},on=["__check__","actions"],rn=e=>{const{t:t}=Me(),i=y(e=>e.AppLayout),[o,r]=me({}),[n,a]=me(!0),{getLookupOptions:s}=(()=>{const{handleGetRequest:e}=Qt(),t=y(e=>e.AppLayout),i=async t=>{let i=[];return await e({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:t},successCallBkFn:e=>{i=e.data}}),i};return{generateLookupGridColumn:async e=>{let o=await i(e.lookupType);return{...e,options:o,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"}},getLookupOptions:i}})(),{Window:l,setWindowState:d}=Jt({windowTitle:t(e.gridTitle)+" Attachments",windowIcon:"paperclip",width:"fit-content",height:"fit-content",minHeight:500,minWidth:"50%",onCloseCallBack:()=>{e?.apiActions?.reloadData(e.gridLoadParametersValues)}}),{Window:c,setWindowState:A}=Jt({windowTitle:t(e.gridTitle)+" Approvals",windowIcon:"stamp",height:"fit-content",minHeight:500,width:"fit-content",onCloseCallBack:()=>{e?.apiActions?.reloadData(e.gridLoadParametersValues)}}),[I,_]=me([]),E=Ci(e.formElements),O=[],C=he.useMemo(()=>e?.gridStateKey?en(e.gridStateKey):{},[]);for(const e of E)!0===e?.gridProps?.hidden&&O.push(e.fieldName);let N={};if(C?.columnVisibilityModel){N=C.columnVisibilityModel;const e=Object.keys(N);for(const t of O)e.includes(t)||(N[t]=!1)}else for(const e of O)N[e]=!1;const R=y(e=>e.AppLayout.appDirection),[b,w]=he.useState(N),[P,v]=he.useState(C.columnOrder||[]),[L,M]=he.useState(C.columnWidths||{}),[D,x]=me(C.columnGroupingModel||[]);let F=C?.pinnedColumns?.left||[];F=F.filter(e=>!on.includes(e));let B=C?.pinnedColumns?.right||[]||[];B=B.filter(e=>!on.includes(e));const[q,W]=me({left:[..."ltr"===R?on:[],...F],right:[..."rtl"===R?on:[],...B]}),G=Zt(),H=Ue(),[Y,K]=me(null),[z,$]=me(null),[j,Z]=me({}),te=async()=>{let o=Ni(E,"row"===e?.editMode?.editMode||!1,t);for(let e of o)e?.lookupType&&(e.displayField="ltr"===i.appDirection?"lookupEnDisplay":"lookupArDisplay",e.options=await s(e.lookupType),e.valueField="lookupValue");_(o)},[ie,oe]=me({ids:new Set,type:"include"});let re="id";e?.keyColumnName&&(re=e?.keyColumnName);const ne=e.setData;let ae=null;ae=e?.validationSchema?e.validationSchema:He.object(Ri(E));let se=!0;e?.editAction?.authority&&(se=G.isUserAuthorized(e.editAction.authority));let le=!0;e?.deleteAction?.authority&&(le=G.isUserAuthorized(e.deleteAction.authority));const{ConfirmationWindow:de,setOpen:ce}=jt({title:"Confirmation",body:"Are you sure you want to delete this record ?",onConfirmationCallBk:async()=>{let t=!0;Y&&!0===Y?.isNew||(t=await e.apiActions.deleteRecordById(Y[re])),t&&(e?.deleteAction?.postActionCallBack&&await e.deleteAction.postActionCallBack(Y),ne(e=>e.filter(e=>e[re]!=Y[re])))}});let pe,ue,ge,Te,Ae,ye;"modal"===e?.editMode?.editMode&&(pe=e?.editMode?.specs?.modalHeight||"fit-content",ue=e?.editMode?.specs?.modalWidth||"300",ge=e?.editMode?.specs?.modalMinHeight,Te=e?.editMode?.specs?.modalMinWidth,Ae=e?.editMode?.specs?.modalIcon||"window",ye=e?.editMode?.specs?.modalTitle||"Record Form");const{Window:Ie,setWindowState:_e}=Jt({height:pe,minHeight:ge,minWidth:Te,onCloseCallBack:()=>{e.apiActions.reloadData(e?.gridLoadParametersValues)},width:ue,windowIcon:Ae,windowTitle:ye}),Ee={type:"actions",field:"actions",headerName:"",headerAlign:"center",width:(e?.rowActions?30*e.rowActions.length:0)+(e?.editAction&&e?.editAction?.isEnabled?30:0)+(e?.deleteAction&&e?.deleteAction?.isEnabled?30:0)+(e?.attachment?30:0)+(e?.workFlowDocumentCode?30:0),getActions:i=>{const o=i.row,n=[];if("none"!=e?.editMode?.editMode&&(void 0===e?.disableDefaultAction||!e.disableDefaultAction)){const i=j[o[re]]?.mode===m.Edit;if("row"===e.editMode.editMode&&i)se&&(n.push(g(p,{icon:g(Re,{icon:"save"}),label:t("SAVE_BTN_LABEL"),onClick:()=>{(e=>{const t=e[re];Z({...j,[t]:{mode:m.View}})})(o)}})),n.push(g(p,{icon:g(Re,{icon:"cancel"}),label:t("CANCEL_BTN_LABEL"),onClick:()=>{(e=>{const t=e[re];t&&Mr(t)&&t<0?(Z({...j,[t]:{mode:m.View,ignoreModifications:!0}}),ne(e=>{const i=e.filter(e=>e[re]!=t);return i})):Z({...j,[t]:{mode:m.View,ignoreModifications:!0}})})(o)},color:"inherit"})));else{if(e?.editAction&&!0===e?.editAction?.isEnabled){let i=!0;e?.editAction?.isActionVisibleForRecord&&(i=e?.editAction?.isActionVisibleForRecord(o));let r=!1;e?.editAction?.isActionDisabledForRecord&&(r=e?.editAction?.isActionDisabledForRecord(o)),se&&i&&n.push(g(p,{disabled:r,icon:g(V,{title:t("EDIT_BTN_LABEL"),children:g(Re,{icon:"edit",style:{color:r?"gray":void 0}})}),showInMenu:e?.editAction?.gridActionProps?.showInMenu||!1,label:t("EDIT_BTN_LABEL"),className:"textPrimary",color:"inherit",onClick:()=>{se&&!r&&(async t=>{if(t)if($(t),"form"===e.editMode.editMode)H(e.editMode.specs.formRoute+"/"+t[re]);else if("modal"===e.editMode.editMode)_e(!0);else if("row"===e?.editMode?.editMode){const e=t[re];Z({...j,[e]:{mode:m.Edit}})}})(o)}}))}if(e?.deleteAction&&!0===e?.deleteAction?.isEnabled){let i=!0;e?.deleteAction?.isActionVisibleForRecord&&(i=e?.deleteAction?.isActionVisibleForRecord(o));let r=!1;e?.deleteAction?.isActionDisabledForRecord&&(r=e?.deleteAction?.isActionDisabledForRecord(o)),le&&i&&n.push(g(p,{disabled:r,icon:g(V,{title:t("DELETE_BTN_LABEL"),children:g(Re,{icon:"trash",style:{color:r?"gray":void 0}})}),showInMenu:e?.deleteAction?.gridActionProps?.showInMenu||!1,label:t("DELETE_BTN_LABEL"),className:"textPrimary",color:"inherit",onClick:()=>{if(le&&!r){if(e?.deleteAction?.preActionValidation&&!e.deleteAction.preActionValidation(o))return;K(o),ce(!0)}}}))}}}if(o[e?.keyColumnName||"id"]&&o[e?.keyColumnName||"id"]>0&&e?.attachment&&n?.push(g(p,{icon:g(V,{title:"Attachments",children:g(Re,{icon:"paperclip"})}),label:"Attachments",className:"textPrimary",color:"inherit",onClick:()=>{r(o),a(!e?.attachment?.enableAttachFn||e.attachment.enableAttachFn(o)),d(!0)}})),o[e?.keyColumnName||"id"]&&o[e?.keyColumnName||"id"]>0&&e?.workFlowDocumentCode&&n?.push(g(p,{icon:g(V,{title:"Approvals",children:g(Re,{icon:"stamp"})}),label:"Approvals",className:"textPrimary",color:"inherit",onClick:()=>{r(o),A(!0)}})),o[e?.keyColumnName||"id"]&&o[e?.keyColumnName||"id"]>0&&e?.rowActions)for(const t of e.rowActions)t?.gridActionProps?.multiRecord&&!0===t?.gridActionProps?.multiRecord||n.push(g(Jr,{...t,record:o,reloadData:async()=>{e.apiActions.reloadData(e?.gridLoadParametersValues)}}));return n}};let Oe=[];(void 0===e?.disableDefaultAction||!e.disableDefaultAction||e?.rowActions&&e?.rowActions.length>0)&&Oe.push(Ee),Oe=[...Oe,...I];fe(()=>{void 0!==e?.autoLoad&&!0!==e.autoLoad||e.apiActions.reloadData(e?.gridLoadParametersValues),te()},[]),fe(()=>{e.apiActions.reloadData(e?.gridLoadParametersValues)},[G.UserInfo?.currentOrganization]),fe(()=>{te()},[R,e.formElements]);const Ce=he.useMemo(()=>{const e=Oe.map(e=>({...e}));if(P.length){const t=new Map(e.map(e=>[e.field,e]));return P.map(e=>t.get(e)).filter(Boolean)}return e},[P,L,Oe]);return f(T,{children:[g(de,{}),"modal"===e?.editMode?.editMode?g(Ie,{children:e?.editMode?.specs?.formComponent?g(e.editMode.specs.formComponent,{recordIdToEdit:z?z[re]:void 0,formCloseCallBk:()=>{_e(!1),e.apiActions.reloadData(e?.gridLoadParametersValues)}}):g(cn,{keyColumnName:e.keyColumnName,attachment:e.attachment,formValuesChangeCallBk:e?.formProps?.formValuesChangeCallBk,recordIdToEdit:z?z[re]:void 0,formCloseCallBk:()=>{_e(!1),e.apiActions.reloadData(e?.gridLoadParametersValues)},elements:e.formElements,apiActions:e.apiActions,editAuthorityKey:e?.editAction?.authority,formSavedSuccessfullyCallBk:e?.editAction?.postActionCallBack,preSaveValidation:e?.editAction?.preActionValidation,actions:e?.rowActions})}):g(T,{}),void 0!==e?.hideInfoBar||e?.hideInfoBar?g(T,{}):f(S,{sx:{display:"flex"},children:[void 0!==e?.hideBackButton||e?.hideBackButton?g(T,{}):g(U,{onClick:()=>{H(-1,{replace:!0})},children:g(Re,{icon:"ltr"===R?"arrow-left":"arrow-right"})}),f(S,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:[e?.girdIcon?g(Re,{icon:e.girdIcon,style:{marginRight:5,marginLeft:5}}):g(T,{}),g(k,{variant:"h5",children:e?.gridTitle?kr(t(e?.gridTitle)):""})]})]}),e?.gridLoadParameters&&e?.gridLoadParameters.length>0&&e?.gridLoadParametersValues&&e?.setGridLoadParametersValues?f(J,{defaultExpanded:!0,sx:{width:"100%"},children:[g(X,{expandIcon:g(u,{}),children:f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[g(Re,{style:{marginLeft:5,marginRight:5},icon:"search"}),g(k,{component:"span",children:"Filters"})]})}),g(ee,{children:g(S,{children:g(cn,{saveButtonSpecs:{label:t("SEARCH_BTN_LABEL"),icon:"search",actionButtonVariant:"outlined",actionButtonColor:"success"},cancelButtonSpecs:{label:t("RESET_BTN_LABEL"),icon:"eraser",actionButtonVariant:"outlined",actionButtonColor:"error"},apiActions:{deleteRecordById:async()=>!0,saveRecord:async t=>{null!=t?e.setGridLoadParametersValues(t):e.setGridLoadParametersValues({}),e.apiActions.reloadData(t)},reloadData:async()=>{},loadRecordById:async()=>{}},elements:e.gridLoadParameters})})})]}):g(T,{}),e?.attachment?g(l,{children:g(Kr,{attachmentCode:e.attachment.attachmentCode,refKey:o[e?.keyColumnName||"id"],enableAttachment:n})}):g(T,{}),e?.workFlowDocumentCode?g(c,{children:g(dn,{workFlowDocumentCode:e.workFlowDocumentCode,refDocumentId:o[e?.keyColumnName||"id"],postActionCallBk:()=>{A(!1),e.apiActions.reloadData(e.gridLoadParametersValues)},cancelActionCallBk:()=>{A(!1),e.apiActions.reloadData(e.gridLoadParametersValues)}})}):g(T,{}),g(h,{...e?.muiProps,slots:{toolbar:Zr},slotProps:{toolbar:{templateProps:{...e,rowSelectionModel:ie,data:e?.data},handleCreateNewRecord:()=>{if("form"===e?.editMode?.editMode)H(e.editMode.specs.formRoute);else if("modal"===e?.editMode?.editMode)$(null),_e(!0);else if("row"===e?.editMode?.editMode){Xr-=1;const e={};e[re]=Xr,e.isNew=!0;for(const t of I)"actions"!=t?.type&&t?.field!=re&&t?.field&&(e[t.field]=null);ne(t=>[e,...t]),Z(e=>({...e,[Xr]:{mode:m.Edit}}))}},clearGridState:()=>{e?.gridStateKey&&localStorage.removeItem(e.gridStateKey),w({}),v([]),M({}),x([]),W({left:[..."ltr"===R?on:[]],right:[..."rtl"===R?on:[]]})}}},getRowId:e=>e[re],showToolbar:!0,rows:e?.data,columns:Ce,checkboxSelection:!0,editMode:"row",onRowEditStop:(e,t)=>{"rowFocusOut"===e.reason&&(t.defaultMuiPrevented=!0)},rowModesModel:"row"==e.editMode.editMode?j:void 0,onRowModesModelChange:"row"==e.editMode.editMode?e=>{Z(e)}:void 0,rowGroupingColumnMode:"multiple",processRowUpdate:async t=>{if("row"===e.editMode.editMode){let i=null;const o=(e=>{try{ae.parse(e)}catch(e){console.log("validateRecord err",e);let t=null;return t=e instanceof He.ZodError?e.errors.map(e=>"Error in field ("+e.path+") : "+e.message).join(","):"invalid record data",t}})(t);if(o){const e=o.split(",");throw Pe.error(g("div",{style:{},children:e.map(e=>f(T,{children:[g("div",{children:e}),g(Q,{})]}))})),new Error(o)}if(e?.editAction?.preActionValidation&&!e.editAction.preActionValidation(t))throw new Error("error on the configured presave validation");const r={...t};if(t[re]&&Mr(t[re])&&Number(t[re])<0&&(r[re]=null),i=await e.apiActions.saveRecord(r),null==i)throw new Error("Failed to process your request, contact your administrator");return e?.editAction?.postActionCallBack&&await e.editAction.postActionCallBack(t),!0===t?.isNew&&ne(e=>{const o=e.filter(e=>e[re]!==t[re]);return[i,...o]}),!0===e?.editMode?.reloadAfterSave&&e?.apiActions?.reloadData&&e?.apiActions?.reloadData(e?.gridLoadParametersValues),i}},rowSelectionModel:ie,onRowSelectionModelChange:e=>{oe(e)},columnVisibilityModel:b,onColumnVisibilityModelChange:t=>{w(t),e?.gridStateKey&&tn(e.gridStateKey,{columnVisibilityModel:t})},onColumnOrderChange:t=>{const{column:i,targetIndex:o}=t;v(t=>{const r=t.length?[...t]:Oe.map(e=>e.field),n=r.indexOf(i.field);return-1===n||(r.splice(n,1),r.splice(o,0,i.field),e?.gridStateKey&&tn(e.gridStateKey,{columnOrder:r})),r})},rowGroupingModel:D,onRowGroupingModelChange:t=>{(t=>{x(t),e?.gridStateKey&&tn(e.gridStateKey,{columnGroupingModel:t})})(t)},sx:{width:"100%"}})]})},nn=e=>{if(0===e.length)return[];const t=[];for(const i of Object.keys(e[0])){const e={type:"field",mode:"props",props:{fieldLabel:i,fieldName:i,fieldType:"text"}};t.push(e)}return t},an=e=>{const[t,i]=me([]);return fe(()=>{const t=e.reportData.map((e,t)=>({...e,report_record_data_key:t}));i(t)},[e.reportData]),g(rn,{data:t,disableDefaultAction:!0,setData:e.setReportData,formElements:nn(e.reportData),gridLoadParameters:e.gridLoadParameters,gridLoadParametersValues:e.gridLoadParametersValues,setGridLoadParametersValues:e.setGridLoadParametersValues,editMode:{editMode:"none"},girdIcon:"file-excel",gridTitle:"Report",autoLoad:!0,keyColumnName:"report_record_data_key",hideInfoBar:!0,apiActions:{deleteRecordById:async()=>!0,loadRecordById:async()=>{},reloadData:async()=>{e.reloadReport()},saveRecord:async()=>{}}})},sn=e=>{const[t,i]=me({...e?.initialParameterValues}),o=((e,t)=>{const i=[];for(const o of e){const e={type:"field",mode:"props",props:{fieldLabel:o?.parameterLabel,fieldName:o?.parameterCode,fieldType:o?.parameterType,hidden:o?.hidden,formProps:{fieldSize:{lg:4,md:6,sm:12}},required:o?.mandatory,defaultValue:t[o?.parameterCode]||o?.defaultValue}};i.push(e)}return i})(e.parameters,t);return{ParameterPanel:({searchBtnClickCallBk:e})=>{const{t:t}=Me();return f(J,{defaultExpanded:!0,sx:{width:"100%"},children:[g(X,{expandIcon:g(Re,{icon:{prefix:"far",iconName:"square-caret-down"}}),children:f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[g(Re,{style:{marginLeft:5,marginRight:5},icon:"search"}),g(k,{component:"span",children:"Filters"})]})}),g(ee,{children:g(S,{children:g(cn,{saveButtonSpecs:{label:t("Filter"),icon:"search",actionButtonVariant:"outlined",actionButtonColor:"success"},cancelButtonSpecs:{label:t("RESET_BTN_LABEL"),icon:"eraser",hidden:!0,actionButtonVariant:"outlined",actionButtonColor:"error"},actions:[{label:t("RESET_BTN_LABEL"),icon:"eraser",isIdRequired:!1,formActionProps:{enabled:!0},actionFn:async(e,t)=>{i({})}}],apiActions:{deleteRecordById:async()=>!0,saveRecord:async t=>{i(null!=t?t:{}),e&&await e(t)},reloadData:async()=>{},loadRecordById:async()=>{}},elements:o})})})]})},parametersValues:t,setParametersValues:i,panelElements:o}},ln=e=>{const[t,i]=me(null),[o,r]=me(null),[n,a]=me([]),[s,l]=me("WAITING_REPORT_CODE"),{handleGetRequest:d,handlePostRequest:c,HandleDownloadHTTPPostPDF:p}=Qt(),[u,h]=me(null),{ParameterPanel:m,parametersValues:A,panelElements:y,setParametersValues:I}=sn({parameters:u?.reportParameters||[],initialParameterValues:{...e?.reportParametersValues}});fe(()=>{u&&(!0===e?.byPassParameterEntry||0==u.reportParameters.length?(_(A),l("WAITING_RESULT")):l("WAITING_PARAMETER_INPUT"))},[u]);const _=async t=>{l("WAITING_RESULT"),"Excel"===u?.reportType?await c({endPointURI:"api/v1/public/report/run",showMask:!0,data:{reportCode:e.reportCode,parameters:t,resultMode:e.resultMode,jasperOutPutFileType:e.jasperOutPutFileType},successCallBkFn:e=>{l("SHOWING_RESULT"),a(e.data)}}):u?.reportType&&await p({endPointURI:"api/v1/public/report/run",showMask:!0,data:{reportCode:e.reportCode,parameters:t,resultMode:e.resultMode,jasperOutPutFileType:e.jasperOutPutFileType},successCallBkFn:e=>{l("SHOWING_RESULT");const t=e.headers["content-disposition"];let o="downloaded_file";if(t&&-1!==t.indexOf("filename=")){const e=t.match(/filename="?([^"]+)"?/);e&&e[1]&&(o=e[1])}if(o.includes("pdf")){const t=new Blob([e.data],{type:"application/pdf"}),o=URL.createObjectURL(t);i(o)}else{const t=new Blob([e.data],{type:e.headers["content-type"]}),i=window.URL.createObjectURL(t),r=document.createElement("a");r.href=i,r.download=o,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(i)}},failureCallBkFn:e=>{r("Failed To run report ... contact your administrator"),l("ERROR")}})};return fe(()=>{e?.reportCode&&(async()=>{l("LOADING_METADATA"),await d({endPointURI:"api/v1/public/report/metadata",showMask:!0,parameters:{reportCode:e.reportCode},successCallBkFn:e=>{h(e.data)},failureCallBkFn:e=>{r("Failed loading report metadata ... contact your administrator"),l("ERROR")}})})()},[e.reportCode,e.byPassParameterEntry,e.reportParametersValues,e.jasperOutPutFileType,e.resultMode]),f(T,{children:[f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%"},children:[f(S,{sx:{flex:1,textAlign:"center",marginBottom:1},children:[g(Re,{icon:"Excel"===u?.reportType?"file-excel":"file-pdf",color:"Excel"===u?.reportType?"darkgreen":"darkred",style:{marginRight:10,marginLeft:10}}),u?.reportName]}),"Excel"!=u?.reportType&&"SHOWING_RESULT"===s?f(T,{children:[!0===e?.byPassParameterEntry?g(T,{}):u?.reportParameters.length>0?g(U,{onClick:()=>{l("WAITING_PARAMETER_INPUT")},children:g(Re,{icon:"filter"})}):g(T,{}),g(U,{children:g(Re,{icon:"refresh",onClick:()=>{_(A)}})})]}):g(T,{})]}),g(S,{sx:{flexGrow:1,width:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:"WAITING_PARAMETER_INPUT"===s&&"Excel"!=u?.reportType?g(m,{searchBtnClickCallBk:_}):"SHOWING_RESULT"===s||("WAITING_PARAMETER_INPUT"===s||"WAITING_RESULT"===s)&&"Excel"===u?.reportType?"Excel"===u?.reportType?g(an,{reportData:n,setReportData:a,reloadReport:async()=>{_(A)},gridLoadParameters:y,gridLoadParametersValues:A,setGridLoadParametersValues:I}):g("iframe",{src:t,width:"100%",height:"100%",title:"PDF Preview",style:{border:"1px solid #ccc",marginTop:"20px"}}):"ERROR"===s?f(S,{sx:{display:"flex",flex:1,alignItems:"center",justifyContent:"center"},children:[g(Re,{icon:"circle-exclamation",color:"darkred",style:{marginRight:10,marginLeft:10}}),o]}):g(T,{})})]})},dn=e=>{const t=Ue(),i=y(e=>e.AppLayout),{isUserAuthorized:o,UserInfo:r}=Zt(),{handleGetRequest:n,handlePostRequest:a}=Qt(),[s,l]=me(null),[d,c]=me([]),{t:p}=Me(),[u,h]=me(null),[m,A]=me({referencedDocument:null,workflowDocumentReport:null,workflowDocument:null,workflowDocumentStatus:null,actionsHistory:[],nextActionTakers:null,nextActions:[]}),{Window:I,setWindowState:_}=Jt({windowTitle:"ltr"===i.appDirection?m?.workflowDocument&&m?.referencedDocument?`${m?.workflowDocument?.documentEnName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`:"Document":m?.workflowDocument&&m?.referencedDocument?`${m?.workflowDocument?.documentArName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`:"وثيقة",windowIcon:"eye",width:"80%"}),E=async()=>{await n({endPointURI:"api/v1/public/workflow/doc/info",showMask:!0,parameters:{workflowDocumentCode:e.workFlowDocumentCode,refDocumentId:e.refDocumentId},successCallBkFn:e=>{A(structuredClone(e.data))},failureCallBkFn:()=>{A({referencedDocument:null,workflowDocumentReport:null,workflowDocument:null,workflowDocumentStatus:null,actionsHistory:[],nextActions:[],nextActionTakers:null})}})},O=async()=>{await a({endPointURI:"api/v1/public/workflow/doc/action",showMask:!0,data:{workflowDocumentId:m?.workflowDocument?.id,refDocumentId:e.refDocumentId,actionId:s.id,refDocumentStatus:m?.workflowDocumentStatus?.documentStatusCode,actionComment:u},successCallBkFn:async t=>{s?.post_action_endpoint?await a({endPointURI:s.post_action_endpoint,showMask:!0,loadingMessage:"Processing post action process ... please wait",parameters:{refDocumentId:e.refDocumentId,actionId:s.id},successCallBkFn:()=>{E(),e?.postActionCallBk&&e.postActionCallBk()}}):E()}})};return fe(()=>{e.refDocumentId&&e.workFlowDocumentCode&&E()},[e.refDocumentId,e.workFlowDocumentCode]),fe(()=>{c(m?.nextActions&&m?.nextActions?.length>0?m.nextActions.filter(e=>{if(!m?.workflowDocumentStatus?.nextActionTakersAuthority&&!m?.nextActionTakers)return!0;if(m?.workflowDocumentStatus?.nextActionTakersAuthority&&o(m.workflowDocumentStatus.nextActionTakersAuthority))return!0;if(m?.nextActionTakers)for(const e of m.nextActionTakers)if(r?.username===e?.username||r?.username===e?.USERNAME)return!0;return!1}):[])},[m.nextActions,m.nextActionTakers]),f(T,{children:[m?.workflowDocumentReport?.id?g(I,{children:g(ln,{reportCode:m?.workflowDocumentReport?.reportCode,resultMode:"App",byPassParameterEntry:!0,reportParametersValues:{doc_id:e.refDocumentId+""}})}):g(T,{}),m?.workflowDocument?f(S,{sx:{width:"100%",maxWidth:600,textAlign:"center",fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center"},children:[g(U,{onClick:()=>{t(-1,{replace:!0})},children:g(Re,{icon:"arrow-left"})}),g(S,{sx:{flex:1}}),g(Re,{icon:"file",style:{marginRight:10,marginLeft:10}}),"ltr"===i.appDirection?`${m?.workflowDocument?.documentEnName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`:`${m?.workflowDocument?.documentArName} # ${m?.referencedDocument[m?.workflowDocument?.documentNumberField]}`,m?.workflowDocumentStatus?"ltr"===i.appDirection?` ( ${m?.workflowDocumentStatus?.documentStatusEnName} )`:` ( ${m?.workflowDocumentStatus?.documentStatusArName} )`:"",g(S,{sx:{flex:1}}),m?.workflowDocumentReport?.id?g(v,{onClick:()=>{_(!0)},variant:"outlined",startIcon:g(Re,{icon:"eye"}),children:p("VIEW_LABEL")}):g(T,{})]}):g(T,{}),f(S,{sx:{flex:1,width:"100%",overflow:"hidden",display:"flex"},children:[d?.length>0?f(x,{sx:{padding:2,display:"flex",margin:1,flexDirection:"column",alignItems:"center",justifyContent:"flex-start",overflow:"hidden"},children:[g(di,{sx:{marginBottom:2,width:400},label:p("WE_AVAILABLE_ACTIONS_LABEL"),displayField:"ltr"===i.appDirection?"document_action_en_name":"document_action_ar_name",valueField:"id",value:s?.id,options:d,onChangeCallBack:(e,t)=>{l(t)}}),g(ri,{sx:{width:400},rows:3,value:u,onChange:e=>{h(e.target.value)},multiline:!0,label:p("WF_COMMENT_LABEL")}),f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[g(v,{color:"success",variant:"contained",sx:{width:200,m:1},onClick:async()=>{null!=s&&null!=s?.id?!0!==s.require_comment&&1!==s.require_comment&&"true"!==s.require_comment||null!==u&&""!==u?s?.pre_action_endpoint?await a({endPointURI:s.pre_action_endpoint,showMask:!0,loadingMessage:"Processing pre action validation ... please wait",parameters:{refDocumentId:e.refDocumentId,actionId:s.id},successCallBkFn:()=>{O()}}):O():Pe.error("You must enter comment for the action to be processed"):Pe.error("You must select action to process")},children:p("WF_TAKE_ACTION_BTN_LABEL")}),e?.cancelActionCallBk?g(v,{variant:"contained",sx:{width:200,m:1},color:"error",onClick:()=>{e?.cancelActionCallBk&&e.cancelActionCallBk()},children:p("WF_CANCEL_BTN_LABEL")}):g(T,{})]}),m?.nextActionTakers&&m.nextActionTakers.length>0?f(T,{children:[g(Q,{variant:"fullWidth",flexItem:!0,sx:{marginTop:1,marginBottom:1},children:f(S,{sx:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:18,fontWeight:"bold"},children:[g(Re,{icon:"users",style:{marginRight:10,marginLeft:10}})," ",p("WF_WAITING_FOR_LABEL")]})}),g(S,{sx:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",overflow:"auto",padding:1,width:"100%"},children:m.nextActionTakers.map(e=>f(S,{sx:{display:"flex",alignItems:"center",justifyContent:"center",border:"1px dotted black",width:400,marginBottom:2,padding:2},children:[g(Hr,{showAsAvatar:!0,attachmentCode:"EMPLOYEE_PHOTOS",refKey:e?.id||"0",style:{marginRight:2,marginLeft:2,width:60,height:60}}),f(S,{sx:{flex:2,display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"center"},children:[g("div",{children:"ltr"===i.appDirection?e?.employee_en_name:e?.employee_ar_name}),g("div",{children:e?.email?f(T,{children:[g(Re,{icon:"envelope",style:{marginRight:10,marginLeft:10}}),e?.email]}):g(T,{})}),g("div",{children:e?.mobile_number?f(T,{children:[g(Re,{icon:"mobile",style:{marginRight:10,marginLeft:10}}),e?.mobile_number]}):g(T,{})})]})]}))})]}):g(T,{})]}):g(T,{}),m?.actionsHistory.length>0?g(Vr,{actionHistory:m.actionsHistory}):f(x,{sx:{display:"flex",flexDirection:"column",width:600,padding:2,margin:1,alignItems:"center",justifyContent:"center"},children:[f(S,{sx:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:18,fontWeight:"bold"},children:[g(Re,{icon:"history",style:{marginRight:10,marginLeft:10}}),p("WF_ACTION_HISTORY_LABEL")]}),g(S,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center"},children:"No Action Log available"})]})]})]})},cn=e=>{const{Window:t,setWindowState:i}=Jt({windowTitle:"Attachments",windowIcon:"paperclip",width:"fit-content",height:"fit-content",minHeight:500,minWidth:400}),[o,r]=me(!0),{t:n}=Me(),a=Ci(e.elements),[s,l]=me([]),[d,c]=me([]),p={};for(const t of e.elements)"field"===t?.type&&"props"===t?.mode&&t?.props?.defaultValue&&(p[t.props.fieldName]=t.props.defaultValue);let u=null;u=e?.validationSchema?e.validationSchema:Ge.object(Ri(a));const h=ke({resolver:We(u),defaultValues:p}),m=h.watch(),A=xe(),y=e?.formRouteRecordIdParamName,I=async()=>{let t=null;if(e?.recordIdToEdit?t=e.recordIdToEdit:y&&A[y]&&(t=A[y]),t){const i=await e.apiActions.loadRecordById(t);if(i){h.reset({...i});for(const e of a)"combobox"===e?.fieldType&&i[e.fieldName]&&(e?.comboboxValueDataType&&"string"===e?.comboboxValueDataType?h.setValue(e.fieldName,i[e.fieldName]+""):h.setValue(e.fieldName,i[e.fieldName]));e?.formValuesChangeCallBk&&e?.formValuesChangeCallBk(m,O,h)}}else h.reset({}),e.formValuesChangeCallBk(m,O,h)},{Window:_,setWindowState:E}=Jt({windowTitle:"Approvals",windowIcon:"stamp",height:"fit-content",minHeight:500,width:"fit-content",onCloseCallBack:async()=>{await I()}}),O={setFieldValue:(e,t)=>{h.setValue(e,t)},hideField:e=>{c(t=>[...t,e])},showField:e=>{c(t=>t.filter(t=>t!==e))},disableField:e=>{l(t=>[...t,e])},enableField:e=>{l(t=>t.filter(t=>t!==e))}};return fe(()=>{const e=[],t=[];for(const i of a)i?.hidden&&e.push(i.fieldName),i?.disabled&&t.push(i.fieldName);c(e),l(t)},[e.elements]),fe(()=>{I()},[e?.recordIdToEdit]),fe(()=>{r(!e?.attachment||!e?.attachment?.enableAttachFn||e.attachment.enableAttachFn(m))},[m]),f(T,{children:[e?.attachment?g(t,{children:g(Kr,{attachmentCode:e.attachment.attachmentCode,refKey:m[e?.keyColumnName||"id"],enableAttachment:o})}):g(T,{}),e?.workFlowDocumentCode?g(_,{children:g(dn,{workFlowDocumentCode:e.workFlowDocumentCode,refDocumentId:m[e?.keyColumnName||"id"],postActionCallBk:()=>{E(!1),I()},cancelActionCallBk:()=>{E(!1),I()}})}):g(T,{}),g(Lr,{sx:{display:"flex",flex:1,width:"100%",height:"fit-content",flexDirection:"column",alignItems:"center",overflow:"auto"},children:g(B,{sx:{width:"100%"},container:!0,children:e.elements.map((t,i)=>"group"===t.type?g(Gr,{...t.props,formManager:h,formValues:m,formActions:O,hiddenFields:d,disabledFields:s,formValuesChangeCallBk:e.formValuesChangeCallBk},i):"field"===t.type&&"props"===t.mode?g(qr,{fieldInfo:t.props,formManager:h,formValues:m,formActions:O,hiddenFields:d,disabledFields:s,formValuesChangeCallBk:e.formValuesChangeCallBk},i):"field"===t.type&&"node"===t.mode?g(B,{size:t?.props?.formProps?.fieldSize||{lg:3,md:6,xs:12},sx:{padding:1,width:"100%"},children:g(t.node,{formManager:h,formValues:m})},i):void 0)})}),f(Lr,{sx:{display:"flex",width:"100%",alignItems:"center",justifyContent:"flex-start"},children:[m[e?.keyColumnName||"id"]&&e?.attachment?g(V,{title:"Attachments",children:g(U,{onClick:()=>{i(!0)},children:g(Re,{icon:"paperclip"})})}):null,m[e?.keyColumnName||"id"]&&e?.workFlowDocumentCode?g(V,{title:"Approvals",children:g(U,{onClick:()=>{E(!0)},children:g(Re,{icon:"stamp"})})}):null,e?.actions?e.actions.map(t=>!1===t?.isIdRequired?g(Wr,{...t,record:m}):m[e?.keyColumnName||"id"]?!0===t?.formActionProps?.enabled?g(Wr,{...t,record:m}):g(T,{}):void 0):g(T,{}),g("div",{style:{flex:1}}),e?.saveButtonSpecs?.hidden?g(T,{}):g(v,{variant:e?.saveButtonSpecs?.actionButtonVariant?e.saveButtonSpecs.actionButtonVariant:"contained",sx:{m:1},startIcon:e?.saveButtonSpecs?.icon?g(Re,{icon:e.saveButtonSpecs.icon}):null,color:e?.saveButtonSpecs?.actionButtonColor?e.saveButtonSpecs.actionButtonColor:"primary",onClick:h.handleSubmit(t=>{(async t=>{if((!e?.preSaveValidation||e.preSaveValidation(t))&&t){const i=await e.apiActions.saveRecord(t);i&&(h.reset({...i}),e?.formSavedSuccessfullyCallBk&&e.formSavedSuccessfullyCallBk(i),e?.formCloseCallBk&&e.formCloseCallBk())}})(t)},e=>{Pe.error("Form Data is not valid, make sure you have all field with valid data"),console.log("form validation error",e)}),children:n(e?.saveButtonSpecs?.label||"SAVE_BTN_LABEL")}),e?.cancelButtonSpecs?.hidden?g(T,{}):g(v,{variant:e?.cancelButtonSpecs?.actionButtonVariant?e.cancelButtonSpecs.actionButtonVariant:"contained",startIcon:e?.cancelButtonSpecs?.icon?g(Re,{icon:e.cancelButtonSpecs.icon}):null,color:e?.cancelButtonSpecs?.actionButtonColor?e.cancelButtonSpecs.actionButtonColor:"error",sx:{m:1},onClick:()=>{e?.formCloseCallBk&&e.formCloseCallBk(),h.reset(p)},children:n(e?.cancelButtonSpecs?.label||"CANCEL_BTN_LABEL")})]})]})},pn=()=>{const{workflowDocumentCode:e,refDocumentId:t}=xe();return g(dn,{workFlowDocumentCode:e,refDocumentId:t})},un=e=>g(st,{dataset:e.data,xAxis:[{dataKey:e.valueField,scaleType:"band",label:e.valueLabel}],series:e.labelField?.split(",").map(e=>({dataKey:e,label:e}))}),hn=e=>f(x,{sx:{display:"flex",flexDirection:"column",height:150,padding:1,flexGrow:1,justifyContent:"center",alignItems:"center"},children:[g(S,{sx:{display:"flex",width:"100%",justifyContent:"space-evenly",alignItems:"center"},children:g("div",{children:e.record[e.valueField]})}),g(k,{sx:{fontSize:16,fontWeight:"bold"},children:e.record[e.labelField]})]}),mn=e=>f(T,{children:[g(k,{sx:{fontSize:16,fontWeight:"bold"},children:e.record[e.labelField]}),g(lt,{width:200,height:200,value:e.record[e.valueField],valueMax:e.total})]}),fn=e=>g(dt,{dataset:e.data,xAxis:[{dataKey:e.valueField,scaleType:"band",label:e.valueLabel}],series:e.labelField?.split(",").map(e=>({dataKey:e,label:e}))});function gn(e){return f(pt,{sx:{display:"flex",alignItems:"center"},children:[g(pt,{sx:{width:"100%",mr:1},children:g(ct,{variant:"determinate",...e})}),g(pt,{sx:{minWidth:35},children:g(at,{variant:"body2",sx:{color:"text.secondary"},children:`${Math.round(e.value)}%`})})]})}const Tn=e=>f(pt,{sx:{width:"100%"},children:[g(at,{sx:{fontSize:16,fontWeight:"bold"},children:e.record[e.labelField]}),g(gn,{value:e.record[e.valueField]/e.total*100})]}),An=e=>{const t=e.data.map((t,i)=>({id:i,value:t[e.valueField],label:t[e.labelField]+""}));return g(ut,{series:[{data:t}]})},yn=e=>{const[t,i]=me(!0),[o,r]=me([]),{handleGetRequest:n}=Qt();fe(()=>{e.loadWidget?(async()=>{i(!0),await n({endPointURI:"api/v1/dev/query/result",showMask:!1,parameters:{queryId:e.dataQueryId,...e.parameterValues},successCallBkFn:e=>{i(!1),r(e.data)},failureCallBkFn:()=>{i(!1),r([])}})})():i(!1)},[e.loadWidget,e.loadCounter]);let a=0;if(1==o.length)a=100;else if("CircularProgress"===e.widgetType||"LinearProgress"===e.widgetType)for(const t of o)a+=t[e.verticalAxisField];return f(T,{children:["LineChart"===e.widgetType||"PieChart"===e.widgetType||"ColumnChart"===e.widgetType?f(S,{children:[g(Re,{style:{marginRight:10,marginLeft:10},icon:e?.icon||"chart-pie"}),e?.title]}):g(T,{}),g(S,{sx:{flex:1,padding:1,height:"90%",display:"flex",alignItems:"center",justifyContent:"center",width:"90%"},children:t?f(T,{children:[g(Re,{icon:{prefix:"fas",iconName:"arrows-spin"},style:{marginRight:10,marginLeft:10},spin:!0,size:"2x"}),g("div",{children:"Loading"})]}):"ColumnChart"===e.widgetType?g(un,{data:o,widgetTitle:e.title,labelField:e.verticalAxisField,valueField:e.horizontalAxisField,valueLabel:e.horizontalAxisLabel,widgetType:"Line"}):"LineChart"===e.widgetType?g(fn,{data:o,widgetTitle:e.title,labelField:e.verticalAxisField,valueField:e.horizontalAxisField,valueLabel:e.horizontalAxisLabel,widgetType:"Line"}):"PieChart"===e.widgetType?g(An,{data:o,widgetTitle:e.title,labelField:e.horizontalAxisField,valueField:e.verticalAxisField,widgetType:"Pie"}):f(B,{container:!0,sx:{width:"100%",alignItems:"flex-start",justifyContent:"flex-start"},spacing:2,size:{xs:12},children:[g(B,{size:{xs:12},sx:{textAlign:"center"},children:e.title}),o.map((t,i)=>"Card"===e.widgetType?g(B,{size:{md:3,xs:12},children:g(hn,{widgetTitle:"",record:t,labelField:e.horizontalAxisField,valueField:e.verticalAxisField},i)}):"CircularProgress"===e.widgetType?g(B,{size:{md:3,xs:12},children:g(mn,{widgetTitle:"",record:t,labelField:e.horizontalAxisField,valueField:e.verticalAxisField,total:a},i)}):"LinearProgress"===e.widgetType?g(B,{size:{md:3,xs:12},children:g(Tn,{widgetTitle:"",record:t,labelField:e.horizontalAxisField,valueField:e.verticalAxisField,total:a},i)}):void 0)]})})]})},In=e=>{const[t,i]=me({dashboardCode:"",dashboardName:"",dashboardTitle:"",dashboardParameters:[],widgets:[]}),{ParameterPanel:o,parametersValues:r}=sn({parameters:t?.dashboardParameters||[],initialParameterValues:{}}),[n,a]=me(0),[s,l]=me(!1);fe(()=>{if(null!=t.dashboardCode&&null!=t.dashboardCode&&""!=t.dashboardCode){l(!1);let e=!0;if(t?.dashboardParameters.length>0)for(const i of t?.dashboardParameters)if(!0===i?.mandatory&&(void 0===r[i.parameterCode]||null===r[i.parameterCode]||""===r[i.parameterCode])){e=!1;break}e&&l(e),a(n+1)}},[t?.dashboardParameters,r]);const d=Ue(),{handleGetRequest:c,handlePostRequest:p}=Qt();return fe(()=>{e.dashboardCode&&(async()=>{await c({endPointURI:"api/v1/dev/dashboard/metadata",showMask:!0,parameters:{dashboardCode:e.dashboardCode},successCallBkFn:e=>{i(e.data)},failureCallBkFn:()=>{i(null)}})})()},[e.dashboardCode,e.parameters]),g(T,{children:t?f(T,{children:[f(S,{sx:{fontSize:20,fontWeight:"bold",display:"flex",alignItems:"center",justifyContent:"center"},children:[g(U,{onClick:()=>{d(-1,{replace:!0})},children:g(Re,{icon:"arrow-left"})}),g(S,{sx:{flex:1}}),g(Re,{style:{marginLeft:10,marginRight:10},icon:"square-poll-vertical"}),g(S,{children:t?.dashboardTitle}),g(S,{sx:{flex:1}})]}),t?.dashboardParameters.length>0?g(o,{searchBtnClickCallBk:async e=>{a(n+1)}}):g(T,{}),g(B,{container:!0,spacing:1,sx:{height:"fit-content",overflowY:"auto",padding:1},children:t?.widgets.map((e,t)=>g(B,{sx:{alignItems:"center",justifyContent:"center",padding:1,display:"flex",overflow:"auto",flexDirection:"Card"!=e.widgetType?"column":void 0,height:e?.height||300},size:{md:e?.width,sm:12},children:g(yn,{...e,parameterValues:r,loadWidget:s})},t))})]}):g(S,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",fontSize:24,fontWeight:"bold"},children:"No Dashboard Found"})})},_n=()=>{const{dashboardCode:e}=xe();return g(In,{dashboardCode:e})},En=e=>{const{UserSession:t}=Zt(),i=y(e=>e.AppLayout),o=A(),{handlePostRequest:r}=Qt(),[n,a]=me(t.value.currentOrganization.id);return f(S,{sx:{display:"flex",flexDirection:"column",width:"100%",alignItems:"center",justifyContent:"center",padding:1},children:[g(di,{sx:{width:"100%"},displayField:"ltr"===i.appDirection?"organizationEnName":"organizationArName",valueField:"id",label:"",options:t.value.userOrganizations,value:n,onChangeCallBack:e=>{a(e)}}),g(v,{sx:{m:1},variant:"contained",disabled:null==n||n===t.value.currentOrganization.id,onClick:async()=>{await r({endPointURI:"api/auth/changeCurrentOrg",showMask:!0,parameters:{username:t.value.username,orgId:n},data:{},successCallBkFn:t=>{const i={...t.data,isAuthenticated:!0};o(zt.setAuthenticated(i)),e.successChangeCallBackFn&&e.successChangeCallBackFn()}})},children:"Change Organization"})]})},On=be({name:"SideBar",initialState:{isOpened:!1},reducers:{toggleSideBarState:e=>{e.isOpened=!e.isOpened},setSideBarState:(e,t)=>{e.isOpened=t.payload}}}),{toggleSideBarState:Cn,setSideBarState:Nn}=On.actions;var Rn=On.reducer;function bn(e,t){const i=Te(e);fe(()=>{i.current=e},[e]),fe(()=>{const e=setInterval(()=>i.current?.(),t);return()=>clearInterval(e)},[t])}const wn=te`
|
|
32
32
|
0% { transform: scale(1); opacity: 1; }
|
|
33
33
|
25% { transform: scale(1); opacity: 0.6; }
|
|
34
34
|
50% { transform: scale(1); opacity: 1; }
|