mario-core 2.0.102-release → 2.0.103-release

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.
Files changed (67) hide show
  1. package/dist/Dashboard-B2WY8-IU.js +1 -0
  2. package/dist/Dashboard-BzKx6Ox_.mjs +206 -0
  3. package/dist/Dashboard-DJS7P679.mjs +206 -0
  4. package/dist/Dashboard-NC2RHYE3.js +1 -0
  5. package/dist/EmailTemplateDetail-22mli8ZO.js +1 -0
  6. package/dist/EmailTemplateDetail-CfqeSysW.js +1 -0
  7. package/dist/EmailTemplateDetail-D5H-KPFi.mjs +443 -0
  8. package/dist/EmailTemplateDetail-DnEe1dJY.mjs +443 -0
  9. package/dist/EmailTemplateList-BBgctzKn.mjs +170 -0
  10. package/dist/EmailTemplateList-BSETyjvK.js +1 -0
  11. package/dist/EmailTemplateList-CEfrVodv.mjs +170 -0
  12. package/dist/EmailTemplateList-CpfPUX5H.js +1 -0
  13. package/dist/GalleryList-BKH6TE8o.js +1 -0
  14. package/dist/GalleryList-D1-lprY3.mjs +329 -0
  15. package/dist/GalleryList-D6Npg6OD.mjs +329 -0
  16. package/dist/GalleryList-DZDBNr1J.js +1 -0
  17. package/dist/Login-07zPaPX9.js +1 -0
  18. package/dist/Login-CSb85ENW.mjs +1697 -0
  19. package/dist/Login-C_elLcnh.mjs +1688 -0
  20. package/dist/Login-t8Cp9sZB.js +1 -0
  21. package/dist/NotificationList-D1ay6Hyf.mjs +3982 -0
  22. package/dist/NotificationList-DHjB1hHV.js +2 -0
  23. package/dist/NotificationList-DlWtyPB-.mjs +3982 -0
  24. package/dist/NotificationList-Dr8Yrfl7.js +2 -0
  25. package/dist/SkillList-CjP3DHVV.mjs +386 -0
  26. package/dist/SkillList-DED-BKhK.js +1 -0
  27. package/dist/SkillList-EMox2GtU.js +1 -0
  28. package/dist/SkillList-a-PCBXTS.mjs +386 -0
  29. package/dist/TeacherSelector-CT_LK5ps.js +1 -0
  30. package/dist/TeacherSelector-CYN1RV9H.js +1 -0
  31. package/dist/TeacherSelector-Ckdz4LDA.mjs +30 -0
  32. package/dist/TeacherSelector-TtFRSN6T.mjs +30 -0
  33. package/dist/TheContent-BLL5TnF0.js +1 -0
  34. package/dist/TheContent-C1z93b1T.mjs +38 -0
  35. package/dist/TheContent-CV2yUmwY.js +1 -0
  36. package/dist/TheContent-ClceIaDH.mjs +38 -0
  37. package/dist/UserContainer-BwVN8uDh.mjs +2902 -0
  38. package/dist/UserContainer-DKBxc6bM.js +5 -0
  39. package/dist/UserContainer-Dgajsjc2.js +5 -0
  40. package/dist/UserContainer-W5RhNyuY.mjs +2902 -0
  41. package/dist/UserDetail-B1OEfUkB.mjs +903 -0
  42. package/dist/UserDetail-CcAyPDXB.mjs +903 -0
  43. package/dist/UserDetail-D_54wIZ1.js +1 -0
  44. package/dist/UserDetail-EIVg7R4V.js +1 -0
  45. package/dist/UserList-BHBPOboi.js +7 -0
  46. package/dist/UserList-CuML6EN2.mjs +1261 -0
  47. package/dist/UserList-D7DcyFHI.js +7 -0
  48. package/dist/UserList-DPS62SYL.mjs +1254 -0
  49. package/dist/constants-CAl8i9EQ.mjs +286 -0
  50. package/dist/constants-CQviSc2u.js +1 -0
  51. package/dist/constants-DIXj0L_y.js +1 -0
  52. package/dist/constants-Jqu1Wphx.mjs +286 -0
  53. package/dist/index-7hA60HfM.mjs +19133 -0
  54. package/dist/index-9XtI-PeV.js +15 -0
  55. package/dist/index-C6cqi7Br.js +15 -0
  56. package/dist/index-DplP6JK1.mjs +19133 -0
  57. package/dist/index.js +1 -1
  58. package/dist/index.modern.js +1 -1
  59. package/dist/mailCategoryService-Bhcruih6.js +1 -0
  60. package/dist/mailCategoryService-CJQb-5oo.mjs +11 -0
  61. package/dist/mailCategoryService-CQdNPG8e.js +1 -0
  62. package/dist/mailCategoryService-D_DFc1LB.mjs +11 -0
  63. package/dist/userService-1_ugW9AK.js +1 -0
  64. package/dist/userService-C4VF2Wck.mjs +56 -0
  65. package/dist/userService-De8Jm8I4.js +1 -0
  66. package/dist/userService-OWU32PxA.mjs +56 -0
  67. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ "use strict";const s=require("react/jsx-runtime"),R=require("reactstrap"),z=require("./userService-1_ugW9AK.js"),Q=require("react-i18next"),h=require("react"),q=require("react-redux"),ue=require("react-router-dom"),t=require("./index-C6cqi7Br.js"),M=require("./constants-DIXj0L_y.js"),xe=require("./types-CTFcZUFS.js"),ce=require("date-fns"),oe=require("papaparse");function ve(e,n){z.requiredArgs(2,arguments);var m=z.toDate(e),i=z.toDate(n);return m.getFullYear()-i.getFullYear()}const Ce=()=>{const[e,n]=h.useState(M.DEFAULT_FILTER);return{filters:e,setFilters:n,changeFilters:i=>{const v={...e,...i};v.searchString&&i.searchString&&i.searchString!=e.searchString&&(v.currentPage=1),n(v)}}},Ee="/admin/user",be="/admin/create-user",je="User list",X="/home",Ae="/home",Re="/admin/home",_e="/parent",Ne="/admin/schools",Te="/list-student",Ie=()=>{const e=ue.useNavigate(),m=new URLSearchParams(location.search).get("query"),i=q.useSelector(a=>a.users.userList),v=q.useSelector(a=>a.users.totalItems),{filters:S,changeFilters:c}=Ce(),x=m||"",[f,j]=h.useState([]),d=window.location.host.includes("-district"),o=q.useDispatch(),{t:p}=Q.useTranslation(),B=a=>{const y=f.find(g=>g==a);j(y?f.filter(g=>g!=a):f.concat([a]))},_=h.useMemo(()=>(i||[]).length>0&&(i||[]).every(a=>f.includes(a.id)),[i,f]),I=h.useCallback(()=>{if(_){const y=new Set((i||[]).map(g=>g.id));j(g=>g.filter(r=>!y.has(r)));return}const a=(i||[]).map(y=>y.id).filter(y=>!f.includes(y));j(y=>[...y,...a])},[i,_,f]),A=h.useCallback(async()=>{if(S.searchBy!==void 0&&S.searchByStrings!==void 0&&S.searchByStrings.length===0){o(t.setUserList({userList:[],totalItems:0}));return}o(t.setLoading(!0));try{const a=await z.getRosterUser(S),{items:y,totalItems:g}=a.data;for(const r of y)r.roles=r.roles.map(l=>l!=t.ROLES.EDUTEACHER?l:"EduTeacher"),r.msRoles&&(r.msRoles=r.msRoles.map(l=>l!=t.ROLES.EDUTEACHER?l:"EduTeacher")),r.esRoles&&(r.esRoles=r.esRoles.map(l=>l!=t.ROLES.EDUTEACHER?l:"EduTeacher"));o(t.setUserList({userList:y,totalItems:g}))}catch(a){o(t.setAlert({type:"danger",message:a.response?.data?.title||a.message}))}o(t.setLoading(!1))},[o,S]),C=async()=>{o(t.setLoading(!0));try{const y=(await z.triggerAllRosterSyncApi()).data?.message||p("sync_roster_running_in_background","Roster synchronization is currently running in the background. Please wait a few moments before refreshing the page.");o(t.setModal({isOpen:!0,type:"success",message:y}))}catch(a){o(t.setModal({isOpen:!0,type:"danger",message:a.response?.data?.message||a.response?.data?.title||a.message}))}o(t.setLoading(!1))},E=a=>{if(!a)return"";const y=[],{sourcedId:g,rosterUser:r}=a;if(g&&r&&y.push(g),r){const{givenName:l,middleName:O,familyName:T,email:P}=r,H=[];T&&H.push(T),O&&H.push(O),l&&H.push(l),y.push(H.join(" ")||""),y.push(P||"")}return y.join(" / ")};h.useEffect(()=>{document.title=je},[]),h.useEffect(()=>{c({...S,searchString:x})},[x]),h.useEffect(()=>{A()},[JSON.stringify(S)]);const N=h.useCallback(a=>{o(t.setModal({isOpen:!0,type:"warning",message:p("do_you_want_to_remove_this_user"),onConfirm:async()=>{o(t.setLoading(!0));try{await z.remove(a),o(t.setAlert({type:"success",message:"Remove user successfully"})),S.currentPage!==1?c({currentPage:1}):A()}catch(y){o(t.setAlert({type:"danger",message:y.response?.data?.title||y.message}))}o(t.setLoading(!1))}}))},[JSON.stringify(S)]),$=[{role:"Admin",path:Re},{role:"Teacher",path:X},{role:"Assistant",path:X},{role:"Counselor",path:X},{role:"SecondaryTeacher",path:X},{role:"EduTeacher",path:Te},{role:"Student",path:Ae},{role:"Parent",path:_e}],U=a=>{const y=sessionStorage.getItem(t.IS_USER_SESSION_BROWSER),g=a.data?.token;let r=a.data.msRoles||[],l=a.data.esRoles||[];const O=a.data.roles||a.data.userRoles||[],T=(a.data.appType||"").toUpperCase();r.length===0&&l.length===0&&O.length>0&&(T.includes("ES")&&!T.includes("MS")?l=O:T.includes("MS")&&!T.includes("ES")?r=O:(r=O,l=O));const P=a.data?.id||a.data?.userId,w=((P?localStorage.getItem(`PREFERRED_ROLE_${P}`):null)||"").split(",").map(G=>G.trim()).filter(Boolean),k=w[0];let F="MS",V="/home",J=!1;if(!(r.includes("Admin")||l.includes("Admin"))&&k&&(r.includes(k)||l.includes(k))){F=r.includes(k)?"MS":"ES";const K=$.find(W=>W.role===k);K&&(V=K.path,J=!0)}if(!J)for(const{role:G,path:K}of $){const W=r.includes(G),Se=l.includes(G);if(!(!W&&!Se)){F=W?"MS":"ES",V=K,J=!0;break}}J||(F=r.length>0?"MS":l.length>0?"ES":"MS");const D=F==="ES"?l:r;y?sessionStorage.setItem(t.ACCESS_TOKEN,g):localStorage.setItem(t.ACCESS_TOKEN,g);let b="";D.includes("Admin")?b="Admin":w.length>0&&w.every(K=>D.includes(K))?w.length>1?b=w.every(W=>W==="Teacher"||W==="Assistant")?"Teacher,Assistant":w[0]:b=w[0]:D.includes("Teacher")?b=D.includes("Assistant")?"Teacher,Assistant":"Teacher":D.includes("Assistant")?b="Assistant":D.includes("Counselor")?b="Counselor":D.includes("SecondaryTeacher")?b="SecondaryTeacher":D.includes("EduTeacher")?b="EduTeacher":D.includes("Student")?b="Student":D.includes("Parent")?b="Parent":D.length>0&&(b=D[0]),b&&(localStorage.setItem("ROLES",b),sessionStorage.setItem("ACTIVE_ROLE",b)),localStorage.removeItem(t.NOTIFICATION_ALERT_KEY),d&&(V=Ne);const Y=F==="ES"&&!D.includes("Admin")?`/es${V}`:V;window.location.href=Y},L=h.useCallback(async a=>{try{const g=(await z.switchAccountUser(a)).data;o(t.setModal({isOpen:!0,type:"warning",message:p("do_you_want_to_impersonate_this_user"),onConfirm:async()=>{o(t.setLoading(!0));try{const r={email:g.email,password:"default",accessToken:g.token,loginType:xe.LoginType.Impersonate},l=await t.logIn(r),O={};for(let T=0;T<localStorage.length;T++){const P=localStorage.key(T);P&&(P==="SELECTED_TIER"||P.startsWith("SELECTED_TIER_")||P.startsWith("PREFERRED_ROLE_"))&&(O[P]=localStorage.getItem(P)||"")}localStorage.clear(),Object.keys(O).forEach(T=>{localStorage.setItem(T,O[T])}),U(l)}catch(r){t.setAlert({type:"danger",message:r.response?.data?.title||r.message})}o(t.setLoading(!1))}}))}catch(y){o(t.setAlert({type:"danger",message:y.response?.data?.title||y.message}))}},[S]);return{userList:i,totalItems:v,filters:S,queryName:m,fullName:x,getData:A,removeData:N,changeFilters:c,reDirectDetailPage:a=>{const y=a?`${Ee}/${a}`:be;e(y)},switchUser:L,handleSyncRosterUsers:C,rosterUserInfo:E,userIds:f,onSelectAllUser:I,onSelectUser:B,isCheckAll:_}},Le={fontWeight:500},Oe={height:38,background:"#316cd9"},we=({text:e,onClick:n,className:m=""})=>s.jsxs(R.Button,{onClick:n,color:"primary",style:Oe,className:`d-flex align-items-center ${m} gap-2`,children:[s.jsx(t.FaSyncAlt,{}),s.jsx("span",{style:Le,children:e})]});function Be(e){return t.GenIcon({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M21 3H5a1 1 0 0 0-1 1v2.59c0 .523.213 1.037.583 1.407L10 13.414V21a1.001 1.001 0 0 0 1.447.895l4-2c.339-.17.553-.516.553-.895v-5.586l5.417-5.417c.37-.37.583-.884.583-1.407V4a1 1 0 0 0-1-1zm-6.707 9.293A.996.996 0 0 0 14 13v5.382l-2 1V13a.996.996 0 0 0-.293-.707L6 6.59V5h14.001l.002 1.583-5.71 5.71z"}}]})(e)}function Ue(e){return t.GenIcon({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M19.023 16.977a35.13 35.13 0 0 1-1.367-1.384c-.372-.378-.596-.653-.596-.653l-2.8-1.337A6.962 6.962 0 0 0 16 9c0-3.859-3.14-7-7-7S2 5.141 2 9s3.14 7 7 7c1.763 0 3.37-.66 4.603-1.739l1.337 2.8s.275.224.653.596c.387.363.896.854 1.384 1.367l1.358 1.392.604.646 2.121-2.121-.646-.604c-.379-.372-.885-.866-1.391-1.36zM9 14c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z"}}]})(e)}function ke(e){return t.GenIcon({attr:{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{fillRule:"evenodd",d:"M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z",clipRule:"evenodd"}}]})(e)}function De(e){return t.GenIcon({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]})(e)}function he(e){return t.GenIcon({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0 0 12.6 0l112-141.9c4.1-5.2.4-13-6.3-13z"}}]})(e)}function me(e){return t.GenIcon({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM310.3 167.1a8 8 0 0 0-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z"}}]})(e)}const $e=(e,n)=>{h.useEffect(()=>{function m(i){e.current&&!e.current.contains(i.target)&&n?.()}return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[e.current])},Fe=e=>{const{isOpen:n,sortBy:m,filters:i,users:v,searchBy:S,defaultOptions:c,selectedOptions:x,searchKey:f,onChangeSearchKey:j,onOptionsChange:d,onSearch:o,onClose:p,onChangeFilters:B,getOption:_}=e,[I,A]=h.useState(),[C,E]=h.useState([]),N=h.useRef(null),$=h.useRef(null);$e(N,p);const{t:U}=Q.useTranslation(),L=h.useCallback(()=>{if(!n)return;const w=f?.trim?.()??"";S!=null&&!c&&o?.(w,S),S!=null&&c&&E(c.filter(k=>k.label.toLowerCase().includes(w.toLowerCase())))},[S,f,JSON.stringify(c),n]),u=()=>{$.current&&clearTimeout($.current),$.current=setTimeout(L,500)},a=w=>{const k=w.target.value;j(k)},y=h.useCallback(()=>{d?.(I,S),p?.()},[JSON.stringify(I)]),g=h.useCallback(w=>{const k=w.target.value??"";let F=I??[],V=F.indexOf(k);V>-1?F.splice(V,1):F=[...F,k],A(F==null?F:[...F])},[JSON.stringify(I)]),r=h.useCallback(w=>{const k=w.target.checked;A(k?void 0:[])},[]),l=h.useCallback(()=>{B?.({...i,sortBy:m,isDescending:!0}),p?.()},[JSON.stringify(i),S]),O=h.useCallback(()=>{B?.({...i,sortBy:m,isDescending:!1}),p?.()},[JSON.stringify(i),S]),T=h.useMemo(()=>_?v.map(w=>_(w,U)):[],[JSON.stringify(v),JSON.stringify(_)]),P=i?.isDescending==!1&&i.sortBy===m,H=!!i?.isDescending&&i.sortBy===m;return h.useEffect(()=>{i?.searchBy!==S?A(void 0):A(x)},[JSON.stringify(x),i?.searchBy]),h.useEffect(()=>{E(c||[])},[JSON.stringify(c)]),h.useEffect(()=>{u()},[f,n]),{ref:N,options:T,inputRef:$,sOptions:I,isAscending:P,isDescending:H,filteredOptions:C,searchKey:f,handleSearch:L,handleApplyFilter:y,handleOptionSelected:g,handleOptionSelectedAll:r,handleSortDesc:l,handleSortAsc:O,handleChangeSearchKey:a}},Me=e=>{const{defaultOptions:n,onClose:m,getOption:i}=e,{ref:v,inputRef:S,options:c,sOptions:x,isAscending:f,isDescending:j,filteredOptions:d,searchKey:o,handleChangeSearchKey:p,handleApplyFilter:B,handleOptionSelected:_,handleOptionSelectedAll:I,handleSortDesc:A,handleSortAsc:C}=Fe(e);return s.jsx(R.Popover,{...e,hideArrow:!0,className:t.styles["popover-zindex"],children:s.jsx(R.PopoverBody,{className:"pb-3",children:s.jsxs("div",{ref:v,className:t.styles.popover,children:[s.jsxs("div",{className:`d-flex flex-column ${t.styles.popover__sort}`,children:[s.jsx(R.Label,{className:"font-weight-bold",children:"Sort"}),s.jsxs("div",{className:`px-1 ${t.styles.popover__sort__item} ${f&&t.styles["popover__sort__item--active"]}`,onClick:C,children:[s.jsx(he,{className:"mr-1"}),"Ascending"]}),s.jsxs("div",{className:`px-1 mt-1 ${t.styles.popover__sort__item} ${j&&t.styles["popover__sort__item--active"]}`,onClick:A,children:[s.jsx(me,{className:"mr-1"}),"Descending"]})]}),(typeof i<"u"||!!n)&&s.jsxs(h.Fragment,{children:[s.jsx("div",{className:"border border-top-1 border-bottom-0 mx-1 my-2"}),s.jsxs("div",{className:"d-flex flex-column",children:[s.jsx(R.Label,{className:"font-weight-bold",children:"Filter"}),s.jsxs("div",{className:`position-relative px-1 ${t.styles.popover__search}`,children:[s.jsx(Ue,{className:`position-absolute ${t.styles.popover__search__icon}`}),s.jsx(R.Input,{ref:S,className:t.styles.popover__search__input,value:o,onChange:p})]}),s.jsxs("div",{className:`mx-1 mt-2 p-2 bg-light ${t.styles.popover__options}`,children:[s.jsxs(R.FormGroup,{className:"d-flex align-items-center",check:!0,style:{gap:"8px"},children:[s.jsx(R.Input,{type:"checkbox",onChange:I,checked:x==null})," ",s.jsx(R.Label,{check:!0,children:"(Select all)"})]}),!!i&&!n&&c.map(E=>s.jsxs(R.FormGroup,{className:"d-flex align-items-center",check:!0,style:{gap:"8px"},children:[s.jsx(R.Input,{type:"checkbox",value:E.value,onChange:_,checked:x?.includes(E.value)||x==null})," ",s.jsx(R.Label,{check:!0,children:E.label})]},E.value)),!!n&&d.map(E=>s.jsxs(R.FormGroup,{className:"d-flex align-items-center",check:!0,style:{gap:"8px"},children:[s.jsx(R.Input,{type:"checkbox",value:E.value,onChange:_,checked:x?.includes(E.value)||x==null})," ",s.jsx(R.Label,{check:!0,children:E.label})]},E.value))]})]}),s.jsxs("div",{className:"d-flex justify-content-end mt-3",style:{gap:"8px"},children:[s.jsx(R.Button,{color:"primary",className:"mr-2",size:"sm",onClick:B,children:"Apply Filter"}),s.jsx(R.Button,{color:"secondary",size:"sm",onClick:m,children:"Cancel"})]})]})]})})})},Pe=({data:e,popoverId:n,filters:m,searchString:i,users:v,selectedOptions:S,onOptionsChange:c,onSearch:x,onChangeFilters:f,onOpenFilter:j,onClose:d,isCenter:o,isActive:p=!1})=>{const{t:B}=Q.useTranslation(),[_,I]=h.useState(""),A=h.useMemo(()=>e.sortBy!=null?M.userOrders[e.sortBy]:"",[e.sortBy]),C=h.useMemo(()=>n===A,[A,n]),E=()=>{j?.(A,e.searchBy,_,e.sortBy)},N=$=>{I($)};return s.jsx("th",{className:e.className,children:A&&e.sortBy!==void 0?s.jsxs("div",{className:`w-100 d-flex ${o?"justify-content-center":"justify-content-between"} align-items-center ${t.styles["table-filter-icon"]}`,children:[B(e.name),s.jsxs("div",{className:"ml-2 p-1",id:A,onClick:E,style:{cursor:"pointer"},children:[e.sortBy!==void 0&&e.sortBy===m?.sortBy&&s.jsx("span",{children:m.isDescending?s.jsx(me,{}):s.jsx(he,{})}),m?.searchByStrings?.length&&e.searchBy===m?.searchBy?s.jsx(ke,{color:p?"#007bff":"#242424"}):s.jsx(Be,{color:p?"#007bff":"#242424"})]}),s.jsx(Me,{placement:"bottom-end",target:A,users:v,isOpen:C,filters:m,sortBy:e.sortBy,searchKey:_,searchBy:e.searchBy,searchString:i,defaultOptions:e.options,selectedOptions:S,onClose:d,onSearch:x,getOption:e.getOption,onChangeFilters:f,onOptionsChange:c,onChangeSearchKey:N})]}):B(e.name)})},ze=e=>{const{filters:n,onChangeFilters:m,isStudentFilter:i,teacherOptions:v,assistantOptions:S,counselorOptions:c,secondaryTeacherOptions:x}=e,[f,j]=h.useState(),[d,o]=h.useState([]),[p,B]=h.useState({...M.DEFAULT_FILTER_POPOVER,isDescending:n.isDescending,searchString:n.searchString}),_=q.useDispatch(),I=ue.useLocation(),A=h.useCallback(async U=>{try{const u=(i?await z.getStudentFilter(p):await z.getFilterRosterUser({...p,byStudent:U})).data?.items||[];o(u)}catch(L){_(t.setAlert({type:"danger",message:L.response?.data?.title||L.message}))}},[JSON.stringify(p),i]),C=h.useCallback((U,L,u,a)=>{j(U),B({...p,searchBy:L,searchStringBy:u,isDescending:n.sortBy===a?n.isDescending:void 0,searchString:n.searchString})},[JSON.stringify(p),n.isDescending,n.searchString]),E=()=>{j("")},N=h.useCallback((U,L)=>{B({...p,searchBy:L,searchStringBy:U})},[JSON.stringify(p)]),$=h.useCallback((U,L)=>{L&&m?.({...n,[M.SearchBy[L]]:U})},[JSON.stringify(n)]);return h.useEffect(()=>{if(!I.pathname.includes("users/assign-student"))return;const U=u=>u.sort((a,y)=>a.localeCompare(y)),L=p.searchStringBy?.toLowerCase()||"";if(p.searchBy===M.SearchBy.Grade)o(M.GRADE);else{let u=[];switch(p.searchBy){case M.SearchBy.Name:A(!0);break;case M.SearchBy.Teacher:u=v?.map(r=>r.label).filter(Boolean)||[];break;case M.SearchBy.Assistant:u=S?.map(r=>r.label).filter(Boolean)||[];break;case M.SearchBy.Counselor:u=c?.map(r=>r.label).filter(Boolean)||[];break;case M.SearchBy.SecondaryTeacher:u=x?.map(r=>r.label).filter(Boolean)||[];break}const a=Array.from(new Set(u)),y=L?a.filter(r=>r.toLowerCase().includes(L)):a,g=U(y);o(g)}},[JSON.stringify(p),v,S,c,x,I.pathname]),h.useEffect(()=>{!(I.pathname.includes("users/assign-student")&&p.searchBy!==void 0)&&p.searchBy!==void 0&&A()},[JSON.stringify(p),I.pathname]),{popoverFilters:p,popoverId:f,users:d,handleFilterIcon:C,handleCloseFilter:E,handleSearch:N,handleChangeFilters:$}},pe=({headers:e,filters:n,onChangeFilters:m,isStudentFilter:i,teacherOptions:v=[],assistantOptions:S=[],counselorOptions:c=[],secondaryTeacherOptions:x=[]})=>{const{popoverId:f,users:j,handleFilterIcon:d,handleCloseFilter:o,handleSearch:p,handleChangeFilters:B}=ze({filters:n,onChangeFilters:m,isStudentFilter:i,teacherOptions:v,assistantOptions:S,counselorOptions:c,secondaryTeacherOptions:x}),_=Object.entries(n).filter(([C,E])=>E!==""&&!(Array.isArray(E)&&E.length===0)&&E!==null&&E!==void 0).map(([C])=>C),I=Object.entries(M.SearchBy).filter(([C,E])=>isNaN(Number(C))),A=_.map(C=>I.find(([E])=>E===C)).filter(C=>!!C);return s.jsx("tr",{children:e.map(C=>C.onSelectAll?s.jsx("th",{className:`align-middle text-center ${C.className}`,children:s.jsx("input",{type:"checkbox",onChange:()=>C.onSelectAll?.(),checked:C.isCheckAll??!1})},C.name):s.jsx(Pe,{users:j,data:C,isCenter:C.isCenter,filters:n,popoverId:f,selectedOptions:n.searchByStrings,onSearch:p,onClose:o,onOpenFilter:d,onChangeFilters:m,onOptionsChange:B,isActive:typeof C.searchBy=="number"&&A.some(([E,N])=>N===C.searchBy)},C.name))})},He=()=>{const e=q.useDispatch(),n=q.useSelector(x=>x?.common?.user?.schoolName)||"",m=async x=>{e(t.setLoading(!0));try{const f=await z.getRosterUserExport(x),j=f.data.items||f.data,d=i(j),o=document.createElement("a");o.href=d,o.download=`${n}_Users_Report.csv`,o.click()}catch(f){e(t.setAlert({type:"danger",message:f.response?.data?.title||f.message}))}e(t.setLoading(!1))},i=x=>{let f=`First Name,Last Name,Email,Phone,Age,Grade,Tiers,Role,Active Status,Create Time,Roster Sourced Id,Roster Status,Roster Family Name,Roster Middle Name,Roster Given Name,Roster Email,Roster Role,Roster Grades,Teachers,Assistants,Counselors,SupportTeachers,EduTeachers
2
+ `;const j=x.map(d=>{const o=d.dateOfBirth!==t.DATE_MIN_VALUE?ce.differenceInCalendarYears(new Date,ce.parseISO(d.dateOfBirth)):"";return`${c(d.firstName)},${c(d.lastName)},${c(d.email)},${c(d.phoneNumber)},${o},${c(d.grade)},${c(d.appType||"")},${c(d.roles.join(", ").replace("SecondaryTeacher","SupportTeacher"))},${d.isActive?"Active":"Inactive"},${t.formatLocalTime(d?.createTime,"yyyy-MM-dd HH:mm")},${c(d.sourcedId)},${c(d.rosterUser?.status)},${c(d.rosterUser?.familyName)},${c(d.rosterUser?.middleName)},${c(d.rosterUser?.givenName)},${c(d.rosterUser?.email)},${c(d.rosterUser?.role)},${c(d.rosterUser?.grades)},${c(d.teachers)},${c(d.assistants)},${c(d.counselors)},${c(d.supportTeachers)},${c(d.eduTeachers)}`}).join(`
3
+ `);return`${M.CSV_PREFIX}${f}${encodeURIComponent(j)}`},v=async x=>{e(t.setLoading(!0));try{const f=await z.getTeacherClassCodesExport(x),j=f?.data?.items||f?.data||[],d=S(j),o=document.createElement("a");o.href=d,o.download="Classcode.csv",o.click()}catch(f){e(t.setAlert({type:"danger",message:f.response?.data?.title||f.message}))}e(t.setLoading(!1))},S=x=>{let f=`Teacher name,Teacher Email,Teacher code
4
+ `;const o=(Array.isArray(x)?x:[]).filter(p=>p.roles&&p.roles.includes("Teacher")).map(p=>`${c(p.fullName)},${c(p.email)},${c(p?.assignCode||"")}`).join(`
5
+ `);return`${M.CSV_PREFIX}${f}${encodeURIComponent(o)}`},c=x=>x?`"${x.replace(/"/g,'""').replaceAll(/\n/g," ")}"`:"";return{exportUsers:m,exportClassCodes:v}},ge=`${t.BASE_URL}/api/ImportCsv/csv`,Z=`${t.BASE_URL}/api/Teacher`,Ve=(e,n)=>t.apiUpload.post(`${ge}/${n}`,e),le=e=>t.apiUpload.post(`${ge}/importClassReflection`,e),Ge=(e,n)=>t.apiUpload.post(`${Z}/adminImportStudentByTeacherId/${e}`,n),qe=e=>t.apiUpload.post(`${Z}/adminImport`,e),Je=(e=!0)=>t.api.get(`${Z}/download-template-file-user?hasEsSchool=${e}`),Ke=(e,n,m=!0)=>t.apiUpload.post(`${Z}/validate-csv-template-student/${n}?hasEsSchool=${m}`,e);var fe=(e=>(e.Students="students",e.Subjects="subjects",e.Grades="grades",e.Attendances="attendances",e.ClassReflection="classReflection",e.Others="others",e.AllUser="allUser",e))(fe||{});const se="csvupload",ie={teacherName:"",teacherEmail:"",studentIds:[],file:""},We=()=>{const e=q.useDispatch(),n=q.useSelector(g=>g.common.isLoading),[m,i]=h.useState(null),[v,S]=h.useState(),[c,x]=h.useState([]),[f,j]=h.useState(ie),[d,o]=h.useState(),p=window.location.hostname,B=p.includes("isb")||p.includes("stage"),[_,I]=h.useState(0),[A,C]=h.useState(""),E=async()=>{e(t.setLoading(!0));try{const l=await Je();var g=new Blob([l.data.content],{type:"text/csv"});const O=window.URL.createObjectURL(g);var r=document.createElement("a");r.href=O,r.setAttribute("download",l.data.nameFile),r.click(),e(t.setAlert({type:"success",message:"Download successfully"}))}catch(l){e(t.setAlert({type:"danger",message:l.message}))}e(t.setLoading(!1))},N=h.useCallback(async g=>{if(!m||!g)return;e(t.setLoading(!0));try{const T=new FormData;if(T.append("file",g,g.name),m=="allUser"){let H=(await g.text()).trim();const w=H.split(`
6
+ `).map(b=>b.trim()),k=w.findIndex(b=>b.split(",").includes("FirstName"));if(k===0)throw new Error("Invalid CSV: Missing header row.");H=w.slice(k).join(`
7
+ `);const F=oe.parse(H,{header:!0,skipEmptyLines:!0}),V=F.meta.fields,J=F.data;if(!V)throw new Error("Unable to determine header from CSV file");const ee=20,D=[];for(let b=0;b<J.length;b+=ee){const Y=J.slice(b,b+ee),G=oe.unparse({fields:V,data:Y});D.push(G)}for(let b=0;b<D.length;b++){const Y=new Blob([D[b]],{type:"text/csv"}),G=new FormData;G.append("file",Y,`students_chunk${b+1}.csv`),await qe(G)}}else B?m=="classReflection"&&await le(T):await Ve(T,m.toString());e(t.setAlert({type:"success",message:"Import CSV successfully"}))}catch(T){e(t.setAlert({type:"danger",message:T.response?.data?.title||T.message}))}e(t.setLoading(!1));const r=document.getElementById(se),l=document.getElementById("import-student"),O=document.getElementById("import-classReflection");r&&(r.value=""),l&&(l.value=""),O&&(O.value="")},[m]),$=async g=>{if(!_){e(t.setAlert({type:"danger",message:"Select teacher before import csv"}));return}if(!m||!g)return;e(t.setLoading(!0));try{const l=new FormData;l.append("file",g,g.name),await Ge(_,l),e(t.setAlert({type:"success",message:"Import CSV successfully"}))}catch(l){e(t.setAlert({type:"danger",message:l.response?.data?.title||l.message}))}e(t.setLoading(!1));const r=document.getElementById("teacherSelector");r&&(r.value="")},U=async g=>{if(!v||!v)return;e(t.setLoading(!0));try{const l=new FormData;l.append("file",v,v.name),l.append("teacherName",g.teacherName),l.append("teacherEmail",g.teacherEmail),g.studentIds.forEach(O=>{l.append("studentIds",O)}),await le(l),e(t.setAlert({type:"success",message:"Import CSV successfully"})),j(ie)}catch(l){e(t.setAlert({type:"danger",message:l.response?.data?.title||l.message}))}e(t.setLoading(!1));const r=document.getElementById(se);r&&(r.value="")},L=g=>{I(g.value)},u=g=>{o(g),C(g?.name||"")},a=()=>{if(!d){e(t.setAlert({type:"danger",message:"Select CSV to import"}));return}$(d)};return{isLoading:n,id:se,setType:i,upload:N,initImportReflection:f,setInitImportReflection:j,onConfirm:U,CSVType:fe,dataFile:v,setDataFile:S,setArrStudent:x,arrStudent:c,isCheckDomainIBS:B,onChangeTeacher:L,uploadByTeacherId:$,setDataFileImportStudent:u,onUpLoadStudentFile:a,defaultTeacher:_,fileName:A,onStudentSubmit:()=>{e(t.setModal({isOpen:!0,type:"warning",message:"Are you sure upload this file?",onConfirm:()=>{a()}}))},downloadTemplateUser:E}},Ye=()=>{const e=q.useDispatch(),n=async v=>{e(t.setLoading(!0));try{await z.postRequestResendMail(v),e(t.setAlert({type:"success",message:"Send Successfully"}))}catch(S){e(t.setAlert({type:"danger",message:S.response?.data?.title||S.message}))}e(t.setLoading(!1))};return{handleSendMultiUsers:v=>{n({userIds:[...v]})},handleSendSingleUser:v=>{n({userIds:[v]})}}},te={fontWeight:500},ne={height:38,backgroundColor:"#2eb85c",borderColor:"#2eb85c"},Xe={display:"inline-block",fontSize:11,fontWeight:700,color:"#3b4ba8",backgroundColor:"#e9ecfb",borderRadius:4,padding:"1px 6px",marginRight:6,textTransform:"uppercase"},de=({label:e})=>s.jsx("span",{style:Xe,children:e}),ae=({label:e})=>s.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:11,fontWeight:700,color:"#3b4ba8",backgroundColor:"#e9ecfb",borderRadius:4,padding:"3px 8px",textTransform:"uppercase"},children:e}),Qe=({isActive:e,t:n})=>s.jsxs("span",{style:{display:"inline-flex",alignItems:"center",fontSize:12,fontWeight:600,color:e?"#047857":"#6b7280",backgroundColor:e?"#d1fae5":"#f3f4f6",borderRadius:"20px",padding:"4px 12px"},children:[s.jsx("span",{style:{width:"6px",height:"6px",borderRadius:"50%",backgroundColor:e?"#10b981":"#9ca3af",marginRight:"8px"}}),n(e?"active":"inactive")]}),re=e=>(e||[]).map(n=>n==="SecondaryTeacher"?"SupportTeacher":n).join(", "),Ze="user",ye=()=>{const{queryName:e,userList:n,totalItems:m,filters:i,fullName:v,removeData:S,changeFilters:c,reDirectDetailPage:x,switchUser:f,handleSyncRosterUsers:j,rosterUserInfo:d,onSelectUser:o,userIds:p,onSelectAllUser:B,isCheckAll:_}=Ie(),{handleSendMultiUsers:I}=Ye(),{upload:A}=We(),{exportUsers:C,exportClassCodes:E}=He(),{t:N}=Q.useTranslation(),$=()=>C(i),U=()=>E(i),L=[{name:"",isCenter:!0,onSelectAll:B,isCheckAll:_}].concat(M.UserColumns);return s.jsxs("div",{className:`fadeIn animated h-100 ${t.screenWidth<=767?t.styles["p-0-12"]:""}`,children:[s.jsx("h5",{className:"mt-4 mb-2",children:N(`${Ze}`)}),s.jsxs(R.Row,{className:"my-2",children:[s.jsx(R.Col,{md:8,children:s.jsx(t.SearchBoxContainer,{text:N("create_user"),onClick:()=>x(),initValue:e||"",onSearch:u=>c({searchString:u}),placeholder:N("type_something_to_search_by_user_name")})}),s.jsxs(R.Col,{md:4,className:"d-flex justify-content-end align-items-center",children:[N("total_of_users")," : ",m]}),s.jsxs(R.Col,{md:12,className:"d-flex justify-content-end my-2 flex-wrap",style:{gap:"8px"},children:[s.jsx("button",{className:"btn btn-success d-flex align-items-center border-0",style:ne,onClick:()=>I(p),children:s.jsx("p",{className:`${t.styles["button-content"]} mb-0`,style:te,children:N("welcome_email_resend")})}),s.jsx(R.Input,{id:"import-user",className:"d-none",type:"file",onChange:u=>A(u.target.files[0]),accept:"text/csv"}),s.jsx(we,{text:N("sync_roster_users"),onClick:j}),s.jsxs("button",{className:"btn btn-success d-flex align-items-center border-0 p-0",style:ne,onClick:U,children:[s.jsx("div",{className:`${t.styles["button-icon"]}`,children:s.jsx("img",{src:"images/export-icon.svg",alt:""})}),s.jsx("p",{className:`${t.styles["button-content"]} mb-0`,style:te,children:N("export_class_code_to_csv")})]}),s.jsxs("button",{className:"btn btn-success d-flex align-items-center border-0 p-0",style:ne,onClick:$,children:[s.jsx("div",{className:`${t.styles["button-icon"]}`,children:s.jsx("img",{src:"images/export-icon.svg",alt:""})}),s.jsx("p",{className:`${t.styles["button-content"]} mb-0`,style:te,children:N("export_to_csv")})]})]})]}),s.jsxs(R.Row,{className:"mb-2",children:[s.jsx(R.Col,{md:12,children:s.jsx("div",{style:{overflow:"auto"},children:s.jsxs(R.Table,{bordered:!0,hover:!0,striped:!0,size:"sm",children:[s.jsx("thead",{children:s.jsx(pe,{headers:L,filters:i,fullName:v,onChangeFilters:c})}),s.jsxs("tbody",{children:[n&&n.length>0&&n.map(u=>{const a=(u.appType||"").toUpperCase(),y=a.includes("ES")&&a.includes("MS");return s.jsxs("tr",{children:[s.jsx("td",{className:"align-middle",children:s.jsx("input",{type:"checkbox",onChange:()=>o(u.id),checked:p.includes(u.id)??!1})}),s.jsx("td",{className:"align-middle",children:s.jsx(t.LinkEditButton,{label:`${u.fullName}`,onClick:()=>x(u.id)})}),s.jsx("td",{className:"align-middle",children:u.email}),s.jsx("td",{className:"align-middle",children:u.dateOfBirth!==t.DATE_MIN_VALUE&&ve(new Date,new Date(u.dateOfBirth))}),s.jsx("td",{className:"align-middle",children:y?s.jsxs(s.Fragment,{children:[s.jsxs("div",{children:[s.jsx(de,{label:"ES"}),re(u.esRoles)]}),s.jsxs("div",{className:"mt-1",children:[s.jsx(de,{label:"MS"}),re(u.msRoles)]})]}):!!u.roles&&re(u.roles)}),s.jsx("td",{className:"align-middle text-uppercase",children:y?s.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px",alignItems:"center",width:"fit-content"},children:[s.jsx(ae,{label:"ES"}),s.jsx(ae,{label:"MS"})]}):u.appType?s.jsx(ae,{label:u.appType}):null}),s.jsx("td",{className:"align-middle",children:s.jsx(Qe,{isActive:u.isActive,t:N})}),s.jsx("td",{className:"align-middle",children:t.formatLocalTime(u?.createTime,"yyyy-MM-dd HH:mm")}),s.jsx("td",{children:d(u)}),s.jsx("td",{className:"align-middle",children:s.jsx(t.FaUsersCog,{style:{fontSize:"18px",margin:"0 10px",cursor:"pointer"},onClick:()=>f(u.id)})}),s.jsx("td",{className:"align-middle",style:{padding:"0 15px"},children:s.jsx(t.DeleteButtonIcon,{onClick:()=>S(u.id)})})]},`${u.id}_${u.appType||""}`)}),(!n||!n.length)&&s.jsx("tr",{children:s.jsx("td",{colSpan:12,className:"p-0",children:s.jsx(t.EmptyDataAlert,{className:"mb-0",label:N("user")})})})]})]})})}),s.jsx(R.Col,{md:12,children:s.jsx(t.CustomPagination,{filters:i,totalRecordCount:m,changePageSize:u=>c({pageSize:u}),changePage:u=>c({currentPage:u})})})]})]})},es=Object.freeze(Object.defineProperty({__proto__:null,default:ye},Symbol.toStringTag,{value:"Module"}));exports.AiOutlineDownload=De;exports.TableHeader=pe;exports.UserList=ye;exports.UserList$1=es;exports.validateCsvApi=Ke;