import React, { FC, useEffect } from 'react'; import { getNavModel } from 'app/core/selectors/navModel'; import Page from 'app/core/components/Page/Page'; import { useSelector } from 'react-redux'; import { StoreState } from 'app/types/store'; import { LinkButton, InfoBox, VerticalGroup } from '@grafana/ui'; import { getBackendSrv } from '@grafana/runtime'; import { AdminOrgsTable } from './AdminOrgsTable'; import useAsyncFn from 'react-use/lib/useAsyncFn'; const deleteOrg = async (orgId: number) => { return await getBackendSrv().delete('/api/orgs/' + orgId); }; const getOrgs = async () => { return await getBackendSrv().get('/api/orgs'); }; export const AdminListOrgsPages: FC = () => { const navIndex = useSelector((state: StoreState) => state.navIndex); const navModel = getNavModel(navIndex, 'global-orgs'); const [state, fetchOrgs] = useAsyncFn(async () => await getOrgs(), []); useEffect(() => { fetchOrgs(); }, []); return ( <>

Fewer than 1% of Grafana installations use organizations, and we think that most of those would have a better experience with Teams instead. As such, we are considering de-emphasizing and eventually deprecating Organizations in a future Grafana release. If you would like to provide feedback or describe your need, please do so{' '} here .{' '}

New org
{state.loading && 'Fetching organizations'} {state.error} {state.value && ( { deleteOrg(orgId); fetchOrgs(); }} /> )}
); }; export default AdminListOrgsPages;