Remove ManageOrgsOverlay component
parent
6635d77c0b
commit
eefb8df994
|
@ -1,8 +1,6 @@
|
||||||
import React, {PropTypes} from 'react'
|
import React, {PropTypes} from 'react'
|
||||||
|
|
||||||
import Authorized, {SUPERADMIN_ROLE} from 'src/auth/Authorized'
|
const PageHeader = ({currentOrganization}) =>
|
||||||
|
|
||||||
const PageHeader = ({onShowManageOrgsOverlay, currentOrganization}) =>
|
|
||||||
<div className="page-header">
|
<div className="page-header">
|
||||||
<div className="page-header__container">
|
<div className="page-header__container">
|
||||||
<div className="page-header__left">
|
<div className="page-header__left">
|
||||||
|
@ -10,24 +8,12 @@ const PageHeader = ({onShowManageOrgsOverlay, currentOrganization}) =>
|
||||||
{currentOrganization.name}
|
{currentOrganization.name}
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div className="page-header__right">
|
|
||||||
<Authorized requiredRole={SUPERADMIN_ROLE}>
|
|
||||||
<button
|
|
||||||
className="btn btn-primary btn-sm"
|
|
||||||
onClick={onShowManageOrgsOverlay}
|
|
||||||
>
|
|
||||||
<span className="icon cog-thick" />
|
|
||||||
Manage Organizations
|
|
||||||
</button>
|
|
||||||
</Authorized>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
const {func, shape, string} = PropTypes
|
const {shape, string} = PropTypes
|
||||||
|
|
||||||
PageHeader.propTypes = {
|
PageHeader.propTypes = {
|
||||||
onShowManageOrgsOverlay: func.isRequired,
|
|
||||||
currentOrganization: shape({
|
currentOrganization: shape({
|
||||||
id: string.isRequired,
|
id: string.isRequired,
|
||||||
name: string.isRequired,
|
name: string.isRequired,
|
||||||
|
|
|
@ -9,7 +9,6 @@ import {MEMBER_ROLE} from 'src/auth/Authorized'
|
||||||
|
|
||||||
import PageHeader from 'src/admin/components/chronograf/PageHeader'
|
import PageHeader from 'src/admin/components/chronograf/PageHeader'
|
||||||
import UsersTable from 'src/admin/components/chronograf/UsersTable'
|
import UsersTable from 'src/admin/components/chronograf/UsersTable'
|
||||||
import ManageOrgsOverlay from 'src/admin/components/chronograf/ManageOrgsOverlay'
|
|
||||||
|
|
||||||
import FancyScrollbar from 'shared/components/FancyScrollbar'
|
import FancyScrollbar from 'shared/components/FancyScrollbar'
|
||||||
|
|
||||||
|
@ -23,7 +22,6 @@ class AdminChronografPage extends Component {
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
selectedUsers: [],
|
selectedUsers: [],
|
||||||
showManageOverlay: false,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,15 +39,6 @@ class AdminChronografPage extends Component {
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.loadUsers()
|
this.loadUsers()
|
||||||
this.loadOrgs()
|
|
||||||
}
|
|
||||||
|
|
||||||
handleShowManageOrgsOverlay = () => {
|
|
||||||
this.setState({showManageOverlay: true})
|
|
||||||
}
|
|
||||||
|
|
||||||
handleHideOverlays = () => {
|
|
||||||
this.setState({showManageOverlay: false})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
loadUsers = () => {
|
loadUsers = () => {
|
||||||
|
@ -58,12 +47,6 @@ class AdminChronografPage extends Component {
|
||||||
loadUsersAsync(links.users)
|
loadUsersAsync(links.users)
|
||||||
}
|
}
|
||||||
|
|
||||||
loadOrgs = () => {
|
|
||||||
const {links, actions: {loadOrganizationsAsync}} = this.props
|
|
||||||
|
|
||||||
loadOrganizationsAsync(links.organizations) // TODO: make sure server allows admin to hit this for safety
|
|
||||||
}
|
|
||||||
|
|
||||||
handleToggleUserSelected = user => e => {
|
handleToggleUserSelected = user => e => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
|
@ -174,30 +157,13 @@ class AdminChronografPage extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SINGLE ORGANIZATION ACTIONS
|
|
||||||
handleCreateOrganization = organizationName => {
|
|
||||||
const {links, actions: {createOrganizationAsync}} = this.props
|
|
||||||
createOrganizationAsync(links.organizations, {name: organizationName})
|
|
||||||
}
|
|
||||||
handleRenameOrganization = (organization, name) => {
|
|
||||||
const {actions: {renameOrganizationAsync}} = this.props
|
|
||||||
renameOrganizationAsync(organization, {...organization, name})
|
|
||||||
}
|
|
||||||
handleDeleteOrganization = organization => {
|
|
||||||
const {actions: {deleteOrganizationAsync}} = this.props
|
|
||||||
deleteOrganizationAsync(organization)
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {users, organizations, currentOrganization} = this.props
|
const {users, currentOrganization} = this.props
|
||||||
const {selectedUsers, showManageOverlay} = this.state
|
const {selectedUsers} = this.state
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="page">
|
<div className="page">
|
||||||
<PageHeader
|
<PageHeader currentOrganization={currentOrganization} />
|
||||||
onShowManageOrgsOverlay={this.handleShowManageOrgsOverlay}
|
|
||||||
currentOrganization={currentOrganization}
|
|
||||||
/>
|
|
||||||
<FancyScrollbar className="page-contents">
|
<FancyScrollbar className="page-contents">
|
||||||
{users
|
{users
|
||||||
? <div className="container-fluid">
|
? <div className="container-fluid">
|
||||||
|
@ -223,15 +189,6 @@ class AdminChronografPage extends Component {
|
||||||
</div>
|
</div>
|
||||||
: <div className="page-spinner" />}
|
: <div className="page-spinner" />}
|
||||||
</FancyScrollbar>
|
</FancyScrollbar>
|
||||||
{showManageOverlay
|
|
||||||
? <ManageOrgsOverlay
|
|
||||||
onDismiss={this.handleHideOverlays}
|
|
||||||
onCreateOrg={this.handleCreateOrganization}
|
|
||||||
onDeleteOrg={this.handleDeleteOrganization}
|
|
||||||
onRenameOrg={this.handleRenameOrganization}
|
|
||||||
organizations={organizations}
|
|
||||||
/>
|
|
||||||
: null}
|
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -245,38 +202,26 @@ AdminChronografPage.propTypes = {
|
||||||
organizations: string.isRequired,
|
organizations: string.isRequired,
|
||||||
}),
|
}),
|
||||||
users: arrayOf(shape),
|
users: arrayOf(shape),
|
||||||
organizations: arrayOf(
|
|
||||||
shape({
|
|
||||||
id: string, // when optimistically created, it will not have an id
|
|
||||||
name: string.isRequired,
|
|
||||||
link: string,
|
|
||||||
})
|
|
||||||
),
|
|
||||||
currentOrganization: shape({
|
currentOrganization: shape({
|
||||||
id: string.isRequired,
|
id: string.isRequired,
|
||||||
name: string.isRequired,
|
name: string.isRequired,
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
actions: shape({
|
actions: shape({
|
||||||
loadUsersAsync: func.isRequired,
|
loadUsersAsync: func.isRequired,
|
||||||
loadOrganizationsAsync: func.isRequired,
|
|
||||||
createUserAsync: func.isRequired,
|
createUserAsync: func.isRequired,
|
||||||
updateUserAsync: func.isRequired,
|
updateUserAsync: func.isRequired,
|
||||||
deleteUserAsync: func.isRequired,
|
deleteUserAsync: func.isRequired,
|
||||||
createOrganizationAsync: func.isRequired,
|
|
||||||
renameOrganizationAsync: func.isRequired,
|
|
||||||
deleteOrganizationAsync: func.isRequired,
|
|
||||||
}),
|
}),
|
||||||
notify: func.isRequired,
|
notify: func.isRequired,
|
||||||
}
|
}
|
||||||
|
|
||||||
const mapStateToProps = ({
|
const mapStateToProps = ({
|
||||||
links,
|
links,
|
||||||
adminChronograf: {users, organizations},
|
adminChronograf: {users},
|
||||||
auth: {me: {currentOrganization}},
|
auth: {me: {currentOrganization}},
|
||||||
}) => ({
|
}) => ({
|
||||||
links,
|
links,
|
||||||
users,
|
users,
|
||||||
organizations,
|
|
||||||
currentOrganization,
|
currentOrganization,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue