Files
edr-platform/apps/edr-freight-web/backoffice/public/_um/assets/useApplications-DVlMarnX.js
2026-06-13 14:32:26 +03:00

2 lines
5.1 KiB
JavaScript

import{l as o,w as r,m as F,u as L,k,n as E,o as y,t as f,r as m,az as M,j as a,I as Q,v as T,aF as $}from"./index-Db-xuq0b.js";import{C as I}from"./checkbox-Dd0VhnrO.js";import{b as R,d as z,c as B}from"./form-BeLK5rTt.js";import{S as H}from"./search-CM5F2ZRy.js";const U={assignPermissionsToPositionType:e=>o.post("/position-type-permissions/assign-seconds-for-first",e,{headers:r()}),getPermissionsByPositionTypeId:e=>o.get(`/position-type-permissions/given-first/${e}`,{headers:r()}),deletePermissionRelation:e=>o.delete(`/position-type-permissions/${e}`,{headers:r()})},N={getAll:e=>o.get("/permissions",{headers:r(),params:e}),getById:e=>o.get(`/permissions/${e}`,{headers:r()}),create:e=>o.post("/permissions",e,{headers:r()}),update:(e,c)=>o.put(`/permissions/${e}`,c,{headers:r()}),delete:e=>o.delete(`/permissions/${e}`,{headers:r()})},D=({params:e,permissionId:c}={})=>{const l=F(),{t:u}=L(),{handleError:i}=k(u),{data:x,isLoading:v,refetch:P}=E({queryKey:["permissions",e],queryFn:()=>N.getAll(e).then(n=>n.data),enabled:!!e,staleTime:1e3*60*5}),{data:p,isLoading:h,refetch:t}=E({queryKey:["permission",c],queryFn:()=>N.getById(c).then(n=>n.data),enabled:!!c}),S=y({mutationFn:n=>N.create(n),onSuccess:()=>{f.success("Permission created"),l.invalidateQueries({queryKey:["permissions"]})},onError:n=>{i(n)}}),j=y({mutationFn:({id:n,data:g})=>N.update(n,g),onSuccess:()=>{f.success("Permission updated"),l.invalidateQueries({queryKey:["permissions"]})},onError:n=>{i(n)}}),s=y({mutationFn:n=>N.delete(n),onSuccess:()=>{f.success("Permission deleted"),l.invalidateQueries({queryKey:["permissions"]})},onError:n=>{i(n)}});return{permissions:x,selectedPermission:p,isPermissionsLoading:v,isPermissionLoading:h,refetchPermissions:P,refetchPermission:t,createPermission:S,updatePermission:j,deletePermission:s}},q=50,V=({selectedPermissions:e,onPermissionChange:c,applicationId:l,disabled:u=!1})=>{const[i,x]=m.useState(""),[v,P]=m.useState(""),[p,h]=m.useState(q),t=m.useRef(!1),S=m.useRef(null),j=M();m.useEffect(()=>{const d=setTimeout(()=>{P(i),h(q),t.current=!1},300);return()=>clearTimeout(d)},[i]);const{permissions:s,isPermissionsLoading:n}=D({params:l?{take:p,skip:0,search:v||void 0,applicationId:l}:void 0});m.useEffect(()=>{s!=null&&s.count&&!t.current&&p!==s.count&&(t.current=!0,h(s.count))},[s==null?void 0:s.count,p]);const g=m.useMemo(()=>{var d;return(d=s==null?void 0:s.items)!=null&&d.length?i.trim()?s.items.filter(A=>{const w=j(A.name).toLowerCase(),K=A.key.toLowerCase(),b=i.toLowerCase();return w.includes(b)||K.includes(b)}):s.items:[]},[s==null?void 0:s.items,i,j]);return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"relative",children:[a.jsx(H,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 h-4 w-4"}),a.jsx(Q,{placeholder:T("contentManagement.searchPermissions"),value:i,onChange:d=>x(d.target.value),className:"pl-10"})]}),l?n?a.jsx("div",{className:"flex justify-center py-10",children:a.jsx($,{className:"h-8 w-8 animate-spin text-gray-400"})}):a.jsx("div",{ref:S,className:"max-h-96 overflow-y-auto border rounded-md p-4 bg-background",children:g.length===0?a.jsx("div",{className:"text-center py-4 text-gray-500",children:i?T("contentManagement.noPermissionsFound"):T("contentManagement.noPermissionsAvailable")}):a.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:g?.map(d=>a.jsxs(R,{className:"flex flex-row items-start space-x-3 space-y-0",children:[a.jsx(z,{children:a.jsx(I,{checked:e.includes(d.id),disabled:u,onCheckedChange:A=>{u||c(d.id,!!A)}})}),a.jsx(B,{className:"capitalize cursor-pointer font-normal text-sm",children:j(d.name)})]},d.id))})}):a.jsx("div",{className:"max-h-96 overflow-y-auto border rounded-md p-4 bg-background text-center text-gray-500",children:T("contentManagement.selectApplicationToLoadPermissions")||"Select an application to load permissions."}),g.length>0&&a.jsx("div",{className:"text-xs text-muted-foreground px-1",children:T("contentManagement.showingPermissions",{count:g.length,total:(s==null?void 0:s.count)||0})})]})},C={getAll:()=>o.get("/applications",{headers:r()}),getById:e=>o.get(`/applications/${e}`,{headers:r()}),create:e=>o.post("/applications",e,{headers:r()}),update:(e,c)=>o.put(`/applications/${e}`,c,{headers:r()}),delete:e=>o.delete(`/applications/${e}`,{headers:r()})},W=()=>{const e=F(),{t:c}=L(),{handleError:l}=k(c),{data:u,isLoading:i,isError:x,refetch:v}=E({queryKey:["applications"],queryFn:()=>C.getAll().then(t=>t.data),staleTime:1e3*60*5}),P=y({mutationFn:t=>C.create(t),onSuccess:()=>{f.success("Application created"),e.invalidateQueries({queryKey:["applications"]})},onError:t=>{l(t)}}),p=y({mutationFn:({id:t,data:S})=>C.update(t,S),onSuccess:()=>{f.success("Application updated"),e.invalidateQueries({queryKey:["applications"]})},onError:t=>{l(t)}}),h=y({mutationFn:t=>C.delete(t),onSuccess:()=>{f.success("Application deleted"),e.invalidateQueries({queryKey:["applications"]})},onError:t=>{l(t)}});return{applications:(u==null?void 0:u.items)??[],applicationsResponse:u,isLoading:i,isError:x,refetch:v,createApplication:P,updateApplication:p,deleteApplication:h}};export{V as P,U as p,W as u};