diff --git a/pkg/webui/console/views/gateway-collaborator-add/index.js b/pkg/webui/console/views/gateway-collaborator-add/index.js index 3ee902e661..08aa923d98 100644 --- a/pkg/webui/console/views/gateway-collaborator-add/index.js +++ b/pkg/webui/console/views/gateway-collaborator-add/index.js @@ -18,13 +18,13 @@ import bind from 'autobind-decorator' import { connect } from 'react-redux' import { push } from 'connected-react-router' -import Spinner from '../../../components/spinner' import Breadcrumb from '../../../components/breadcrumbs/breadcrumb' import { withBreadcrumb } from '../../../components/breadcrumbs/context' import sharedMessages from '../../../lib/shared-messages' import Message from '../../../lib/components/message' import IntlHelmet from '../../../lib/components/intl-helmet' import CollaboratorForm from '../../components/collaborator-form' +import withRequest from '../../../lib/components/with-request' import { selectSelectedGatewayId, @@ -56,6 +56,10 @@ import api from '../../api' getGatewaysRightsList: () => dispatchProps.getGatewaysRightsList(stateProps.gtwId), redirectToList: () => dispatchProps.redirectToList(stateProps.gtwId), })) +@withRequest( + ({ getGatewaysRightsList }) => getGatewaysRightsList(), + ({ fetching, rights }) => fetching || !Boolean(rights.length) +) @withBreadcrumb('gtws.single.collaborators.add', function (props) { const gtwId = props.gtwId return ( @@ -73,20 +77,6 @@ export default class GatewayCollaboratorAdd extends React.Component { error: '', } - componentDidMount () { - const { getGatewaysRightsList } = this.props - - getGatewaysRightsList() - } - - componentDidUpdate (prevProps) { - const { error } = this.props - - if (Boolean(error) && prevProps.error !== error) { - throw error - } - } - handleSubmit (collaborator) { const { gtwId } = this.props @@ -96,15 +86,10 @@ export default class GatewayCollaboratorAdd extends React.Component { render () { const { rights, - fetching, redirectToList, universalRights, } = this.props - if (fetching && !rights.length) { - return - } - return ( diff --git a/pkg/webui/console/views/gateway-collaborator-edit/index.js b/pkg/webui/console/views/gateway-collaborator-edit/index.js index 932976972b..bc015c3d2f 100644 --- a/pkg/webui/console/views/gateway-collaborator-edit/index.js +++ b/pkg/webui/console/views/gateway-collaborator-edit/index.js @@ -22,10 +22,10 @@ import { withBreadcrumb } from '../../../components/breadcrumbs/context' import Breadcrumb from '../../../components/breadcrumbs/breadcrumb' import sharedMessages from '../../../lib/shared-messages' import CollaboratorForm from '../../components/collaborator-form' -import Spinner from '../../../components/spinner' import Message from '../../../lib/components/message' import IntlHelmet from '../../../lib/components/intl-helmet' import toast from '../../../components/toast' +import withRequest from '../../../lib/components/with-request' import { getGatewayCollaborator, @@ -85,6 +85,10 @@ import api from '../../api' ), redirectToList: () => dispatchProps.redirectToList(stateProps.gtwId), })) +@withRequest( + ({ loadData }) => loadData(), + ({ fetching, collaborator }) => fetching || !Boolean(collaborator) +) @withBreadcrumb('gtws.single.collaborators.edit', function (props) { const { gtwId, collaboratorId } = props @@ -103,20 +107,6 @@ export default class GatewayCollaboratorEdit extends React.Component { error: '', } - componentDidMount () { - const { loadData } = this.props - - loadData() - } - - componentDidUpdate (prevProps) { - const { error } = this.props - - if (Boolean(error) && prevProps.error !== error) { - throw error - } - } - handleSubmit (updatedCollaborator) { const { gtwId } = this.props @@ -140,15 +130,10 @@ export default class GatewayCollaboratorEdit extends React.Component { const { collaborator, rights, - fetching, redirectToList, universalRights, } = this.props - if (fetching || !collaborator) { - return - } - return (