import React, { useState } from 'react'; import intl from 'react-intl-universal'; import { Intent, Alert } from '@blueprintjs/core'; import { queryCache } from 'react-query'; import { FormattedMessage as T, AppToaster } from 'components'; import withAccountsActions from 'containers/Accounts/withAccountsActions'; import withAlertStoreConnect from 'containers/Alert/withAlertStoreConnect'; import withAlertActions from 'containers/Alert/withAlertActions'; import { compose } from 'utils'; function AccountBulkActivateAlert({ name, isOpen, payload: { accountsIds }, // #withAlertActions closeAlert, requestBulkActivateAccounts, }) { const [isLoading, setLoading] = useState(false); const selectedRowsCount = 0; // Handle alert cancel. const handleClose = () => { closeAlert(name); }; // Handle Bulk activate account confirm. const handleConfirmBulkActivate = () => { setLoading(true); requestBulkActivateAccounts(accountsIds) .then(() => { AppToaster.show({ message: intl.get('the_accounts_has_been_successfully_activated'), intent: Intent.SUCCESS, }); queryCache.invalidateQueries('accounts-table'); }) .catch((errors) => {}) .finally(() => { setLoading(false); closeAlert(name); }); }; return ( } confirmButtonText={`${intl.get('activate')} (${selectedRowsCount})`} intent={Intent.WARNING} isOpen={isOpen} onCancel={handleClose} onConfirm={handleConfirmBulkActivate} loading={isLoading} >

); } export default compose( withAlertStoreConnect(), withAlertActions, withAccountsActions, )(AccountBulkActivateAlert);