File: //opt/netdata/usr/local/share/netdata/web/v3/3864.da91a2a4f098d1602f35.chunk.js
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"2dc1ac04d42d5596a31408e611f22d6247611f89"};var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e02f0977-4a6d-4ed4-9f5f-94ac9def8d8f",e._sentryDebugIdIdentifier="sentry-dbid-e02f0977-4a6d-4ed4-9f5f-94ac9def8d8f")}catch(e){}}(),(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[3864],{64091(e,t,n){n.d(t,{B9:()=>i});n(27495);const a=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,i=e=>!!e&&a.test(e)},80269(e,t,n){n.d(t,{y:()=>u});n(27495),n(25440),n(98992),n(54520),n(81454),n(37550),n(62953);var a=n(96540),i=n(42358),s=n(64091),o=n(40298);const r=(0,n(51510).default)(i.Select).withConfig({displayName:"styled__StyledSelect",componentId:"sc-18k0ifb-0"})(["width:100%;"]);n(71517),n(11379),n(93777),n(14190),n(12359),n(86097),n(17273),n(27415),n(19929),n(37583),n(55122),n(20230),n(57268),n(79733),n(25509),n(65223),n(60321),n(41927),n(11632),n(64377),n(66771),n(12516),n(68931),n(52514),n(35694),n(52774),n(49536),n(21926),n(94483),n(16215);const l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"name";return e.length?"string"===typeof e[0]?[...new Set(e)]:[...new Map(e.map((e=>[e[t],e]))).values()]:[]};var c=n(74848);const d=[],u=e=>{let{invitations:t,setInvitations:n}=e;const[u,m]=(0,a.useState)(d),[p,h]=(0,a.useState)(""),[f,b]=(0,a.useState)(""),g=(0,a.useCallback)((()=>b("")),[b]),y=(0,o.Vt)(),v=(0,a.useCallback)((e=>{h(e.toLowerCase())}),[h]),j=(0,a.useCallback)((()=>{m(d),n(d)}),[m,n]),x=(0,a.useCallback)((e=>{let{emails:t=d,invitations:a=d,isEmailValid:i}=e;const s=l(t).filter((e=>!y.includes(e)));if(m(s),!i)return void b("Invalid email");const{error:o}=(e=>{let{invitationEmails:t=[],emails:n=[]}=e;return{error:t.some((e=>n.includes(e)))?1===n.length?"Email already invited":"One or more emails have already been invited":void 0}})({invitationEmails:y,emails:t});if(o)return void b(o);const r=l(a);n(r),h(""),g()}),[u,y,n,m,h,g,b]),w=(0,a.useCallback)((e=>(0,s.B9)(e)&&!u.includes(e)),[u]),O=(0,a.useCallback)((()=>{p&&x({emails:[...u,p],invitations:[...t,{email:p,name:p.split("@")[0]}],isEmailValid:w(p)})}),[u,p,t,x,w]),C=(0,a.useCallback)((e=>{x({isEmailValid:!0,emails:e.map((e=>e.value)),invitations:e.map((e=>({email:e.value,name:e.value.split("@")[0]})))})}),[x]),k=(0,a.useCallback)((e=>{const n=e.clipboardData.getData("Text").toLowerCase().replace(/ /g,",").replace(/,,/g,",").split(",").filter((e=>w(e)))||d;x({emails:[...u,...n],invitations:[...t,...n.map((e=>({email:e,name:e.split("@")[0]})))],isEmailValid:n.length>0}),e.preventDefault()}),[u,t,w,x]),S=(0,a.useCallback)((e=>{if(p)switch(g(),e.key){case"Enter":case"Tab":case",":case" ":x({emails:[...u,p],invitations:[...t,{email:p,name:p.split("@")[0]}],isEmailValid:w(p)}),e.preventDefault()}}),[u,p,t,w,x]);return(0,c.jsxs)(i.Flex,{justifyContent:"between",column:!0,onPaste:k,children:[(0,c.jsx)(r,{components:{DropdownIndicator:null},inputValue:p,isClearable:!0,isMulti:!0,menuIsOpen:!1,onBlur:O,onChange:C,onInputChange:v,onKeyDown:S,onClear:j,placeholder:"Enter an email and hit enter",value:u.map((e=>{return{label:t=e,value:t};var t})),autoFocus:!0}),f&&(0,c.jsx)(i.Text,{color:"error",children:f})]})}},83864(e,t,n){n.d(t,{d:()=>B});var a=n(64467),i=(n(98992),n(54520),n(3949),n(81454),n(62953),n(96540)),s=n(42358),o=n(41514),r=n(12724),l=n(51900),c=n(27587),d=n(79748),u=n(80269),m=n(24609),p=n(49916),h=n(40298),f=n(30403),b=n(32788),g=n(29263),y=n(47410),v=n(76238),j=n(74848);const x=e=>{let{id:t,onDelete:n}=e;const a=(0,h.cW)(t,"email"),o=(0,i.useCallback)((()=>n({email:a})),[a,n]);return(0,j.jsxs)(s.Flex,{justifyContent:"between",alignItems:"center",children:[(0,j.jsxs)(s.Flex,{gap:4,children:[(0,j.jsx)(s.Icon,{color:"text",name:"check"}),(0,j.jsx)(s.Text,{children:a})]}),(0,j.jsx)(s.Button,{flavour:"borderless",icon:"trashcan",onClick:o})]})};var w=n(63872),O=n(64091),C=n(99728),k=n(63936),S=n(33821),I=n(56523),E=n(94404),A=n(3319),P=n(60908);function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?D(Object(n),!0).forEach((function(t){(0,a.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const _=e=>{let{email:t}=e;return(0,O.B9)(t)},R=(0,E.A)(s.Button),U={header:"Invitations",text:"Invitations successfully sent!"},B=e=>{let{onClose:t,isSubmodal:n=!1}=e;const{id:a,name:O,slug:E}=(0,m.ap)(),D=(0,p.WW)(),[B,F]=(0,i.useState)(D),[N,M]=(0,i.useState)([]),[L,V]=(0,i.useState)([]),[z,Z]=(0,i.useState)(),{sendLog:H,isReady:W}=(0,A.A)(),{recordMilestone:Y,defaultMilestones:G}=(0,I.A)(),[K,q,Q,J]=(0,h.gg)(a),[,$]=(0,w.A)(),X=(0,i.useCallback)((e=>{const{header:n,text:a}=e||U,i=(0,r.UI)({header:n,text:a,success:!0}),s=L.filter(_).map((e=>{let{email:t}=e;return t})).join(",");(0,o.H)("invite","invite-sent","".concat(z,"::").concat(s,"::").concat(B.join(",")),"","","invite-sent"),l.A.success(i,{context:"manageInvitations"}),Y(G.firstTeamMemberInvited),t(),W&&H({isSuccess:!0},!0)}),[H,W,Y]),ee=(0,i.useCallback)((async()=>{const e=L.filter(_).map((e=>{let{email:t,name:n}=e;return{email:t,name:n,role:z,roomIDs:B}})),t="".concat(window.envSettings.cloudUrl,"/spaces/").concat(E,"/join-space");Q(e,t,{onSuccess:X,onError:e=>{$(e),H({isFailure:!0,error:e.message},!0)}})}),[K,L,E,Q,X,$,H]),te=(0,C._s)(),ne=(0,i.useCallback)((e=>t=>{let{email:n}=t;e&&q(e),V(L.filter((e=>e.email!==n))),M(N.filter((e=>e.email!==n)))}),[L,N,q,V,M]),ae=(0,i.useCallback)((()=>{F([])}),[F]),ie="member"===z;return(0,j.jsx)(b.GO,{onClose:t,closeOnClickOutside:!1,children:(0,j.jsxs)(P.Ay,{feature:"ManageInvitationsModal",children:[(0,j.jsx)(g.z,{onClose:t,isSubmodal:n,title:"Invite Users"}),(0,j.jsxs)(y.U,{children:["Invite users to\xa0",O]}),(0,j.jsxs)(b.Yv,{children:[(0,j.jsx)(v.dE,{children:"Send invitations to your team"}),(0,j.jsx)(v.BZ,{children:"TIP: You can send more invitations at once, separate each with a comma."}),(0,j.jsx)(u.y,{invitations:L,setInvitations:V}),(0,j.jsx)("br",{}),(0,j.jsx)(v.dE,{children:"Rooms"}),(0,j.jsxs)(s.Flex,{alignItems:"center",justifyContent:"between",margin:[1,0,2],children:[(0,j.jsx)(s.TextSmall,{children:"Choose one or more rooms you'd like to invite users to."}),!!B.length&&(0,j.jsx)(s.Button,{onClick:ae,padding:[0],flavour:"borderless","data-ga":"rooms-clear",label:"Clear",small:!0,children:"Clear"})]}),(0,j.jsx)(s.Box,{"data-testid":"invite-selectRoom",children:(0,j.jsx)(c.A,T({selectedValue:B,onChange:F},ie?{formatOptions:e=>{let{name:t}=e;return{isDisabled:t===f.Q8}},filterValues:e=>{let{label:t}=e;return t===f.Q8}}:{}))}),(0,j.jsx)("br",{}),(0,j.jsx)(v.dE,{children:"Role"}),(0,j.jsxs)(v.BZ,{children:["Choose a role for invited user."," ",(0,j.jsx)(d.A,{href:S.S0,target:"_blank",rel:"noopener noreferrer",Component:s.TextSmall,children:"Learn more"})]}),(0,j.jsx)(s.Box,{"data-testid":"invite-selectRole",children:(0,j.jsx)(k.A,{availableRoles:te,dataGA:"invite-to-space",dataTestId:"invite-selectRole",onChange:e=>{Z(e.target.value)},value:z})}),(0,j.jsx)(v.fh,{children:(0,j.jsx)(R,{label:"Send",onClick:ee,disabled:0===L.length||!z,flavour:"hollow",isLoading:J,"data-ga":"manage-invitations-modal::click-send::modal-footer"})}),(0,j.jsx)(s.H5,{margin:[2,0,0],children:"Invitations awaiting response"}),(0,j.jsx)(s.Flex,{column:!0,children:K.length>0?K.map((e=>(0,j.jsx)(x,{onDelete:ne(e),id:e},e))):(0,j.jsxs)(v.au,{children:[(0,j.jsx)("br",{}),(0,j.jsx)(v.dE,{children:"You haven't invited any users yet."})]})})]})]})})}},76238(e,t,n){n.d(t,{BZ:()=>l,au:()=>r,dE:()=>s,fh:()=>o});var a=n(51510),i=n(42358);const s=(0,a.default)(i.H5).withConfig({displayName:"styled__StyledH5",componentId:"sc-ghsyz5-0"})(["display:flex;align-items:center;"]),o=a.default.div.withConfig({displayName:"styled__FormRow",componentId:"sc-ghsyz5-1"})(["width:100%;display:flex;flex-flow:row no-wrap;justify-content:flex-end;margin-top:",";"],(0,i.getSizeBy)(2)),r=a.default.div.withConfig({displayName:"styled__StyledUserInvitationEmptyListItem",componentId:"sc-ghsyz5-2"})(["display:flex;flex-flow:column nowrap;align-items:center;"]),l=(0,a.default)(i.TextSmall).withConfig({displayName:"styled__StyledSecondaryText",componentId:"sc-ghsyz5-3"})(["margin:2px 0 8px;"])},63936(e,t,n){n.d(t,{A:()=>b});n(26910),n(98992),n(81454);var a=n(96540),i=n(42358),s=n(51510),o=n(41395),r=n(67935),l=n(24609),c=n(79748),d=n(41344),u=n(99728),m=n(88325),p=n(74848);const h={admin:"Users with this role can control Spaces, Rooms, Nodes, Users and Billing. They can also access any Room in the Space.",member:"Users with this role can create Rooms and invite other Members. They can only see the Rooms they belong to and all Nodes in the All Nodes room",manager:"Users with this role can manage Rooms and Users. They can access any Room in the Space.",troubleshooter:"Users with this role can use Netdata to troubleshoot, not manage entities. They can access any Room in the Space.",observer:"Users with this role can only view data in specific Rooms.",billing:"Users with this role can handle billing options and invoices."},f=(0,s.default)(i.Flex).withConfig({displayName:"rolePicker__PlanBadge",componentId:"sc-szt8jq-0"})(["pointer-events:auto;"]),b=e=>{let{availableRoles:t,dataGA:n,dataTestId:s,onChange:b,value:g}=e;const y=(0,l.ap)("plan"),v=(0,a.useMemo)((()=>(0,r.L_)(y).map((e=>({isChecked:e===g,isEnabled:t.includes(e),role:e}))).sort(((e,t)=>Number(t.isEnabled)-Number(e.isEnabled)))),[t,r.L_,y,g]),j=(0,u.JT)("billing:ReadAll"),{url:x}=(0,m.A)();return(0,p.jsx)(i.Flex,{column:!0,gap:2,"data-testid":"".concat(s,"-roleOptions"),children:v.map((e=>{let{isChecked:t,isEnabled:a,role:r}=e;const l=a?void 0:"medium",u="troubleshooter"===r?"pro":"business";return(0,p.jsx)(i.RadioButton,{checked:t,"data-ga":"".concat(n,"::select-role-").concat(r,"::global-view"),"data-testid":"".concat(s,"-").concat(r,"Option"),disabled:!a,onChange:b,value:r,alignItems:"start",children:(0,p.jsxs)(i.Flex,{column:!0,children:[(0,p.jsxs)(i.Flex,{gap:2,alignItems:"center",children:[(0,p.jsx)(i.Text,{opacity:l,children:(0,o.Zr)(r)}),!a&&(0,p.jsx)(f,{background:"sideBarMini",border:{side:"all",color:"border"},cursor:"initial",padding:[1],round:!0,children:(0,p.jsx)(c.A,{align:"bottom",as:d.N_,color:"text",Component:i.TextMicro,content:"Upgrade your plan in order to use this role","data-ga":"".concat(n,"::click-plan-badge-").concat(u,"::global-view"),disabled:!j,hoverColor:"textFocus",showToolTip:!0,strong:!0,to:x,children:"Upgrade now!"})})]}),(0,p.jsx)(i.TextSmall,{color:"textLite",opacity:l,children:h[r]})]})},r)}))})}},40298(e,t,n){n.d(t,{cW:()=>P,gg:()=>A,Vt:()=>D});var a=n(64467),i=(n(98992),n(54520),n(3949),n(81454),n(25509),n(65223),n(60321),n(41927),n(11632),n(64377),n(66771),n(12516),n(68931),n(52514),n(35694),n(52774),n(49536),n(21926),n(94483),n(16215),n(62953),n(96540)),s=n(52035),o=n(34843),r=n(18790),l=n(30569);const c={id:"",email:""},d=(0,r.I)((()=>(0,s.eU)([]))),u=(0,r.I)((()=>(0,s.eU)(c)));var m=n(80045),p=n(91130);const h=["role"];function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}const b=e=>e.map((e=>{let{id:t,email:n}=e;return{id:t,email:n}})),g={member:1,admin:2,manager:3,troubleshooter:4,observer:5,billing:6},y=e=>e.map((e=>{let{role:t}=e,n=(0,m.A)(e,h);if(void 0===g[t])throw new Error("role not found");return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach((function(t){(0,a.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({role:g[t]},n)}));n(8872);var v=n(16866);const j=e=>{let{data:t,invitations:n}=e;return t.reduce(((e,t,a)=>{var i,s;(s=t.errorMsgKey)&&s===v.vK&&(null!==(i=n[a])&&void 0!==i&&i.email&&e.push(n[a].email));return e}),[])},x=e=>e.length>1;var w=n(24609),O=n(57377);function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?C(Object(n),!0).forEach((function(t){(0,a.A)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):C(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const S=(0,r.I)((e=>{let{id:t,key:n}=e;return(0,s.eU)((e=>{const a=e(u(t));return n?a[n]:a}))}),O.Ay),I=(0,r.I)((e=>{let{ids:t,key:n}=e;return(0,s.eU)((e=>(t||[]).map((t=>{const a=e(S({id:t}));return n?a[n]:a}))))}),O.Ay),E=(0,r.I)((e=>(0,s.eU)((t=>t(d(e))),((t,n,a)=>{let{invitations:i,merge:s}=a;n(d(e),(e=>[...new Set([...e,...i.map((e=>{let{id:t}=e;return t}))])])),i.forEach((e=>{n(u(e.id),(t=>k(k({},s&&t),e)))}))})))),A=e=>{const t=(0,o.md)(E(e)),[n,a]=(0,i.useState)(!1),s=(0,l.yF)((0,i.useCallback)((async(t,n)=>{if(!(await t(E(e))).length){const{data:t}=await(e=>p.A.get("/api/v2/spaces/".concat(e,"/invitations"),{transform:b}))(e);n(E(e),{invitations:t,merge:!0})}}),[e])),r=(0,i.useCallback)((async(t,n,i)=>{let{onSuccess:s,onError:o}=i;try{a(!0);const{data:i}=await((e,t,n)=>p.A.post("/api/v1/spaces/".concat(e,"/invitations"),{redirectURI:n,requests:y(t)}))(e,t,n),r=j({data:i,invitations:t});if(r.length&&!x(t))return void(o&&o({message:"User has already joined that space!"}));if(r.length&&x(t)){if(r.length===t.length)return void(o&&o({message:"All of the selected users are already meembers of this space"}));if(s)return void s({header:"Invitations partially send",text:"Some of the selected users are already members of this space"})}s&&s()}catch(r){o&&o(r)}finally{a(!1)}}),[e]),m=(0,l.yF)((0,i.useCallback)((async(t,n,a)=>{const i=await t(E(e)),s=i.filter((e=>e===a));n(d(e),(e=>{const t=new Set(e);return s.forEach((e=>t.delete(e))),[...t]}));try{await((e,t)=>p.A.delete("/api/v1/spaces/".concat(e,"/invitations"),{params:{invitation_ids:t.join(",")}}))(e,[a]),s.forEach((e=>{n(u(e),c)}))}catch(o){n(E(e),{invitations:i,merge:!1})}}),[e]));return(0,i.useEffect)((()=>{s()}),[e,s]),[t,m,r,n]},P=(e,t)=>(0,o.md)(S({id:e,key:t})),D=()=>(e=>{let{key:t}=e;const n=(0,w.vt)(),a=(0,o.md)(E(n));return(0,o.md)(I({ids:a,key:t}))})({key:"email"})}}]);