PageSourceSearch

https://app.gdprregister.eu/build/assets/UsersTab-CGeiki28.js

js gdprregister.eu collected 2026-09-24 19:33:56 UTC 7,142 bytes, 1 lines download raw bytes

1import{r as i,j as n,c as C}from"./app-1vgDEoGC.js";import{A as S}from"./Avatar-D8GC2Sii.js";import{B as U}from"./Button-C1UBfgUD.js";import{S as R}from"./Switch-BAKt-sxX.js";import{E as N}from"./EmptyState-BcOEBujR.js";import{A as L}from"./AccessSummary-BXMtPlgJ.js";import{D as M}from"./DataTable-CPR8XibB.js";import{P}from"./Pill-DosfGYhZ.js";import{T as A}from"./TextInput-DRsNYNVU.js";import{B as $}from"./BuildingIcon-DrSqsaIy.js";import{C as v}from"./tokens-B37dFduH.js";import{R as k}from"./RowMenu-AMwbdSlG.js";import D from"./RolePill-BQLvU6Vi.js";import{s as _}from"./companyUser.module-BqHF4_wF.js";import"./preload-helper-I4rgV-VL.js";import"./merge-WwJn_B7a.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./form.module-DRFqX35K.js";import"./types-sVWOCpa1.js";import"./AlertIcon-C51GveBo.js";import"./DocumentIcon-CpeEcxBx.js";import"./EyeIcon-jxqxDFBy.js";import"./ListChecksIcon-n0DHOX5y.js";import"./MinusIcon-BObqUiMw.js";import"./PencilIcon-CnTJvrTd.js";import"./ShieldCheckIcon-BOo00ebU.js";import"./SearchInput-CaQKKPMx.js";import"./SearchIcon-kBxLXvqZ.js";import"./ChevronLeftIcon-CsJ3sA3N.js";import"./ChevronRightIcon-CBtU0BC-.js";import"./Checkbox-BlIsyWBV.js";import"./Tooltip-BHql35ey.js";const F="_none_1xyam_3",T="_chip_1xyam_8",z="_button_1xyam_23",B="_pop_1xyam_44",H="_heading_1xyam_54",I="_search_1xyam_65",O="_list_1xyam_71",K="_item_1xyam_76",V="_empty_1xyam_87",a={none:F,chip:T,button:z,pop:B,heading:H,search:I,list:O,item:K,empty:V},E=250,W=10;function q({names:x,total:c,labels:l}){const[p,u]=i.useState(!1),[g,y]=i.useState(null),[d,f]=i.useState(""),m=i.useRef(null),e=i.useRef(null),r=i.useMemo(()=>[...x].sort((o,s)=>o.localeCompare(s)),[x]);if(i.useEffect(()=>{if(!p)return;const o=()=>u(!1),s=h=>{const w=h.target;e.current?.contains(w)||m.current?.contains(w)||u(!1)},t=h=>{h.target?.closest?.(`.${a.pop}`)||u(!1)};return document.addEventListener("mousedown",s),window.addEventListener("scroll",t,!0),window.addEventListener("resize",o),()=>{document.removeEventListener("mousedown",s),window.removeEventListener("scroll",t,!0),window.removeEventListener("resize",o)}},[p]),r.length===0)return n.jsx("span",{className:a.none,children:"—"});if(c>0&&r.length>=c)return n.jsx(P,{color:v.infoText,bg:v.infoBg,children:l.all});if(r.length===1)return n.jsx("span",{className:a.chip,title:r[0],children:r[0]});const j=o=>{if(o.stopPropagation(),!p&&m.current){const s=m.current.getBoundingClientRect(),t=Math.max(8,Math.min(s.left,window.innerWidth-E-16));y({top:s.bottom+6,left:t})}u(s=>!s)},b=r.filter(o=>o.toLowerCase().includes(d.trim().toLowerCase()));return n.jsxs("span",{onClick:o=>o.stopPropagation(),children:[n.jsxs("button",{ref:m,type:"button",className:a.button,"aria-haspopup":"dialog","aria-expanded":p,onClick:j,children:[n.jsx($,{size:12}),l.count(r.length)]}),p&&g?C.createPortal(n.jsxs("div",{ref:e,className:a.pop,style:{top:g.top,left:g.left,width:E},role:"dialog","aria-label":l.heading(r.length,c),children:[n.jsx("p",{className:a.heading,children:l.heading(r.length,c)}),r.length>=W?n.jsx(A,{autoFocus:!0,value:d,placeholder:l.search,"aria-label":l.search,className:a.search,onChange:o=>f(o.target.value)}):null,n.jsxs("div",{className:a.list,children:[b.map(o=>n.jsx("div",{className:a.item,children:o},o)),b.length===0?n.jsx("p",{className:a.empty,children:l.noMatches}):null]})]}),document.body):null]})}function Ee({users:x,isParent:c,includeSubs:l,onIncludeSubsChange:p,entityCount:u,moduleCatalogue:g,levelLabels:y,roleById:d,onEdit:f,onRemove:m,t:e}){const r=i.useMemo(()=>({view:y[1]??"View",edit:y[2]??"Edit"}),[y]),j=i.useMemo(()=>{const o=[{id:"name",accessorFn:s=>`${s.name} ${s.email}`,header:e("companyUser.name","Name"),cell:s=>{const t=s.row.original;return n.jsxs("span",{className:_.identity,children:[n.jsx(S,{name:t.name,size:"md",decorative:!0}),n.jsxs("span",{children:[n.jsx("span",{className:_.identityName,children:t.name}),n.jsx("span",{className:_.identitySub,children:t.email})]})]})}},{id:"position",accessorKey:"position",header:e("companyUser.position","Position"),cell:s=>n.jsx("span",{className:_.muted,children:s.row.original.position||"—"})},{id:"role",accessorFn:s=>d.get(s.role_id??"")?.label??"",header:e("companyUser.role","Role"),cell:s=>n.jsx(D,{roleId:s.row.original.role_id,label:d.get(s.row.original.role_id??"")?.label??""})}];return c&&o.push({id:"entities",accessorFn:s=>s.memberships.length,header:e("companyUser.entities","Entities"),enableColumnFilter:!1,sortDe
1scFirst:!1,cell:s=>n.jsx(q,{names:s.row.original.memberships.map(t=>t.company_name),total:u,labels:{all:e("companyUser.all_entities","All entities"),count:t=>`${t} ${e("companyUser.entity_count_many","entities")}`,search:e("companyUser.search_entities","Search entities…"),noMatches:e("general.no_results","No results"),heading:(t,h)=>`${t} / ${h} ${e("companyUser.entity_count_many","entities")}`}})}),o.push({id:"access",header:e("companyUser.module_access","Module access"),enableSorting:!1,enableColumnFilter:!1,cell:s=>{const t=s.row.original;return n.jsx(L,{access:t.module_access,modules:g,fixedLabel:d.get(t.role_id??"")?.fixed?e("companyUser.all_modules_edit","All modules — Edit"):void 0,emptyLabel:e("companyUser.no_module_access","No module access"),levelLabels:r})}}),o.push({id:"phone",accessorKey:"phone",header:e("companyUser.phone","Phone"),cell:s=>n.jsx("span",{className:_.muted,children:s.row.original.phone||"—"})}),o.push({id:"actions",header:"",enableHiding:!1,enableSorting:!1,enableColumnFilter:!1,cell:s=>{const t=s.row.original,h=[{label:e("companyUser.edit_user","Edit user"),onClick:()=>f(t)},{label:e("general.remove","Remove"),onClick:()=>m([t]),danger:!0}];return n.jsx(k,{items:h,label:e("general.actions","Actions")})}}),o},[e,c,d,g,r,u,f,m]),b=i.useMemo(()=>({name:e("companyUser.name","Name"),position:e("companyUser.position","Position"),role:e("companyUser.role","Role"),entities:e("companyUser.entities","Entities"),access:e("companyUser.module_access","Module access"),phone:e("companyUser.phone","Phone")}),[e]);return n.jsx(M,{data:x,columns:j,columnLabels:b,getRowId:o=>String(o.id),pinnedLeft:["name"],pinnedRight:["actions"],onRowClick:f,searchable:!0,selectable:!0,columnsMenu:!0,searchPlaceholder:e("companyUser.search_users","Search name or e-mail…"),countNoun:e("companyUser.count_one","user"),countNounPlural:e("companyUser.count_many","users"),renderBulkActions:({selected:o,clear:s})=>n.jsx(U,{size:"sm",variant:"secondary",onClick:()=>{m(o),s()},children:e("general.remove","Remove")}),toolbarActions:c?n.jsxs("span",{className:_.includeSubs,children:[e("register.include_sub_companies","Include subsidiaries"),n.jsx(R,{id:"cu-include-subs",on:l,onChange:p,"aria-label":e("register.include_sub_companies","Include subsidiaries")})]}):null,emptyState:({filtered:o,clearFilters:s})=>o?n.jsx(N,{title:e("general.no_results","No results"),action:n.jsx(U,{variant:"ghost",onClick:s,children:e("general.clear_filters","Clear filters")})}):n.jsx(N,{title:e("companyUser.no_users","No users"),description:e("companyUser.no_users_help","Invite a colleague to give them access.")})})}export{Ee as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.