D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
build
/
Filename :
UserProfileEditPage.94fe88d32cec36e52e94.js
back
Copy
"use strict";(self.webpackChunkgrafana=self.webpackChunkgrafana||[]).push([[7323],{54569:($,U,t)=>{t.d(U,{Z:()=>j,v:()=>B});var e=t(42844),a=t(27702),T=t(11391),S=t(62247),C=t(74639),x=t(86312),b=t(34667),L=t(23839),O=t(5229),s=t(22209),h=t(28580),o=t(79978),N=t(15672),_=t(63014),P=t(96198),M=t(66670),F=t(80402),A=t(81290),c=t(65322),z=t(16832),V=t(97662),n=t(70828);function r(){const I=z.a2.map(l=>({value:l.code,label:l.name}));return[{value:"",label:(0,c.t)("common.locale.default","Default")},...I]}class B extends a.PureComponent{constructor(E){super(E),this.onSubmitForm=async()=>{if(this.props.onConfirm?await this.props.onConfirm():!0){const{homeDashboardUID:y,theme:w,timezone:Z,weekStart:H,language:K,queryHistory:W}=this.state;await this.service.update({homeDashboardUID:y,theme:w,timezone:Z,weekStart:H,language:K,queryHistory:W}),window.location.reload()}},this.onThemeChanged=l=>{this.setState({theme:l.value}),l.value&&(0,n.L)(l.value,!0)},this.onTimeZoneChanged=l=>{typeof l=="string"&&this.setState({timezone:l})},this.onWeekStartChanged=l=>{this.setState({weekStart:l})},this.onHomeDashboardChanged=l=>{this.setState({homeDashboardUID:l})},this.onLanguageChanged=l=>{this.setState({language:l}),(0,x.ff)("grafana_preferences_language_changed",{toLanguage:l,preferenceType:this.props.preferenceType})},this.service=new V.y(E.resourceUri),this.state={theme:"",timezone:"",weekStart:"",language:"",queryHistory:{homeTab:""}},this.themeOptions=(0,T.d)(b.config.featureToggles.extraThemes).map(l=>({value:l.id,label:X(l)})),this.themeOptions.unshift({value:"",label:(0,c.t)("shared-preferences.theme.default-label","Default")})}async componentDidMount(){const E=await this.service.load();this.setState({homeDashboardUID:E.homeDashboardUID,theme:E.theme,timezone:E.timezone,weekStart:E.weekStart,language:E.language,queryHistory:E.queryHistory})}render(){const{theme:E,timezone:l,weekStart:y,homeDashboardUID:w,language:Z}=this.state,{disabled:H}=this.props,K=J(),W=r(),m=this.themeOptions.find(i=>i.value===E)??this.themeOptions[0];return a.createElement(L.l,{onSubmit:this.onSubmitForm},()=>a.createElement(O.C,{label:a.createElement(c.cC,{i18nKey:"shared-preferences.title"},"Preferences"),disabled:H},a.createElement(s.g,{label:(0,c.t)("shared-preferences.fields.theme-label","Interface theme")},a.createElement(h.Ph,{options:this.themeOptions,value:m,onChange:this.onThemeChanged,inputId:"shared-preferences-theme-select"})),a.createElement(s.g,{label:a.createElement(o._,{htmlFor:"home-dashboard-select"},a.createElement("span",{className:K.labelText},a.createElement(c.cC,{i18nKey:"shared-preferences.fields.home-dashboard-label"},"Home Dashboard"))),"data-testid":"User preferences home dashboard drop down"},a.createElement(A.o,{value:w,onChange:i=>this.onHomeDashboardChanged(i?.uid??""),defaultOptions:!0,isClearable:!0,placeholder:(0,c.t)("shared-preferences.fields.home-dashboard-placeholder","Default dashboard"),inputId:"home-dashboard-select"})),a.createElement(s.g,{label:(0,c.t)("shared-dashboard.fields.timezone-label","Timezone"),"data-testid":C.wl.components.TimeZonePicker.containerV2},a.createElement(N.O,{includeInternal:!0,value:l,onChange:this.onTimeZoneChanged,inputId:"shared-preferences-timezone-picker"})),a.createElement(s.g,{label:(0,c.t)("shared-preferences.fields.week-start-label","Week start"),"data-testid":C.wl.components.WeekStartPicker.containerV2},a.createElement(_.z,{value:y||"",onChange:this.onWeekStartChanged,inputId:"shared-preferences-week-start-picker"})),a.createElement(s.g,{label:a.createElement(o._,{htmlFor:"locale-select"},a.createElement("span",{className:K.labelText},a.createElement(c.cC,{i18nKey:"shared-preferences.fields.locale-label"},"Language")),a.createElement(P.a,{featureState:S.CQ.beta})),"data-testid":"User preferences language drop down"},a.createElement(h.Ph,{value:W.find(i=>i.value===Z),onChange:i=>this.onLanguageChanged(i.value??""),options:W,placeholder:(0,c.t)("shared-preferences.fields.locale-placeholder","Choose language"),inputId:"locale-select"})),a.createElement("div",{className:"gf-form-button-row"},a.createElement(M.zx,{type:"submit",variant:"primary","data-testid":C.wl.components.UserProfile.preferencesSaveButton},a.createElement(c.cC,{i18nKey:"common.save"},"Save")))))}}const j=B,J=(0,F.B)(()=>({labelText:(0,e.css)` margin-right: 6px; `}));function X(I){switch(I.id){case"dark":return(0,c.t)("shared.preferences.theme.dark-label","Dark");case"light":return(0,c.t)("shared.preferences.theme.light-label","Light");case"system":return(0,c.t)("shared.preferences.theme.system-label","System preference");default:return I.name}}},28001:($,U,t)=>{t.r(U),t.d(U,{UserProfileEditPage:()=>K,default:()=>W});var e=t(27702),a=t(27173),T=t(97990),S=t(64022),C=t(44644),x=t(54569),b=t(74639),L=t(52419),O=t(66670),s=t(65322);class h extends e.PureComponent{render(){const{isLoading:i,orgs:f,user:g}=this.props;return i?e.createElement(L.u,{text:"Loading organizations..."}):f.length===0?null:e.createElement("div",null,e.createElement("h3",{className:"page-sub-heading"},e.createElement(s.cC,{i18nKey:"user-orgs.title"},"Organizations")),e.createElement("div",{className:"gf-form-group"},e.createElement("table",{className:"filter-table form-inline","data-testid":b.wl.components.UserProfile.orgsTable},e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null,e.createElement(s.cC,{i18nKey:"user-orgs.name-column"},"Name")),e.createElement("th",null,e.createElement(s.cC,{i18nKey:"user-orgs.role-column"},"Role")),e.createElement("th",null))),e.createElement("tbody",null,f.map((d,u)=>e.createElement("tr",{key:u},e.createElement("td",null,d.name),e.createElement("td",null,d.role),e.createElement("td",{className:"text-right"},d.orgId===g?.orgId?e.createElement(O.zx,{variant:"secondary",size:"sm",disabled:!0},e.createElement(s.cC,{i18nKey:"user-orgs.current-org-button"},"Current")):e.createElement(O.zx,{variant:"secondary",size:"sm",onClick:()=>{this.props.setUserOrg(d)}},e.createElement(s.cC,{i18nKey:"user-orgs.select-org-button"},"Select organisation")))))))))}}const o=h;var N=t(23839),_=t(5229),P=t(22209),M=t(1128),F=t(80011),A=t(73453),c=t(12308);const{disableLoginForm:z}=c.default,n=({user:m,isSavingUser:i,updateProfile:f})=>{const g=p=>{f(p)},d=(m&&m.isExternal)??!1,u=d&&m&&m.authLabels?m.authLabels[0]:"",v=u?` (Synced via ${u})`:"",D=z||d;return e.createElement(N.l,{onSubmit:g,validateOn:"onBlur"},({register:p,errors:R})=>e.createElement(_.C,null,e.createElement(P.g,{label:(0,s.t)("user-profile.fields.name-label","Name")+v,invalid:!!R.name,error:e.createElement(s.cC,{i18nKey:"user-profile.fields.name-error"},"Name is required"),disabled:D},e.createElement(M.I,{...p("name",{required:!0}),id:"edit-user-profile-name",placeholder:(0,s.t)("user-profile.fields.name-label","Name"),defaultValue:m?.name??"",suffix:e.createElement(r,null)})),e.createElement(P.g,{label:(0,s.t)("user-profile.fields.email-label","Email")+v,invalid:!!R.email,error:e.createElement(s.cC,{i18nKey:"user-profile.fields.email-error"},"Email is required"),disabled:D},e.createElement(M.I,{...p("email",{required:!0}),id:"edit-user-profile-email",placeholder:(0,s.t)("user-profile.fields.email-label","Email"),defaultValue:m?.email??"",suffix:e.createElement(r,null)})),e.createElement(P.g,{label:(0,s.t)("user-profile.fields.username-label","Username")+v,disabled:D},e.createElement(M.I,{...p("login"),id:"edit-user-profile-username",defaultValue:m?.login??"",placeholder:(0,s.t)("user-profile.fields.username-label","Username")+v,suffix:e.createElement(r,null)})),e.createElement("div",{className:"gf-form-button-row"},e.createElement(O.zx,{variant:"primary",disabled:i||D,"data-testid":b.wl.components.UserProfile.profileSaveButton,type:"submit"},e.createElement(s.cC,{i18nKey:"common.save"},"Save")))))},r=()=>z?e.createElement(F.u,{content:"Login details locked because they are managed in another system."},e.createElement(A.J,{name:"lock"})):null;var B=t(42844),j=t(62937);class J extends e.PureComponent{render(){const{isLoading:i,sessions:f,revokeUserSession:g}=this.props,d=X();return i?e.createElement(L.u,{text:e.createElement(s.cC,{i18nKey:"user-sessions.loading"},"Loading sessions...")}):e.createElement("div",{className:d.wrapper},f.length>0&&e.createElement(e.Fragment,null,e.createElement("h3",{className:"page-sub-heading"},"Sessions"),e.createElement("div",{className:(0,B.cx)("gf-form-group",d.table)},e.createElement("table",{className:"filter-table form-inline","data-testid":b.wl.components.UserProfile.sessionsTable},e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null,e.createElement(s.cC,{i18nKey:"user-session.seen-at-column"},"Last seen")),e.createElement("th",null,e.createElement(s.cC,{i18nKey:"user-session.created-at-column"},"Logged on")),e.createElement("th",null,e.createElement(s.cC,{i18nKey:"user-session.ip-column"},"IP address")),e.createElement("th",null,e.createElement(s.cC,{i18nKey:"user-session.browser-column"},"Browser & OS")),e.createElement("th",null))),e.createElement("tbody",null,f.map((u,v)=>e.createElement("tr",{key:v},u.isActive?e.createElement("td",null,"Now"):e.createElement("td",null,u.seenAt),e.createElement("td",null,(0,s.$q)(u.createdAt,{dateStyle:"long"})),e.createElement("td",null,u.clientIp),e.createElement("td",null,u.browser," on ",u.os," ",u.osVersion),e.createElement("td",null,e.createElement(O.zx,{size:"sm",variant:"destructive",onClick:()=>g(u.id),"aria-label":(0,j.t)("user-session.revoke","Revoke user session")},e.createElement(A.J,{name:"power"}))))))))))}}const X=()=>({wrapper:(0,B.css)({maxWidth:"100%"}),table:(0,B.css)({overflow:"auto"})}),I=J;class E extends e.PureComponent{render(){const{isLoading:i,teams:f}=this.props;return i?e.createElement(L.u,{text:"Loading teams..."}):f.length===0?null:e.createElement("div",null,e.createElement("h3",{className:"page-sub-heading"},"Teams"),e.createElement("div",{className:"gf-form-group"},e.createElement("table",{className:"filter-table form-inline","aria-label":"User teams table"},e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null),e.createElement("th",null,"Name"),e.createElement("th",null,"Email"),e.createElement("th",null,"Members"))),e.createElement("tbody",null,f.map((g,d)=>e.createElement("tr",{key:d},e.createElement("td",{className:"width-4 text-center"},e.createElement("img",{className:"filter-table__avatar",src:g.avatarUrl,alt:""})),e.createElement("td",null,g.name),e.createElement("td",null,g.email),e.createElement("td",null,g.memberCount)))))))}}const l=null;var y=t(44501);function w(m){const i=m.user,{user:f,teams:g,orgs:d,sessions:u,teamsAreLoading:v,orgsAreLoading:D,sessionsAreLoading:p,isUpdating:R}=i;return{orgsAreLoading:D,sessionsAreLoading:p,teamsAreLoading:v,orgs:d,sessions:u,teams:g,isUpdating:R,user:f}}const Z={initUserProfilePage:y.PA,revokeUserSession:y.cc,changeUserOrg:y.hz,updateUserProfile:y.Lj},H=(0,a.connect)(w,Z);function K({orgsAreLoading:m,sessionsAreLoading:i,teamsAreLoading:f,initUserProfilePage:g,orgs:d,sessions:u,teams:v,isUpdating:D,user:p,revokeUserSession:R,changeUserOrg:k,updateUserProfile:Q}){return(0,T.Z)(()=>g()),e.createElement(C.T,{navId:"profile/settings"},e.createElement(C.T.Contents,{isLoading:!p},e.createElement(S.wc,{spacing:"md"},e.createElement(n,{updateProfile:Q,isSavingUser:D,user:p}),e.createElement(x.Z,{resourceUri:"user",preferenceType:"user"}),e.createElement(E,{isLoading:f,teams:v}),e.createElement(o,{isLoading:m,setUserOrg:k,orgs:d,user:p}),e.createElement(I,{isLoading:i,revokeUserSession:R,sessions:u}))))}const W=H(K)},44501:($,U,t)=>{t.d(U,{Cp:()=>N,hz:()=>z,PA:()=>_,II:()=>P,cc:()=>c,Lj:()=>V});var e=t(34667),a=t(73289);async function T(n){try{await(0,a.i)().put("/api/user/password",n)}catch(r){console.error(r)}}function S(){return(0,a.i)().get("/api/user")}function C(){return(0,a.i)().get("/api/user/teams")}function x(){return(0,a.i)().get("/api/user/orgs")}function b(){return(0,a.i)().get("/api/user/auth-tokens")}async function L(n){await(0,a.i)().post("/api/user/revoke-auth-token",{authTokenId:n})}async function O(n){await(0,a.i)().post("/api/user/using/"+n.orgId,{})}async function s(n){try{await(0,a.i)().put("/api/user",n)}catch(r){console.error(r)}}const h={changePassword:T,revokeUserSession:L,loadUser:S,loadSessions:b,loadOrgs:x,loadTeams:C,setUserOrg:O,updateUserProfile:s};var o=t(83341);function N(n){return async function(r){r((0,o.zc)({updating:!0})),await h.changePassword(n),r((0,o.zc)({updating:!1}))}}function _(){return async function(n){await n(P()),n(M()),n(F()),n(A())}}function P(){return async function(n){const r=await h.loadUser();n((0,o.aw)({user:r}))}}function M(){return async function(n){n((0,o.qD)());const r=await h.loadTeams();n((0,o.PL)({teams:r}))}}function F(){return async function(n){n((0,o.$S)());const r=await h.loadOrgs();n((0,o.Ns)({orgs:r}))}}function A(){return async function(n){n((0,o.Uk)());const r=await h.loadSessions();n((0,o.z0)({sessions:r}))}}function c(n){return async function(r){r((0,o.zc)({updating:!0})),await h.revokeUserSession(n),r((0,o.p$)({tokenId:n}))}}function z(n){return async function(r){r((0,o.zc)({updating:!0})),await h.setUserOrg(n),window.location.href=e.config.appSubUrl+"/profile"}}function V(n){return async function(r){r((0,o.zc)({updating:!0})),await h.updateUserProfile(n),await r(P()),r((0,o.zc)({updating:!1}))}}},97990:($,U,t)=>{t.d(U,{Z:()=>T});var e=t(19559),a=function(S){(0,e.Z)(function(){S()})};const T=a}}]); //# sourceMappingURL=UserProfileEditPage.94fe88d32cec36e52e94.js.map