diff --git a/ui/src/index.tsx b/ui/src/index.tsx index 6ceaef25c9..55bcfd7632 100644 --- a/ui/src/index.tsx +++ b/ui/src/index.tsx @@ -39,6 +39,9 @@ import GetLinks from 'src/shared/containers/GetLinks' import GetMe from 'src/shared/containers/GetMe' import SourcesPage from 'src/sources/components/SourcesPage' import ConfigurationPage from 'src/configuration/components/ConfigurationPage' +import OrgDashboardsIndex from 'src/organizations/containers/OrgDashboardsIndex' +import OrgMembersIndex from 'src/organizations/containers/OrgMembersIndex' +import OrgTelegrafsIndex from 'src/organizations/containers/OrgTelegrafsIndex' import OnboardingWizardPage from 'src/onboarding/containers/OnboardingWizardPage' @@ -119,6 +122,18 @@ class Root extends PureComponent { path="buckets_tab" component={OrgBucketIndex} /> + + + ( +export default connect<{}, Props>( null, mdtp )(Tokens) diff --git a/ui/src/organizations/containers/OrgTelegrafsIndex.tsx b/ui/src/organizations/containers/OrgTelegrafsIndex.tsx new file mode 100644 index 0000000000..f09ed563d8 --- /dev/null +++ b/ui/src/organizations/containers/OrgTelegrafsIndex.tsx @@ -0,0 +1,129 @@ +// Libraries +import React, {Component} from 'react' +import {withRouter, WithRouterProps} from 'react-router' +import {connect} from 'react-redux' +import {AppState} from 'src/types/v2' + +// Components +import OrganizationNavigation from 'src/organizations/components/OrganizationNavigation' +import OrgHeader from 'src/organizations/containers/OrgHeader' +import {Tabs} from 'src/clockface' +import {Page} from 'src/pageLayout' +import Collectors from 'src/organizations/components/Collectors' + +// Decorators +import {ErrorHandling} from 'src/shared/decorators/errors' + +import {Bucket, Organization, Telegraf} from '@influxdata/influx' +import {client} from 'src/utils/api' + +// Components +import {SpinnerContainer, TechnoSpinner} from 'src/clockface' +import TabbedPageSection from 'src/shared/components/tabbed_page/TabbedPageSection' +import GetOrgResources from 'src/organizations/components/GetOrgResources' + +import * as NotificationsActions from 'src/types/actions/notifications' +import * as notifyActions from 'src/shared/actions/notifications' + +const getBuckets = async (org: Organization) => { + return client.buckets.getAllByOrg(org.name) +} +const getCollectors = async (org: Organization) => { + return client.telegrafConfigs.getAllByOrg(org) +} + +interface RouterProps { + params: { + orgID: string + } +} + +interface DispatchProps { + notify: NotificationsActions.PublishNotificationActionCreator +} + +interface StateProps { + org: Organization +} + +type Props = WithRouterProps & RouterProps & DispatchProps & StateProps + +@ErrorHandling +class OrgTelegrafsIndex extends Component { + constructor(props) { + super(props) + } + + public render() { + const {org, notify} = this.props + + return ( + + + + + + + + + + organization={org} + fetcher={getCollectors} + > + {(collectors, loading, fetch) => ( + } + > + + organization={org} + fetcher={getBuckets} + > + {(buckets, loading) => ( + } + > + + + )} + + + )} + + + + + + + + ) + } +} + +const mstp = (state: AppState, props: WithRouterProps) => { + const {orgs} = state + const org = orgs.find(o => o.id === props.params.orgID) + return { + org, + } +} + +const mdtp: DispatchProps = { + notify: notifyActions.notify, +} + +export default connect( + mstp, + mdtp +)(withRouter<{}>(OrgTelegrafsIndex)) diff --git a/ui/src/organizations/containers/OrganizationView.tsx b/ui/src/organizations/containers/OrganizationView.tsx index b7bbac0c43..2998f79751 100644 --- a/ui/src/organizations/containers/OrganizationView.tsx +++ b/ui/src/organizations/containers/OrganizationView.tsx @@ -7,10 +7,6 @@ import _ from 'lodash' // APIs import {client} from 'src/utils/api' -const getCollectors = async (org: Organization) => { - return client.telegrafConfigs.getAllByOrg(org) -} - const getScrapers = async (): Promise => { return await client.scrapers.getAll() } @@ -33,7 +29,6 @@ import {SpinnerContainer, TechnoSpinner} from 'src/clockface' import TabbedPageSection from 'src/shared/components/tabbed_page/TabbedPageSection' import Variables from 'src/organizations/components/Variables' import OrgTasksPage from 'src/organizations/components/OrgTasksPage' -import Collectors from 'src/organizations/components/Collectors' import Scrapers from 'src/organizations/components/Scrapers' import GetOrgResources from 'src/organizations/components/GetOrgResources' import OrganizationTabs from 'src/organizations/components/OrganizationTabs' @@ -41,12 +36,7 @@ import OrgHeader from 'src/organizations/containers/OrgHeader' // Types import {AppState} from 'src/types/v2' -import { - Bucket, - Organization, - Telegraf, - ScraperTargetResponse, -} from '@influxdata/influx' +import {Bucket, Organization, ScraperTargetResponse} from '@influxdata/influx' import * as NotificationsActions from 'src/types/actions/notifications' import {Variable} from '@influxdata/influx' @@ -113,43 +103,6 @@ class OrganizationView extends PureComponent { )} - - - organization={org} - fetcher={getCollectors} - > - {(collectors, loading, fetch) => ( - } - > - - organization={org} - fetcher={getBuckets} - > - {(buckets, loading) => ( - } - > - - - )} - - - )} - -