@asaleh37/ui-base 25.8.1-1 → 25.8.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.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as i,Fragment as t}from"react/jsx-runtime";import{useDispatch as o,useSelector as a,Provider as r}from"react-redux";import{library as d}from"@fortawesome/fontawesome-svg-core";import{fab as n}from"@fortawesome/free-brands-svg-icons";import{far as l}from"@fortawesome/free-regular-svg-icons";import{fas as s}from"@fortawesome/free-solid-svg-icons";import"react-toastify/dist/ReactToastify.css";import{Dialog as p,DialogTitle as c,DialogContent as m,DialogContentText as u,DialogActions as T,Button as A,Modal as _,Box as f,AppBar as I,Toolbar as E,Typography as O,IconButton as N,Paper as y,TextField as h,Grid2 as R,ListItemButton as L,FormControlLabel as C,Checkbox as D,Autocomplete as M,Popper as P,Avatar as b,Tooltip as g,styled as S,Badge as U,Divider as v,MenuItem as w,InputAdornment as x,Accordion as F,AccordionSummary as B,AccordionDetails as k,keyframes as W,ClickAwayListener as G,Fade as Y,Menu as V,useTheme as q,Backdrop as K,CircularProgress as z,createTheme as H}from"@mui/material";export*from"@mui/material";import{ThemeContext as Q,CacheProvider as Z,ThemeProvider as j}from"@emotion/react";import*as $ from"react";import X,{useState as J,useEffect as ee,createElement as ie,useRef as te}from"react";import{styled as oe,alpha as ae,useTheme as re}from"@mui/material/styles";import de from"@mui/material/CssBaseline";import ne from"@mui/material/AppBar";import le from"@mui/material/Toolbar";import{FontAwesomeIcon as se}from"@fortawesome/react-fontawesome";export{FontAwesomeIcon}from"@fortawesome/react-fontawesome";import{createSlice as pe,configureStore as ce}from"@reduxjs/toolkit";import{toast as me,ToastContainer as ue}from"react-toastify";export{toast}from"react-toastify";import Te from"axios";import Ae from"i18next";import{useTranslation as _e,initReactI18next as fe}from"react-i18next";import Ie from"@mui/material/List";import Ee from"@mui/material/Card";import Oe from"@mui/material/CardHeader";import Ne from"@mui/material/ListItemText";import ye from"@mui/material/ListItemIcon";import he from"@mui/material/Checkbox";import Re from"@mui/material/Button";import Le from"@mui/material/Divider";import{LocalizationProvider as Ce,DatePicker as De,DateTimePicker as Me}from"@mui/x-date-pickers";import{AdapterMoment as Pe}from"@mui/x-date-pickers/AdapterMoment";import be from"moment";import*as ge from"zod";import{z as Se}from"zod";export*from"zod";import{useForm as Ue}from"react-hook-form";import{zodResolver as ve}from"@hookform/resolvers/zod";import{useNavigate as we,useParams as xe,Routes as Fe,Route as Be,BrowserRouter as ke}from"react-router-dom";export{useParams}from"react-router-dom";import We from"@mui/material/CardActions";import Ge from"@mui/material/CardContent";import Ye from"@mui/material/CardMedia";import Ve from"@mui/material/Typography";import{QuickFilter as qe,ToolbarButton as Ke,Toolbar as ze,ColumnsPanelTrigger as He,GridViewColumnIcon as Qe,FilterPanelTrigger as Ze,GridFilterListIcon as je,ExportExcel as $e,QuickFilterTrigger as Xe,QuickFilterControl as Je,QuickFilterClear as ei,GridActionsCellItem as ii,GridExpandMoreIcon as ti,DataGridPremium as oi,GridRowModes as ai}from"@mui/x-data-grid-premium";import{BarChart as ri,Gauge as di,LineChart as ni}from"@mui/x-charts";import li from"@mui/material/LinearProgress";import si from"@mui/material/Box";import{PieChart as pi}from"@mui/x-charts/PieChart";import ci from"@mui/material/IconButton";import mi from"@mui/material/Drawer";import{animated as ui,useSpring as Ti}from"@react-spring/web";import Ai from"@mui/material/Collapse";import{RichTreeView as _i}from"@mui/x-tree-view/RichTreeView";import{treeItemClasses as fi}from"@mui/x-tree-view/TreeItem";import{useTreeItem2 as Ii}from"@mui/x-tree-view/useTreeItem2";import{TreeItem2Root as Ei,TreeItem2Content as Oi,TreeItem2IconContainer as Ni,TreeItem2Checkbox as yi,TreeItem2Label as hi}from"@mui/x-tree-view/TreeItem2";import{TreeItem2Icon as Ri}from"@mui/x-tree-view/TreeItem2Icon";import{TreeItem2Provider as Li}from"@mui/x-tree-view/TreeItem2Provider";import{TreeItem2DragAndDropOverlay as Ci}from"@mui/x-tree-view/TreeItem2DragAndDropOverlay";import Di from"stylis-plugin-rtl";import{prefixer as Mi}from"stylis";import Pi from"@emotion/cache";import bi from"@emotion/styled";import{grey as gi}from"@mui/material/colors";import Si from"@mui/material/SwipeableDrawer";import{LicenseInfo as Ui}from"@mui/x-license";export*from"@mui/lab";export*from"@mui/x-tree-view/models";!function(e,i){void 0===i&&(i={});var t=i.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.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 vi=(e=768)=>{const[i,t]=J(window.innerWidth<e);return ee((()=>{const i=()=>t(window.innerWidth<e);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)}),[e]),i},wi=350,xi=pe({name:"AppLayout",initialState:{themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},reducers:{setThemeMode:(e,i)=>{e.themeMode=i.payload},setAppDirection:(e,i)=>{e.appDirection=i.payload}}}),Fi=xi.actions;var Bi=xi.reducer;const ki=pe({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,i)=>{e.value.isOpened=!0,e.value.message=i.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Wi,hideLoadingMask:Gi}=ki.actions;var Yi=ki.reducer;const Vi=()=>{const e=o();return{show:i=>{e(Wi(i))},hide:()=>{e(Gi())}}},qi=pe({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,i)=>{e.value=i.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),Ki=qi.actions;var zi=qi.reducer;const Hi=()=>{const e=Vi(),i=o(),t=a((e=>e.AppInfo.value.apiBaseUrl)),r=Te.create({baseURL:t,timeout:6e5,withCredentials:!0});r.defaults.withCredentials=!0,r.interceptors.response.use((e=>e),(e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))i(Ki.setUnAuthenticated()),me.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&403===e.response.status)))me.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=>{me.error(e)}))}else me.error(e.response.data);else me.error("failed to communicate with the server ... try again later");return"ERROR"}));return{handleGetRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.get(i.endPointURI,{params:{...i.parameters},withCredentials:!0,headers:i.headers,responseType:i?.responseType});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handlePostRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.post(i.endPointURI,i.data,{params:i.parameters,responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleDeleteRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.delete(i.endPointURI,{params:{...i.parameters},responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},HandleDownloadHTTPPostPDF:async(i={endPointURI:"",parameters:{},data:{}})=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.post(i.endPointURI,i.data,{responseType:"blob"});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleUploadRequest:async i=>{if(null===i.files||0===i.files.length)return me.error("You must add files to upload"),"ERROR";const t=new FormData;for(const e of i.files)t.append("files",e);void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let o=await r.post(i.endPointURI,t,{params:i?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==o?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(o),o):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(o),"ERROR")}}},Qi=t=>{const[o,a]=J(!1),{t:r}=_e();return{ConfirmationWindow:()=>e(p,{open:o,children:[i(c,{children:t.title}),i(m,{children:i(u,{children:t.body})}),e(T,{children:[i(A,{variant:"contained",color:"primary",onClick:()=>{a(!1)},children:r("NO_LABEL")}),i(A,{variant:"contained",color:"error",onClick:()=>{t.onConfirmationCallBk(),a(!1)},autoFocus:!0,children:r("YES_LABEL")})]})]}),open:o,setOpen:a}},Zi=()=>{const e=a((e=>e.UserSession)),i=e.value;return{UserSession:e,isUserAuthorized:i=>{if(e?.value?.authorities)for(let t of e.value.authorities){if("DEVELOPMENT_ADMIN"===i&&("DEVELOPMENT_ADMIN"===t?.authority||"ORGANIZATION_ADMIN"===t?.authority))return!0;if("ORGANIZATION_ADMIN"===i&&"ORGANIZATION_ADMIN"===t?.authority)return!0;if("DEVELOPMENT_ADMIN"!==i&&"ORGANIZATION_ADMIN"!==i&&("ORGANIZATION_ADMIN"===t?.authority||"DEVELOPMENT_ADMIN"===t?.authority||"SYSTEM_ADMIN"===t?.authority||t?.authority===i))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(i?.currentOrganization?.systemApplicationModules)for(const t of i.currentOrganization.systemApplicationModules)if(t.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:i}},ji=t=>{const[o,a]=J(!1);return{windowState:o,setWindowState:a,Window:r=>i(_,{open:o,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!o&&t?.onCloseCallBack&&t.onCloseCallBack()},children:e(f,{sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:t?.height||"80%",width:t?.width||"90%",minWidth:t.minWidth||400,minHeight:t.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[i(I,{position:"static",children:e(E,{variant:"dense",children:[i(se,{icon:t?.windowIcon||"window-maximize",style:{marginRight:5}}),i(O,{variant:"h6",color:"inherit",component:"div",children:t?.windowTitle||"window"}),i("div",{style:{flexGrow:1}}),i(N,{onClick:()=>{a(!1),null!=t.onCloseCallBack&&null!=t.onCloseCallBack&&t.onCloseCallBack()},color:"secondary",children:i(se,{icon:"xmark-square"})})]})}),i(y,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:r?.children})]})})}},$i=pe({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,i)=>{e.stores=i.payload,e.storeKeys=Object.keys(i.payload)},setStoreData:(e,i)=>{e.stores[i.payload.storeKey].data=i.payload.data}}}),{setStoreData:Xi,setStoresMetaData:Ji}=$i.actions;var et=$i.reducer;const it=e=>{const i=a((e=>e.commonStores.stores)),t=o(),r=Zi(),{handleGetRequest:d,handlePostRequest:n,handleDeleteRequest:l}=Hi();return{reloadData:async o=>{if(e?.commonStoreKey){const o=Object.keys(i);for(const a of o)if(a===e.commonStoreKey&&(void 0===i[a]?.authority||null===i[a]?.authority||r.isUserAuthorized(i[a]?.authority))&&""!=i[a]?.url){await d({endPointURI:i[a].url,showMask:!1,successCallBkFn:i=>{t(Xi({storeKey:a,data:i.data})),e.setData(i.data)},failureCallBkFn:()=>{t(Xi({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await d({endPointURI:e.findAll,showMask:!0,parameters:o||{},successCallBkFn:i=>{e.setData(i.data)}})},loadRecordById:async i=>{let t=null;if(e?.findById){const o={};o[e?.findByIdParamName||"id"]=i,await d({endPointURI:e.findById,showMask:!0,parameters:o,successCallBkFn:e=>{t=e.data}})}return t},saveRecord:async i=>{let t=null;return e?.save&&await n({endPointURI:e.save,data:i,showMask:!0,successCallBkFn:e=>{t=e.data}}),t},deleteRecordById:async i=>{let t=!0;if(e?.deleteById){const o={};o[e?.deleteByIdParamName||"id"]=i,await l({endPointURI:e.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{t=!0},failureCallBkFn:()=>{t=!1}})}return t}}},tt=e=>{const{t:o}=_e();return i(h,{...e,slotProps:{inputLabel:{shrink:!0}},label:i(t,{children:e?.label?o(e.label):""})})};function ot(e,i){return e.filter((e=>-1===i.indexOf(e)))}function at(e,i){return e.filter((e=>-1!==i.indexOf(e)))}const rt=({valueField:t="id",displayField:o="name",options:a=[],selectedOptions:r=[],setSelection:d})=>{const[n,l]=$.useState([]),[s,p]=$.useState([]),[c,m]=$.useState([]),[u,T]=$.useState(""),[A,_]=$.useState(""),I=at(n,s),E=at(n,c);$.useEffect((()=>{a&&p([...a])}),[a]),$.useEffect((()=>{r&&m([...r])}),[r]);const O=e=>()=>{const i=n.indexOf(e),t=[...n];-1===i?t.push(e):t.splice(i,1),l(t)},N=e=>at(n,e).length,y=e=>()=>{var i,t;N(e)===e.length?l(ot(n,e)):l((i=n,t=e,[...i,...ot(t,i)]))},h=(a,r,d)=>{const l=r.filter((e=>{if(e[o]){const i=e[o];if("left"===d&&i.toLocaleLowerCase().includes(u.toLocaleLowerCase()))return!0;if("right"===d&&i.toLocaleLowerCase().includes(A.toLocaleLowerCase()))return!0}return!1}));return e(Ee,{sx:{height:"100%"},children:[i(Oe,{sx:{px:2,py:1},avatar:i(he,{onClick:y(l),checked:N(l)===l.length&&0!==l.length,indeterminate:N(l)!==l.length&&0!==N(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:a,subheader:`${N(r)} / ${r.length} Selected`}),i(f,{sx:{width:"100%",padding:1},children:i(tt,{fullWidth:!0,label:"search",value:"left"===d?u:A,onChange:e=>{"left"===d?T(e.target.value):_(e.target.value)}})}),i(Le,{}),i(Ie,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map((a=>(a[t],e(L,{role:"listitem",onClick:O(a),sx:{cursor:"pointer"},children:[i(ye,{children:i(he,{checked:-1!==n.indexOf(a),tabIndex:-1,disableRipple:!0})}),i(Ne,{id:a[t],primary:a[o]})]},a[t]))))})]})};return e(R,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[i(R,{sx:{height:"100%",flex:1},children:h("Available Items",s,"left")}),i(R,{children:e(R,{container:!0,direction:"column",alignItems:"center",children:[i(Re,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{m((e=>{let i=c.concat(I);return d(i),i})),p(ot(s,I)),l(ot(n,I))},disabled:0===I.length,"aria-label":"move selected right",children:">"}),i(Re,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(s.concat(E)),m((e=>{let i=ot(c,E);return d(i),i})),l(ot(n,E))},disabled:0===E.length,"aria-label":"move selected left",children:"<"})]})}),i(R,{sx:{height:"100%",flex:1},children:h("Currently Selected",c,"right")})]})},dt=e=>{const{t:t}=_e();return i(C,{sx:e.sx,disabled:e.disabled||!1,required:e.required||!1,control:i(D,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:i=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(i.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)})},nt=e=>{const t=a((e=>e.AppLayout)),{t:o}=_e();return i(M,{sx:e.sx,value:(i=>{for(let t of e.options)if(t[e.valueField]==i)return t;return null})(e.value),options:e.options,disabled:e.disabled,onChange:(i,t)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=t){let i=t[e.valueField];e.onChangeCallBack(i,t)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:i=>null!=i?o(i[e.displayField]):"",renderOption:(t,a)=>i("li",{...t,children:null!=a?o(a[e.displayField]):""}),slots:{popper:e=>i(P,{...e,style:{...e.style,direction:t.appDirection}})},renderInput:t=>i(h,{...t,required:e.required||!1,variant:"outlined",InputLabelProps:{shrink:!0},label:o(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?o(e.errorMessage):""})})},lt="YYYY-MM-DD",st="YYYY-MM-DD HH:mm:ss",pt="#37505C",ct="#ff6d00",mt="#ea690e",ut="#74776B",Tt=e=>{const{t:o}=_e();return i(Ce,{dateAdapter:Pe,children:i(De,{value:null!=e.value&&void 0!==e.value&&""!==e.value?be(e.value,e?.format||lt):null,sx:e.sx,label:o(e.label),format:e?.format||lt,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||lt)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{InputLabelProps:{shrink:!0},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},At=e=>{const{t:o}=_e();return i(Ce,{dateAdapter:Pe,children:i(Me,{value:null!=e.value&&void 0!==e.value&&""!==e.value?be(e.value,e?.format||st):null,label:o(e.label),sx:e.sx,format:e?.format||st,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||st)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},_t=e=>{const t=a((e=>e.AppLayout)),o=Zi(),[r,d]=J([]),{handleGetRequest:n}=Hi();return ee((()=>{e.lookupType&&(async()=>{await n({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{d(e.data)},failureCallBkFn:()=>{d([])}})})()}),[e.lookupType,o.UserSession]),i(nt,{...e,options:r,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},ft=e=>({...e,type:"string",renderEditCell:e=>i(At,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=be(e).format(st)),o},valueFormatter:(e,i,t)=>i[t.field]}),It=e=>({...e,type:"custom",valueGetter:e=>e?e+"":e,renderCell:e=>{let t=null;try{t=e.colDef.options.find((i=>i[e.colDef.valueField]==e.value))}catch(e){}return i("div",{children:null!=t?t[e.colDef.displayField]:e.value})},renderEditCell:e=>i(nt,{...e,sx:{width:"100%"},options:e.colDef.options,valueField:e.colDef.valueField,displayField:e.colDef.displayField,onChangeCallBack:(i,t)=>{null===i&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:i+""})}})}),Et=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const o=t?.value;return o===e.checkedValue||"true"===o||1===o||!0===o?i(se,{icon:"check",color:"green"}):i(se,{icon:"xmark",color:"red"})},renderEditCell:t=>i(dt,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),Ot=e=>{const i=[];if("field"===e.type&&"props"===e.mode&&e?.props)i.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const t of e.props.elements)i.push(...Ot(t));return i},Nt=e=>{const i=[];for(const t of e)i.push(...Ot(t));return i},yt=(e,t,o)=>{const a=[];for(const d of e)if("text"===d?.fieldType||"number"===d?.fieldType){const e={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,type:"number"==d?.fieldType?"number":"string",field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200};a.push(e)}else if("date"===d?.fieldType){const e=(r={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200},{...r,type:"string",renderEditCell:e=>i(Tt,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=be(e).format(lt)),o},valueFormatter:(e,i,t)=>i[t.field]});a.push(e)}else if("datetime"===d?.fieldType){const e=ft({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("checkbox"===d?.fieldType){const e=Et({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,checkedValue:d?.checkedValue,unCheckedValue:d?.unCheckedValue,width:150});a.push(e)}else if("combobox"===d?.fieldType){const e=It({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("lookup"===d?.fieldType){const e=It({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,lookupType:d?.lookupType,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else{const e={field:d.fieldName,...d?.gridProps?.muiProps};a.push(e)}var r;return a},ht=e=>{const i={};for(const t of e)if(t?.fieldName){const e=t.fieldName;"number"===t.fieldType?i[e]=!0===t?.required?ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ge.number().optional().nullable():"checkbox"===t.fieldType?i[e]=!0===t?.required?ge.boolean({required_error:"This field is required"}):ge.boolean().optional().nullable():i[e]=!0===t?.required?ge.string({message:"This field is required"}).min(1,"This field is required"):ge.string().optional().nullable()}return i},Rt=(e,i,t)=>{const o=[],a=[];if("exclude"===e.type&&0===e.ids.size)for(const e of i)o.push(e),a.push(e[t]);else if(e?.ids)for(const r of e.ids){const e=i.find((e=>e[t]===r));o.push(e),a.push(r)}return{selectedRecords:o,selectedRecordIds:a}};function Lt(e,...i){const t=new URL(`https://mui.com/production-error/?code=${e}`);return i.forEach((e=>t.searchParams.append("args[]",e))),`Minified MUI error #${e}; visit ${t} for the full message.`}function Ct(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Dt,Mt={exports:{}},Pt={exports:{}},bt={};var gt,St,Ut,vt,wt,xt,Ft,Bt,kt,Wt,Gt,Yt,Vt,qt,Kt,zt={};
1
+ import{jsxs as e,jsx as i,Fragment as t}from"react/jsx-runtime";import{useDispatch as o,useSelector as a,Provider as r}from"react-redux";import{library as d}from"@fortawesome/fontawesome-svg-core";import{fab as n}from"@fortawesome/free-brands-svg-icons";import{far as l}from"@fortawesome/free-regular-svg-icons";import{fas as s}from"@fortawesome/free-solid-svg-icons";import"react-toastify/dist/ReactToastify.css";import{Dialog as p,DialogTitle as c,DialogContent as m,DialogContentText as u,DialogActions as T,Button as A,Modal as _,Box as f,AppBar as I,Toolbar as E,Typography as O,IconButton as N,Paper as y,TextField as h,Grid2 as R,ListItemButton as L,FormControlLabel as C,Checkbox as D,Autocomplete as M,Popper as P,Avatar as b,Tooltip as g,styled as S,Badge as U,Divider as v,MenuItem as w,InputAdornment as x,Accordion as F,AccordionSummary as B,AccordionDetails as k,keyframes as W,ClickAwayListener as G,Fade as Y,Menu as V,useTheme as q,Backdrop as K,CircularProgress as z,createTheme as H}from"@mui/material";export*from"@mui/material";import{ThemeContext as Q,CacheProvider as Z,ThemeProvider as j}from"@emotion/react";import*as $ from"react";import X,{useState as J,useEffect as ee,createElement as ie,useRef as te}from"react";import{styled as oe,alpha as ae,useTheme as re}from"@mui/material/styles";import de from"@mui/material/CssBaseline";import ne from"@mui/material/AppBar";import le from"@mui/material/Toolbar";import{FontAwesomeIcon as se}from"@fortawesome/react-fontawesome";export{FontAwesomeIcon}from"@fortawesome/react-fontawesome";import{createSlice as pe,configureStore as ce}from"@reduxjs/toolkit";import{toast as me,ToastContainer as ue}from"react-toastify";export{toast}from"react-toastify";import Te from"axios";import Ae from"i18next";import{useTranslation as _e,initReactI18next as fe}from"react-i18next";import Ie from"@mui/material/List";import Ee from"@mui/material/Card";import Oe from"@mui/material/CardHeader";import Ne from"@mui/material/ListItemText";import ye from"@mui/material/ListItemIcon";import he from"@mui/material/Checkbox";import Re from"@mui/material/Button";import Le from"@mui/material/Divider";import{LocalizationProvider as Ce,DatePicker as De,DateTimePicker as Me}from"@mui/x-date-pickers";import{AdapterMoment as Pe}from"@mui/x-date-pickers/AdapterMoment";import be from"moment";import*as ge from"zod";import{z as Se}from"zod";export*from"zod";import{useForm as Ue}from"react-hook-form";import{zodResolver as ve}from"@hookform/resolvers/zod";import{useNavigate as we,useParams as xe,Routes as Fe,Route as Be,BrowserRouter as ke}from"react-router-dom";import We from"@mui/material/CardActions";import Ge from"@mui/material/CardContent";import Ye from"@mui/material/CardMedia";import Ve from"@mui/material/Typography";import{QuickFilter as qe,ToolbarButton as Ke,Toolbar as ze,ColumnsPanelTrigger as He,GridViewColumnIcon as Qe,FilterPanelTrigger as Ze,GridFilterListIcon as je,ExportExcel as $e,QuickFilterTrigger as Xe,QuickFilterControl as Je,QuickFilterClear as ei,GridActionsCellItem as ii,GridExpandMoreIcon as ti,DataGridPremium as oi,GridRowModes as ai}from"@mui/x-data-grid-premium";import{BarChart as ri,Gauge as di,LineChart as ni}from"@mui/x-charts";import li from"@mui/material/LinearProgress";import si from"@mui/material/Box";import{PieChart as pi}from"@mui/x-charts/PieChart";import ci from"@mui/material/IconButton";import mi from"@mui/material/Drawer";import{animated as ui,useSpring as Ti}from"@react-spring/web";import Ai from"@mui/material/Collapse";import{RichTreeView as _i}from"@mui/x-tree-view/RichTreeView";import{treeItemClasses as fi}from"@mui/x-tree-view/TreeItem";import{useTreeItem2 as Ii}from"@mui/x-tree-view/useTreeItem2";import{TreeItem2Root as Ei,TreeItem2Content as Oi,TreeItem2IconContainer as Ni,TreeItem2Checkbox as yi,TreeItem2Label as hi}from"@mui/x-tree-view/TreeItem2";import{TreeItem2Icon as Ri}from"@mui/x-tree-view/TreeItem2Icon";import{TreeItem2Provider as Li}from"@mui/x-tree-view/TreeItem2Provider";import{TreeItem2DragAndDropOverlay as Ci}from"@mui/x-tree-view/TreeItem2DragAndDropOverlay";import Di from"stylis-plugin-rtl";import{prefixer as Mi}from"stylis";import Pi from"@emotion/cache";import bi from"@emotion/styled";import{grey as gi}from"@mui/material/colors";import Si from"@mui/material/SwipeableDrawer";import{LicenseInfo as Ui}from"@mui/x-license";export*from"@mui/lab";export*from"@mui/x-tree-view/models";!function(e,i){void 0===i&&(i={});var t=i.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&o.firstChild?o.insertBefore(a,o.firstChild):o.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.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 vi=(e=768)=>{const[i,t]=J(window.innerWidth<e);return ee((()=>{const i=()=>t(window.innerWidth<e);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)}),[e]),i},wi=350,xi=pe({name:"AppLayout",initialState:{themeMode:localStorage.getItem("themeMode")||"light",appDirection:"ar"==localStorage.getItem("language")?"rtl":"ltr"},reducers:{setThemeMode:(e,i)=>{e.themeMode=i.payload},setAppDirection:(e,i)=>{e.appDirection=i.payload}}}),Fi=xi.actions;var Bi=xi.reducer;const ki=pe({name:"loadingMask",initialState:{value:{isOpened:!1,message:null}},reducers:{showLoadingMask:(e,i)=>{e.value.isOpened=!0,e.value.message=i.payload},hideLoadingMask:e=>{e.value.isOpened=!1,e.value.message=null}}}),{showLoadingMask:Wi,hideLoadingMask:Gi}=ki.actions;var Yi=ki.reducer;const Vi=()=>{const e=o();return{show:i=>{e(Wi(i))},hide:()=>{e(Gi())}}},qi=pe({name:"UserSession",initialState:{value:{isAuthenticated:null,authorities:[]}},reducers:{setAuthenticated:(e,i)=>{e.value=i.payload},setUnAuthenticated:e=>{e.value={isAuthenticated:!1,authorities:[]}}}}),Ki=qi.actions;var zi=qi.reducer;const Hi=()=>{const e=Vi(),i=o(),t=a((e=>e.AppInfo.value.apiBaseUrl)),r=Te.create({baseURL:t,timeout:6e5,withCredentials:!0});r.defaults.withCredentials=!0,r.interceptors.response.use((e=>e),(e=>{if(e&&(e.response&&(e.response.status&&401===e.response.status)))i(Ki.setUnAuthenticated()),me.error("your session is now expired, you need to login again",{autoClose:!1});else if(e&&(e.response&&(e.response.status&&403===e.response.status)))me.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=>{me.error(e)}))}else me.error(e.response.data);else me.error("failed to communicate with the server ... try again later");return"ERROR"}));return{handleGetRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.get(i.endPointURI,{params:{...i.parameters},withCredentials:!0,headers:i.headers,responseType:i?.responseType});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handlePostRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.post(i.endPointURI,i.data,{params:i.parameters,responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleDeleteRequest:async i=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let t=await r.delete(i.endPointURI,{params:{...i.parameters},responseType:i?.responseType,headers:i?.headers});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},HandleDownloadHTTPPostPDF:async(i={endPointURI:"",parameters:{},data:{}})=>{void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);const t=await r.post(i.endPointURI,i.data,{responseType:"blob"});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==t?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(t),t):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(t),"ERROR")},handleUploadRequest:async i=>{if(null===i.files||0===i.files.length)return me.error("You must add files to upload"),"ERROR";const t=new FormData;for(const e of i.files)t.append("files",e);void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.show(i.loadingMessage);let o=await r.post(i.endPointURI,t,{params:i?.parameters,headers:{"Content-Type":"multipart/form-data"}});return void 0!==i.showMask&&null!=i.showMask&&!0===i.showMask&&e.hide(),"ERROR"!==o?(void 0!==i.successCallBkFn&&null!=i.successCallBkFn&&i.successCallBkFn(o),o):(void 0!==i.failureCallBkFn&&null!=i.failureCallBkFn&&i.failureCallBkFn(o),"ERROR")}}},Qi=t=>{const[o,a]=J(!1),{t:r}=_e();return{ConfirmationWindow:()=>e(p,{open:o,children:[i(c,{children:t.title}),i(m,{children:i(u,{children:t.body})}),e(T,{children:[i(A,{variant:"contained",color:"primary",onClick:()=>{a(!1)},children:r("NO_LABEL")}),i(A,{variant:"contained",color:"error",onClick:()=>{t.onConfirmationCallBk(),a(!1)},autoFocus:!0,children:r("YES_LABEL")})]})]}),open:o,setOpen:a}},Zi=()=>{const e=a((e=>e.UserSession)),i=e.value;return{UserSession:e,isUserAuthorized:i=>{if(e?.value?.authorities)for(let t of e.value.authorities){if("DEVELOPMENT_ADMIN"===i&&("DEVELOPMENT_ADMIN"===t?.authority||"ORGANIZATION_ADMIN"===t?.authority))return!0;if("ORGANIZATION_ADMIN"===i&&"ORGANIZATION_ADMIN"===t?.authority)return!0;if("DEVELOPMENT_ADMIN"!==i&&"ORGANIZATION_ADMIN"!==i&&("ORGANIZATION_ADMIN"===t?.authority||"DEVELOPMENT_ADMIN"===t?.authority||"SYSTEM_ADMIN"===t?.authority||t?.authority===i))return!0}return!1},isCurrentOrganizationAuthorizedToModule:e=>{if(i?.currentOrganization?.systemApplicationModules)for(const t of i.currentOrganization.systemApplicationModules)if(t.toLowerCase()==e.toLowerCase())return!0;return!1},UserInfo:i}},ji=t=>{const[o,a]=J(!1);return{windowState:o,setWindowState:a,Window:r=>i(_,{open:o,sx:{zIndex:e=>e.zIndex.drawer},onClose:()=>{!o&&t?.onCloseCallBack&&t.onCloseCallBack()},children:e(f,{sx:{position:"absolute",top:"50%",left:"50%",maxHeight:"90%",transform:"translate(-50%, -50%)",height:t?.height||"80%",width:t?.width||"90%",minWidth:t.minWidth||400,minHeight:t.minHeight||200,overflow:"hidden",bgcolor:"modalBackground.main",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"flex-start"},children:[i(I,{position:"static",children:e(E,{variant:"dense",children:[i(se,{icon:t?.windowIcon||"window-maximize",style:{marginRight:5}}),i(O,{variant:"h6",color:"inherit",component:"div",children:t?.windowTitle||"window"}),i("div",{style:{flexGrow:1}}),i(N,{onClick:()=>{a(!1),null!=t.onCloseCallBack&&null!=t.onCloseCallBack&&t.onCloseCallBack()},color:"secondary",children:i(se,{icon:"xmark-square"})})]})}),i(y,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",height:"100%",padding:1,overflow:"hidden"},children:r?.children})]})})}},$i=pe({name:"commonStores",initialState:{stores:{},storeKeys:[]},reducers:{setStoresMetaData:(e,i)=>{e.stores=i.payload,e.storeKeys=Object.keys(i.payload)},setStoreData:(e,i)=>{e.stores[i.payload.storeKey].data=i.payload.data}}}),{setStoreData:Xi,setStoresMetaData:Ji}=$i.actions;var et=$i.reducer;const it=e=>{const i=a((e=>e.commonStores.stores)),t=o(),r=Zi(),{handleGetRequest:d,handlePostRequest:n,handleDeleteRequest:l}=Hi();return{reloadData:async o=>{if(e?.commonStoreKey){const o=Object.keys(i);for(const a of o)if(a===e.commonStoreKey&&(void 0===i[a]?.authority||null===i[a]?.authority||r.isUserAuthorized(i[a]?.authority))&&""!=i[a]?.url){await d({endPointURI:i[a].url,showMask:!1,successCallBkFn:i=>{t(Xi({storeKey:a,data:i.data})),e.setData(i.data)},failureCallBkFn:()=>{t(Xi({storeKey:a,data:[]})),e.setData([])}});break}}else e?.findAll&&await d({endPointURI:e.findAll,showMask:!0,parameters:o||{},successCallBkFn:i=>{e.setData(i.data)}})},loadRecordById:async i=>{let t=null;if(e?.findById){const o={};o[e?.findByIdParamName||"id"]=i,await d({endPointURI:e.findById,showMask:!0,parameters:o,successCallBkFn:e=>{t=e.data}})}return t},saveRecord:async i=>{let t=null;return e?.save&&await n({endPointURI:e.save,data:i,showMask:!0,successCallBkFn:e=>{t=e.data}}),t},deleteRecordById:async i=>{let t=!0;if(e?.deleteById){const o={};o[e?.deleteByIdParamName||"id"]=i,await l({endPointURI:e.deleteById,showMask:!0,parameters:o,successCallBkFn:()=>{t=!0},failureCallBkFn:()=>{t=!1}})}return t}}},tt=e=>{const{t:o}=_e();return i(h,{...e,slotProps:{inputLabel:{shrink:!0}},label:i(t,{children:e?.label?o(e.label):""})})};function ot(e,i){return e.filter((e=>-1===i.indexOf(e)))}function at(e,i){return e.filter((e=>-1!==i.indexOf(e)))}const rt=({valueField:t="id",displayField:o="name",options:a=[],selectedOptions:r=[],setSelection:d})=>{const[n,l]=$.useState([]),[s,p]=$.useState([]),[c,m]=$.useState([]),[u,T]=$.useState(""),[A,_]=$.useState(""),I=at(n,s),E=at(n,c);$.useEffect((()=>{a&&p([...a])}),[a]),$.useEffect((()=>{r&&m([...r])}),[r]);const O=e=>()=>{const i=n.indexOf(e),t=[...n];-1===i?t.push(e):t.splice(i,1),l(t)},N=e=>at(n,e).length,y=e=>()=>{var i,t;N(e)===e.length?l(ot(n,e)):l((i=n,t=e,[...i,...ot(t,i)]))},h=(a,r,d)=>{const l=r.filter((e=>{if(e[o]){const i=e[o];if("left"===d&&i.toLocaleLowerCase().includes(u.toLocaleLowerCase()))return!0;if("right"===d&&i.toLocaleLowerCase().includes(A.toLocaleLowerCase()))return!0}return!1}));return e(Ee,{sx:{height:"100%"},children:[i(Oe,{sx:{px:2,py:1},avatar:i(he,{onClick:y(l),checked:N(l)===l.length&&0!==l.length,indeterminate:N(l)!==l.length&&0!==N(l),disabled:0===l.length,inputProps:{"aria-label":"all items selected"}}),title:a,subheader:`${N(r)} / ${r.length} Selected`}),i(f,{sx:{width:"100%",padding:1},children:i(tt,{fullWidth:!0,label:"search",value:"left"===d?u:A,onChange:e=>{"left"===d?T(e.target.value):_(e.target.value)}})}),i(Le,{}),i(Ie,{sx:{width:"100%",height:"80%",bgcolor:"secondary",overflow:"auto"},dense:!0,component:"div",role:"list",children:l.map((a=>(a[t],e(L,{role:"listitem",onClick:O(a),sx:{cursor:"pointer"},children:[i(ye,{children:i(he,{checked:-1!==n.indexOf(a),tabIndex:-1,disableRipple:!0})}),i(Ne,{id:a[t],primary:a[o]})]},a[t]))))})]})};return e(R,{container:!0,spacing:2,sx:{flexGrow:1,overflow:"auto",margin:1,display:"flex",width:"100%"},justifyContent:"center",alignItems:"center",children:[i(R,{sx:{height:"100%",flex:1},children:h("Available Items",s,"left")}),i(R,{children:e(R,{container:!0,direction:"column",alignItems:"center",children:[i(Re,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{m((e=>{let i=c.concat(I);return d(i),i})),p(ot(s,I)),l(ot(n,I))},disabled:0===I.length,"aria-label":"move selected right",children:">"}),i(Re,{sx:{my:.5},variant:"outlined",size:"small",onClick:()=>{p(s.concat(E)),m((e=>{let i=ot(c,E);return d(i),i})),l(ot(n,E))},disabled:0===E.length,"aria-label":"move selected left",children:"<"})]})}),i(R,{sx:{height:"100%",flex:1},children:h("Currently Selected",c,"right")})]})},dt=e=>{const{t:t}=_e();return i(C,{sx:e.sx,disabled:e.disabled||!1,required:e.required||!1,control:i(D,{checked:e?.checkedValue==e.value||"true"===e.value||"1"==e.value,onChange:i=>{void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&(i.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)})},nt=e=>{const t=a((e=>e.AppLayout)),{t:o}=_e();return i(M,{sx:e.sx,value:(i=>{for(let t of e.options)if(t[e.valueField]==i)return t;return null})(e.value),options:e.options,disabled:e.disabled,onChange:(i,t)=>{if(void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack)if(null!=t){let i=t[e.valueField];e.onChangeCallBack(i,t)}else e.onChangeCallBack(null,null)},clearOnBlur:!0,handleHomeEndKeys:!0,getOptionLabel:i=>null!=i?o(i[e.displayField]):"",renderOption:(t,a)=>i("li",{...t,children:null!=a?o(a[e.displayField]):""}),slots:{popper:e=>i(P,{...e,style:{...e.style,direction:t.appDirection}})},renderInput:t=>i(h,{...t,required:e.required||!1,variant:"outlined",InputLabelProps:{shrink:!0},label:o(e.label),error:null!=e.errorMessage&&void 0!==e.errorMessage,helperText:null!=e.errorMessage&&void 0!==e.errorMessage?o(e.errorMessage):""})})},lt="YYYY-MM-DD",st="YYYY-MM-DD HH:mm:ss",pt="#37505C",ct="#ff6d00",mt="#ea690e",ut="#74776B",Tt=e=>{const{t:o}=_e();return i(Ce,{dateAdapter:Pe,children:i(De,{value:null!=e.value&&void 0!==e.value&&""!==e.value?be(e.value,e?.format||lt):null,sx:e.sx,label:o(e.label),format:e?.format||lt,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||lt)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{InputLabelProps:{shrink:!0},variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},At=e=>{const{t:o}=_e();return i(Ce,{dateAdapter:Pe,children:i(Me,{value:null!=e.value&&void 0!==e.value&&""!==e.value?be(e.value,e?.format||st):null,label:o(e.label),sx:e.sx,format:e?.format||st,disabled:e.disabled,onChange:i=>{let t=null;null!=i&&i.isValid()&&(t=i.format(e?.format||st)),void 0!==e.onChangeCallBack&&null!=e.onChangeCallBack&&e.onChangeCallBack(t)},slotProps:{textField:{variant:"outlined",required:e.required,error:void 0!==e.errorMessage&&null!=e.errorMessage,helperText:void 0!==e.errorMessage&&null!=e.errorMessage?i(t,{children:o(e.errorMessage)}):i(t,{})}}})})},_t=e=>{const t=a((e=>e.AppLayout)),o=Zi(),[r,d]=J([]),{handleGetRequest:n}=Hi();return ee((()=>{e.lookupType&&(async()=>{await n({endPointURI:"api/v1/public/system/lookup",showMask:!0,parameters:{lookupType:e.lookupType},successCallBkFn:e=>{d(e.data)},failureCallBkFn:()=>{d([])}})})()}),[e.lookupType,o.UserSession]),i(nt,{...e,options:r,displayField:"ltr"===t.appDirection?"lookupEnDisplay":"lookupArDisplay",valueField:"lookupValue"})},ft=e=>({...e,type:"string",renderEditCell:e=>i(At,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=be(e).format(st)),o},valueFormatter:(e,i,t)=>i[t.field]}),It=e=>({...e,type:"custom",valueGetter:e=>e?e+"":e,renderCell:e=>{let t=null;try{t=e.colDef.options.find((i=>i[e.colDef.valueField]==e.value))}catch(e){}return i("div",{children:null!=t?t[e.colDef.displayField]:e.value})},renderEditCell:e=>i(nt,{...e,sx:{width:"100%"},options:e.colDef.options,valueField:e.colDef.valueField,displayField:e.colDef.displayField,onChangeCallBack:(i,t)=>{null===i&&e.api.setEditCellValue({id:e.id,field:e.field,value:null}),e.api.setEditCellValue({id:e.id,field:e.field,value:i+""})}})}),Et=e=>({...e,type:"custom",valueGetter:e=>null==e||null==e?null:e,renderCell:t=>{const o=t?.value;return o===e.checkedValue||"true"===o||1===o||!0===o?i(se,{icon:"check",color:"green"}):i(se,{icon:"xmark",color:"red"})},renderEditCell:t=>i(dt,{...t,checkedValue:e?.checkedValue||!0,unCheckedValue:e?.unCheckedValue||!1,onChangeCallBack:e=>{t.api.setEditCellValue({id:t.id,field:t.field,value:e})}})}),Ot=e=>{const i=[];if("field"===e.type&&"props"===e.mode&&e?.props)i.push(e.props);else if("group"===e.type&&e?.props&&e?.props?.elements)for(const t of e.props.elements)i.push(...Ot(t));return i},Nt=e=>{const i=[];for(const t of e)i.push(...Ot(t));return i},yt=(e,t,o)=>{const a=[];for(const d of e)if("text"===d?.fieldType||"number"===d?.fieldType){const e={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,type:"number"==d?.fieldType?"number":"string",field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200};a.push(e)}else if("date"===d?.fieldType){const e=(r={...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200},{...r,type:"string",renderEditCell:e=>i(Tt,{sx:{width:"100%"},label:"",value:e.value,onChangeCallBack:i=>{e.api.setEditCellValue({id:e.id,field:e.field,value:i})}}),valueParser:(e,i,t)=>{let o=null;return null!==e&&(o=be(e).format(lt)),o},valueFormatter:(e,i,t)=>i[t.field]});a.push(e)}else if("datetime"===d?.fieldType){const e=ft({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("checkbox"===d?.fieldType){const e=Et({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,checkedValue:d?.checkedValue,unCheckedValue:d?.unCheckedValue,width:150});a.push(e)}else if("combobox"===d?.fieldType){const e=It({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else if("lookup"===d?.fieldType){const e=It({...d?.gridProps?.muiProps,editable:null!=d?.gridProps?.muiProps?.editable?d?.gridProps?.muiProps?.editable:t,lookupType:d?.lookupType,field:d?.fieldName,headerName:o(d?.fieldLabel||d?.fieldName),headerAlign:"center",align:"center",hidden:d?.hidden,searchable:d?.gridProps?.searchable,valueField:d?.optionValueField||"value",displayField:d?.optionDisplayField||"display",options:d?.options||[],flex:d?.gridProps?.muiProps?.width?void 0:1,minWidth:200});a.push(e)}else{const e={field:d.fieldName,...d?.gridProps?.muiProps};a.push(e)}var r;return a},ht=e=>{const i={};for(const t of e)if(t?.fieldName){const e=t.fieldName;"number"===t.fieldType?i[e]=!0===t?.required?ge.number({required_error:"This field is required",invalid_type_error:"This field must be a number"}):ge.number().optional().nullable():"checkbox"===t.fieldType?i[e]=!0===t?.required?ge.boolean({required_error:"This field is required"}):ge.boolean().optional().nullable():i[e]=!0===t?.required?ge.string({message:"This field is required"}).min(1,"This field is required"):ge.string().optional().nullable()}return i},Rt=(e,i,t)=>{const o=[],a=[];if("exclude"===e.type&&0===e.ids.size)for(const e of i)o.push(e),a.push(e[t]);else if(e?.ids)for(const r of e.ids){const e=i.find((e=>e[t]===r));o.push(e),a.push(r)}return{selectedRecords:o,selectedRecordIds:a}};function Lt(e,...i){const t=new URL(`https://mui.com/production-error/?code=${e}`);return i.forEach((e=>t.searchParams.append("args[]",e))),`Minified MUI error #${e}; visit ${t} for the full message.`}function Ct(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Dt,Mt={exports:{}},Pt={exports:{}},bt={};var gt,St,Ut,vt,wt,xt,Ft,Bt,kt,Wt,Gt,Yt,Vt,qt,Kt,zt={};
2
2
  /** @license React v16.13.1
3
3
  * react-is.development.js
4
4
  *