{"version":3,"file":"SelectOrgPage.bc2e58124113a8698457.js","mappings":"iPAWA,MAAMA,EAAW,CACfC,KAAM,CACJC,KAAM,UACNC,SAAU,cACVC,KAAM,8BAERC,KAAM,CACJD,KAAM,+BAUJE,EAAqB,CACzBC,oBADyB,KAEzBC,qBAAoBA,EAAAA,IAGhBC,GAAYC,EAAAA,EAAAA,UAXOC,IAChB,CACLC,SAAUD,EAAME,aAAaD,YASUN,GAI9BQ,EAA2B,IAA6D,IAA5D,oBAAEP,EAAF,qBAAuBC,EAAvB,SAA6CI,GAAe,EAUnG,OAJAG,EAAAA,EAAAA,IAAc,KACZP,QAIA,SAAC,IAAD,CAAMR,SAAUA,EAAhB,UACE,SAAC,aAAD,WACE,kCACE,oLAIA,SAAC,EAAAgB,gBAAD,CAAiBC,MAAI,EAArB,SACGL,GACCA,EAASM,KAAKC,IACZ,SAAC,EAAAC,OAAD,CAAwBlB,KAAK,SAASmB,QAAS,IApB1CC,OAAAA,UACXf,EAAoBY,EAAII,OAC9BC,OAAOC,SAASC,KAAOC,EAAAA,OAAAA,UAAmB,KAkBuBC,CAAWT,GAAhE,SACGA,EAAIU,MADMV,EAAII,mBAWjC,EAAed,EAAUK,I,2GC7DlB,SAASgB,IAEI,IADlBC,EACkB,uDADuB,CAAEC,cAAeA,EAAAA,eAE1D,OAAOV,MAAAA,IACL,MAAMW,QAA6BF,EAAaC,gBAAgBE,IAAI,YAGpE,OAFAC,GAASC,EAAAA,EAAAA,IAAmBH,IAErBA,GAIJ,SAASI,IAEI,IADlBN,EACkB,uDADuB,CAAEC,cAAeA,EAAAA,eAE1D,OAAOV,MAAOa,EAAUG,KACtB,MAAMzB,EAAeyB,IAAWzB,aAAaA,mBAEvCkB,EAAaC,gBAAgBO,IAAI,WAAY,CAAEV,KAAMhB,EAAagB,OAExEM,GAASK,EAAAA,EAAAA,IAA4B3B,EAAagB,OAClDM,EAASL,EAAiBC,KAIvB,SAASxB,EACdgB,GAEkB,IADlBQ,EACkB,uDADuB,CAAEC,cAAeA,EAAAA,eAE1D,OAAOV,MAAAA,IACL,MAAMW,QAA6BF,EAAaC,gBAAgBS,KAAK,mBAAqBlB,GAE1FY,GAASK,EAAAA,EAAAA,IAA4BP,EAAqBJ,QAIvD,SAASa,EACdC,GAEkB,IADlBZ,EACkB,uDADuB,CAAEC,cAAeA,EAAAA,eAE1D,OAAOV,MAAAA,IAGLa,EAAS5B,SAFYwB,EAAaC,gBAAgBS,KAAK,aAAcE,IAEjCpB,SAIjC,SAASf,IAEI,IADlBuB,EACkB,uDADuB,CAAEC,cAAeA,EAAAA,eAE1D,OAAOV,MAAAA,IACL,MAAMsB,QAAeb,EAAaC,gBAAgBE,IAAI,kBAGtD,OAFAC,GAASU,EAAAA,EAAAA,IAAwBD,IAE1BA","sources":["webpack://grafana/./public/app/features/org/SelectOrgPage.tsx","webpack://grafana/./public/app/features/org/state/actions.ts"],"sourcesContent":["import React, { FC } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport { useEffectOnce } from 'react-use';\n\nimport { config } from '@grafana/runtime';\nimport { Button, HorizontalGroup } from '@grafana/ui';\nimport Page from 'app/core/components/Page/Page';\nimport { StoreState, UserOrg } from 'app/types';\n\nimport { getUserOrganizations, setUserOrganization } from './state/actions';\n\nconst navModel = {\n main: {\n icon: 'grafana',\n subTitle: 'Preferences',\n text: 'Select active organization',\n },\n node: {\n text: 'Select active organization',\n },\n};\n\nconst mapStateToProps = (state: StoreState) => {\n return {\n userOrgs: state.organization.userOrgs,\n };\n};\n\nconst mapDispatchToProps = {\n setUserOrganization,\n getUserOrganizations,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\ntype Props = ConnectedProps;\n\nexport const SelectOrgPage: FC = ({ setUserOrganization, getUserOrganizations, userOrgs }) => {\n const setUserOrg = async (org: UserOrg) => {\n await setUserOrganization(org.orgId);\n window.location.href = config.appSubUrl + '/';\n };\n\n useEffectOnce(() => {\n getUserOrganizations();\n });\n\n return (\n \n \n
\n

\n You have been invited to another organization! Please select which organization that you want to use right\n now. You can change this later at any time.\n

\n \n {userOrgs &&\n userOrgs.map((org) => (\n \n ))}\n \n
\n
\n
\n );\n};\n\nexport default connector(SelectOrgPage);\n","import { getBackendSrv } from '@grafana/runtime';\nimport { updateConfigurationSubtitle } from 'app/core/actions';\nimport { ThunkResult } from 'app/types';\n\nimport { organizationLoaded, userOrganizationsLoaded } from './reducers';\n\ntype OrganizationDependencies = { getBackendSrv: typeof getBackendSrv };\n\nexport function loadOrganization(\n dependencies: OrganizationDependencies = { getBackendSrv: getBackendSrv }\n): ThunkResult {\n return async (dispatch) => {\n const organizationResponse = await dependencies.getBackendSrv().get('/api/org');\n dispatch(organizationLoaded(organizationResponse));\n\n return organizationResponse;\n };\n}\n\nexport function updateOrganization(\n dependencies: OrganizationDependencies = { getBackendSrv: getBackendSrv }\n): ThunkResult {\n return async (dispatch, getStore) => {\n const organization = getStore().organization.organization;\n\n await dependencies.getBackendSrv().put('/api/org', { name: organization.name });\n\n dispatch(updateConfigurationSubtitle(organization.name));\n dispatch(loadOrganization(dependencies));\n };\n}\n\nexport function setUserOrganization(\n orgId: number,\n dependencies: OrganizationDependencies = { getBackendSrv: getBackendSrv }\n): ThunkResult {\n return async (dispatch) => {\n const organizationResponse = await dependencies.getBackendSrv().post('/api/user/using/' + orgId);\n\n dispatch(updateConfigurationSubtitle(organizationResponse.name));\n };\n}\n\nexport function createOrganization(\n newOrg: { name: string },\n dependencies: OrganizationDependencies = { getBackendSrv: getBackendSrv }\n): ThunkResult {\n return async (dispatch) => {\n const result = await dependencies.getBackendSrv().post('/api/orgs/', newOrg);\n\n dispatch(setUserOrganization(result.orgId));\n };\n}\n\nexport function getUserOrganizations(\n dependencies: OrganizationDependencies = { getBackendSrv: getBackendSrv }\n): ThunkResult {\n return async (dispatch) => {\n const result = await dependencies.getBackendSrv().get('/api/user/orgs');\n dispatch(userOrganizationsLoaded(result));\n\n return result;\n };\n}\n"],"names":["navModel","main","icon","subTitle","text","node","mapDispatchToProps","setUserOrganization","getUserOrganizations","connector","connect","state","userOrgs","organization","SelectOrgPage","useEffectOnce","HorizontalGroup","wrap","map","org","Button","onClick","async","orgId","window","location","href","config","setUserOrg","name","loadOrganization","dependencies","getBackendSrv","organizationResponse","get","dispatch","organizationLoaded","updateOrganization","getStore","put","updateConfigurationSubtitle","post","createOrganization","newOrg","result","userOrganizationsLoaded"],"sourceRoot":""}