D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
share
/
grafana
/
public
/
build
/
Filename :
UsersListPage.a4bfcbe6a1e8de4a86b1.js
back
Copy
"use strict";(self.webpackChunkgrafana=self.webpackChunkgrafana||[]).push([[8039],{27932:(w,y,n)=>{n.r(y),n.d(y,{UsersListPageContent:()=>Z,UsersListPageUnconnected:()=>J,default:()=>ge});var e=n(27702),v=n(27173),D=n(18112),M=n(74639),p=n(64022),x=n(50852),I=n(44644),L=n(66574),B=n(71585),o=n(66670),d=n(54422);const N={revokeInvite:d.GY},A=(0,v.connect)(null,N);class b extends e.PureComponent{render(){const{invitee:a,revokeInvite:r}=this.props;return e.createElement("tr",null,e.createElement("td",null,a.email),e.createElement("td",null,a.name),e.createElement("td",{className:"text-right"},e.createElement(B.m,{icon:"copy",variant:"secondary",size:"sm",getText:()=>a.url},"Copy Invite"),"\xA0"),e.createElement("td",null,e.createElement(o.zx,{variant:"destructive",size:"sm",icon:"times",onClick:()=>r(a.code),"aria-label":"Revoke Invite"})))}}const S=A(b);class P extends e.PureComponent{render(){const{invitees:a}=this.props;return e.createElement("table",{className:"filter-table form-inline"},e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null,"Email"),e.createElement("th",null,"Name"),e.createElement("th",null),e.createElement("th",{style:{width:"34px"}}))),e.createElement("tbody",{"data-testid":"InviteesTable-body"},a.map((r,c)=>e.createElement(S,{key:`${r.id}-${c}`,invitee:r}))))}}var R=n(75892),W=n(67198);const{selectAll:E,selectById:O,selectTotal:Q}=W.selectors,K=(t,a)=>a,s=(0,R.P1)([E,K],(t,a)=>{const r=new RegExp(a,"i");return t.filter(l=>r.test(l.name)||r.test(l.email))});var u=n(48024),i=n(33716),H=n(40705),m=n(12308),k=n(18771),q=n(89949),$=n(73289),_=n(92317),g=n(17632);function f(){return async(t,a)=>{try{const{perPage:r,page:c,searchQuery:l}=a().users,h=await(0,$.i)().get("/api/org/users/search",(0,_.y)({perpage:r,page:c,query:l}));t((0,g.eT)(h))}catch{(0,g.k7)()}}}const ee=(0,q.debounce)(t=>t(f()),300);function te(t){return async a=>{await(0,$.i)().patch(`/api/org/users/${t.userId}`,{role:t.role}),a(f())}}function ne(t){return async a=>{await(0,$.i)().delete(`/api/org/users/${t}`),a(f())}}function ae(t){return async a=>{a((0,g.tZ)()),a((0,g.PJ)(t)),a(f())}}function se(t){return async a=>{a((0,g.tZ)()),a((0,g.w4)(t)),ee(a)}}const re=t=>{const a=new RegExp(t.searchQuery,"i");return t.users.filter(r=>a.test(r.login)||a.test(r.email)||a.test(r.name))},V=t=>t.searchQuery;function le(t){return{searchQuery:V(t.users),pendingInvitesCount:Q(t.invites),externalUserMngLinkName:t.users.externalUserMngLinkName,externalUserMngLinkUrl:t.users.externalUserMngLinkUrl,canInvite:t.users.canInvite}}const oe={changeSearchQuery:se},ce=(0,v.connect)(le,oe)(({canInvite:t,externalUserMngLinkName:a,externalUserMngLinkUrl:r,searchQuery:c,pendingInvitesCount:l,changeSearchQuery:h,onShowInvites:T,showInvites:C})=>{const z=[{label:"Users",value:"users"},{label:`Pending Invites (${l})`,value:"invites"}],F=L.Vt.hasAccess(k.AccessControlAction.OrgUsersAdd,t)&&!(m.default.disableLoginForm&&m.default.externalUserMngInfo);return e.createElement("div",{className:"page-action-bar","data-testid":"users-action-bar"},e.createElement(u._,{grow:!0},e.createElement(i.H,{value:c,onChange:h,placeholder:"Search user by login, email or name"})),l>0&&e.createElement("div",{style:{marginLeft:"1rem"}},e.createElement(H.S,{value:C?"invites":"users",options:z,onChange:T})),F&&e.createElement(o.Qj,{href:"org/users/invite"},"Invite"),r&&e.createElement(o.Qj,{href:r,target:"_blank",rel:"noopener"},a))});var ie=n(56071);function me(t){const a=V(t.users);return{users:re(t.users),searchQuery:V(t.users),page:t.users.page,totalPages:t.users.totalPages,perPage:t.users.perPage,invitees:s(t.invites,a),externalUserMngInfo:t.users.externalUserMngInfo,isLoading:t.users.isLoading}}const de={loadUsers:f,fetchInvitees:d.nW,changePage:ae,updateUser:te,removeUser:ne},Ee=(0,v.connect)(me,de),ue=M.wl.pages.UserListPage.UsersListPage,J=({users:t,page:a,totalPages:r,invitees:c,externalUserMngInfo:l,isLoading:h,loadUsers:T,fetchInvitees:C,changePage:z,updateUser:Y,removeUser:F})=>{const[j,he]=(0,e.useState)(!1),X=l?(0,D.a)(l):"";(0,e.useEffect)(()=>{T(),C()},[C,T]);const ve=(U,G)=>{Y({...G,role:U})},Pe=()=>{he(!j)},fe=()=>j?e.createElement(P,{invitees:c}):e.createElement(p.wc,{spacing:"md","data-testid":ue.container},e.createElement(ie.P,{users:t,orgId:L.Vt.user.orgId,onRoleChange:(U,G)=>ve(U,G),onRemoveUser:U=>F(U.userId)}),e.createElement(p.Lh,{justify:"flex-end"},e.createElement(x.t,{onNavigate:z,currentPage:a,numberOfPages:r,hideWhenSinglePage:!0})));return e.createElement(I.T.Contents,{isLoading:!h},e.createElement(ce,{onShowInvites:Pe,showInvites:j}),X&&e.createElement("div",{className:"grafana-info-box",dangerouslySetInnerHTML:{__html:X}}),h&&fe())},Z=Ee(J);function ge(){return e.createElement(I.T,{navId:"users"},e.createElement(Z,null))}},56071:(w,y,n)=>{n.d(y,{P:()=>b});var e=n(27702),v=n(80011),D=n(73453),M=n(66670),p=n(3613),x=n(75574),I=n(11349),L=n(8311),B=n(12308),o=n(66574),d=n(18771),N=n(8237);const A=`This user's role is not editable because it is synchronized from your auth provider. Refer to the Grafana authentication docs for details.`,b=({users:S,orgId:P,onRoleChange:R,onRemoveUser:W})=>{const[E,O]=(0,e.useState)(null),[Q,K]=(0,e.useState)([]);return(0,e.useEffect)(()=>{async function s(){try{if(o.Vt.hasPermission(d.AccessControlAction.ActionRolesList)){let u=await(0,I.ul)(P);K(u)}}catch{console.error("Error loading options")}}o.Vt.licensedAccessControlEnabled()&&s()},[P]),e.createElement(e.Fragment,null,e.createElement("table",{className:"filter-table form-inline"},e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null),e.createElement("th",null,"Login"),e.createElement("th",null,"Email"),e.createElement("th",null,"Name"),e.createElement("th",null,"Seen"),e.createElement("th",null,"Role"),e.createElement("th",null),e.createElement("th",{style:{width:"34px"}}),e.createElement("th",null,"Origin"),e.createElement("th",null))),e.createElement("tbody",null,S.map((s,u)=>{let i=!o.Vt.hasPermissionInMetadata(d.AccessControlAction.OrgUsersWrite,s);return((Array.isArray(s.authLabels)&&s.authLabels.length>0?s.authLabels[0]:"")!=="grafana.com"||B.default.featureToggles.gcomOnlyExternalOrgRoleSync)&&(i=s?.isExternallySynced||i),e.createElement("tr",{key:`${s.userId}-${u}`},e.createElement("td",{className:"width-2 text-center"},e.createElement("img",{className:"filter-table__avatar",src:s.avatarUrl,alt:"User avatar"})),e.createElement("td",{className:"max-width-6"},e.createElement("span",{className:"ellipsis",title:s.login},s.login)),e.createElement("td",{className:"max-width-5"},e.createElement("span",{className:"ellipsis",title:s.email},s.email)),e.createElement("td",{className:"max-width-5"},e.createElement("span",{className:"ellipsis",title:s.name},s.name)),e.createElement("td",{className:"width-1"},s.lastSeenAtAge),e.createElement("td",{className:"width-8"},o.Vt.licensedAccessControlEnabled()?e.createElement(x.R,{userId:s.userId,orgId:P,roleOptions:Q,basicRole:s.role,onBasicRoleChange:m=>R(m,s),basicRoleDisabled:i,basicRoleDisabledMessage:A}):e.createElement(N.A,{"aria-label":"Role",value:s.role,disabled:i,onChange:m=>R(m,s)})),e.createElement("td",null,i&&e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement(v.u,{content:A},e.createElement(D.J,{name:"question-circle",style:{marginLeft:"8px"}})))),e.createElement("td",{className:"width-1 text-center"},s.isDisabled&&e.createElement("span",{className:"label label-tag label-tag--gray"},"Disabled")),e.createElement("td",{className:"width-1"},Array.isArray(s.authLabels)&&s.authLabels.length>0&&e.createElement(L.e,{label:s.authLabels[0],removeIcon:!1,count:0})),o.Vt.hasPermissionInMetadata(d.AccessControlAction.OrgUsersRemove,s)&&e.createElement("td",{className:"text-right"},e.createElement(M.zx,{size:"sm",variant:"destructive",onClick:()=>{O(s)},icon:"times","aria-label":"Delete user"})))}))),!!E&&e.createElement(p.s,{body:`Are you sure you want to delete user ${E?.login}?`,confirmText:"Delete",title:"Delete",onDismiss:()=>{O(null)},isOpen:!0,onConfirm:()=>{E&&(W(E),O(null))}}))}}}]); //# sourceMappingURL=UsersListPage.a4bfcbe6a1e8de4a86b1.js.map