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

2 lines
5.8 KiB
JavaScript

import{f as ne,d as ae,az as te,r as i,aR as ie,m as oe,j as e,v as n,I as z,B as I,t as p}from"./index-Db-xuq0b.js";import{u as re}from"./index.esm-BG4gweZJ.js";import{u as me,o as le,a as ce,s as h}from"./zod-Df58YiJ6.js";import{F as de,a as j,b as y,c as f,d as F,e as b}from"./form-BeLK5rTt.js";import{u as pe}from"./usePositionTypes-BW1bd5Uk.js";import{u as ue,P as ge,p as w}from"./useApplications-DVlMarnX.js";import{u as xe}from"./useUnit-C4s9nepK.js";import{S as M,a as A,b as L,c as T,d as k}from"./select-BoQxM42A.js";import{S as O}from"./single-select-D9ZG1edj.js";import{u as he}from"./useOrganizations-DiuNBweX.js";import{C as je,a as ye,b as fe,d as be}from"./card-BBWyxDss.js";import"./label-CsFy6wpo.js";import"./checkbox-Dd0VhnrO.js";import"./Checkbox-IILksgz0.js";import"./get-auto-contrast-value-Da6zqqWm.js";import"./InputsGroupFieldset-COkNgcEo.js";import"./use-uncontrolled-C3HRHW6t.js";import"./search-CM5F2ZRy.js";import"./unitService-CmGVtFHQ.js";import"./popover-X-j_SRnG.js";import"./Popover-CzANYrEa.js";import"./command-Cr0tMDDu.js";import"./organizationsService-BEVk8qa1.js";const Se=le({nameAm:h().min(2),nameEn:h().min(2),permissions:ce(h())}),Ce=()=>{const V=ne(),{createPositionType:E,positionTypes:U,isLoading:q}=pe(),{user:o}=ae(),{getList:B}=xe(),r=te(),H=o!=null&&o.employee&&o.employee.length>0?o.employee[0].organizationId:void 0,[l,Q]=i.useState(H??""),[u,S]=i.useState(""),[C,K]=i.useState(""),[R,D]=i.useState(""),[P,v]=i.useState(!1),G=ie.language,{applications:g,isLoading:J}=ue(),N=oe(),{organizationsResponse:c,isLoading:W}=he("Org",{take:3e3}),{data:d,isLoading:X}=B(l,{take:3e3,skip:0}),Y=i.useMemo(()=>((c==null?void 0:c.items)??[])?.map(s=>({value:s.id,label:r(s.name)||s.id})),[c,r]),Z=i.useMemo(()=>{var s;return(((s=d==null?void 0:d.data)==null?void 0:s.items)??[])?.map(t=>({value:t.id,label:r(t.name)||t.id}))},[d,r]);i.useEffect(()=>{S("")},[l]);const a=re({resolver:me(Se),defaultValues:{nameAm:"",nameEn:"",permissions:[]}}),_=(s,t)=>{const m=a.getValues("permissions");t?a.setValue("permissions",[...m,s]):a.setValue("permissions",m.filter(x=>x!==s))},$=async s=>{var t;if(D(s),!s){a.setValue("permissions",[]);return}v(!0);try{const x=((t=(await w.getPermissionsByPositionTypeId(s)).data.items)==null?void 0:t?.map(se=>se.id))??[];a.setValue("permissions",x)}catch{p.error(n("contentManagement.copyPermissionsFailed"))}finally{v(!1)}},ee=async s=>{try{if(!u){p.error(n("organization.selectUnit"));return}const m=(await E.mutateAsync({name:{am:s.nameAm,en:s.nameEn},key:s.nameEn.toLowerCase().replace(/\s+/g,"-"),unitId:u})).data.id;s.permissions.length>0&&await w.assignPermissionsToPositionType({firstId:m,secondIds:s.permissions}),N.invalidateQueries({queryKey:["position-type"]}),N.invalidateQueries({queryKey:["position-types"]}),p.success(n("contentManagement.permissionSuccess")),V("/user-management/position-management")}catch{p.error(n("contentManagement.permissionSuccess"))}};return e.jsx(de,{...a,children:e.jsxs("form",{onSubmit:a.handleSubmit(ee),className:"space-y-6",children:[e.jsx(j,{control:a.control,name:"nameEn",render:({field:s})=>e.jsxs(y,{children:[e.jsx(f,{children:n("contentManagement.englishName")}),e.jsx(F,{children:e.jsx(z,{...s,placeholder:"e.g. HR Coordinator"})}),e.jsx(b,{})]})}),e.jsx(j,{control:a.control,name:"nameAm",render:({field:s})=>e.jsxs(y,{children:[e.jsx(f,{children:n("contentManagement.amharicName")}),e.jsx(F,{children:e.jsx(z,{...s,placeholder:"e.g. ሰብል አያት"})}),e.jsx(b,{})]})}),e.jsxs("div",{className:"mb-4 w-full",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:n("organization.organization")||"Organization"}),e.jsx(O,{options:Y,value:l,onValueChange:Q,placeholder:W?n("common.loading"):n("organization.selectOrganization")||"Select an organization"})]}),e.jsxs("div",{className:"mb-4 w-full",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:n("organization.selectUnit")}),e.jsx(O,{options:Z,value:u,onValueChange:S,placeholder:l?X?n("common.loading"):n("organization.selectUnit"):n("organization.selectOrganizationFirst")||"Select an organization first"})]}),e.jsxs("div",{className:"mb-4 w-1/2",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700",children:n("contentManagement.selectApplication")}),e.jsxs(M,{value:C,onValueChange:s=>K(s),disabled:J,children:[e.jsx(A,{className:"mt-1 block w-full border-gray-300 rounded-md shadow-sm",children:e.jsx(L,{placeholder:"Select an Application"})}),e.jsx(T,{className:"max-h-60 overflow-y-auto",children:g==null?void 0:g?.map(s=>e.jsx(k,{value:s.id,children:G==="en"?s.name.en:s.name.am},s.id))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700",children:n("contentManagement.copyPermissionsFrom")}),e.jsxs(M,{value:R,onValueChange:$,disabled:q||P,children:[e.jsx(A,{className:"w-full",children:e.jsx(L,{placeholder:P?n("common.loading"):n("contentManagement.selectPositionToCopy")})}),e.jsx(T,{className:"max-h-60 overflow-y-auto",children:U?.map(s=>e.jsx(k,{value:s.id,children:r(s.name)},s.id))})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:n("contentManagement.copyPermissionsHint")})]}),e.jsx(j,{control:a.control,name:"permissions",render:({field:s})=>e.jsxs(y,{children:[e.jsx(f,{children:n("contentManagement.permission")}),e.jsx(ge,{selectedPermissions:s.value,onPermissionChange:_,applicationId:C}),e.jsx(b,{})]})}),e.jsxs("div",{className:"flex justify-end gap-4",children:[e.jsx(I,{type:"button",variant:"outline",onClick:()=>window.history.back(),children:n("common.Cancel")}),e.jsx(I,{type:"submit",children:n("delegation.save")})]})]})})},Ge=()=>e.jsx("div",{className:"p-6 max-w-3xl mx-auto",children:e.jsxs(je,{children:[e.jsx(ye,{children:e.jsx(fe,{children:n("contentManagement.createPermission")})}),e.jsx(be,{children:e.jsx(Ce,{})})]})});export{Ge as default};